Next.js and Cloudflare Pages do not establish that a specific app shipped with three SEO bugs—or that anyone fixed them. Without that app’s source changes and deployed output, presenting the title’s “we fixed them” claim as fact would be misleading. What can be established is a practical audit: check whether each route has appropriate metadata, whether canonical and crawl files identify the right production URLs, and whether preview-indexing controls apply to the response Cloudflare actually serves.
Deployment mode matters, too. Cloudflare’s Pages guide covers static Next.js exports and directs full-stack Next.js deployments to its Workers guidance. The checks below help identify real issues, but they are not evidence that every Next.js app on Pages ships with these defects.
First, identify how the app is deployed
“Next.js on Cloudflare Pages” is not enough detail to diagnose an SEO issue. Cloudflare’s Next.js Pages guide, updated August 25, 2026, covers static exports and points full-stack Next.js applications to vinext on Workers. Its static-site instructions use npx next build with out as the build output. A static export and a full-stack deployment should not be assumed to have the same runtime behavior.
Before diagnosing a platform “default,” record the app’s Next.js version, whether it uses the App Router, its export or adapter configuration, its build date, and its production target. Then inspect what production and preview URLs actually return. The three checks below are common failure modes to investigate—not confirmed bugs in a particular project.
#1 Best Overall
Check 1: Does each route have meaningful metadata?
Next.js supports a static metadata object and a generateMetadata function in the App Router. The framework emits corresponding head tags, but that does not mean it supplies appropriate page-specific SEO content. The Next.js metadata guide identifies charset and viewport as the two meta tags present even when a route defines no metadata. Titles, descriptions, robots directives, canonical links, and social metadata need to be authored or generated for the site’s needs.
Audit rendered output for the important routes, rather than concluding that metadata is correct because the project uses Next.js or contains a metadata file. Check that titles and descriptions match each page, that robots directives are intentional, and that social tags describe the page being shared. Next.js documents these fields in its generateMetadata reference.
Rank #2
What to verify
- Inspect the served HTML for representative pages, including the home page, key landing pages, and content pages.
- Check that each important route has a suitable title and description rather than relying on a generic value or assuming the framework supplies them.
- Confirm that any robots directives reflect the intended indexing policy.
Check 2: Do canonicals, robots.txt, and the sitemap identify the right URLs?
A canonical tag is useful only if it points to the URL the site intends search engines to treat as canonical. Next.js documents metadataBase as the base for URL-based metadata fields, typically configured in the root app/layout.js. Relative URL-based metadata without a configured metadataBase causes a build error. Even with a base configured, the app’s author must choose the right hostname and path. Compare the production and preview HTML, including protocol, hostname, route, and trailing-slash policy where applicable.
Do not assume Cloudflare Pages rewrites a canonical tag: check the output the deployment serves. Next.js’s generateMetadata reference explains the metadata API and base-URL behavior.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #3
Next.js also supports robots and sitemap files as metadata conventions, but a convention does not prove that a project has authored a file or given it the correct site-specific content. The robots reference and sitemap reference describe static files and generated routes. Generated handlers are cached by default, subject to dynamic APIs or configuration.
Validate deployed files, not just source files
- Request
/robots.txtand confirm that public pages are allowed as intended and private or preview paths are handled deliberately. - Request
/sitemap.xmland check that its URLs use the production canonical host and point to the intended pages. - Compare the deployed files with the source definitions. A correct-looking source file does not establish that the production or preview deployment serves the intended content.
Check 3: Are preview deployments protected from indexing?
A preview deployment can be a search-indexing concern if it is publicly accessible and its pages are crawlable. Cloudflare documents X-Robots-Tag: noindex examples for pages.dev preview hostnames, but the effectiveness of a rule depends on the response type. The Cloudflare Pages headers documentation, updated August 25, 2026, says that _headers rules apply to static asset responses and do not apply to responses generated by Pages Functions.
Determine whether the URL is served as a static asset or by a Pages Function, then inspect the deployed response headers. Do not infer that a rule worked from the presence of a _headers file alone. Cloudflare’s documentation establishes the scope limitation; it does not establish that a particular app’s previews were indexable or that a particular noindex rule fixed them.
How to substantiate a “we fixed them” postmortem
A credible account of three project-specific fixes needs evidence from the project and its deployments. For each claimed bug, preserve the old and new output, identify the affected route or response, and show the production and preview behavior that supports the conclusion. Useful evidence includes rendered HTML for metadata and canonicals, deployed contents of robots.txt and sitemap.xml, and response headers for preview URLs.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesAlso document the Next.js version, router, export or runtime arrangement, build date, and deployment target. Without that context, a problem caused by missing app configuration can be incorrectly described as a Cloudflare or Next.js default. The Next.js production checklist is a further reference for production readiness; it does not verify any particular app’s before-and-after fixes.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

