improvement(seo): extract shared withFilteredNoindex helper#5392
Conversation
The `{ ...base, ...(isFiltered && { robots: { index: false, follow: true } }) }`
faceted-navigation noindex pattern was duplicated verbatim across five
catalog pages (integrations, models, blog, careers, pricing). Extracted to
lib/landing/seo.ts alongside buildLandingMetadata, giving the pattern a
name and a single point of change. Pure refactor — verified byte-identical
rendered output (robots meta + canonical) on baseline and filtered variants
of all five pages before and after.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview Blog, integrations, models, careers, and pricing Reviewed by Cursor Bugbot for commit 48c2d2e. Configure here. |
Greptile SummaryThis PR extracts the repeated
Confidence Score: 5/5Safe to merge — the change is a mechanical extraction of a repeated inline expression into a named helper with no logic alterations. Every call site produces byte-identical output to what existed before. The helper is narrowly scoped, fully typed, and the five consuming pages are straightforward substitutions. No new dependencies, no runtime branching changes, no side effects. No files require special attention. Important Files Changed
Reviews (1): Last reviewed commit: "improvement(seo): extract shared withFil..." | Re-trigger Greptile |
Summary
{ ...base, ...(isFiltered && { robots: { index: false, follow: true } }) }faceted-navigation noindex pattern was duplicated verbatim across five catalog pages (integrations, models, blog, careers, pricing)withFilteredNoindex(metadata, isFiltered)helper inlib/landing/seo.ts, next tobuildLandingMetadata<meta name="robots">/<link rel="canonical">output on baseline and filtered variants of all five pages, before and after, against a running dev serverType of Change
Testing
Tested manually (live dev server, curl against rendered HTML for all 5 pages × baseline/filtered). Typecheck, Biome lint,
check:api-validation, andcheck:migrationsall pass.Checklist