Crawl the deployed build
A Next.js technical SEO audit should run against the production build, not only the source tree or development server. Crawl from the homepage and compare discovered URLs with the routes in the sitemap. Check that service pages, articles, and case studies are reachable through ordinary anchor links.
Record response codes and redirect chains. A styled not-found screen must return 404, moved pages should redirect once to their closest replacement, and valid pages should return 200 without relying on a browser-only transition. Test uppercase paths, trailing slashes, common parameters, and an unknown route.
Review robots.txt and the XML sitemap in the deployed environment. Their URLs must use the canonical production origin rather than localhost, a preview deployment, or an outdated domain.
Inspect rendered metadata and canonicals
Open the final HTML for representative static and dynamic routes. Confirm one descriptive title, one meta description, a self-referencing canonical, indexable robots directives, and complete Open Graph information. Dynamic route metadata should be generated from the same record used to render the page so it cannot drift.
Do not add meta keywords. Map one primary intent to each useful page and write the title and main heading for people looking for that service. Similar services may share vocabulary, but they should not publish interchangeable introductions.
Validate Organization, Service, Article, and Breadcrumb structured data where it accurately describes visible content. Use stable identifiers for the organization and reference that identifier from articles and services. Never add reviews, prices, or locations that the page cannot substantiate.
Check what depends on JavaScript
Server-render important copy, headings, links, product facts, and article content. Interactive islands can enhance the page, but the central information should not wait for a large client bundle or a failed API call. Compare the initial HTML with the hydrated page and test navigation with JavaScript disabled where practical.
Watch for client components that wrap large server-rendered sections only to animate them. CSS can handle many reveal effects without shipping an animation library. Use the browser coverage panel and a production bundle report to find code loaded on every route but used by few visitors.
Test forms and filters separately. A crawlable site can still lose business if validation fails, a server action returns a generic error, or a product filter creates endless indexable URLs.
Measure Core Web Vitals by template
Test the homepage, a service, an article, and the heaviest conversion route on mobile and desktop. For Largest Contentful Paint, inspect when the main image or heading is discovered, downloaded, and rendered. Mark a true above-the-fold image as high priority, size it correctly, and avoid covering it with a long entrance animation.
Reduce Interaction to Next Paint work by cutting unused client JavaScript and breaking up expensive handlers. Prevent layout shifts by reserving image dimensions and avoiding late changes above existing content. Check keyboard navigation, focus, contrast, and responsive layouts alongside performance.
Finish with a deploy-and-verify list: build, typecheck, lint, content checks, route crawl, structured-data validation, mobile screenshots, form delivery, and a fresh performance run. A technical SEO audit is complete when each fix is tied to evidence on the deployed URL.




