Next.js
up 3 from 75 on 27 May 2026
Embed your badge ↗Next.js scores 78 out of 100 on the a14y v0.3.0-draft scorecard. The scan covered 500 pages, and 75% of the applicable checks passed. The site publishes llms.txt, AGENTS.md, a valid XML sitemap, and a markdown sitemap.
Site checks · 14/16 passed
Evaluated once against the site's origin: discoverability surfaces like
llms.txt, AGENTS.md, and sitemap signals.
- PASS llms-txt.exists Found llms.txt at https://nextjs.org/docs/llms.txt
- PASS llms-txt.content-type text/plain;charset=utf-8
- PASS llms-txt.non-empty
- FAIL llms-txt.md-extensions 261/261 links are not .md/.mdx
- PASS robots-txt.exists https://nextjs.org/robots.txt
- PASS robots-txt.allows-ai-bots Allowed: GPTBot, ClaudeBot, CCBot, Google-Extended
- PASS robots-txt.allows-llms-txt
- PASS sitemap-xml.exists https://nextjs.org/sitemap.xml
- PASS sitemap-xml.valid urlset
- PASS sitemap-xml.has-lastmod 691 entries with valid lastmod
- PASS sitemap-md.exists https://nextjs.org/docs/sitemap.md
- PASS sitemap-md.has-structure 6 headings, 420 links
- PASS agents-md.exists https://nextjs.org/docs/AGENTS.md
- FAIL agents-md.has-min-sections Found only: usage
- PASS discovery.no-duplicate-content 500 URLs, no duplicate canonicals
- PASS discovery.in-page-link a top-level page links to an agent file
Pages · 500
Each page was audited against the same scorecard. Click a page to expand its check results.
Showing 1–50 of 500 pages.
79 https://nextjs.org/docs/pages/guides/lazy-loading 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/lazy-loading
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 61.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/lazy-loading.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/lazy-loading.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3804B vs 419635B)
- PASS markdown.valid-markdown 3.7% HTML markup
- PASS html.ssr-content 542 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-13-4 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-13-4
- PASS html.meta-description 115 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 54.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-13-4.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 21/21 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.7% smaller (24389B vs 463925B)
- PASS markdown.valid-markdown 3.1% HTML markup
- PASS html.ssr-content 3158 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/getting-started 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started
- PASS html.meta-description 76 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-05-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 21 headings
- PASS html.text-ratio 58.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3677B vs 411991B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 505 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-13-5 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-13-5
- PASS html.meta-description 118 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 68.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-13-5.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 93.3% smaller (15047B vs 226127B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 1424 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-13-3 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-13-3
- PASS html.meta-description 133 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 60.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-13-3.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.5% smaller (16778B vs 302954B)
- PASS markdown.valid-markdown 2.2% HTML markup
- PASS html.ssr-content 1951 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/redirecting 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/redirecting
- PASS html.meta-description 56 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 60.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/redirecting.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/redirecting.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.2% smaller (19381B vs 681259B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 1707 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/webVitalsAttribution 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/webVitalsAttribution
- PASS html.meta-description 93 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 63.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/webVitalsAttribution.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/webVitalsAttribution.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2308B vs 361511B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 319 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/json-ld 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/json-ld
- PASS html.meta-description 103 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 58.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/json-ld.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/json-ld.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3665B vs 440363B)
- PASS markdown.valid-markdown 10.7% HTML markup
- PASS html.ssr-content 480 words in initial HTML
- PASS http.no-interstitial
63 https://nextjs.org/conf/session/the-open-web 12/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 138 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 64.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 59 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/building-your-application/routing/custom-error 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/routing/custom-error
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 61.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/routing/custom-error.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/routing/custom-error.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (4706B vs 417315B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 708 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/sass 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/sass
- PASS html.meta-description 50 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 60.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/sass.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/sass.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3250B vs 421780B)
- PASS markdown.valid-markdown 2.3% HTML markup
- PASS html.ssr-content 396 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/ci-build-caching 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/ci-build-caching
- FAIL html.meta-description only 49 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 55.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/ci-build-caching.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/ci-build-caching.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (5359B vs 499437B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 705 words in initial HTML
- PASS http.no-interstitial
55 https://nextjs.org/learn/pages-router/dynamic-routes-implement-getstaticpaths 12/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/dynamic-routes-implement-getstaticpaths
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 75.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 348 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/security-update-2025-12-11 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/security-update-2025-12-11
- PASS html.meta-description 133 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 67.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/security-update-2025-12-11.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.3% smaller (6513B vs 173874B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 583 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/seo/fid 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/fid
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 77.3%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 177 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/security-nextjs-server-components-actions 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/security-nextjs-server-components-actions
- PASS html.meta-description 102 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 57.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/security-nextjs-server-components-actions.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 15/15 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.0% smaller (21920B vs 365229B)
- PASS markdown.valid-markdown 1.3% HTML markup
- PASS html.ssr-content 3263 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/styling-next-with-styled-jsx 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/styling-next-with-styled-jsx
- PASS html.meta-description 187 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 56.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/styling-next-with-styled-jsx.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.2% smaller (9738B vs 345521B)
- PASS markdown.valid-markdown 8.8% HTML markup
- PASS html.ssr-content 1192 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/react-foundations/from-react-to-nextjs 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/react-foundations/from-react-to-nextjs
- PASS html.meta-description 63 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 76.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 398 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/turbopack 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/turbopack
- FAIL html.meta-description only 49 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-09-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 58.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/turbopack.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/turbopack.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.9% smaller (18772B vs 614729B)
- PASS markdown.valid-markdown 12.3% HTML markup
- PASS html.ssr-content 1988 words in initial HTML
- PASS http.no-interstitial
74 https://nextjs.org/blog/turbopack-for-development-stable 20/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/turbopack-for-development-stable
- PASS html.meta-description 140 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 73.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/turbopack-for-development-stable.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 88.1% smaller (32124B vs 270566B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 4670 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/app/api-reference/functions/use-search-params 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/use-search-params
- FAIL html.meta-description only 43 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 58.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/use-search-params.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/use-search-params.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 4 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.6% smaller (14364B vs 601511B)
- PASS markdown.valid-markdown 3.4% HTML markup
- PASS html.ssr-content 1119 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-15-3 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-15-3
- PASS html.meta-description 102 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 63.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-15-3.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.5% smaller (11343B vs 251679B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1225 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/adapters/routing-with-next-routing 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/adapters/routing-with-next-routing
- PASS html.meta-description 73 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 63.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/adapters/routing-with-next-routing.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/adapters/routing-with-next-routing.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2764B vs 376353B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 384 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/internationalization 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/internationalization
- PASS html.meta-description 99 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 59.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/internationalization.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/internationalization.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.4% smaller (15514B vs 596774B)
- PASS markdown.valid-markdown 1.1% HTML markup
- PASS html.ssr-content 1966 words in initial HTML
- PASS http.no-interstitial
64 https://nextjs.org/learn/react-foundations/getting-started-with-react 14/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/react-foundations/getting-started-with-react
- FAIL html.meta-description only 45 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 72.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 992 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/deploying-nextjs-app-platform-details 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/deploying-nextjs-app-platform-details
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 77.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 480 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/dynamic-routes-implement-getstaticprops 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/dynamic-routes-implement-getstaticprops
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 74.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 361 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/metatags 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/metatags
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 74.0%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 805 words in initial HTML
- PASS http.no-interstitial
55 https://nextjs.org/learn/pages-router/deploying-nextjs-app-other-hosting-options 12/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/deploying-nextjs-app-other-hosting-options
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 74.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 189 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/ 13/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 9 headings
- PASS html.text-ratio 40.4%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 856 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/content-security-policy 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/content-security-policy
- PASS html.meta-description 78 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-20
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 28 headings
- PASS html.text-ratio 58.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/content-security-policy.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/content-security-policy.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.5% smaller (17889B vs 710415B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 1789 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/deploying-nextjs-app-setup 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/deploying-nextjs-app-setup
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 76.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 182 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/single-page-applications 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/single-page-applications
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 58.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/single-page-applications.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/single-page-applications.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.5% smaller (16295B vs 646281B)
- PASS markdown.valid-markdown 6.4% HTML markup
- PASS html.ssr-content 1801 words in initial HTML
- PASS http.no-interstitial
55 https://nextjs.org/learn/pages-router/dynamic-routes-polishing-index-page 12/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/dynamic-routes-polishing-index-page
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 75.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 184 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/generateBuildId 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/generateBuildId
- PASS html.meta-description 110 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/generateBuildId.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/generateBuildId.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1249B vs 397190B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 263 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/instrumentation 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/instrumentation
- PASS html.meta-description 82 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 57.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/instrumentation.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/instrumentation.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4459B vs 448840B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 598 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/generateEtags 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/generateEtags
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/generateEtags.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/generateEtags.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1030B vs 395457B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 221 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-5-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-5-1
- PASS html.meta-description 105 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 61.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-5-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.9% smaller (9813B vs 239299B)
- PASS markdown.valid-markdown 4.2% HTML markup
- PASS html.ssr-content 1157 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/dynamic-routes-polishing-post-page 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/dynamic-routes-polishing-post-page
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 74.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 391 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/compress 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/compress
- PASS html.meta-description 144 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 63.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/compress.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/compress.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1988B vs 362221B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 306 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/crossOrigin 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/crossOrigin
- PASS html.meta-description 118 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 63.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/crossOrigin.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/crossOrigin.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1519B vs 361049B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 203 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/env 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/env
- PASS html.meta-description 88 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 61.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/env.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/env.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2068B vs 374729B)
- PASS markdown.valid-markdown 1.3% HTML markup
- PASS html.ssr-content 313 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/environment-variables 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/environment-variables
- PASS html.meta-description 74 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 54.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/environment-variables.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/environment-variables.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.0% smaller (10720B vs 546855B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1417 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/docs/pages/api-reference/components/link 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/components/link
- FAIL html.meta-description only 41 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 59.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/components/link.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/components/link.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 17/17 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 2 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.2% smaller (20666B vs 738749B)
- PASS markdown.valid-markdown 11.6% HTML markup
- PASS html.ssr-content 1752 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/incremental-static-regeneration 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/incremental-static-regeneration
- PASS html.meta-description 91 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 58.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/incremental-static-regeneration.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/incremental-static-regeneration.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.7% smaller (13906B vs 608099B)
- PASS markdown.valid-markdown 1.5% HTML markup
- PASS html.ssr-content 1425 words in initial HTML
- PASS http.no-interstitial
74 https://nextjs.org/docs/pages/building-your-application/configuring 20/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/configuring
- FAIL html.meta-description only 48 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 63.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/configuring.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/configuring.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (986B vs 344019B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 198 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/docs/pages/guides/css-in-js 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/css-in-js
- FAIL html.meta-description only 36 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 62.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/css-in-js.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/css-in-js.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2783B vs 384685B)
- PASS markdown.valid-markdown 4.8% HTML markup
- PASS html.ssr-content 337 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 58.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (4276B vs 401671B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 299 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/building-your-application 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application
- PASS html.meta-description 60 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 63.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1235B vs 346852B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 218 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/upgrading 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/upgrading
- PASS html.meta-description 78 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 54.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/upgrading.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/upgrading.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2905B vs 446331B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 338 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/dynamicParams 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/dynamicParams
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/dynamicParams.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/dynamicParams.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1625B vs 398340B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 276 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-6 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-6
- PASS html.meta-description 85 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 64.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-6.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.1% smaller (8225B vs 212210B)
- PASS markdown.valid-markdown 7.5% HTML markup
- PASS html.ssr-content 977 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-5 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-5
- PASS html.meta-description 96 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 56.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-5.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.9% smaller (17435B vs 340021B)
- PASS markdown.valid-markdown 4.5% HTML markup
- PASS html.ssr-content 2164 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-8-0-4 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-8-0-4
- PASS html.meta-description 101 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 64.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-8-0-4.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.7% smaller (8544B vs 199478B)
- PASS markdown.valid-markdown 4.4% HTML markup
- PASS html.ssr-content 1057 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-7 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-7
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 58.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-7.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.8% smaller (16407B vs 318107B)
- PASS markdown.valid-markdown 5.3% HTML markup
- PASS html.ssr-content 2061 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-8 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-8
- PASS html.meta-description 90 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 59.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-8.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.4% smaller (17026B vs 306547B)
- PASS markdown.valid-markdown 4.9% HTML markup
- PASS html.ssr-content 2209 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-10 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-10
- PASS html.meta-description 124 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 27 headings
- PASS html.text-ratio 60.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-10.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 92.7% smaller (25456B vs 350532B)
- PASS markdown.valid-markdown 1.2% HTML markup
- PASS html.ssr-content 3481 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/getting-started 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/getting-started
- PASS html.meta-description 83 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2024-11-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 63.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/getting-started.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/getting-started.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1411B vs 348546B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 236 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/url-deprecated 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/url-deprecated
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 3 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/url-deprecated.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1510B vs 381962B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 358 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/dynamic-routes-page-path-external-data 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/dynamic-routes-page-path-external-data
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 75.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 419 words in initial HTML
- PASS http.no-interstitial
57 https://nextjs.org/learn/seo/search-systems 12/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/search-systems
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 77.6%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 280 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/status-codes 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/status-codes
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 74.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 871 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/seo/seo-impact 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/seo-impact
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 77.3%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 351 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/local-development 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/local-development
- PASS html.meta-description 70 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-11
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 54.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/local-development.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/local-development.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.9% smaller (11386B vs 546444B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1487 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/url-structure 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/url-structure
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 77.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 603 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/third-party-scripts 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/third-party-scripts
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 76.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 273 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/data-fetching-implement-getstaticprops 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/data-fetching-implement-getstaticprops
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 75.3%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 390 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/data-fetching-setup 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/data-fetching-setup
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 76.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 180 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/data-fetching-pre-rendering 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/data-fetching-pre-rendering
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 77.4%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 341 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-async-client-component 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-async-client-component
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 6 headings
- PASS html.text-ratio 55.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-async-client-component.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (4209B vs 472981B)
- PASS markdown.valid-markdown 5.6% HTML markup
- PASS html.ssr-content 655 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/revalidating 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/revalidating
- PASS html.meta-description 78 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 57.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/revalidating.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/revalidating.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.1% smaller (9551B vs 512963B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 901 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/forms 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/forms
- PASS html.meta-description 63 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 59.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/forms.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/forms.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 11/11 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.9% smaller (15053B vs 721975B)
- PASS markdown.valid-markdown 10.3% HTML markup
- PASS html.ssr-content 1292 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/getting-started/route-handlers 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/route-handlers
- FAIL html.meta-description only 31 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 55.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/route-handlers.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/route-handlers.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (8729B vs 538929B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 956 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/getting-started/proxy 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/proxy
- FAIL html.meta-description only 22 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-20
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 58.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/proxy.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/proxy.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4126B vs 426298B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 586 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/headers 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/headers
- FAIL html.meta-description only 39 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 57.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/headers.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/headers.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4392B vs 451019B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 498 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-before-interactive-script-outside-document 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-before-interactive-script-outside-document
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 6 headings
- PASS html.text-ratio 57.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-before-interactive-script-outside-document.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1867B vs 404350B)
- PASS markdown.valid-markdown 16.1% HTML markup
- PASS html.ssr-content 347 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/data-fetching-two-forms 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/data-fetching-two-forms
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 77.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 393 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-duplicate-head 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-duplicate-head
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 4 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-duplicate-head.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (968B vs 386298B)
- PASS markdown.valid-markdown 8.1% HTML markup
- PASS html.ssr-content 259 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-document-import-in-page 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-document-import-in-page
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 4 headings
- PASS html.text-ratio 57.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-document-import-in-page.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.8% smaller (872B vs 379559B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 242 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-head-element 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-head-element
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 4 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-head-element.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.8% smaller (792B vs 382179B)
- PASS markdown.valid-markdown 15.2% HTML markup
- PASS html.ssr-content 235 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/getting-started/project-structure 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/project-structure
- PASS html.meta-description 83 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 24 headings
- PASS html.text-ratio 58.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/project-structure.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/project-structure.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.9% smaller (22485B vs 541860B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1574 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/data-fetching-request-time 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/data-fetching-request-time
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 76.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 408 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/functions/next-request 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/functions/next-request
- FAIL html.meta-description only 30 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 60.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/functions/next-request.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/functions/next-request.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (5176B vs 416728B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 486 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/ecosystem-working-group 13/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 134 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 7 headings
- PASS html.text-ratio 71.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 721 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/trailingSlash 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/trailingSlash
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 63.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/trailingSlash.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/trailingSlash.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1885B vs 360290B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 293 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/functions/next-response 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/functions/next-response
- FAIL html.meta-description only 31 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 58.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/functions/next-response.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/functions/next-response.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.6% smaller (6827B vs 499188B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 907 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/config/next-config-js/transpilePackages 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/transpilePackages
- PASS html.meta-description 132 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 63.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/transpilePackages.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/transpilePackages.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3096B vs 369117B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 416 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/multi-zones 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/multi-zones
- PASS html.meta-description 115 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 61.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/multi-zones.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/multi-zones.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (6766B vs 424090B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 1006 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/guides 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides
- PASS html.meta-description 77 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-11
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 55 headings
- PASS html.text-ratio 59.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.1% smaller (8543B vs 443783B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 928 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/getting-started/css 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/getting-started/css
- PASS html.meta-description 121 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-08-06
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 57.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/getting-started/css.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/getting-started/css.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (8546B vs 522037B)
- PASS markdown.valid-markdown 9.5% HTML markup
- PASS html.ssr-content 889 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/config/next-config-js/typescript 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/typescript
- PASS html.meta-description 85 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 61.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/typescript.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/typescript.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2611B vs 384444B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 342 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/config/next-config-js/urlImports 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/urlImports
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 60.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/urlImports.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/urlImports.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3413B vs 417449B)
- PASS markdown.valid-markdown 1.7% HTML markup
- PASS html.ssr-content 511 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/getting-started/fonts 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/getting-started/fonts
- FAIL html.meta-description only 33 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-05-08
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 62.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/getting-started/fonts.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/getting-started/fonts.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (5546B vs 466600B)
- PASS markdown.valid-markdown 10.0% HTML markup
- PASS html.ssr-content 591 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/useLightningcss 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/useLightningcss
- FAIL html.meta-description only 46 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 63.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/useLightningcss.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/useLightningcss.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.2% smaller (7682B vs 420301B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 506 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/building-your-application/routing/custom-app 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/routing/custom-app
- PASS html.meta-description 129 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-05-27
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 63.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/routing/custom-app.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/routing/custom-app.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (3845B vs 401039B)
- PASS markdown.valid-markdown 4.1% HTML markup
- PASS html.ssr-content 437 words in initial HTML
- PASS http.no-interstitial
57 https://nextjs.org/learn/seo/other-tools 12/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/other-tools
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 77.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 166 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/draft-mode 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/draft-mode
- PASS html.meta-description 112 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 60.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/draft-mode.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/draft-mode.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.1% smaller (8632B vs 462059B)
- PASS markdown.valid-markdown 0.9% HTML markup
- PASS html.ssr-content 1314 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/api-reference/file-conventions 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/file-conventions
- PASS html.meta-description 50 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 63.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/file-conventions.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/file-conventions.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1223B vs 346824B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 212 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/webpack 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/webpack
- PASS html.meta-description 57 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 63.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/webpack.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/webpack.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3416B vs 384633B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 468 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/edge 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/edge
- FAIL html.meta-description only 35 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 63.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/edge.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/edge.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.2% smaller (29566B vs 511296B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1193 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/on-page-seo 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/on-page-seo
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 75.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 531 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/seo/vitals-overview 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/vitals-overview
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 77.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 195 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/memory-usage 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/memory-usage
- PASS html.meta-description 71 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-18
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 57.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/memory-usage.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/memory-usage.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.3% smaller (8286B vs 478224B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1263 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/typescript 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/typescript
- PASS html.meta-description 95 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 54.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/typescript.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/typescript.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 24/24 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 1 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.3% smaller (19706B vs 736079B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 2389 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/migrating/from-vite 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/migrating/from-vite
- PASS html.meta-description 74 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 58.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/migrating/from-vite.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/migrating/from-vite.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 19/19 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.9% smaller (23184B vs 738992B)
- PASS markdown.valid-markdown 6.9% HTML markup
- PASS html.ssr-content 2555 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/backend-for-frontend 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/backend-for-frontend
- FAIL html.meta-description only 47 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 28 headings
- PASS html.text-ratio 58.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/backend-for-frontend.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/backend-for-frontend.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 23/23 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.0% smaller (30331B vs 999517B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 2662 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/guides/migrating 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/migrating
- PASS html.meta-description 55 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/migrating.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/migrating.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (973B vs 386785B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 229 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/file-conventions/proxy 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/file-conventions/proxy
- PASS html.meta-description 65 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-17
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 26 headings
- PASS html.text-ratio 58.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/file-conventions/proxy.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/file-conventions/proxy.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 25/25 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.6% smaller (29771B vs 863874B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 3023 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/config/next-config-js/logging 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/logging
- PASS html.meta-description 84 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-12
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 59.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/logging.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/logging.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3704B vs 426879B)
- PASS markdown.valid-markdown 1.5% HTML markup
- PASS html.ssr-content 416 words in initial HTML
- PASS http.no-interstitial
63 https://nextjs.org/evals 12/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 2 headings
- PASS html.text-ratio 40.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 250 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/package-bundling 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/package-bundling
- PASS html.meta-description 67 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 56.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/package-bundling.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/package-bundling.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.1% smaller (10670B vs 550111B)
- PASS markdown.valid-markdown 3.3% HTML markup
- PASS html.ssr-content 1306 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/post-css 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/post-css
- PASS html.meta-description 69 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-05-12
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 59.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/post-css.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/post-css.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.6% smaller (6277B vs 453943B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 715 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/data-fetching 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/data-fetching
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 77.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 168 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-css-tags 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-css-tags
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 3 headings
- PASS html.text-ratio 56.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-css-tags.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1104B vs 386401B)
- PASS markdown.valid-markdown 6.2% HTML markup
- PASS html.ssr-content 290 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/dashboard-app/static-and-dynamic-rendering 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/dashboard-app/static-and-dynamic-rendering
- PASS html.meta-description 79 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 76.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 668 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/api-routes 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/api-routes
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 77.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 120 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/api-routes-creating-api-routes 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/api-routes-creating-api-routes
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 75.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 215 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/api-routes-api-routes-details 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/api-routes-api-routes-details
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 77.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 401 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/messages/no-cache 20/25
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-cache
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 3 headings
- PASS html.text-ratio 57.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-cache.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.8% smaller (717B vs 365546B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 253 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/building-your-application/routing/api-routes 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/routing/api-routes
- PASS html.meta-description 121 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 57.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/routing/api-routes.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/routing/api-routes.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 20/20 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.6% smaller (16367B vs 677976B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 1882 words in initial HTML
- PASS http.no-interstitial
57 https://nextjs.org/learn/pages-router/create-nextjs-app-welcome-to-nextjs 12/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/create-nextjs-app-welcome-to-nextjs
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 76.6%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 108 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/app/api-reference/config 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config
- FAIL html.meta-description only 44 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (986B vs 387043B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 221 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-head-import-in-document 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-head-import-in-document
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 4 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-head-import-in-document.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1037B vs 384687B)
- PASS markdown.valid-markdown 3.1% HTML markup
- PASS html.ssr-content 267 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/eslint 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/eslint
- PASS html.meta-description 110 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-11-10
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 53.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/eslint.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/eslint.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.3% smaller (18113B vs 662722B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 1363 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-html-link-for-pages 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-html-link-for-pages
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 5 headings
- PASS html.text-ratio 55.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-html-link-for-pages.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1698B vs 405692B)
- PASS markdown.valid-markdown 4.5% HTML markup
- PASS html.ssr-content 346 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/create-nextjs-app-setup 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/create-nextjs-app-setup
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 75.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 260 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/getting-started/server-and-client-components 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/server-and-client-components
- PASS html.meta-description 121 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 55.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/server-and-client-components.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/server-and-client-components.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 17/17 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 2 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.4% smaller (19628B vs 754537B)
- PASS markdown.valid-markdown 5.0% HTML markup
- PASS html.ssr-content 2102 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/mcp 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/mcp
- PASS html.meta-description 92 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 56.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/mcp.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/mcp.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (7625B vs 487836B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 1074 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/crossOrigin 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/crossOrigin
- PASS html.meta-description 102 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 57.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/crossOrigin.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/crossOrigin.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1375B vs 402475B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 228 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/mdx 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/mdx
- PASS html.meta-description 59 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 54.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/mdx.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/mdx.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 23/23 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.5% smaller (19394B vs 789610B)
- PASS markdown.valid-markdown 6.5% HTML markup
- PASS html.ssr-content 2118 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/migrating-to-cache-components 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/migrating-to-cache-components
- PASS html.meta-description 79 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 23 headings
- PASS html.text-ratio 53.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/migrating-to-cache-components.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/migrating-to-cache-components.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 28/28 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.1% smaller (26821B vs 917354B)
- PASS markdown.valid-markdown 2.9% HTML markup
- PASS html.ssr-content 2511 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/migrating/app-router-migration 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/migrating/app-router-migration
- PASS html.meta-description 95 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 21 headings
- PASS html.text-ratio 54.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/migrating/app-router-migration.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/migrating/app-router-migration.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 32/32 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.3% smaller (38618B vs 1035030B)
- PASS markdown.valid-markdown 2.2% HTML markup
- PASS html.ssr-content 4170 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/cssChunking 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/cssChunking
- PASS html.meta-description 94 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 58.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/cssChunking.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/cssChunking.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2745B vs 417230B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 467 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/learn/react-foundations/next-steps 15/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/react-foundations/next-steps
- PASS html.meta-description 58 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 76.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 182 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/components/script 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/components/script
- PASS html.meta-description 100 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/components/script.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/components/script.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.0% smaller (11952B vs 593532B)
- PASS markdown.valid-markdown 11.0% HTML markup
- PASS html.ssr-content 1281 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/app/glossary 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/glossary
- FAIL html.meta-description only 43 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 76 headings
- PASS html.text-ratio 60.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/glossary.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/glossary.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.5% smaller (21217B vs 598876B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 2550 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/expireTime 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/expireTime
- PASS html.meta-description 67 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/expireTime.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/expireTime.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1333B vs 395347B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 283 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/exportPathMap 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/exportPathMap
- PASS html.meta-description 81 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 57.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/exportPathMap.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/exportPathMap.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4505B vs 444528B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 687 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/learn/react-foundations/rendering-ui 15/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/react-foundations/rendering-ui
- PASS html.meta-description 59 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 76.6%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 261 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-10-2 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-10-2
- PASS html.meta-description 153 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 64.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-10-2.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.9% smaller (9247B vs 225686B)
- PASS markdown.valid-markdown 3.7% HTML markup
- PASS html.ssr-content 1021 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/building-your-application/rendering/client-side-rendering 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/rendering/client-side-rendering
- PASS html.meta-description 65 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-06
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 62.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/rendering/client-side-rendering.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/rendering/client-side-rendering.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (5088B vs 398580B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 672 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-12-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-12-1
- PASS html.meta-description 115 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 66.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-12-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 93.5% smaller (16285B vs 250678B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1757 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-13-2 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-13-2
- PASS html.meta-description 183 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 57.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-13-2.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.8% smaller (20219B vs 385421B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 2337 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/app/api-reference/components 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/components
- FAIL html.meta-description only 46 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/components.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/components.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1305B vs 389345B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 245 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/our-journey-with-caching 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/our-journey-with-caching
- PASS html.meta-description 59 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 55.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/our-journey-with-caching.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 11/11 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.9% smaller (8220B vs 261411B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 1240 words in initial HTML
- PASS http.no-interstitial
74 https://nextjs.org/blog/turbopack-incremental-computation 20/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/turbopack-incremental-computation
- PASS html.meta-description 122 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 70.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/turbopack-incremental-computation.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 93.1% smaller (12157B vs 175640B)
- PASS markdown.valid-markdown 22.7% HTML markup
- PASS html.ssr-content 1375 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/blog/webpack-memory 19/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/webpack-memory
- PASS html.meta-description 183 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 68.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/webpack-memory.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.0% smaller (6034B vs 151023B)
- PASS markdown.valid-markdown 10.7% HTML markup
- PASS html.ssr-content 747 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/logging 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/logging
- PASS html.meta-description 181 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-12
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 53.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/logging.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/logging.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 11/11 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4916B vs 509786B)
- PASS markdown.valid-markdown 1.2% HTML markup
- PASS html.ssr-content 563 words in initial HTML
- PASS http.no-interstitial
53 https://nextjs.org/conf/login 10/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description only 47 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 78.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 12 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-16-beta 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-16-beta
- PASS html.meta-description 147 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 62.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-16-beta.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 93.1% smaller (22780B vs 330003B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 2136 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/analytics 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/analytics
- PASS html.meta-description 63 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 56.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/analytics.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/analytics.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (5289B vs 485760B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 659 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-15-rc 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-15-rc
- PASS html.meta-description 149 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 56.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-15-rc.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 14/14 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.4% smaller (21061B vs 375364B)
- PASS markdown.valid-markdown 3.6% HTML markup
- PASS html.ssr-content 2174 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/authentication 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/authentication
- PASS html.meta-description 66 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 61.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/authentication.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/authentication.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 27/27 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.2% smaller (48800B vs 1287436B)
- PASS markdown.valid-markdown 3.8% HTML markup
- PASS html.ssr-content 4543 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/mdx 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/mdx
- PASS html.meta-description 63 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 56.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/mdx.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/mdx.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 24/24 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.5% smaller (18217B vs 730166B)
- PASS markdown.valid-markdown 7.1% HTML markup
- PASS html.ssr-content 2011 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation
- FAIL html.meta-description only 46 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (5780B vs 496564B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 702 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/metadata 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/metadata
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 75.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 1017 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client
- PASS html.meta-description 114 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-08-06
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (6959B vs 531999B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 641 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-6-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-6-1
- PASS html.meta-description 72 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 65.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-6-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.1% smaller (7480B vs 193403B)
- PASS markdown.valid-markdown 3.0% HTML markup
- PASS html.ssr-content 951 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/file-conventions/intercepting-routes 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/intercepting-routes
- PASS html.meta-description 153 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/intercepting-routes.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/intercepting-routes.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (4387B vs 414669B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 614 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/app/api-reference/config/next-config-js/typedRoutes 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/typedRoutes
- FAIL html.meta-description only 42 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-08-19
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/typedRoutes.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/typedRoutes.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1062B vs 395953B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 227 words in initial HTML
- PASS http.no-interstitial
55 https://nextjs.org/learn/pages-router/dynamic-routes-render-markdown 12/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/dynamic-routes-render-markdown
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 73.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 306 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/typescript 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/typescript
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-18
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 56.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/typescript.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/typescript.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2569B vs 426358B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 367 words in initial HTML
- PASS http.no-interstitial
58 https://nextjs.org/conf 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description only 37 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 1 headings
- PASS html.text-ratio 52.3%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 356 words in initial HTML
- PASS http.no-interstitial
74 https://nextjs.org/blog/agentic-future 20/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/agentic-future
- PASS html.meta-description 155 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 72.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/agentic-future.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.9% smaller (5509B vs 135431B)
- PASS markdown.valid-markdown 8.3% HTML markup
- PASS html.ssr-content 806 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/adapters/api-reference 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/api-reference
- PASS html.meta-description 82 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 58.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/api-reference.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/api-reference.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2493B vs 397817B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 390 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/adapterPath 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/adapterPath
- PASS html.meta-description 70 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 57.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/adapterPath.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/adapterPath.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3257B vs 432160B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 366 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/adapters/creating-an-adapter 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/creating-an-adapter
- PASS html.meta-description 69 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/creating-an-adapter.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/creating-an-adapter.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (3515B vs 480786B)
- PASS markdown.valid-markdown 7.1% HTML markup
- PASS html.ssr-content 466 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/app/api-reference/file-conventions/layout 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/layout
- FAIL html.meta-description only 37 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-05
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 56.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/layout.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/layout.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 21/21 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 8 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.5% smaller (21490B vs 864176B)
- PASS markdown.valid-markdown 8.3% HTML markup
- PASS html.ssr-content 1839 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/blog/next-16-1 19/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-16-1
- PASS html.meta-description 126 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 66.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-16-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 92.1% smaller (16168B vs 205715B)
- FAIL markdown.valid-markdown body is 42.3% HTML markup (threshold ≤ 30%)
- PASS html.ssr-content 877 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/ai-agents 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/ai-agents
- PASS html.meta-description 127 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-20
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 55.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/ai-agents.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/ai-agents.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4620B vs 449356B)
- PASS markdown.valid-markdown 0.8% HTML markup
- PASS html.ssr-content 672 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/google-font-display 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/google-font-display
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 5 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/google-font-display.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1390B vs 388075B)
- PASS markdown.valid-markdown 10.9% HTML markup
- PASS html.ssr-content 299 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-15-rc2 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-15-rc2
- PASS html.meta-description 150 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 62.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-15-rc2.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 11/11 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 92.9% smaller (27259B vs 384342B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 2882 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/google-font-preconnect 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/google-font-preconnect
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 4 headings
- PASS html.text-ratio 57.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/google-font-preconnect.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1103B vs 379648B)
- PASS markdown.valid-markdown 8.1% HTML markup
- PASS html.ssr-content 261 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-16 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-16
- PASS html.meta-description 160 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 60.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-16.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 92.9% smaller (26696B vs 376674B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 2604 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/components/image 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/components/image
- PASS html.meta-description 86 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-10
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 21 headings
- PASS html.text-ratio 49.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/components/image.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/components/image.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 70/70 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.6% smaller (59716B vs 1355781B)
- PASS markdown.valid-markdown 6.1% HTML markup
- PASS html.ssr-content 5445 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/blog/next-16-2 19/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-16-2
- PASS html.meta-description 113 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 59.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-16-2.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 92.1% smaller (25442B vs 320659B)
- FAIL markdown.valid-markdown body is 38.3% HTML markup (threshold ≤ 30%)
- PASS html.ssr-content 1597 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-16-2-ai 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-16-2-ai
- PASS html.meta-description 144 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 57.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-16-2-ai.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 11/11 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.0% smaller (10542B vs 261773B)
- PASS markdown.valid-markdown 5.8% HTML markup
- PASS html.ssr-content 1307 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/blog 17/25
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 1 headings
- PASS html.text-ratio 61.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.2% smaller (14839B vs 521814B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 3273 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-16-2-turbopack 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-16-2-turbopack
- PASS html.meta-description 186 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 64.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-16-2-turbopack.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.4% smaller (12031B vs 216245B)
- PASS markdown.valid-markdown 24.7% HTML markup
- PASS html.ssr-content 1052 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-14-2 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-14-2
- PASS html.meta-description 148 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 61.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-14-2.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.1% smaller (16019B vs 273523B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 1627 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-15-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-15-1
- PASS html.meta-description 121 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 60.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-15-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.7% smaller (13786B vs 317419B)
- PASS markdown.valid-markdown 4.0% HTML markup
- PASS html.ssr-content 1519 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-15-5 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-15-5
- PASS html.meta-description 165 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 56.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-15-5.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 17/17 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.4% smaller (17898B vs 389589B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 2165 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-15 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-15
- PASS html.meta-description 128 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 26 headings
- PASS html.text-ratio 60.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-15.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 14/14 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 91.9% smaller (39647B vs 491876B)
- PASS markdown.valid-markdown 2.1% HTML markup
- PASS html.ssr-content 4327 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/css-in-js 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/css-in-js
- FAIL html.meta-description only 36 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-07-28
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 58.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/css-in-js.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/css-in-js.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.3% smaller (8863B vs 531080B)
- PASS markdown.valid-markdown 6.6% HTML markup
- PASS html.ssr-content 788 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/tailwind-v3-css 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/tailwind-v3-css
- PASS html.meta-description 81 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-08-06
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 55.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/tailwind-v3-css.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/tailwind-v3-css.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (3068B vs 464584B)
- PASS markdown.valid-markdown 5.6% HTML markup
- PASS html.ssr-content 387 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-10-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-10-1
- PASS html.meta-description 162 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 61.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-10-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.7% smaller (14249B vs 266963B)
- PASS markdown.valid-markdown 2.2% HTML markup
- PASS html.ssr-content 1504 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/building-your-application/routing 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/routing
- PASS html.meta-description 83 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 63.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/routing.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/routing.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2125B vs 351566B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 308 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/guides/testing 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/testing
- PASS html.meta-description 106 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 58.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/testing.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/testing.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2697B vs 400780B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 492 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/optimizePackageImports 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/optimizePackageImports
- PASS html.meta-description 62 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-19
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 63.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/optimizePackageImports.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/optimizePackageImports.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1929B vs 364974B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 271 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/building-your-application/rendering/static-site-generation 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/rendering/static-site-generation
- PASS html.meta-description 66 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 61.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/rendering/static-site-generation.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/rendering/static-site-generation.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.8% smaller (10895B vs 485535B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 1232 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-11 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-11
- PASS html.meta-description 132 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 64.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-11.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 93.7% smaller (15487B vs 246619B)
- PASS markdown.valid-markdown 7.7% HTML markup
- PASS html.ssr-content 1852 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-11-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-11-1
- PASS html.meta-description 172 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 64.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-11-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.5% smaller (13254B vs 239448B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 1483 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-12-3 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-12-3
- PASS html.meta-description 109 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 65.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-12-3.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.8% smaller (11202B vs 216096B)
- PASS markdown.valid-markdown 3.0% HTML markup
- PASS html.ssr-content 1312 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-12 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-12
- PASS html.meta-description 161 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 60.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-12.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.3% smaller (16736B vs 292502B)
- PASS markdown.valid-markdown 2.0% HTML markup
- PASS html.ssr-content 2002 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-12-2 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-12-2
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 60.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-12-2.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.0% smaller (14962B vs 297015B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1729 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-13 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-13
- PASS html.meta-description 176 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 58.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-13.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 14/14 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.2% smaller (22045B vs 381409B)
- PASS markdown.valid-markdown 6.6% HTML markup
- PASS html.ssr-content 2611 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-13-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-13-1
- PASS html.meta-description 169 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 61.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-13-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.4% smaller (15726B vs 278811B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1741 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/support-policy 13/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 5 headings
- PASS html.text-ratio 72.4%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 335 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/getting-started/deploying 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/getting-started/deploying
- FAIL html.meta-description only 45 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 62.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/getting-started/deploying.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/getting-started/deploying.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.3% smaller (7089B vs 412772B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 721 words in initial HTML
- PASS http.no-interstitial
58 https://nextjs.org/conf/schedule 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description only 16 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 70.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 226 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins
- PASS html.meta-description 88 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-17
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1371B vs 396198B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 266 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/app/api-reference/config/next-config-js/appDir 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/appDir
- PASS html.meta-description 58 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/appDir.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/appDir.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1419B vs 393764B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 249 words in initial HTML
- PASS http.no-interstitial
63 https://nextjs.org/conf/session/building-full-stack-ai-applications-with-vercel-and-aws 12/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 224 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 67.4%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 71 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/getting-started/installation 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/getting-started/installation
- PASS html.meta-description 131 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2024-11-06
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 55.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/getting-started/installation.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/getting-started/installation.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 15/15 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.2% smaller (10062B vs 552063B)
- PASS markdown.valid-markdown 3.2% HTML markup
- PASS html.ssr-content 1200 words in initial HTML
- PASS http.no-interstitial
48 https://nextjs.org/conf/schedule/main-stage 12/25
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description only 16 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 70.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/conf/schedule/main-stage.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: title, description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 7 residual nav/header/footer/aside tag(s)
- FAIL markdown.size-reduction only 19.4% smaller (225220B vs 279504B); need ≥ 30%
- FAIL markdown.valid-markdown looks like HTML (HTML prologue at top of body)
- PASS html.ssr-content 226 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/getting-started/images 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/getting-started/images
- PASS html.meta-description 62 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-05-08
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 60.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/getting-started/images.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/getting-started/images.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (7847B vs 486227B)
- PASS markdown.valid-markdown 15.1% HTML markup
- PASS html.ssr-content 766 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/react-foundations/server-and-client-components 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/react-foundations/server-and-client-components
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 72.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 902 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix
- PASS html.meta-description 69 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 57.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2976B vs 417878B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 474 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/app/api-reference 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference
- FAIL html.meta-description only 41 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 57.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1499B vs 392788B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 259 words in initial HTML
- PASS http.no-interstitial
48 https://nextjs.org/conf/schedule/midnight 12/25
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description only 16 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 79.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/conf/schedule/midnight.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: title, description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 7 residual nav/header/footer/aside tag(s)
- FAIL markdown.size-reduction only 8.8% smaller (225257B vs 247072B); need ≥ 30%
- FAIL markdown.valid-markdown looks like HTML (HTML prologue at top of body)
- PASS html.ssr-content 96 words in initial HTML
- PASS http.no-interstitial
63 https://nextjs.org/conf/session/identity-and-accountability-in-the-age-of-ai-agents 12/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 243 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 60 words in initial HTML
- PASS http.no-interstitial
63 https://nextjs.org/conf/session/nextjs-bun 12/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 200 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 56 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app
- PASS html.meta-description 143 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-07-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 58.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app.md
- PASS markdown.alternate-link https://nextjs.org/docs/app.md
- FAIL markdown.frontmatter missing: title, description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.9% smaller (574B vs 396343B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 331 words in initial HTML
- PASS http.no-interstitial
44 https://nextjs.org/conf/schedule/pre-events 11/25
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description only 16 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 83.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/conf/schedule/pre-events.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: title, description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 7 residual nav/header/footer/aside tag(s)
- FAIL markdown.size-reduction only 2.8% smaller (225220B vs 231764B); need ≥ 30%
- FAIL markdown.valid-markdown looks like HTML (HTML prologue at top of body)
- FAIL html.ssr-content only 26 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
58 https://nextjs.org/conf/session/nextjs-for-ai-agents 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 73 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 34 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/redirect 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/redirect
- FAIL html.meta-description only 40 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 57.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/redirect.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/redirect.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.3% smaller (8782B vs 526656B)
- PASS markdown.valid-markdown 2.0% HTML markup
- PASS html.ssr-content 978 words in initial HTML
- PASS http.no-interstitial
58 https://nextjs.org/conf/session/modern-nextjs-development-composition-caching-and-architecture 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 152 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 47 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
48 https://nextjs.org/conf/schedule/raven 12/25
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description only 16 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 80.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/conf/schedule/raven.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: title, description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 7 residual nav/header/footer/aside tag(s)
- FAIL markdown.size-reduction only 7.2% smaller (225248B vs 242823B); need ≥ 30%
- FAIL markdown.valid-markdown looks like HTML (HTML prologue at top of body)
- PASS html.ssr-content 85 words in initial HTML
- PASS http.no-interstitial
58 https://nextjs.org/conf/session/reactive-state-for-the-backend 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 145 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 69.0%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 48 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
58 https://nextjs.org/conf/session/shipping-at-warp-speed-building-with-nextjs-ai-as-your-dev-team 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 120 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 38 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-15-2 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-15-2
- PASS html.meta-description 82 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 63.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-15-2.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.9% smaller (13359B vs 259593B)
- PASS markdown.valid-markdown 7.4% HTML markup
- PASS html.ssr-content 1450 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/next-script-for-ga 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/next-script-for-ga
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 7 headings
- PASS html.text-ratio 56.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/next-script-for-ga.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3891B vs 437645B)
- PASS markdown.valid-markdown 7.1% HTML markup
- PASS html.ssr-content 540 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/CVE-2025-66478 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/CVE-2025-66478
- PASS html.meta-description 156 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 65.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/CVE-2025-66478.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.6% smaller (5854B vs 173941B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 629 words in initial HTML
- PASS http.no-interstitial
58 https://nextjs.org/conf/session/why-your-consent-banner-should-be-in-your-bundle 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 128 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 49 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
47 https://nextjs.org/conf/session/hands-on-how-to-migrate-to-nextjs-16-and-use-cache-copy 9/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 69.0%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 31 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-15-4 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-15-4
- PASS html.meta-description 85 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 66.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-15-4.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.1% smaller (10982B vs 223020B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1083 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/viewTransition 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/viewTransition
- PASS html.meta-description 50 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-04-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/viewTransition.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/viewTransition.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2348B vs 422376B)
- PASS markdown.valid-markdown 2.0% HTML markup
- PASS html.ssr-content 360 words in initial HTML
- PASS http.no-interstitial
63 https://nextjs.org/conf/session/type-safe-url-state-in-nextjs-with-nuqs 12/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 233 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 58 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/blog/building-apis-with-nextjs 19/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/building-apis-with-nextjs
- FAIL html.meta-description only 43 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 26 headings
- PASS html.text-ratio 58.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/building-apis-with-nextjs.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.9% smaller (16284B vs 397902B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 2117 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-9 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-9
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 62.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-9.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 92.5% smaller (26150B vs 346905B)
- PASS markdown.valid-markdown 7.4% HTML markup
- PASS html.ssr-content 3349 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/adapters 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters
- PASS html.meta-description 67 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 58.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3225B vs 399806B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 345 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/adapters/configuration 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/configuration
- PASS html.meta-description 82 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/configuration.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/configuration.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (992B vs 396135B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 225 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/useLightningcss 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/useLightningcss
- FAIL html.meta-description only 46 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-11
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 58.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/useLightningcss.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/useLightningcss.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (7617B vs 462074B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 531 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/webVitalsAttribution 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/webVitalsAttribution
- PASS html.meta-description 93 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/webVitalsAttribution.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/webVitalsAttribution.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2436B vs 409838B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 366 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/webpack 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/webpack
- PASS html.meta-description 57 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-17
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/webpack.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/webpack.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3297B vs 426171B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 490 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/serverExternalPackages 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/serverExternalPackages
- PASS html.meta-description 102 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-05
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 63.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/serverExternalPackages.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/serverExternalPackages.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (2798B vs 368146B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 296 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/next-request-in-use-cache 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/next-request-in-use-cache
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 4 headings
- PASS html.text-ratio 56.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/next-request-in-use-cache.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1524B vs 396684B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 332 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/layouts-rfc 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/layouts-rfc
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 44 headings
- PASS html.text-ratio 58.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/blog/layouts-rfc.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 19/19 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 4 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 92.8% smaller (42649B vs 588484B)
- PASS markdown.valid-markdown 9.4% HTML markup
- PASS html.ssr-content 5462 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/directives/use-cache 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/directives/use-cache
- PASS html.meta-description 85 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 35 headings
- PASS html.text-ratio 54.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/directives/use-cache.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/directives/use-cache.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 22/22 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 1 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.1% smaller (24796B vs 845490B)
- PASS markdown.valid-markdown 4.2% HTML markup
- PASS html.ssr-content 2705 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/composable-caching 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/composable-caching
- PASS html.meta-description 59 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 63.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/composable-caching.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.9% smaller (9400B vs 227377B)
- PASS markdown.valid-markdown 1.7% HTML markup
- PASS html.ssr-content 1374 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/incremental-adoption 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/incremental-adoption
- PASS html.meta-description 93 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 67.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/incremental-adoption.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.9% smaller (6971B vs 170694B)
- PASS markdown.valid-markdown 3.2% HTML markup
- PASS html.ssr-content 855 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-assign-module-variable 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-assign-module-variable
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 3 headings
- PASS html.text-ratio 56.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-assign-module-variable.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.9% smaller (492B vs 373246B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 213 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/blog/create-next-app 19/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/create-next-app
- PASS html.meta-description 145 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 70.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/create-next-app.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.9% smaller (2584B vs 124880B)
- PASS markdown.valid-markdown 4.7% HTML markup
- PASS html.ssr-content 326 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-img-element 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-img-element
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 4 headings
- PASS html.text-ratio 55.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-img-element.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2857B vs 423493B)
- PASS markdown.valid-markdown 16.4% HTML markup
- PASS html.ssr-content 403 words in initial HTML
- PASS http.no-interstitial
74 https://nextjs.org/blog/june-2023-update 20/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/june-2023-update
- PASS html.meta-description 104 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 71.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/june-2023-update.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 93.5% smaller (11960B vs 183950B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1656 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-9-1-7 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-9-1-7
- PASS html.meta-description 200 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 61.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-9-1-7.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.5% smaller (13834B vs 251102B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 1582 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-9-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-9-1
- PASS html.meta-description 194 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 67.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-9-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.3% smaller (11531B vs 201835B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 1581 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/directives/use-cache-private 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/directives/use-cache-private
- PASS html.meta-description 104 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 59.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/directives/use-cache-private.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/directives/use-cache-private.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (7721B vs 495676B)
- PASS markdown.valid-markdown 4.3% HTML markup
- PASS html.ssr-content 755 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/directives/use-client 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/directives/use-client
- PASS html.meta-description 78 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 57.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/directives/use-client.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/directives/use-client.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 2 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 99.1% smaller (4345B vs 460401B)
- PASS markdown.valid-markdown 5.9% HTML markup
- PASS html.ssr-content 552 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/seo 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 77.3%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 184 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/edge 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/edge
- FAIL html.meta-description only 35 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 59.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/edge.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/edge.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.7% smaller (29511B vs 553080B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1220 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/file-conventions 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions
- PASS html.meta-description 50 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 23 headings
- PASS html.text-ratio 58.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3662B vs 408934B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 395 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/directives/use-server 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/directives/use-server
- PASS html.meta-description 72 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 58.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/directives/use-server.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/directives/use-server.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (7084B vs 531343B)
- PASS markdown.valid-markdown 2.4% HTML markup
- PASS html.ssr-content 777 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/functions/get-initial-props 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/functions/get-initial-props
- PASS html.meta-description 79 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-11-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 63.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/functions/get-initial-props.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/functions/get-initial-props.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (4340B vs 383884B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 505 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/adapters/implementing-ppr-in-an-adapter 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/implementing-ppr-in-an-adapter
- PASS html.meta-description 91 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/implementing-ppr-in-an-adapter.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/implementing-ppr-in-an-adapter.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (4233B vs 468263B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 576 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/directives/use-cache-remote 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/directives/use-cache-remote
- PASS html.meta-description 110 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 24 headings
- PASS html.text-ratio 59.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/directives/use-cache-remote.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/directives/use-cache-remote.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.9% smaller (24077B vs 774197B)
- PASS markdown.valid-markdown 4.1% HTML markup
- PASS html.ssr-content 2756 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/adapters/invoking-entrypoints 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/invoking-entrypoints
- PASS html.meta-description 71 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 56.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/invoking-entrypoints.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/invoking-entrypoints.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (4284B vs 452079B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 520 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/blog/next-14 19/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-14
- PASS html.meta-description 119 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 63.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-14.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 2 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 93.7% smaller (20380B vs 322476B)
- PASS markdown.valid-markdown 3.0% HTML markup
- PASS html.ssr-content 2192 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-9-2 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-9-2
- PASS html.meta-description 109 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 65.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-9-2.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.4% smaller (11857B vs 213571B)
- PASS markdown.valid-markdown 1.9% HTML markup
- PASS html.ssr-content 1555 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-14-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-14-1
- PASS html.meta-description 119 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 62.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-14-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.1% smaller (19554B vs 332659B)
- PASS markdown.valid-markdown 3.3% HTML markup
- PASS html.ssr-content 1883 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/adapters/output-types 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/output-types
- PASS html.meta-description 57 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-04-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/output-types.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/output-types.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.3% smaller (9218B vs 550101B)
- PASS markdown.valid-markdown 3.1% HTML markup
- PASS html.ssr-content 1306 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots
- FAIL html.meta-description only 34 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 56.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3691B vs 480227B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 449 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-9-5 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-9-5
- PASS html.meta-description 130 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 59.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-9-5.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 93.1% smaller (24053B vs 348223B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 3033 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/opengraph-image 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/opengraph-image
- PASS html.meta-description 74 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 56.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/metadata/opengraph-image.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/opengraph-image.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 18/18 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.7% smaller (17307B vs 752047B)
- PASS markdown.valid-markdown 15.9% HTML markup
- PASS html.ssr-content 1371 words in initial HTML
- PASS http.no-interstitial
58 https://nextjs.org/conf/speakers 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description only 16 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 56.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 93 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap
- FAIL html.meta-description only 39 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 58.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 11/11 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.2% smaller (12342B vs 703161B)
- PASS markdown.valid-markdown 17.1% HTML markup
- PASS html.ssr-content 966 words in initial HTML
- PASS http.no-interstitial
63 https://nextjs.org/conf/session/coding-for-the-future 12/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 140 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 64.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 58 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-8-1 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-8-1
- PASS html.meta-description 93 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 61.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-8-1.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.9% smaller (6418B vs 208505B)
- PASS markdown.valid-markdown 11.0% HTML markup
- PASS html.ssr-content 838 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-9-0-7 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-9-0-7
- PASS html.meta-description 248 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 69.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-9-0-7.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 92.2% smaller (18412B vs 236435B)
- PASS markdown.valid-markdown 2.3% HTML markup
- PASS html.ssr-content 2526 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-9-3 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-9-3
- PASS html.meta-description 138 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 58.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-9-3.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 93.7% smaller (26852B vs 427719B)
- PASS markdown.valid-markdown 1.3% HTML markup
- PASS html.ssr-content 3639 words in initial HTML
- PASS http.no-interstitial
63 https://nextjs.org/conf/session/clankers-and-content-operations 12/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 264 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 59 words in initial HTML
- PASS http.no-interstitial
74 https://nextjs.org/blog/nextjs-across-platforms 20/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/nextjs-across-platforms
- PASS html.meta-description 143 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 72.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/nextjs-across-platforms.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 93.8% smaller (10196B vs 164798B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1326 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath
- PASS html.meta-description 76 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 56.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (2270B vs 429604B)
- PASS markdown.valid-markdown 8.3% HTML markup
- PASS html.ssr-content 398 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-9-4 20/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/blog/next-9-4
- PASS html.meta-description 126 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 58.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-9-4.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 94.4% smaller (17094B vs 305004B)
- PASS markdown.valid-markdown 4.8% HTML markup
- PASS html.ssr-content 1962 words in initial HTML
- PASS http.no-interstitial
63 https://nextjs.org/conf/session/developer-experience-in-the-age-of-ai 12/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 209 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 57 words in initial HTML
- PASS http.no-interstitial
58 https://nextjs.org/conf/session/are-we-turbo-yet 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 79 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 34 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
58 https://nextjs.org/conf/session/build-scale-teach-architecting-and-scaling-a-production-ready-modern-course-platform-with-nextjs 11/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 143 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 68.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 48 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/authInterrupts 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/authInterrupts
- PASS html.meta-description 113 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 57.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/authInterrupts.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/authInterrupts.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2282B vs 413827B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 284 words in initial HTML
- PASS http.no-interstitial
53 https://nextjs.org/conf/session/closing-keynote-nextjsconf 10/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- FAIL html.meta-description only 39 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- FAIL html.headings only 0 headings
- PASS html.text-ratio 69.0%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- FAIL html.ssr-content only 29 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/output 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/output
- PASS html.meta-description 139 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-08
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 54.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/output.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/output.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.6% smaller (6830B vs 493713B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 946 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/taint 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/taint
- FAIL html.meta-description only 35 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/taint.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/taint.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.6% smaller (7227B vs 516821B)
- PASS markdown.valid-markdown 5.3% HTML markup
- PASS html.ssr-content 851 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/guides 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides
- PASS html.meta-description 69 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 33 headings
- PASS html.text-ratio 63.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (4873B vs 376341B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 541 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/poweredByHeader 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/poweredByHeader
- PASS html.meta-description 83 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/poweredByHeader.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/poweredByHeader.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.8% smaller (900B vs 394317B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 209 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/productionBrowserSourceMaps 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/productionBrowserSourceMaps
- PASS html.meta-description 66 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/productionBrowserSourceMaps.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/productionBrowserSourceMaps.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1404B vs 395882B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 282 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/pageExtensions 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/pageExtensions
- PASS html.meta-description 92 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-17
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/pageExtensions.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/pageExtensions.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1095B vs 399842B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 232 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/public-folder 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/public-folder
- PASS html.meta-description 112 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/public-folder.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/public-folder.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1704B vs 414803B)
- PASS markdown.valid-markdown 6.5% HTML markup
- PASS html.ssr-content 324 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/parallel-routes 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/parallel-routes
- PASS html.meta-description 136 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 55.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/parallel-routes.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/parallel-routes.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 4 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.6% smaller (15360B vs 652640B)
- PASS markdown.valid-markdown 3.6% HTML markup
- PASS html.ssr-content 1564 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 57.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1820B vs 402067B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 318 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/transpilePackages 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/transpilePackages
- PASS html.meta-description 139 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/transpilePackages.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/transpilePackages.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (3038B vs 410963B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 441 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/guides/analytics 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/analytics
- FAIL html.meta-description only 48 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 60.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/analytics.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/analytics.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (5507B vs 441850B)
- PASS markdown.valid-markdown 1.0% HTML markup
- PASS html.ssr-content 713 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/proxy 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/proxy
- FAIL html.meta-description only 36 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 29 headings
- PASS html.text-ratio 56.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/proxy.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/proxy.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 25/25 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.7% smaller (30243B vs 909740B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 3088 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackFileSystemCache 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackFileSystemCache
- PASS html.meta-description 59 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-01
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 57.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackFileSystemCache.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackFileSystemCache.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (2184B vs 413541B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 307 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack
- FAIL html.meta-description only 49 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 55.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.2% smaller (18514B vs 649929B)
- PASS markdown.valid-markdown 12.4% HTML markup
- PASS html.ssr-content 1991 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/app-icons 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/app-icons
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 56.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/metadata/app-icons.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/app-icons.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.2% smaller (10000B vs 559135B)
- PASS markdown.valid-markdown 9.0% HTML markup
- PASS html.ssr-content 961 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackIgnoreIssue 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackIgnoreIssue
- PASS html.meta-description 86 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 56.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackIgnoreIssue.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackIgnoreIssue.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (5541B vs 502904B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 640 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/distDir 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/distDir
- PASS html.meta-description 75 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/distDir.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/distDir.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1074B vs 394841B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 245 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/deploymentId 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/deploymentId
- PASS html.meta-description 85 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-12
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 56.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/deploymentId.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/deploymentId.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3569B vs 430161B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 513 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/devIndicators 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/devIndicators
- PASS html.meta-description 127 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 56.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/devIndicators.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/devIndicators.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3701B vs 430178B)
- PASS markdown.valid-markdown 0.3% HTML markup
- PASS html.ssr-content 478 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/directives 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/directives
- PASS html.meta-description 71 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 57.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/directives.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/directives.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1410B vs 389803B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 272 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/cli/create-next-app 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/cli/create-next-app
- PASS html.meta-description 67 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 54.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/cli/create-next-app.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/cli/create-next-app.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (7927B vs 482766B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 765 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/cli 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/cli
- PASS html.meta-description 65 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/cli.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/cli.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1140B vs 387756B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 247 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/cli/next 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/cli/next
- PASS html.meta-description 65 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 54.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/cli/next.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/cli/next.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.7% smaller (26454B vs 621258B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 2329 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/components/form 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/components/form
- PASS html.meta-description 121 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/components/form.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/components/form.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.9% smaller (12436B vs 599853B)
- PASS markdown.valid-markdown 7.3% HTML markup
- PASS html.ssr-content 1233 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/guides/production-checklist 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/production-checklist
- PASS html.meta-description 120 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-10
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 59.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/production-checklist.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/production-checklist.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.5% smaller (10986B vs 446502B)
- PASS markdown.valid-markdown 0.3% HTML markup
- PASS html.ssr-content 1240 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/preserving-ui-state 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/preserving-ui-state
- PASS html.meta-description 117 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 57.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/preserving-ui-state.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/preserving-ui-state.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.4% smaller (19663B vs 762684B)
- PASS markdown.valid-markdown 6.5% HTML markup
- PASS html.ssr-content 2625 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/components/font 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/components/font
- PASS html.meta-description 67 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-08-06
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 24 headings
- PASS html.text-ratio 56.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/components/font.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/components/font.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 25/25 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.2% smaller (27017B vs 956715B)
- PASS markdown.valid-markdown 6.7% HTML markup
- PASS html.ssr-content 2544 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/progressive-web-apps 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/progressive-web-apps
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-11
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 62.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/progressive-web-apps.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/progressive-web-apps.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.2% smaller (22011B vs 788436B)
- PASS markdown.valid-markdown 5.2% HTML markup
- PASS html.ssr-content 2002 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents
- PASS html.meta-description 56 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4376B vs 417181B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 576 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/prefetching 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/prefetching
- FAIL html.meta-description only 45 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 56.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/prefetching.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/prefetching.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.9% smaller (12714B vs 608304B)
- PASS markdown.valid-markdown 5.2% HTML markup
- PASS html.ssr-content 1418 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/public-static-pages 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/public-static-pages
- PASS html.meta-description 156 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 56.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/public-static-pages.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/public-static-pages.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 6 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 98.2% smaller (9666B vs 534412B)
- PASS markdown.valid-markdown 3.5% HTML markup
- PASS html.ssr-content 1431 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/package-bundling 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/package-bundling
- PASS html.meta-description 178 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 53.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/package-bundling.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/package-bundling.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.3% smaller (9635B vs 569004B)
- PASS markdown.valid-markdown 3.7% HTML markup
- PASS html.ssr-content 1228 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/guides/ppr-platform-guide 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/ppr-platform-guide
- PASS html.meta-description 117 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 59.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/ppr-platform-guide.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/ppr-platform-guide.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.1% smaller (8390B vs 435745B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1242 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/default 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/default
- FAIL html.meta-description only 38 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/default.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/default.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4146B vs 427320B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 555 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/upgrading/codemods 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/upgrading/codemods
- PASS html.meta-description 77 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 49.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/upgrading/codemods.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/upgrading/codemods.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 54/54 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.1% smaller (17670B vs 919828B)
- PASS markdown.valid-markdown 3.0% HTML markup
- PASS html.ssr-content 2159 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/dynamic-routes 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/dynamic-routes
- PASS html.meta-description 83 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/dynamic-routes.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/dynamic-routes.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.7% smaller (15369B vs 661736B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 1691 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/assets-metadata-css-css-styling 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/assets-metadata-css-css-styling
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 76.6%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 218 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/error 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/error
- FAIL html.meta-description only 44 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 59.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/error.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/error.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.0% smaller (11715B vs 581328B)
- PASS markdown.valid-markdown 11.1% HTML markup
- PASS html.ssr-content 1122 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/page 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/page
- FAIL html.meta-description only 35 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-05
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 56.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/page.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/page.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (9037B vs 571870B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 960 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/getting-started/images 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/images
- FAIL html.meta-description only 39 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-04-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 56.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/images.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/images.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.5% smaller (7774B vs 528132B)
- PASS markdown.valid-markdown 15.3% HTML markup
- PASS html.ssr-content 795 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/not-found 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/not-found
- FAIL html.meta-description only 40 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 58.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/not-found.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/not-found.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.3% smaller (8932B vs 538576B)
- PASS markdown.valid-markdown 6.6% HTML markup
- PASS html.ssr-content 1007 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/installation 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/installation
- PASS html.meta-description 133 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 51.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/installation.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/installation.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.9% smaller (12987B vs 630955B)
- PASS markdown.valid-markdown 1.8% HTML markup
- PASS html.ssr-content 1552 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/draft-mode 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/draft-mode
- PASS html.meta-description 100 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 59.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/draft-mode.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/draft-mode.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 2 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.8% smaller (13562B vs 602853B)
- PASS markdown.valid-markdown 3.5% HTML markup
- PASS html.ssr-content 1625 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/dashboard-app/optimizing-fonts-images 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/dashboard-app/optimizing-fonts-images
- PASS html.meta-description 63 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 76.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 1231 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/adapters/routing-information 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/routing-information
- PASS html.meta-description 75 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 58.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/routing-information.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/routing-information.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1833B vs 405629B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 330 words in initial HTML
- PASS http.no-interstitial
70 https://nextjs.org/docs 19/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs
- FAIL html.meta-description only 37 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 58.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3554B vs 404511B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 587 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/adapters/routing-with-next-routing 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/routing-with-next-routing
- PASS html.meta-description 73 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 58.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/routing-with-next-routing.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/routing-with-next-routing.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2707B vs 418379B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 415 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/adapters/runtime-integration 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/runtime-integration
- PASS html.meta-description 78 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 58.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/runtime-integration.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/runtime-integration.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3309B vs 399177B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 514 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/adapters/testing-adapters 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/testing-adapters
- PASS html.meta-description 91 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-04-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 58.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/testing-adapters.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/testing-adapters.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (7917B vs 503325B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 994 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/serverComponentsHmrCache 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/serverComponentsHmrCache
- PASS html.meta-description 94 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/serverComponentsHmrCache.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/serverComponentsHmrCache.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (2195B vs 411649B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 344 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/app/api-reference/adapters/use-cases 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/adapters/use-cases
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/adapters/use-cases.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/adapters/use-cases.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1129B vs 385810B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 246 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/serverExternalPackages 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/serverExternalPackages
- PASS html.meta-description 99 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-05
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 58.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/serverExternalPackages.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/serverExternalPackages.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3212B vs 411341B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 343 words in initial HTML
- PASS http.no-interstitial
55 https://nextjs.org/learn/seo/fonts 12/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/fonts
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 75.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 170 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/functions/get-static-paths 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/functions/get-static-paths
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 63.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/functions/get-static-paths.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/functions/get-static-paths.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.4% smaller (13138B vs 495865B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 1656 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/generate-sitemaps 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/generate-sitemaps
- PASS html.meta-description 96 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 59.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/generate-sitemaps.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/generate-sitemaps.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3743B vs 444340B)
- PASS markdown.valid-markdown 0.8% HTML markup
- PASS html.ssr-content 424 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/react-foundations/updating-state 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/react-foundations/updating-state
- PASS html.meta-description 60 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 71.0%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 766 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/functions/get-server-side-props 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/functions/get-server-side-props
- PASS html.meta-description 93 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 62.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/functions/get-server-side-props.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/functions/get-server-side-props.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.1% smaller (8191B vs 440626B)
- PASS markdown.valid-markdown 0.8% HTML markup
- PASS html.ssr-content 760 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/app/guides/multi-tenant 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/multi-tenant
- PASS html.meta-description 57 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/multi-tenant.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/multi-tenant.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.8% smaller (768B vs 384835B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 216 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/functions/get-static-props 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/functions/get-static-props
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 62.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/functions/get-static-props.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/functions/get-static-props.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.2% smaller (13505B vs 490766B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 1202 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/permanentRedirect 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/permanentRedirect
- FAIL html.meta-description only 49 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/permanentRedirect.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/permanentRedirect.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3804B vs 433132B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 510 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/cookies 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/cookies
- FAIL html.meta-description only 39 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/cookies.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/cookies.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.8% smaller (12540B vs 582315B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 1154 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/connection 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/connection
- FAIL html.meta-description only 42 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/connection.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/connection.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (3196B vs 448549B)
- PASS markdown.valid-markdown 1.0% HTML markup
- PASS html.ssr-content 415 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/upgrading/codemods 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/upgrading/codemods
- PASS html.meta-description 77 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 47.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/upgrading/codemods.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/upgrading/codemods.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 54/54 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.2% smaller (17611B vs 961642B)
- PASS markdown.valid-markdown 3.0% HTML markup
- PASS html.ssr-content 2186 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/generate-static-params 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/generate-static-params
- PASS html.meta-description 52 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/generate-static-params.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/generate-static-params.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 15/15 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.6% smaller (18572B vs 766907B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 1730 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/userAgent 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/userAgent
- PASS html.meta-description 144 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-17
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 58.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/userAgent.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/userAgent.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3478B vs 432842B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 476 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/multi-zones 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/multi-zones
- PASS html.meta-description 115 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 56.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/multi-zones.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/multi-zones.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.5% smaller (7287B vs 478578B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 1079 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/migrating/from-vite 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/migrating/from-vite
- PASS html.meta-description 74 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-11
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 55.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/migrating/from-vite.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/migrating/from-vite.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 19/19 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.0% smaller (23127B vs 780903B)
- PASS markdown.valid-markdown 6.9% HTML markup
- PASS html.ssr-content 2586 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/migrating/from-create-react-app 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/migrating/from-create-react-app
- PASS html.meta-description 86 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-11
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 29 headings
- PASS html.text-ratio 53.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/migrating/from-create-react-app.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/migrating/from-create-react-app.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 24/24 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.2% smaller (22478B vs 812788B)
- PASS markdown.valid-markdown 7.8% HTML markup
- PASS html.ssr-content 2570 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheHandlers 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheHandlers
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 25 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheHandlers.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheHandlers.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 15/15 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.1% smaller (21078B vs 719476B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 2390 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheLife 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheLife
- PASS html.meta-description 56 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-11-11
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 57.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheLife.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheLife.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3926B vs 438053B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 417 words in initial HTML
- PASS http.no-interstitial
78 https://nextjs.org/docs/pages/api-reference/config 21/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config
- FAIL html.meta-description only 48 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 63.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1074B vs 345216B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 198 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/staleTimes 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/staleTimes
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/staleTimes.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/staleTimes.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2793B vs 415487B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 399 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/staticGeneration 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/staticGeneration
- PASS html.meta-description 69 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 57.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/staticGeneration.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/staticGeneration.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1869B vs 415849B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 296 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/react-foundations/installation 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/react-foundations/installation
- PASS html.meta-description 52 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 70.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 826 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/data-fetching-blog-data 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/data-fetching-blog-data
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 75.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 839 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/mdxRs 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/mdxRs
- PASS html.meta-description 65 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-11-05
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/mdxRs.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/mdxRs.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1178B vs 406138B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 243 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/components/link 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/components/link
- PASS html.meta-description 75 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/components/link.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/components/link.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 23/23 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 8 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.2% smaller (25439B vs 915752B)
- PASS markdown.valid-markdown 11.2% HTML markup
- PASS html.ssr-content 2122 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/headers 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/headers
- FAIL html.meta-description only 44 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 55.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/headers.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/headers.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.8% smaller (15443B vs 715878B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 1871 words in initial HTML
- PASS http.no-interstitial
65 https://nextjs.org/telemetry 13/20
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 7 headings
- PASS html.text-ratio 54.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 724 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/htmlLimitedBots 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/htmlLimitedBots
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 56.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/htmlLimitedBots.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/htmlLimitedBots.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2500B vs 435800B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 316 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/httpAgentOptions 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/httpAgentOptions
- PASS html.meta-description 112 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/httpAgentOptions.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/httpAgentOptions.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1192B vs 397137B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 229 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/forbidden 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/forbidden
- FAIL html.meta-description only 48 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 58.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/forbidden.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/forbidden.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (2007B vs 424100B)
- PASS markdown.valid-markdown 4.9% HTML markup
- PASS html.ssr-content 286 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/reactCompiler 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/reactCompiler
- PASS html.meta-description 72 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-11
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 55.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/reactCompiler.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/reactCompiler.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (3340B vs 450058B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 455 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/scripts 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/scripts
- PASS html.meta-description 62 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 55.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/scripts.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/scripts.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.5% smaller (8456B vs 546311B)
- PASS markdown.valid-markdown 12.3% HTML markup
- PASS html.ssr-content 954 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode
- PASS html.meta-description 78 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1681B vs 397488B)
- PASS markdown.valid-markdown 1.1% HTML markup
- PASS html.ssr-content 323 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/reactMaxHeadersLength 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/reactMaxHeadersLength
- PASS html.meta-description 86 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/reactMaxHeadersLength.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/reactMaxHeadersLength.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1436B vs 395798B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 295 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/self-hosting 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/self-hosting
- PASS html.meta-description 121 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 60.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/self-hosting.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/self-hosting.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.9% smaller (15277B vs 499189B)
- PASS markdown.valid-markdown 0.3% HTML markup
- PASS html.ssr-content 1930 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/videos 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/videos
- PASS html.meta-description 85 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-09-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/videos.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/videos.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.1% smaller (17006B vs 586841B)
- PASS markdown.valid-markdown 8.3% HTML markup
- PASS html.ssr-content 1906 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/app/api-reference/config/next-config-js/sassOptions 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/sassOptions
- FAIL html.meta-description only 23 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-19
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/sassOptions.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/sassOptions.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1664B vs 407939B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 278 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects
- FAIL html.meta-description only 34 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 56.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.0% smaller (11576B vs 583535B)
- PASS markdown.valid-markdown 0.3% HTML markup
- PASS html.ssr-content 1476 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/incrementalCacheHandlerPath 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/incrementalCacheHandlerPath
- PASS html.meta-description 128 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-01-08
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 57.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/incrementalCacheHandlerPath.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/incrementalCacheHandlerPath.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (5835B vs 444037B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 641 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites
- FAIL html.meta-description only 33 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 54.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 14/14 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.8% smaller (14261B vs 646814B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 1808 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/internationalization 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/internationalization
- PASS html.meta-description 88 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 56.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/internationalization.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/internationalization.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.5% smaller (8695B vs 561459B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 996 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/compress 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/compress
- PASS html.meta-description 144 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 57.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/compress.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/compress.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1923B vs 403969B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 331 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/images 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/images
- FAIL html.meta-description only 46 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 54.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/images.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/images.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 18/18 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (8418B vs 666318B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 832 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/api-routes-setup 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/api-routes-setup
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 76.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 182 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/assets-metadata-css 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/assets-metadata-css
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 77.3%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 210 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/assets-metadata-css-assets 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/assets-metadata-css-assets
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 76.6%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 544 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/dashboard-app/adding-metadata 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/dashboard-app/adding-metadata
- PASS html.meta-description 54 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 71.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 1028 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/refresh 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/refresh
- FAIL html.meta-description only 39 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 56.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/refresh.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/refresh.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (2106B vs 437496B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 322 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/revalidatePath 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/revalidatePath
- FAIL html.meta-description only 46 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 55.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/revalidatePath.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/revalidatePath.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (8768B vs 552124B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1150 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/revalidateTag 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/revalidateTag
- FAIL html.meta-description only 45 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 57.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/revalidateTag.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/revalidateTag.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.6% smaller (6635B vs 478878B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 863 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/inlineCss 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/inlineCss
- FAIL html.meta-description only 26 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 58.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/inlineCss.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/inlineCss.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4410B vs 430767B)
- PASS markdown.valid-markdown 0.9% HTML markup
- PASS html.ssr-content 668 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/team 13/19
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- FAIL html.canonical-link missing
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 27 headings
- PASS html.text-ratio 41.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 89 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/guides/upgrading 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/upgrading
- PASS html.meta-description 55 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 63.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/upgrading.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/upgrading.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1528B vs 349235B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 241 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/env 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/env
- PASS html.meta-description 88 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 56.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/env.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/env.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (2100B vs 422686B)
- PASS markdown.valid-markdown 1.3% HTML markup
- PASS html.ssr-content 352 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/proxyClientMaxBodySize 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/proxyClientMaxBodySize
- PASS html.meta-description 57 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-20
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 56.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/proxyClientMaxBodySize.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/proxyClientMaxBodySize.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (4105B vs 470334B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 604 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/layouts-and-pages 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/layouts-and-pages
- PASS html.meta-description 96 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 56.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/layouts-and-pages.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/layouts-and-pages.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.8% smaller (13357B vs 614113B)
- PASS markdown.valid-markdown 3.9% HTML markup
- PASS html.ssr-content 1349 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/typescript 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/typescript
- PASS html.meta-description 95 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 52.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/typescript.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/typescript.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 21/21 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 1 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.1% smaller (21708B vs 756403B)
- PASS markdown.valid-markdown 2.3% HTML markup
- PASS html.ssr-content 2694 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/dashboard-app/adding-authentication 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/dashboard-app/adding-authentication
- PASS html.meta-description 97 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 71.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 15/15 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 2166 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/urlImports 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/urlImports
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 56.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/urlImports.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/urlImports.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (3348B vs 459244B)
- PASS markdown.valid-markdown 1.7% HTML markup
- PASS html.ssr-content 536 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/components/form 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/components/form
- PASS html.meta-description 121 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 63.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/components/form.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/components/form.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (4309B vs 387332B)
- PASS markdown.valid-markdown 5.5% HTML markup
- PASS html.ssr-content 520 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/components/font 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/components/font
- FAIL html.meta-description only 33 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 26 headings
- PASS html.text-ratio 56.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/components/font.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/components/font.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 24/24 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.1% smaller (23533B vs 806739B)
- PASS markdown.valid-markdown 4.6% HTML markup
- PASS html.ssr-content 2527 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/metadata-and-og-images 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/metadata-and-og-images
- PASS html.meta-description 69 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 59.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/metadata-and-og-images.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/metadata-and-og-images.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.7% smaller (13836B vs 601674B)
- PASS markdown.valid-markdown 4.6% HTML markup
- PASS html.ssr-content 1308 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/getting-started/linking-and-navigating 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/linking-and-navigating
- PASS html.meta-description 187 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 59.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/linking-and-navigating.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/linking-and-navigating.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 2 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.3% smaller (17753B vs 650691B)
- PASS markdown.valid-markdown 5.2% HTML markup
- PASS html.ssr-content 1780 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/upgrading/version-14 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/upgrading/version-14
- PASS html.meta-description 55 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 56.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/upgrading/version-14.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/upgrading/version-14.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (2088B vs 419969B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 368 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/mutating-data 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/mutating-data
- PASS html.meta-description 78 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 21 headings
- PASS html.text-ratio 57.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/mutating-data.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/mutating-data.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 15/15 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.6% smaller (18268B vs 763018B)
- PASS markdown.valid-markdown 3.9% HTML markup
- PASS html.ssr-content 1646 words in initial HTML
- PASS http.no-interstitial
57 https://nextjs.org/learn/seo/improve 12/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/improve
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 77.4%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 148 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/guides/custom-server 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/custom-server
- PASS html.meta-description 59 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 62.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/custom-server.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/custom-server.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.6% smaller (5814B vs 420089B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 675 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/upgrading/version-15 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/upgrading/version-15
- PASS html.meta-description 55 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 54.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/upgrading/version-15.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/upgrading/version-15.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 23/23 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.0% smaller (17268B vs 860435B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1800 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/environment-variables 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/environment-variables
- PASS html.meta-description 74 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 58.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/environment-variables.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/environment-variables.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 10/10 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.0% smaller (9820B vs 481190B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1283 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 77.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 445 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/content-security-policy 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/content-security-policy
- PASS html.meta-description 78 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 62.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/content-security-policy.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/content-security-policy.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.4% smaller (16832B vs 654661B)
- PASS markdown.valid-markdown 5.0% HTML markup
- PASS html.ssr-content 1553 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/debugging 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/debugging
- PASS html.meta-description 76 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 62.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/debugging.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/debugging.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.1% smaller (8598B vs 452895B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 1118 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/guides/upgrading 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/upgrading
- PASS html.meta-description 55 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/upgrading.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/upgrading.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1095B vs 387879B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 239 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/forms 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/forms
- PASS html.meta-description 69 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 64.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/forms.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/forms.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.3% smaller (9382B vs 568217B)
- PASS markdown.valid-markdown 9.2% HTML markup
- PASS html.ssr-content 795 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/dashboard-app/setting-up-your-database 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/dashboard-app/setting-up-your-database
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 75.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 828 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/manifest 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/manifest
- FAIL html.meta-description only 37 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/metadata/manifest.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata/manifest.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2785B vs 436389B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 378 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/building-your-application/rendering/server-side-rendering 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/rendering/server-side-rendering
- PASS html.meta-description 58 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 63.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/rendering/server-side-rendering.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/rendering/server-side-rendering.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1942B vs 358720B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 338 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js
- PASS html.meta-description 60 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-11-04
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 68 headings
- PASS html.text-ratio 56.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.3% smaller (14907B vs 559201B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1365 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/getting-started/project-structure 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/getting-started/project-structure
- PASS html.meta-description 99 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2024-11-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 64.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/getting-started/project-structure.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/getting-started/project-structure.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.8% smaller (8520B vs 382798B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 377 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/third-party-libraries 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/third-party-libraries
- PASS html.meta-description 109 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 55.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/third-party-libraries.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/third-party-libraries.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.5% smaller (14516B vs 582443B)
- PASS markdown.valid-markdown 4.9% HTML markup
- PASS html.ssr-content 1258 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments
- PASS html.meta-description 53 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-12
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.0% smaller (4409B vs 433323B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 449 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/fetch 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/fetch
- FAIL html.meta-description only 46 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/fetch.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/fetch.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (6311B vs 470618B)
- PASS markdown.valid-markdown 1.0% HTML markup
- PASS html.ssr-content 877 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/error-handling 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/error-handling
- PASS html.meta-description 68 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 58.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/error-handling.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/error-handling.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 11/11 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.0% smaller (13171B vs 673703B)
- PASS markdown.valid-markdown 10.1% HTML markup
- PASS html.ssr-content 1178 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/draft-mode 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/draft-mode
- FAIL html.meta-description only 41 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/draft-mode.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/draft-mode.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (6053B vs 480115B)
- PASS markdown.valid-markdown 1.1% HTML markup
- PASS html.ssr-content 676 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/forbidden 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/forbidden
- FAIL html.meta-description only 41 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/forbidden.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/forbidden.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (5286B vs 492339B)
- PASS markdown.valid-markdown 1.1% HTML markup
- PASS html.ssr-content 538 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/generate-image-metadata 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/generate-image-metadata
- PASS html.meta-description 76 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-08
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 58.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/generate-image-metadata.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/generate-image-metadata.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.5% smaller (8070B vs 555940B)
- PASS markdown.valid-markdown 9.5% HTML markup
- PASS html.ssr-content 732 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/after 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/after
- FAIL html.meta-description only 37 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 59.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/after.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/after.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.0% smaller (11777B vs 581641B)
- PASS markdown.valid-markdown 2.2% HTML markup
- PASS html.ssr-content 1157 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/generate-viewport 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/generate-viewport
- FAIL html.meta-description only 48 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-05
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 53.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/generate-viewport.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/generate-viewport.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.5% smaller (9164B vs 609510B)
- PASS markdown.valid-markdown 4.7% HTML markup
- PASS html.ssr-content 994 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/use-params 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/use-params
- FAIL html.meta-description only 37 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 57.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/use-params.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/use-params.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (3015B vs 423033B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 379 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/use-pathname 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/use-pathname
- FAIL html.meta-description only 39 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/use-pathname.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/use-pathname.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (6361B vs 474932B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 695 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/unauthorized 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/unauthorized
- FAIL html.meta-description only 44 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/unauthorized.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/unauthorized.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 6/6 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (6516B vs 531050B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 600 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/testing/vitest 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/testing/vitest
- PASS html.meta-description 103 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 58.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/testing/vitest.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/testing/vitest.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (5627B vs 479777B)
- PASS markdown.valid-markdown 2.1% HTML markup
- PASS html.ssr-content 503 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/unstable_noStore 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/unstable_noStore
- FAIL html.meta-description only 48 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/unstable_noStore.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/unstable_noStore.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2324B vs 420669B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 383 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/unstable_cache 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/unstable_cache
- FAIL html.meta-description only 46 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 57.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/unstable_cache.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/unstable_cache.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (4085B vs 446795B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 613 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow
- FAIL html.meta-description only 48 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3689B vs 433680B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 548 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/onDemandEntries 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/onDemandEntries
- PASS html.meta-description 83 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/onDemandEntries.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/onDemandEntries.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1188B vs 397372B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 256 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/generate-metadata 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/generate-metadata
- PASS html.meta-description 121 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 44 headings
- PASS html.text-ratio 48.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/generate-metadata.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/generate-metadata.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 87/87 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.0% smaller (49147B vs 1636661B)
- PASS markdown.valid-markdown 15.6% HTML markup
- PASS html.ssr-content 4524 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/updateTag 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/updateTag
- FAIL html.meta-description only 41 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/updateTag.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/updateTag.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (5481B vs 478140B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 719 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/optimizePackageImports 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/optimizePackageImports
- PASS html.meta-description 62 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-19
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/optimizePackageImports.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/optimizePackageImports.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1864B vs 406725B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 296 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/app/api-reference/functions/use-link-status 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/use-link-status
- FAIL html.meta-description only 41 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-09-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 59.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/use-link-status.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/use-link-status.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 2 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 98.6% smaller (7546B vs 540894B)
- PASS markdown.valid-markdown 10.3% HTML markup
- PASS html.ssr-content 823 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/use-report-web-vitals 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/use-report-web-vitals
- PASS html.meta-description 50 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-27
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 57.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/use-report-web-vitals.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/use-report-web-vitals.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (6566B vs 486679B)
- PASS markdown.valid-markdown 1.0% HTML markup
- PASS html.ssr-content 820 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/testing/playwright 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/testing/playwright
- PASS html.meta-description 89 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 59.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/testing/playwright.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/testing/playwright.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (4845B vs 439640B)
- PASS markdown.valid-markdown 1.8% HTML markup
- PASS html.ssr-content 594 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/use-router 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/use-router
- FAIL html.meta-description only 37 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 57.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/use-router.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/use-router.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.5% smaller (7443B vs 492024B)
- PASS markdown.valid-markdown 4.4% HTML markup
- PASS html.ssr-content 814 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment
- PASS html.meta-description 52 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-12
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 58.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.6% smaller (6754B vs 492624B)
- PASS markdown.valid-markdown 7.9% HTML markup
- PASS html.ssr-content 584 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/file-conventions/route-groups 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/route-groups
- PASS html.meta-description 87 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/route-groups.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/route-groups.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (2101B vs 399199B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 363 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/third-party-libraries 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/guides/third-party-libraries
- PASS html.meta-description 109 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 58.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/guides/third-party-libraries.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/guides/third-party-libraries.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.3% smaller (13900B vs 521823B)
- PASS markdown.valid-markdown 4.0% HTML markup
- PASS html.ssr-content 1224 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/maxDuration 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/maxDuration
- PASS html.meta-description 62 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 57.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/maxDuration.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/maxDuration.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1471B vs 403818B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 264 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/file-conventions/instrumentation 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/file-conventions/instrumentation
- FAIL html.meta-description only 46 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 62.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/file-conventions/instrumentation.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/file-conventions/instrumentation.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (5620B vs 452427B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 656 words in initial HTML
- PASS http.no-interstitial
67 https://nextjs.org/learn/dashboard-app/next-steps 14/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/dashboard-app/next-steps
- FAIL html.meta-description only 35 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 77.6%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 213 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/route 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/route
- FAIL html.meta-description only 44 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 55.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/route.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/route.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 23/23 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.7% smaller (20548B vs 874552B)
- PASS markdown.valid-markdown 1.2% HTML markup
- PASS html.ssr-content 1549 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/sass 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/sass
- FAIL html.meta-description only 42 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-11
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 55.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/sass.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/sass.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 5/5 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (3134B vs 462037B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 423 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/streaming 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/streaming
- PASS html.meta-description 108 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 43 headings
- PASS html.text-ratio 59.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/streaming.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/streaming.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 3 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 96.0% smaller (36603B vs 920282B)
- PASS markdown.valid-markdown 7.2% HTML markup
- PASS html.ssr-content 3925 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/preferredRegion 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/preferredRegion
- PASS html.meta-description 66 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 57.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/preferredRegion.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/preferredRegion.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2263B vs 404398B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 389 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/runtime 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/runtime
- PASS html.meta-description 58 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 57.2%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/runtime.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/runtime.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1251B vs 397168B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 237 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/file-conventions/src-folder 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/src-folder
- PASS html.meta-description 82 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-17
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/src-folder.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/src-folder.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2387B vs 394464B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 404 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/serverActions 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/config/next-config-js/serverActions
- PASS html.meta-description 62 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 56.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/config/next-config-js/serverActions.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/config/next-config-js/serverActions.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2941B vs 431700B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 481 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/template 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/template
- FAIL html.meta-description only 39 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-05
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 55.1%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/template.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/template.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 9/9 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (5737B vs 496351B)
- PASS markdown.valid-markdown 11.5% HTML markup
- PASS html.ssr-content 747 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/css 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/css
- PASS html.meta-description 121 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-20
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 54.3%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/css.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/css.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 12/12 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.4% smaller (8934B vs 574046B)
- PASS markdown.valid-markdown 9.0% HTML markup
- PASS html.ssr-content 921 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages
- PASS html.meta-description 118 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 63.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages.md
- FAIL markdown.frontmatter missing: title, description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.8% smaller (576B vs 346376B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 272 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/guides/view-transitions 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/view-transitions
- PASS html.meta-description 122 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 54.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/view-transitions.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/view-transitions.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- FAIL markdown.navigation-stripped 1 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.5% smaller (17048B vs 668756B)
- PASS markdown.valid-markdown 8.2% HTML markup
- PASS html.ssr-content 2210 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/dashboard-app/css-styling 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/dashboard-app/css-styling
- PASS html.meta-description 61 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 71.4%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 8/8 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 966 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/static-exports 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/static-exports
- PASS html.meta-description 146 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 55.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/static-exports.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/static-exports.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 11/11 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.2% smaller (10689B vs 589693B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 1165 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/loading 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/loading
- FAIL html.meta-description only 38 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 57.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/loading.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/loading.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.9% smaller (10584B vs 495785B)
- PASS markdown.valid-markdown 4.0% HTML markup
- PASS html.ssr-content 1172 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/community/contribution-guide 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/community/contribution-guide
- FAIL html.meta-description only 48 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 28 headings
- PASS html.text-ratio 54.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/community/contribution-guide.md
- PASS markdown.alternate-link https://nextjs.org/docs/community/contribution-guide.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 18/18 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.0% smaller (19603B vs 649376B)
- PASS markdown.valid-markdown 1.7% HTML markup
- PASS html.ssr-content 2603 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/api-reference/functions 22/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/functions
- PASS html.meta-description 54 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 63.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/functions.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/functions.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2277B vs 354400B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 278 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/no-sync-scripts 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/no-sync-scripts
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 6 headings
- PASS html.text-ratio 56.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-sync-scripts.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.8% smaller (835B vs 392240B)
- PASS markdown.valid-markdown 23.6% HTML markup
- PASS html.ssr-content 225 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/image-response 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/image-response
- FAIL html.meta-description only 48 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-06-16
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 57.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/image-response.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/image-response.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (6277B vs 528766B)
- PASS markdown.valid-markdown 14.5% HTML markup
- PASS html.ssr-content 817 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/dashboard-app/navigating-between-pages 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/dashboard-app/navigating-between-pages
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 74.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 828 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/debugging 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/debugging
- PASS html.meta-description 95 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-07-22
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 57.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/debugging.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/debugging.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.3% smaller (8562B vs 494937B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 1147 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/next-request 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/next-request
- FAIL html.meta-description only 30 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-04
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 55.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/next-request.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/next-request.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (4177B vs 456604B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 505 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/next-response 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/next-response
- FAIL html.meta-description only 31 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-12-04
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 54.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/next-response.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/next-response.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 13/13 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.7% smaller (6770B vs 541066B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 933 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/upgrading/version-16 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/upgrading/version-16
- PASS html.meta-description 55 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-05-13
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 49 headings
- PASS html.text-ratio 47.5%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/upgrading/version-16.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/upgrading/version-16.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 62/62 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.8% smaller (40318B vs 1271561B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 4410 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/mdx-components 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/mdx-components
- FAIL html.meta-description only 45 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-07-29
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 57.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/mdx-components.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/mdx-components.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (2191B vs 425089B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 328 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/not-found 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/functions/not-found
- FAIL html.meta-description only 40 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 57.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions/not-found.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions/not-found.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1940B vs 413222B)
- PASS markdown.valid-markdown 2.1% HTML markup
- PASS html.ssr-content 328 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/file-conventions/metadata 23/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata
- PASS html.meta-description 52 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-10-17
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 58.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/metadata.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/metadata.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2495B vs 394000B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 348 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/config/next-config-js/deploymentId 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/deploymentId
- PASS html.meta-description 85 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-12
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 62.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/deploymentId.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/deploymentId.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3551B vs 388131B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 478 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/config/next-config-js/devIndicators 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/devIndicators
- PASS html.meta-description 116 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 61.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/devIndicators.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/devIndicators.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3366B vs 386234B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 404 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/robots-txt 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/robots-txt
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 77.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 297 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/next-steps 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/next-steps
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 77.6%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 206 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/data-fetching-getstaticprops-details 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/data-fetching-getstaticprops-details
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 76.4%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 401 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/navigate-between-pages-client-side 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/navigate-between-pages-client-side
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 77.9%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 397 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/building-your-application/rendering/automatic-static-optimization 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/rendering/automatic-static-optimization
- PASS html.meta-description 102 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 63.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/rendering/automatic-static-optimization.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/rendering/automatic-static-optimization.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (4444B vs 372787B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 598 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/file-conventions/public-folder 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/file-conventions/public-folder
- PASS html.meta-description 112 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 62.6%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/file-conventions/public-folder.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/file-conventions/public-folder.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.5% smaller (1896B vs 373229B)
- PASS markdown.valid-markdown 5.8% HTML markup
- PASS html.ssr-content 327 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/data-security 23/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/guides/data-security
- PASS html.meta-description 117 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 26 headings
- PASS html.text-ratio 53.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/data-security.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/data-security.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 23/23 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.0% smaller (24790B vs 837705B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 3286 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/dynamic-routes-setup 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/dynamic-routes-setup
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 76.7%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 185 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/allowedDevOrigins 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/allowedDevOrigins
- PASS html.meta-description 88 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 63.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/allowedDevOrigins.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/allowedDevOrigins.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1436B vs 354380B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 241 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/navigate-between-pages 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/navigate-between-pages
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 77.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 150 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/config/next-config-js/adapterPath 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/adapterPath
- PASS html.meta-description 70 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-31
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 62.9%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/adapterPath.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/adapterPath.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.1% smaller (3322B vs 390344B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 341 words in initial HTML
- PASS http.no-interstitial
78 https://nextjs.org/docs/pages/api-reference/file-conventions/src-folder 21/27
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/file-conventions/src-folder
- PASS html.meta-description 82 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 63.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/file-conventions/src-folder.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/file-conventions/src-folder.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.4% smaller (2240B vs 351049B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 364 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/building-your-application/routing/dynamic-routes 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/routing/dynamic-routes
- PASS html.meta-description 125 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 63.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/routing/dynamic-routes.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/routing/dynamic-routes.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.9% smaller (4130B vs 379383B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 452 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/building-your-application/data-fetching/client-side 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/building-your-application/data-fetching/client-side
- PASS html.meta-description 178 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 63.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/building-your-application/data-fetching/client-side.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/building-your-application/data-fetching/client-side.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.2% smaller (3306B vs 399510B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 520 words in initial HTML
- PASS http.no-interstitial
57 https://nextjs.org/learn/seo/rendering-and-ranking 12/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/rendering-and-ranking
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 77.0%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 175 words in initial HTML
- PASS http.no-interstitial
57 https://nextjs.org/learn/seo/nextjs-speed-insights 12/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/nextjs-speed-insights
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 76.3%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 89 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/navigate-between-pages-setup 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/navigate-between-pages-setup
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 76.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 149 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/dynamic-routes 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/dynamic-routes
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 77.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 161 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/react-foundations/displaying-data-with-props 15/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/react-foundations/displaying-data-with-props
- PASS html.meta-description 70 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 67.6%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 16/16 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 1009 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/dynamic-import-components 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/dynamic-import-components
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 74.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 398 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/lighthouse 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/lighthouse
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 75.2%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 462 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/data-fetching-with-data 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/data-fetching-with-data
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 76.6%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 316 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/components/head 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/components/head
- PASS html.meta-description 80 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 63.1%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/components/head.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/components/head.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.3% smaller (2726B vs 388349B)
- PASS markdown.valid-markdown 11.8% HTML markup
- PASS html.ssr-content 448 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/dynamic-routes-dynamic-routes-details 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/pages-router/dynamic-routes-dynamic-routes-details
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 75.1%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 556 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/dynamic-imports 13/22
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/dynamic-imports
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 75.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- FAIL code.language-tags 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 316 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/config/next-config-js/distDir 21/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/distDir
- PASS html.meta-description 75 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 63.0%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/config/next-config-js/distDir.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/config/next-config-js/distDir.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.7% smaller (1139B vs 353143B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 220 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/getting-started/deploying 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/app/getting-started/deploying
- FAIL html.meta-description only 45 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 57.9%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/deploying.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/deploying.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 1/1 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.5% smaller (7005B vs 454635B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 742 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/components/image-legacy 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/components/image-legacy
- PASS html.meta-description 72 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2026-02-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 40 headings
- PASS html.text-ratio 57.7%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/components/image-legacy.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/components/image-legacy.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 22/22 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.9% smaller (32909B vs 795095B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 4097 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/seo/next-steps 13/21
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/learn/seo/next-steps
- FAIL html.meta-description missing
- PASS html.og-title
- FAIL html.og-description missing
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- FAIL html.json-ld.date-modified no dateModified anywhere in JSON-LD
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 77.5%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.content-negotiation text/html; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 136 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/next-dynamic-modules 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/next-dynamic-modules
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 3 headings
- PASS html.text-ratio 57.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/next-dynamic-modules.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 2/2 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 99.6% smaller (1619B vs 410312B)
- PASS markdown.valid-markdown 9.6% HTML markup
- PASS html.ssr-content 338 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/components/image 22/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/pages/api-reference/components/image
- PASS html.meta-description 86 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- PASS html.json-ld 1 block(s)
- PASS html.json-ld.date-modified 2025-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 21 headings
- PASS html.text-ratio 50.8%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/components/image.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/components/image.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 70/70 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 95.5% smaller (59170B vs 1307222B)
- PASS markdown.valid-markdown 6.2% HTML markup
- PASS html.ssr-content 5355 words in initial HTML
- PASS http.no-interstitial
77 https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout 20/26
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-type-html text/html; charset=utf-8
- PASS http.no-noindex-noai no x-robots-tag
- PASS html.canonical-link https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout
- PASS html.meta-description 64 chars
- PASS html.og-title
- PASS html.og-description
- PASS html.lang-attribute en
- FAIL html.json-ld no parseable JSON-LD found
- PASS html.headings 6 headings
- PASS html.text-ratio 55.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- FAIL markdown.canonical-header no Link header
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 7/7 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.8% smaller (5535B vs 479349B)
- PASS markdown.valid-markdown 5.9% HTML markup
- PASS html.ssr-content 656 words in initial HTML
- PASS http.no-interstitial