hotfix(seo): crawl-allow /invite?invited_by= like /invite?code= - #2835
hotfix(seo): crawl-allow /invite?invited_by= like /invite?code=#28350xkkonrad wants to merge 1 commit into
Conversation
peanut-ui emits /invite?invited_by=<username> once #2828 lands (?code= stays a read alias). GOOGLE_DEINDEX_CRAWL_ALLOW_PATHS only listed the ?code= variant, so the new shape would be Disallowed in robots.txt and Google could never observe its X-Robots-Tag noindex — the exact URL-only indexing problem this exception exists for. Policy lives on main only, so this ships as a hotfix.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Code-analysis diffPainscore total: 7332.15 → 7332.15 (0) |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe SEO route policy now allows ChangesSEO route policy
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: 🔵 Low · up to The PR updates crawl permissions for the new invite URL format. If Google does not interpret the query-specific rule as intended, those links may remain crawl-blocked and indexing behavior may not change, so the change is mergeable with explicit owner awareness of that matching contract. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2 files. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
🧪 UI test report — ✅ all greenSuites
📊 Coverage (unit)
⏱ 10 slowest test cases
|
There was a problem hiding this comment.
Chip review: Review clean
Clean review. The new invite query shape receives the same narrow crawl exception as the legacy alias while retaining the existing noindex response header.
Checked clean
- Verified the detached worktree head, trusted PR metadata, exact base SHA, and merge-base-to-head two-file diff.
- Traced GOOGLE_DEINDEX_CRAWL_ALLOW_PATHS into the Googlebot and generic robots groups; the new query-specific allow remains narrower than the /invite disallow.
- Verified /invite?invited_by= receives X-Robots-Tag: noindex, nofollow through the shared Next header rules and focused route-matching test.
- Checked the related invite-link emitter shape: generated links place invited_by first, matching the robots allow prefix.
- Reviewed correctness, security, adversarial cases, and slop; descendant invite paths remain blocked and no broader trust boundary changes.
- Exact-head CI is green for unit, typecheck, eslint, format, e2e, CodeQL, and preview deployment checks.
Second opinion by moonshotai/kimi-k3: 0 finding(s), marked with the model name. It reads the diff only, so treat its findings as advice.
Exact head: 750d789fb5d6 · Context: repo
What
Adds
/invite?invited_by=toGOOGLE_DEINDEX_CRAWL_ALLOW_PATHSnext to/invite?code=, with tests.Why
peanut-ui emits
/invite?invited_by=<username>once #2828 lands (?code=stays a permanent read alias). This policy is main-only, so #2828 can't touch it. Without it, prod robots.txt isAllow: /invite?code=/Disallow: /invite: the new URL shape is crawl-blocked, Google can't read itsX-Robots-Tag: noindex, and shared links get indexed as URL-only entries — the problem this exception was added for.X-Robots-Tagitself already covers both shapes (prefix-based; checked on prod).Tests
seo-route-policy.test.ts+robots.test.tsgreen locally.Summary by CodeRabbit
invited_byquery parameter.