This commit is contained in:
Your Name committed 2026-06-20 18:17:10 -04:00
1 parent 8f466f8d31
commit 3c4bb06003
6 files changed
+281 -4

No files matched your search

@@ -0,0 +1,102 @@
# Next.js SEO And Build Checklist
Use this checklist for audits, implementation review, and final handoff. Apply only the sections relevant to the task.
## Discovery
- Confirm Next.js version from `package.json` and lockfile.
- Confirm router type: App Router, Pages Router, or hybrid.
- Confirm package manager and scripts.
- Review `next.config.*`.
- Review deployment target if visible in repo.
- Locate route definitions and content/data source.
- Locate existing SEO helpers, metadata builders, schema builders, sitemap, robots, redirects, and middleware.
## Metadata
- Unique title per indexable page.
- Unique meta description per indexable page.
- Canonical URL is absolute, normalized, and self-referencing.
- Root title template is intentional.
- Open Graph title, description, URL, type, image, and site name are correct.
- Twitter card values are correct.
- Robots directives match index policy.
- Metadata does not depend on browser-only state.
- Dynamic metadata handles missing records with `notFound()` or a clear fallback policy.
## Structured Data
- JSON-LD type matches visible page content.
- Entity IDs and URLs match canonical URLs.
- Required fields are present.
- Recommended fields are present when source data exists.
- Product price, availability, review, SKU, brand, and image data match visible product content.
- Article author, date, modified date, headline, image, and publisher match visible article content.
- Breadcrumb JSON-LD matches visible or implied navigation hierarchy.
- JSON serialization is safe.
## Crawl Paths
- Main navigation uses crawlable links.
- Important listing/detail pages are reachable without form-only or script-only flows.
- Pagination and filters have an intentional index/canonical/noindex policy.
- Empty states do not create thin indexable pages unless intended.
- `404`, `notFound()`, redirects, and unpublished states behave correctly.
## Sitemap
- Uses canonical production origin.
- Includes only indexable canonical URLs.
- Excludes private, draft, duplicate, auth, cart, checkout, account, search-result, and noindex routes.
- Includes localized alternates when supported by source data.
- Uses realistic `lastModified`.
- Handles large URL sets with sitemap splitting when needed.
- Is referenced from robots.
## Robots
- Allows intended public pages.
- Disallows private or duplicate areas.
- Does not block static assets needed for rendering.
- References the sitemap.
- Does not accidentally block the whole site in production.
## International SEO
- Locale URL strategy is consistent.
- Canonical points to the locale-specific URL.
- `hreflang` alternates include only real translated equivalents.
- `x-default` is intentional.
- Localized metadata is not copied blindly from another language.
- Slugs, breadcrumbs, schema, and Open Graph data respect locale.
## Rendering
- Crawl-critical content is present in server-rendered HTML.
- Client Components are limited to interactive parts.
- Route rendering mode is intentional: static, ISR, dynamic, or client-only.
- `generateStaticParams` covers expected static routes.
- Cache and revalidation behavior match content freshness.
- Accidental dynamic rendering has been checked.
## Performance
- LCP image is optimized and sized.
- Non-critical images are lazy-loaded.
- Fonts are optimized and do not cause avoidable layout shift.
- Third-party scripts use the correct strategy.
- Bundle size impact is checked for new libraries.
- Layout shift risks are checked for banners, hero media, product grids, and dynamic content.
## Accessibility Signals
- One clear `h1` per primary page.
- Heading hierarchy is meaningful.
- Images have useful alt text or empty alt for decorative images.
- Links have descriptive accessible names.
- Product/article/category content is readable without visual-only cues.
## Build Verification
- Run typecheck.
- Run lint.
- Run focused tests if available.
- Run production build.
- Inspect build output for rendering mode changes.
- Check warnings related to metadata, dynamic server usage, image config, middleware, redirects, or unsupported runtime.
## Handoff
- Summarize changed SEO behavior.
- List affected routes and files.
- Include verification commands and results.
- Call out unresolved source-data, CMS, backend, deployment, or business-policy decisions.
- Identify the next owner when decisions are outside frontend/SEO implementation.