Next.js
down 1 from 81 on 1 Sept 2026
Embed your badge ↗Next.js scores 80 out of 100 on the a14y v0.3.0-draft scorecard. The scan covered 500 pages, and 78% 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 290/290 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 684 entries with valid lastmod
- PASS sitemap-md.exists https://nextjs.org/docs/sitemap.md
- PASS sitemap-md.has-structure 6 headings, 452 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.
80 https://nextjs.org/docs/pages/guides/lazy-loading 4/5
86 https://nextjs.org/docs/app/guides/single-page-applications 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 54.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/single-page-applications>; rel="canonical"
- 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.3% smaller (22494B vs 844316B)
- PASS markdown.valid-markdown 6.3% HTML markup
- PASS html.ssr-content 2242 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-13-3 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/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 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-13-3>; rel="canonical"
- 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 95.1% smaller (16778B vs 343436B)
- PASS markdown.valid-markdown 2.2% HTML markup
- PASS html.ssr-content 1999 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-13-5 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/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 51.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-13-5>; rel="canonical"
- 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 94.4% smaller (15047B vs 267809B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 1472 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 58.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 59 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/getting-started 24/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 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started>; rel="canonical"
- 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 (3825B vs 482314B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 612 words in initial HTML
- PASS http.no-interstitial
84 https://nextjs.org/docs/messages/no-unwanted-polyfillio 21/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-unwanted-polyfillio
- 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 47.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/no-unwanted-polyfillio.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-unwanted-polyfillio>; rel="canonical"
- 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 (716B vs 443018B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 304 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/ci-build-caching 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/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 46.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/ci-build-caching>; rel="canonical"
- 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 99.1% smaller (5358B vs 570785B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 793 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/security-update-2025-12-11 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/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 47.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/security-update-2025-12-11>; rel="canonical"
- 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 97.0% smaller (6513B vs 214019B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 631 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/json-ld 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/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 49.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/json-ld>; rel="canonical"
- 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 (3664B vs 508983B)
- PASS markdown.valid-markdown 10.7% HTML markup
- PASS html.ssr-content 566 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 60.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 225 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-13-4 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/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 46.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-13-4>; rel="canonical"
- 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 95.1% smaller (24389B vs 495389B)
- PASS markdown.valid-markdown 3.1% HTML markup
- PASS html.ssr-content 3206 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/security-nextjs-server-components-actions 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/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 48.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/security-nextjs-server-components-actions>; rel="canonical"
- 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.5% smaller (21920B vs 401007B)
- PASS markdown.valid-markdown 1.3% HTML markup
- PASS html.ssr-content 3311 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/styling-next-with-styled-jsx 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/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 47.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/styling-next-with-styled-jsx>; rel="canonical"
- 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.5% smaller (9738B vs 390762B)
- PASS markdown.valid-markdown 8.8% HTML markup
- PASS html.ssr-content 1240 words in initial HTML
- PASS http.no-interstitial
52 https://nextjs.org/learn/pages-router/dynamic-routes-implement-getstaticpaths 12/23
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.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 61.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
- FAIL markdown.valid-markdown looks like HTML (HTML prologue at top of body)
- PASS html.ssr-content 396 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/redirecting 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 53.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/redirecting>; rel="canonical"
- 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 (19567B vs 753365B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 1811 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/guides/sass 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/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 51.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/sass>; rel="canonical"
- 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 (3249B vs 476158B)
- PASS markdown.valid-markdown 2.3% HTML markup
- PASS html.ssr-content 457 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/building-your-application/routing/custom-error 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/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-10
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 52.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/routing/custom-error>; rel="canonical"
- 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.0% smaller (4705B vs 474681B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 769 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-8-0-4 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/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 46.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-8-0-4>; rel="canonical"
- 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.5% smaller (8544B vs 242676B)
- PASS markdown.valid-markdown 4.4% HTML markup
- PASS html.ssr-content 1105 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-7 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/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 46.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-7>; rel="canonical"
- 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 95.3% smaller (16407B vs 352265B)
- PASS markdown.valid-markdown 5.3% HTML markup
- PASS html.ssr-content 2109 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-8 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/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 47.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-8>; rel="canonical"
- 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.9% smaller (17026B vs 333848B)
- PASS markdown.valid-markdown 4.9% HTML markup
- PASS html.ssr-content 2257 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/ 17/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
- 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 9 headings
- PASS html.text-ratio 32.8%
- FAIL html.glossary-link no glossary/terminology link
- FAIL markdown.mirror-suffix no .md/.mdx mirror found
- PASS markdown.alternate-link https://nextjs.org/llms.md
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- PASS discovery.indexed
- PASS html.ssr-content 904 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-5 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/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 45.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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-5>; rel="canonical"
- 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.3% smaller (17435B vs 372625B)
- PASS markdown.valid-markdown 4.5% HTML markup
- PASS html.ssr-content 2212 words in initial HTML
- PASS http.no-interstitial
78 https://nextjs.org/blog/turbopack-for-development-stable 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/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 57.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/turbopack-for-development-stable>; rel="canonical"
- 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.7% smaller (32124B vs 284949B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 4718 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 63.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 446 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-10 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/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 49.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-10>; rel="canonical"
- 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 93.0% smaller (25456B vs 365575B)
- PASS markdown.valid-markdown 1.2% HTML markup
- PASS html.ssr-content 3529 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 63.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 9/9 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 1040 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/use-search-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-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-14
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 51.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/use-search-params>; rel="canonical"
- 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.9% smaller (14525B vs 676702B)
- PASS markdown.valid-markdown 3.4% HTML markup
- PASS html.ssr-content 1225 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 60.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 6/6 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 853 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 60.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 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 230 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 52.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/internationalization>; rel="canonical"
- 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.6% smaller (15513B vs 655564B)
- PASS markdown.valid-markdown 1.1% HTML markup
- PASS html.ssr-content 2027 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 61.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 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 439 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-15-3 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/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 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-15-3>; rel="canonical"
- 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.8% smaller (11343B vs 270975B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1273 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 59.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 237 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 60.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 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 232 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 60.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 467 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins 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/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-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 47.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins>; rel="canonical"
- 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 (3234B vs 480495B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 526 words in initial HTML
- 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 62.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
- FAIL html.ssr-content only 34 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/config/next-config-js/appDir 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/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 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/appDir>; rel="canonical"
- 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 (1418B vs 461359B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 335 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 61.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 528 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix 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/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 2026-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix>; rel="canonical"
- 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 (2976B vs 487167B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 563 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/content-security-policy 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 52.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/content-security-policy>; rel="canonical"
- 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.7% smaller (17888B vs 782977B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 1876 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 60.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 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 409 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/generateEtags 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/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 47.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/generateEtags>; rel="canonical"
- 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 (1029B vs 464150B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 307 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/pages/api-reference/config/next-config-js/crossOrigin 4/5
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/generateBuildId 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/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 2026-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 47.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/generateBuildId>; rel="canonical"
- 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 (1532B vs 466902B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 377 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-5-1 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/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 46.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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-5-1>; rel="canonical"
- 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.4% smaller (9813B vs 274598B)
- PASS markdown.valid-markdown 4.2% HTML markup
- PASS html.ssr-content 1205 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/instrumentation 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/instrumentation>; rel="canonical"
- 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 (4454B vs 517905B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 688 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/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/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 51.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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/config/next-config-js/env>; rel="canonical"
- 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 (2067B vs 431473B)
- PASS markdown.valid-markdown 1.3% HTML markup
- PASS html.ssr-content 372 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/environment-variables 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 47.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/environment-variables>; rel="canonical"
- 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.3% smaller (10720B vs 616339B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1506 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/api-reference/components/link 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/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 54.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/components/link>; rel="canonical"
- 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 (20663B vs 800064B)
- PASS markdown.valid-markdown 11.6% HTML markup
- PASS html.ssr-content 1813 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/incremental-static-regeneration 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-06-23
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 51.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/incremental-static-regeneration>; rel="canonical"
- 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.9% smaller (14447B vs 684015B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 1555 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/pages/building-your-application 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/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 53.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application>; rel="canonical"
- 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 (1234B vs 404145B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 277 words in initial HTML
- PASS http.no-interstitial
78 https://nextjs.org/docs/pages/building-your-application/configuring 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/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 52.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/configuring>; rel="canonical"
- 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 (985B vs 401353B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 257 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/getting-started/upgrading 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 45.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/upgrading>; rel="canonical"
- 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 (2904B vs 511313B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 426 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/docs/pages/guides/css-in-js 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/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 52.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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/css-in-js>; rel="canonical"
- 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 (2697B vs 440373B)
- PASS markdown.valid-markdown 4.9% HTML markup
- PASS html.ssr-content 397 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/pages/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/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 53.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/getting-started>; rel="canonical"
- 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 (1410B vs 405842B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 295 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config 24/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-04-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config>; rel="canonical"
- 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.0% smaller (4647B vs 477392B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 404 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/url-deprecated 21/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 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/url-deprecated>; rel="canonical"
- 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 (1510B vs 455446B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 429 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 62.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 60 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/dynamicParams 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/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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/dynamicParams>; rel="canonical"
- 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 (1624B vs 467035B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 362 words in initial HTML
- 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 62.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
- FAIL html.ssr-content only 31 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/redirect 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/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-28
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 49.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/redirect>; rel="canonical"
- 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.5% smaller (9068B vs 600297B)
- PASS markdown.valid-markdown 2.0% HTML markup
- PASS html.ssr-content 1103 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 61.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
- PASS discovery.indexed
- PASS html.ssr-content 328 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/local-development 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-09-04
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 47.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/local-development>; rel="canonical"
- 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 (13391B vs 625728B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1830 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/forms 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 53.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/forms>; rel="canonical"
- 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.1% smaller (15364B vs 791213B)
- PASS markdown.valid-markdown 10.1% HTML markup
- PASS html.ssr-content 1417 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 47.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 769 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 64.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 651 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 61.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 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 919 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/getting-started/route-handlers 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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
- 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-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/route-handlers>; rel="canonical"
- 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 (8796B vs 610907B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 1044 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 61.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 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 321 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 61.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 399 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 61.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 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 438 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-async-client-component 21/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 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-async-client-component>; rel="canonical"
- 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 (4209B vs 546347B)
- PASS markdown.valid-markdown 5.6% HTML markup
- PASS html.ssr-content 726 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 61.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 389 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 61.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 441 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/getting-started/revalidating 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-06-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 48.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/revalidating>; rel="canonical"
- 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 (9755B vs 586421B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1014 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/getting-started/proxy 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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
- 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-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 48.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/proxy>; rel="canonical"
- 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 (4206B vs 496039B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 674 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/headers 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/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-06-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 48.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/headers>; rel="canonical"
- 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 (4716B vs 523684B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 612 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-before-interactive-script-outside-document 21/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 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-before-interactive-script-outside-document>; rel="canonical"
- 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 (1961B vs 479741B)
- PASS markdown.valid-markdown 15.3% HTML markup
- PASS html.ssr-content 433 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-document-import-in-page 21/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 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-document-import-in-page>; rel="canonical"
- 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 453495B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 313 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/pages-router/data-fetching-setup 16/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/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 60.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/learn/pages-router/data-fetching-setup.mdx
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: title, description, doc_version, last_updated
- FAIL markdown.content-negotiation text/html; 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 59.5% smaller (126973B vs 313723B)
- FAIL markdown.valid-markdown looks like HTML (HTML prologue at top of body)
- PASS html.ssr-content 228 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-head-element 21/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 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-head-element>; rel="canonical"
- 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 456002B)
- PASS markdown.valid-markdown 15.2% HTML markup
- PASS html.ssr-content 306 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-duplicate-head 21/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 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-duplicate-head>; rel="canonical"
- 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 (968B vs 460137B)
- PASS markdown.valid-markdown 8.1% HTML markup
- PASS html.ssr-content 330 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/getting-started/project-structure 24/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-21
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 24 headings
- PASS html.text-ratio 50.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/project-structure>; rel="canonical"
- 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.4% smaller (22484B vs 630634B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1662 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 61.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 456 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/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/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 51.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/functions/next-request>; rel="canonical"
- 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.9% smaller (5175B vs 478049B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 547 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/components 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/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 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/components>; rel="canonical"
- 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 (1304B vs 459027B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 331 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/guides 24/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 65 headings
- PASS html.text-ratio 50.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides>; rel="canonical"
- 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.0% smaller (10445B vs 525646B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1210 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/logging 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 45.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/logging>; rel="canonical"
- 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.2% smaller (4915B vs 582899B)
- PASS markdown.valid-markdown 1.2% HTML markup
- PASS html.ssr-content 651 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/guides/migrating 24/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 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/migrating>; rel="canonical"
- 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 (972B vs 456429B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 315 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 52.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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/multi-zones>; rel="canonical"
- 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 (6765B vs 480899B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 1067 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 50.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/getting-started/css>; rel="canonical"
- 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.5% smaller (8558B vs 577136B)
- PASS markdown.valid-markdown 9.5% HTML markup
- PASS html.ssr-content 950 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/guides/draft-mode 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/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 51.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/draft-mode>; rel="canonical"
- 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.3% smaller (8631B vs 520021B)
- PASS markdown.valid-markdown 0.9% HTML markup
- PASS html.ssr-content 1375 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/getting-started/fonts 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/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 53.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/getting-started/fonts>; rel="canonical"
- 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 (5545B vs 523276B)
- PASS markdown.valid-markdown 10.0% HTML markup
- PASS html.ssr-content 652 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/memory-usage 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 2026-04-28
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 48.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/memory-usage>; rel="canonical"
- 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 (8243B vs 547896B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1346 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 60.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 214 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/building-your-application/routing/custom-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/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 53.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/routing/custom-app>; rel="canonical"
- 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 (3844B vs 457578B)
- PASS markdown.valid-markdown 4.1% HTML markup
- PASS html.ssr-content 498 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/pages/guides/post-css 4/5
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 60.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 243 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/evals 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 3 headings
- PASS html.text-ratio 58.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 400 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/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/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 53.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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/config/next-config-js/webpack>; rel="canonical"
- 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 (3415B vs 441274B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 529 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/pages/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/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 53.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/file-conventions>; rel="canonical"
- 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 (1222B vs 404143B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 271 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 60.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 216 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/api-reference/file-conventions/proxy 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/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 28 headings
- PASS html.text-ratio 53.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/file-conventions/proxy>; rel="canonical"
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 26/26 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.7% smaller (31008B vs 952262B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 3171 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 61.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 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 579 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-13-2 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/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 47.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-13-2>; rel="canonical"
- 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 95.1% smaller (20219B vs 410326B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 2385 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/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/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 49.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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/config/typescript>; rel="canonical"
- 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 1 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.5% smaller (19130B vs 779756B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 2402 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-css-tags 21/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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-css-tags>; rel="canonical"
- 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 (1104B vs 459882B)
- PASS markdown.valid-markdown 6.2% HTML markup
- PASS html.ssr-content 361 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/backend-for-frontend 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/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-06-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 28 headings
- PASS html.text-ratio 54.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/backend-for-frontend>; rel="canonical"
- 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.2% smaller (30344B vs 1069626B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 2752 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 50.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/config/next-config-js/logging>; rel="canonical"
- 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.2% smaller (3703B vs 487169B)
- PASS markdown.valid-markdown 1.5% HTML markup
- PASS html.ssr-content 477 words in initial HTML
- PASS http.no-interstitial
84 https://nextjs.org/docs/messages/no-cache 21/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 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-cache>; rel="canonical"
- 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 440159B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 324 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/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/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 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config>; rel="canonical"
- 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 (985B vs 456709B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 307 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 49.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/package-bundling>; rel="canonical"
- 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.2% smaller (10669B vs 603857B)
- PASS markdown.valid-markdown 3.3% HTML markup
- PASS html.ssr-content 1367 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 60.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 156 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 60.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 168 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/mdx 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 48.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/mdx>; rel="canonical"
- 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 (19394B vs 859504B)
- PASS markdown.valid-markdown 6.5% HTML markup
- PASS html.ssr-content 2206 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 59.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 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 308 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/config/next-config-js/crossOrigin 4/5
86 https://nextjs.org/docs/app/guides/mcp 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-07-08
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/mcp>; rel="canonical"
- 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.5% smaller (8111B vs 557633B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 1227 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 62.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 716 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-html-link-for-pages 21/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 46.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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-html-link-for-pages>; rel="canonical"
- 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 480572B)
- PASS markdown.valid-markdown 4.5% HTML markup
- PASS html.ssr-content 417 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-head-import-in-document 21/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 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-head-import-in-document>; rel="canonical"
- 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 (1037B vs 458580B)
- PASS markdown.valid-markdown 3.1% HTML markup
- PASS html.ssr-content 338 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 60.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 263 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 61.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 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 449 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/eslint 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 2026-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 47.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/eslint>; rel="canonical"
- 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.5% smaller (18120B vs 730992B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 1451 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/building-your-application/routing/api-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/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 52.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/routing/api-routes>; rel="canonical"
- 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.8% smaller (16366B vs 737593B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 1943 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/our-journey-with-caching 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/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 43.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/our-journey-with-caching>; rel="canonical"
- 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.3% smaller (8220B vs 304570B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 1288 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/server-and-client-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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 50.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/server-and-client-components>; rel="canonical"
- 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.5% smaller (20420B vs 826674B)
- PASS markdown.valid-markdown 4.8% HTML markup
- PASS html.ssr-content 2262 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/migrating/app-router-migration 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 21 headings
- PASS html.text-ratio 50.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/migrating/app-router-migration>; rel="canonical"
- 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.5% smaller (38709B vs 1105204B)
- PASS markdown.valid-markdown 2.2% HTML markup
- PASS html.ssr-content 4261 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/components/script 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 2026-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 50.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/components/script>; rel="canonical"
- 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.2% smaller (12288B vs 667804B)
- PASS markdown.valid-markdown 10.7% HTML markup
- PASS html.ssr-content 1414 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 60.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 230 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/cssChunking 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 2026-07-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 48.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/cssChunking>; rel="canonical"
- 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.2% smaller (10010B vs 558702B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 1573 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/guides/analytics 4/5
85 https://nextjs.org/docs/app/glossary 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 79 headings
- PASS html.text-ratio 52.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/glossary>; rel="canonical"
- 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.6% smaller (23056B vs 686555B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 2833 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/migrating-to-cache-components 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 34 headings
- PASS html.text-ratio 49.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/migrating-to-cache-components>; rel="canonical"
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 35/35 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.5% smaller (40275B vs 1148140B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 4131 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/building-your-application/rendering/client-side-rendering 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/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 53.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/rendering/client-side-rendering>; rel="canonical"
- 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.9% smaller (5087B vs 454949B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 731 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-10-2 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/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 48.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-10-2>; rel="canonical"
- 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.5% smaller (9247B vs 266935B)
- PASS markdown.valid-markdown 3.7% HTML markup
- PASS html.ssr-content 1069 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 60.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 309 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/expireTime 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/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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/expireTime>; rel="canonical"
- 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 (1332B vs 464071B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 369 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/exportPathMap 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/exportPathMap>; rel="canonical"
- 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 (4504B vs 511388B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 775 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-12-1 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/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 50.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-12-1>; rel="canonical"
- 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 (16285B vs 286084B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1805 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/webpack-memory 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/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 46.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/webpack-memory>; rel="canonical"
- 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 97.0% smaller (6034B vs 204482B)
- PASS markdown.valid-markdown 10.7% HTML markup
- PASS html.ssr-content 795 words in initial HTML
- PASS http.no-interstitial
78 https://nextjs.org/blog/turbopack-incremental-computation 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/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 49.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/turbopack-incremental-computation>; rel="canonical"
- 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 94.4% smaller (12157B vs 215963B)
- PASS markdown.valid-markdown 22.7% HTML markup
- PASS html.ssr-content 1423 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-15-rc 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/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 44.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-15-rc>; rel="canonical"
- 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.6% smaller (21061B vs 387756B)
- PASS markdown.valid-markdown 3.6% HTML markup
- PASS html.ssr-content 2222 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 51.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/mdx>; rel="canonical"
- 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.7% smaller (18217B vs 787793B)
- PASS markdown.valid-markdown 7.1% HTML markup
- PASS html.ssr-content 2072 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/authentication 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- 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/authentication.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/authentication.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/authentication>; rel="canonical"
- 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.4% smaller (47780B vs 1324022B)
- PASS markdown.valid-markdown 3.8% HTML markup
- PASS html.ssr-content 4559 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-6-1 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/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 47.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-6-1>; rel="canonical"
- 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.7% smaller (7480B vs 226624B)
- PASS markdown.valid-markdown 3.0% HTML markup
- PASS html.ssr-content 999 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 47.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
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 70.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
75 https://nextjs.org/blog/next-16-beta 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/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 49.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-16-beta>; rel="canonical"
- 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.4% smaller (22780B vs 345601B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 2184 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/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/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-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 49.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation>; rel="canonical"
- 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.0% smaller (5779B vs 567569B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 790 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/file-conventions/intercepting-routes 24/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 48.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/intercepting-routes>; rel="canonical"
- 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 (4386B vs 485194B)
- PASS markdown.valid-markdown 0.0% 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 64.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 1065 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 60.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 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 354 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/ai-agents 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 46.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/ai-agents>; rel="canonical"
- 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.6% smaller (15001B vs 629148B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 2025 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 2026-07-28
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 48.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client>; rel="canonical"
- 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.4% smaller (10369B vs 638875B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1166 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/typedRoutes 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/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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/typedRoutes>; rel="canonical"
- 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 (1061B vs 464675B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 313 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/typescript 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/typescript>; rel="canonical"
- 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 (2568B vs 497167B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 455 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/adapters/api-reference 24/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 48.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/api-reference>; rel="canonical"
- 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 (2716B vs 468608B)
- PASS markdown.valid-markdown 0.3% HTML markup
- PASS html.ssr-content 505 words in initial HTML
- PASS http.no-interstitial
78 https://nextjs.org/blog/agentic-future 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/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 48.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/agentic-future>; rel="canonical"
- 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.0% smaller (5509B vs 182238B)
- PASS markdown.valid-markdown 8.3% HTML markup
- PASS html.ssr-content 854 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/file-conventions/layout 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/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-05-27
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 51.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/layout>; rel="canonical"
- 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.7% smaller (21674B vs 938540B)
- PASS markdown.valid-markdown 8.2% HTML markup
- PASS html.ssr-content 1946 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/adapterPath 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 48.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/adapterPath>; rel="canonical"
- 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 (3256B vs 502007B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 454 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/adapters/creating-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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 49.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/creating-an-adapter>; rel="canonical"
- 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 (3578B vs 551758B)
- PASS markdown.valid-markdown 7.2% HTML markup
- PASS html.ssr-content 558 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-16-1 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/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 48.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-16-1>; rel="canonical"
- 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 (9935B vs 239742B)
- PASS markdown.valid-markdown 19.1% HTML markup
- PASS html.ssr-content 925 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/components/image 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 21 headings
- PASS html.text-ratio 46.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/components/image>; rel="canonical"
- 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.8% smaller (60084B vs 1439624B)
- PASS markdown.valid-markdown 6.1% HTML markup
- PASS html.ssr-content 5593 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-15-rc2 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/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 50.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-15-rc2>; rel="canonical"
- 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 93.2% smaller (27259B vs 402051B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 2930 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-16-2 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/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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-16-2>; rel="canonical"
- 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.1% smaller (16759B vs 340188B)
- PASS markdown.valid-markdown 19.8% HTML markup
- PASS html.ssr-content 1645 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/google-font-preconnect 21/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 47.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/google-font-preconnect>; rel="canonical"
- 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 (1103B vs 452818B)
- PASS markdown.valid-markdown 8.1% HTML markup
- PASS html.ssr-content 332 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/google-font-display 21/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 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/google-font-display>; rel="canonical"
- 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 (1390B vs 460797B)
- PASS markdown.valid-markdown 10.9% HTML markup
- PASS html.ssr-content 370 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-16-2-ai 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/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 44.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-16-2-ai>; rel="canonical"
- 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.5% smaller (10542B vs 302186B)
- PASS markdown.valid-markdown 5.8% HTML markup
- PASS html.ssr-content 1355 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-16-2-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/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 48.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-16-2-turbopack>; rel="canonical"
- 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.3% smaller (12031B vs 257094B)
- PASS markdown.valid-markdown 24.7% HTML markup
- PASS html.ssr-content 1100 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-14-2 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/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 46.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-14-2>; rel="canonical"
- 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.6% smaller (16019B vs 298527B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 1675 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-15-5 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/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 46.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-15-5>; rel="canonical"
- 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.6% smaller (17898B vs 408197B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 2213 words in initial HTML
- PASS http.no-interstitial
72 https://nextjs.org/blog 18/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 50.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog>; rel="canonical"
- 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.6% smaller (17542B vs 719542B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 3761 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-12-3 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/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 48.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-12-3>; rel="canonical"
- 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 95.5% smaller (11202B vs 250186B)
- PASS markdown.valid-markdown 3.0% HTML markup
- PASS html.ssr-content 1360 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-12-2 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/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 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-12-2>; rel="canonical"
- 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.5% smaller (14962B vs 334419B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1777 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-15-1 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/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 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-15-1>; rel="canonical"
- 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 (13786B vs 337449B)
- PASS markdown.valid-markdown 4.0% HTML markup
- PASS html.ssr-content 1567 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-15 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/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 50.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-15>; rel="canonical"
- 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 92.0% smaller (39647B vs 498017B)
- PASS markdown.valid-markdown 2.1% HTML markup
- PASS html.ssr-content 4375 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-11-1 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/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 48.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-11-1>; rel="canonical"
- 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.1% smaller (13254B vs 269005B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 1531 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-13-1 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/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 47.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-13-1>; rel="canonical"
- 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 (15726B vs 312078B)
- PASS markdown.valid-markdown 0.1% HTML markup
- PASS html.ssr-content 1789 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-13 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/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 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-13>; rel="canonical"
- 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.7% smaller (22045B vs 416793B)
- PASS markdown.valid-markdown 6.6% HTML markup
- PASS html.ssr-content 2659 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/tailwind-v3-css 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/tailwind-v3-css>; rel="canonical"
- 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.4% smaller (3067B vs 531574B)
- PASS markdown.valid-markdown 5.6% HTML markup
- PASS html.ssr-content 475 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/pages/building-your-application/routing 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/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 53.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/routing>; rel="canonical"
- 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 (2124B vs 408897B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 367 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/guides/testing 24/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 48.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/testing>; rel="canonical"
- 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 (2696B vs 470883B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 580 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/css-in-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/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 2026-03-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 50.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/css-in-js>; rel="canonical"
- 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 (8862B vs 600252B)
- PASS markdown.valid-markdown 6.6% HTML markup
- PASS html.ssr-content 876 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 67.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 21.5% smaller (197757B vs 252041B); 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
82 https://nextjs.org/docs/pages/building-your-application/rendering/static-site-generation 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/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 53.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/rendering/static-site-generation>; rel="canonical"
- 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.0% smaller (10894B vs 543231B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 1293 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-11 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/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 48.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-11>; rel="canonical"
- 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 94.6% smaller (15487B vs 287406B)
- PASS markdown.valid-markdown 7.7% HTML markup
- PASS html.ssr-content 1900 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 46.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 383 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 67.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
75 https://nextjs.org/blog/next-12 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/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 46.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-12>; rel="canonical"
- 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.7% smaller (16736B vs 316624B)
- PASS markdown.valid-markdown 2.0% HTML markup
- PASS html.ssr-content 2050 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-10-1 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/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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-10-1>; rel="canonical"
- 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 95.3% smaller (14249B vs 300947B)
- PASS markdown.valid-markdown 2.2% HTML markup
- PASS html.ssr-content 1552 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 62.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 56 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-15-2 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/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 48.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-15-2>; rel="canonical"
- 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.3% smaller (13359B vs 287115B)
- PASS markdown.valid-markdown 7.4% HTML markup
- PASS html.ssr-content 1498 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 12 headings
- PASS html.text-ratio 48.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/getting-started/installation>; rel="canonical"
- 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.2% smaller (11234B vs 627252B)
- PASS markdown.valid-markdown 2.8% HTML markup
- PASS html.ssr-content 1405 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 61.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 71 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 47.9%
- 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 (598B vs 466229B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 419 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 81.9%
- 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 3.2% smaller (197800B vs 204301B); 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/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 62.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
- FAIL html.ssr-content only 47 words in initial HTML (looks like a JS-rendered shell)
- 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 62.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
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 61.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 950 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/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
- 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 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference>; rel="canonical"
- 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 (1530B vs 462484B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 349 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/CVE-2025-66478 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/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 46.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/CVE-2025-66478>; rel="canonical"
- 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.3% smaller (5854B vs 212929B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 677 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/next-script-for-ga 21/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 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/next-script-for-ga>; rel="canonical"
- 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.2% smaller (3891B vs 512701B)
- PASS markdown.valid-markdown 7.1% HTML markup
- PASS html.ssr-content 611 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 62.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 58 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 77.3%
- 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 10.0% smaller (197751B vs 219609B); 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
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 78.7%
- 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 8.2% smaller (197742B vs 215317B); 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
80 https://nextjs.org/blog/next-15-4 4/5
71 https://nextjs.org/blog/building-apis-with-nextjs 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/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 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/building-apis-with-nextjs>; rel="canonical"
- 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 96.1% smaller (16284B vs 420684B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 2165 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 62.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
- FAIL html.ssr-content only 49 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-16-3 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/blog/next-16-3
- PASS html.meta-description 174 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 23 headings
- PASS html.text-ratio 48.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/blog/next-16-3.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/blog/next-16-3>; rel="canonical"
- 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 93.7% smaller (27824B vs 441480B)
- PASS markdown.valid-markdown 18.0% HTML markup
- PASS html.ssr-content 2862 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/adapters 24/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters>; rel="canonical"
- 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 (2537B vs 468713B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 426 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/pages/api-reference/config/next-config-js/serverExternalPackages 4/5
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/useLightningcss 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/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 49.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/useLightningcss>; rel="canonical"
- 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.6% smaller (7616B vs 535339B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 619 words in initial HTML
- 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 62.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
- FAIL html.ssr-content only 38 words in initial HTML (looks like a JS-rendered shell)
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-9-1 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/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 49.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-9-1>; rel="canonical"
- 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 95.2% smaller (11531B vs 238272B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 1629 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/webpack 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/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 48.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/webpack>; rel="canonical"
- 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 (3296B vs 495297B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 578 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/webVitalsAttribution 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/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 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/webVitalsAttribution>; rel="canonical"
- 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 (2435B vs 476286B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 452 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/adapters/configuration 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/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-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/configuration>; rel="canonical"
- 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 (991B vs 464707B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 311 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/layouts-rfc 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/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 50.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/layouts-rfc>; rel="canonical"
- 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.6% smaller (42649B vs 578762B)
- PASS markdown.valid-markdown 9.4% HTML markup
- PASS html.ssr-content 5510 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-9-1-7 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/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 46.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-9-1-7>; rel="canonical"
- 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 95.1% smaller (13834B vs 283302B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 1630 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-assign-module-variable 21/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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-assign-module-variable>; rel="canonical"
- 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 446485B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 284 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/blog/create-next-app 4/5
75 https://nextjs.org/blog/composable-caching 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/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 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/composable-caching>; rel="canonical"
- 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 96.6% smaller (9400B vs 272529B)
- PASS markdown.valid-markdown 1.7% HTML markup
- PASS html.ssr-content 1422 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-9-5 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/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 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-9-5>; rel="canonical"
- 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.5% smaller (24053B vs 372217B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 3081 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/next-request-in-use-cache 21/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 47.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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/next-request-in-use-cache>; rel="canonical"
- 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 (2313B vs 476898B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 500 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-img-element 21/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 46.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-img-element>; rel="canonical"
- 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 (2857B vs 498809B)
- PASS markdown.valid-markdown 16.4% HTML markup
- PASS html.ssr-content 474 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/directives/use-cache 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
- 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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 37 headings
- PASS html.text-ratio 50.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/directives/use-cache>; rel="canonical"
- 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
- FAIL markdown.navigation-stripped 1 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 96.8% smaller (31968B vs 1001045B)
- PASS markdown.valid-markdown 3.2% HTML markup
- PASS html.ssr-content 3618 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/incremental-adoption 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/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 46.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/incremental-adoption>; rel="canonical"
- 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.7% smaller (6971B vs 214459B)
- PASS markdown.valid-markdown 3.2% HTML markup
- PASS html.ssr-content 903 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/directives/use-cache-private 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 51.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/directives/use-cache-private>; rel="canonical"
- 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.5% smaller (8227B vs 565364B)
- PASS markdown.valid-markdown 4.0% HTML markup
- PASS html.ssr-content 918 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/directives/use-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/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 2026-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/directives/use-client>; rel="canonical"
- 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.2% smaller (4311B vs 528529B)
- PASS markdown.valid-markdown 5.9% HTML markup
- PASS html.ssr-content 642 words in initial HTML
- PASS http.no-interstitial
78 https://nextjs.org/blog/june-2023-update 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/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 51.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/june-2023-update>; rel="canonical"
- 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 94.4% smaller (11960B vs 214488B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1704 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/directives/use-server 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 50.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/directives/use-server>; rel="canonical"
- 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 (7099B vs 601307B)
- PASS markdown.valid-markdown 2.4% HTML markup
- PASS html.ssr-content 866 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/directives/use-cache-remote 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 25 headings
- PASS html.text-ratio 54.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/directives/use-cache-remote>; rel="canonical"
- 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.1% smaller (25131B vs 854920B)
- PASS markdown.valid-markdown 3.9% HTML markup
- PASS html.ssr-content 2965 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/edge 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/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 51.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/edge>; rel="canonical"
- 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 95.3% smaller (29510B vs 632120B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1308 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/blog/next-14-1 4/5
82 https://nextjs.org/docs/pages/api-reference/functions/get-initial-props 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/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 53.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/functions/get-initial-props>; rel="canonical"
- 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 (4339B vs 441941B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 566 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/file-conventions 24/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 48.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions>; rel="canonical"
- 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 (3661B vs 478640B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 481 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 52.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 97 words in initial HTML
- PASS http.no-interstitial
71 https://nextjs.org/blog/next-14 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
- 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 50.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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-14>; rel="canonical"
- 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 94.0% smaller (20380B vs 342082B)
- PASS markdown.valid-markdown 3.0% HTML markup
- PASS html.ssr-content 2240 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/adapters/implementing-ppr-in-an-adapter 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 48.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/implementing-ppr-in-an-adapter>; rel="canonical"
- 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.2% smaller (4232B vs 535478B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 664 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/adapters/invoking-entrypoints 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-04-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/invoking-entrypoints>; rel="canonical"
- 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 (4416B vs 522512B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 622 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/adapters/output-types 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 51.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/output-types>; rel="canonical"
- 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.1% smaller (12413B vs 645411B)
- PASS markdown.valid-markdown 2.9% HTML markup
- PASS html.ssr-content 1834 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-9-2 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/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 48.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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-9-2>; rel="canonical"
- 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.4% smaller (11857B vs 258934B)
- PASS markdown.valid-markdown 1.9% HTML markup
- PASS html.ssr-content 1603 words in initial HTML
- 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 62.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
- FAIL html.ssr-content only 48 words in initial HTML (looks like a JS-rendered shell)
- 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 58.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 58 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/blog/next-9-3 4/5
82 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots 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/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-05-01
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 48.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots>; rel="canonical"
- 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 99.1% smaller (5346B vs 590294B)
- PASS markdown.valid-markdown 1.8% HTML markup
- PASS html.ssr-content 689 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-8-1 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/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 45.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-8-1>; rel="canonical"
- 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.4% smaller (6418B vs 249050B)
- PASS markdown.valid-markdown 11.0% HTML markup
- PASS html.ssr-content 886 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/opengraph-image 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-07-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 51.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/metadata/opengraph-image>; rel="canonical"
- 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.9% smaller (17233B vs 830484B)
- PASS markdown.valid-markdown 15.9% HTML markup
- PASS html.ssr-content 1458 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 60.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 232 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 51.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap>; rel="canonical"
- 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.4% smaller (12385B vs 776426B)
- PASS markdown.valid-markdown 17.1% HTML markup
- PASS html.ssr-content 1058 words in initial HTML
- PASS http.no-interstitial
78 https://nextjs.org/blog/nextjs-across-platforms 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/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 49.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/nextjs-across-platforms>; rel="canonical"
- 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.2% smaller (10196B vs 210697B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1374 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 62.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
- FAIL html.ssr-content only 34 words in initial HTML (looks like a JS-rendered shell)
- 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 62.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
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath>; rel="canonical"
- 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 (2269B vs 499084B)
- PASS markdown.valid-markdown 8.3% HTML markup
- PASS html.ssr-content 486 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-9-0-7 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/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 52.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-9-0-7>; rel="canonical"
- 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.0% smaller (18412B vs 263241B)
- PASS markdown.valid-markdown 2.3% HTML markup
- PASS html.ssr-content 2574 words in initial HTML
- PASS http.no-interstitial
75 https://nextjs.org/blog/next-9-4 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/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 45.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
- PASS markdown.canonical-header <https://nextjs.org/blog/next-9-4>; rel="canonical"
- 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.9% smaller (17094B vs 335378B)
- PASS markdown.valid-markdown 4.8% HTML markup
- PASS html.ssr-content 2010 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 62.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 57 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/authInterrupts 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/authInterrupts>; rel="canonical"
- 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 (2281B vs 480264B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 370 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/pages/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/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 53.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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides>; rel="canonical"
- 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 (4872B vs 433558B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 600 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/taint 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/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 2026-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 49.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/taint>; rel="canonical"
- 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.7% smaller (7615B vs 587126B)
- PASS markdown.valid-markdown 5.4% HTML markup
- PASS html.ssr-content 990 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/output 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 46.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/output>; rel="canonical"
- 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 (6829B vs 563028B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1034 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 62.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
- 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/poweredByHeader 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/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 47.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/poweredByHeader>; rel="canonical"
- 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 (899B vs 462963B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 295 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/productionBrowserSourceMaps 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/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 47.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/productionBrowserSourceMaps>; rel="canonical"
- 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 (1403B vs 464672B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 368 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/config/next-config-js/transpilePackages 4/5
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/pageExtensions 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/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 47.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/pageExtensions>; rel="canonical"
- 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 (1094B vs 468592B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 318 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/analytics 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/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 52.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/analytics>; rel="canonical"
- 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 (5506B vs 499162B)
- PASS markdown.valid-markdown 1.0% HTML markup
- PASS html.ssr-content 774 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/file-conventions/public-folder 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/public-folder>; rel="canonical"
- 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 (1703B vs 483897B)
- PASS markdown.valid-markdown 6.5% HTML markup
- PASS html.ssr-content 412 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/parallel-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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 48.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/parallel-routes>; rel="canonical"
- 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
- FAIL markdown.navigation-stripped 4 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.8% smaller (16347B vs 739471B)
- PASS markdown.valid-markdown 3.6% HTML markup
- PASS html.ssr-content 1736 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/cli 24/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 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/cli>; rel="canonical"
- 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 (1139B vs 457410B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 333 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/config/next-config-js/devIndicators 4/5
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash 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/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 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash>; rel="canonical"
- 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 (1819B vs 472636B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 406 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/proxy 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/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-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 31 headings
- PASS html.text-ratio 51.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/proxy>; rel="canonical"
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 26/26 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.9% smaller (31480B vs 1010740B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 3263 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackFileSystemCache 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 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-08-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 5 headings
- PASS html.text-ratio 48.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackFileSystemCache>; rel="canonical"
- 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 (3101B vs 491326B)
- PASS markdown.valid-markdown 0.0% 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/turbopack 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 48.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack>; rel="canonical"
- 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.4% smaller (18571B vs 726564B)
- PASS markdown.valid-markdown 12.5% HTML markup
- PASS html.ssr-content 2088 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/app-icons 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/metadata/app-icons>; rel="canonical"
- 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.4% smaller (9999B vs 637465B)
- PASS markdown.valid-markdown 9.0% HTML markup
- PASS html.ssr-content 1049 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 23 headings
- PASS html.text-ratio 34.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 132 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/deploymentId 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/deploymentId>; rel="canonical"
- 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 (4541B vs 503181B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 687 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackIgnoreIssue 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackIgnoreIssue>; rel="canonical"
- 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 (5540B vs 575793B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 728 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/distDir 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/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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/distDir>; rel="canonical"
- 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 (1073B vs 463493B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 331 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/directives 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 48.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/directives>; rel="canonical"
- 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 (6556B vs 508676B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 982 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/components/form 4/5
86 https://nextjs.org/docs/app/api-reference/cli/create-next-app 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 46.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/cli/create-next-app>; rel="canonical"
- 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 (7932B vs 548261B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 853 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/env 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/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 46.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/env>; rel="canonical"
- 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.6% smaller (2099B vs 489621B)
- PASS markdown.valid-markdown 1.3% HTML markup
- PASS html.ssr-content 438 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/guides/progressive-web-apps 4/5
86 https://nextjs.org/docs/app/api-reference/cli/next 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 48.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/cli/next>; rel="canonical"
- 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 96.3% smaller (25990B vs 707257B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 2433 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/proxyClientMaxBodySize 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/proxyClientMaxBodySize>; rel="canonical"
- 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.2% smaller (4104B vs 537523B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 692 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/urlImports 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/urlImports>; rel="canonical"
- 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.4% smaller (3347B vs 527290B)
- PASS markdown.valid-markdown 1.7% HTML markup
- PASS html.ssr-content 624 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents 4/5
86 https://nextjs.org/docs/app/api-reference/components/font 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 51.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/components/font>; rel="canonical"
- 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.4% smaller (27016B vs 1031754B)
- PASS markdown.valid-markdown 6.7% HTML markup
- PASS html.ssr-content 2632 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/guides/production-checklist 24/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 50.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/production-checklist>; rel="canonical"
- 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.9% smaller (10985B vs 517314B)
- PASS markdown.valid-markdown 0.3% HTML markup
- PASS html.ssr-content 1328 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/guides/ppr-platform-guide 4/5
82 https://nextjs.org/docs/app/guides/public-static-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/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-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 48.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/public-static-pages>; rel="canonical"
- 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.4% smaller (9974B vs 606056B)
- PASS markdown.valid-markdown 3.4% HTML markup
- PASS html.ssr-content 1543 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/default 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/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 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/default>; rel="canonical"
- 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 (4145B vs 497966B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 643 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/preserving-ui-state 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-07-01
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 51.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/preserving-ui-state>; rel="canonical"
- 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.5% smaller (21317B vs 860949B)
- PASS markdown.valid-markdown 6.4% HTML markup
- PASS html.ssr-content 2890 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/file-conventions/not-found 4/5
82 https://nextjs.org/docs/app/guides/prefetching 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 50.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/prefetching>; rel="canonical"
- 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 (14747B vs 690959B)
- PASS markdown.valid-markdown 4.7% HTML markup
- PASS html.ssr-content 1718 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/package-bundling 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-01
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 46.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/package-bundling>; rel="canonical"
- 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.5% smaller (9634B vs 635023B)
- PASS markdown.valid-markdown 3.7% HTML markup
- PASS html.ssr-content 1317 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/file-conventions/dynamic-routes 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 51.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/dynamic-routes>; rel="canonical"
- 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.8% smaller (15959B vs 740156B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 1840 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 16 headings
- PASS html.text-ratio 44.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/upgrading/codemods>; rel="canonical"
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 58/58 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.0% smaller (20351B vs 1028454B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 2567 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/error 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/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-10
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 52.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/error>; rel="canonical"
- 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.2% smaller (11594B vs 652821B)
- PASS markdown.valid-markdown 11.3% HTML markup
- PASS html.ssr-content 1213 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/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/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-01
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 48.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/images>; rel="canonical"
- 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.7% smaller (7773B vs 597381B)
- PASS markdown.valid-markdown 15.3% HTML markup
- PASS html.ssr-content 883 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/page 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/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-06-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 48.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/page>; rel="canonical"
- 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 (9302B vs 647099B)
- PASS markdown.valid-markdown 1.4% HTML markup
- PASS html.ssr-content 1073 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 60.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 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 266 words in initial HTML
- PASS http.no-interstitial
74 https://nextjs.org/docs 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
- 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 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs>; rel="canonical"
- 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.3% smaller (3554B vs 475687B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 668 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/getting-started/installation 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-21
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 15 headings
- PASS html.text-ratio 44.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/installation>; rel="canonical"
- 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 98.0% smaller (14159B vs 717729B)
- PASS markdown.valid-markdown 1.7% HTML markup
- PASS html.ssr-content 1783 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/draft-mode 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/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-02
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 52.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/draft-mode>; rel="canonical"
- 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 98.0% smaller (13561B vs 672479B)
- PASS markdown.valid-markdown 3.5% HTML markup
- PASS html.ssr-content 1713 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/adapters/routing-information 24/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/routing-information>; rel="canonical"
- 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 (1999B vs 478835B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 439 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/adapters/runtime-integration 24/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-07-29
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 3 headings
- PASS html.text-ratio 48.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/runtime-integration>; rel="canonical"
- 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 (3308B vs 469296B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 600 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 59.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 218 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/adapters/routing-with-next-routing 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/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-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/routing-with-next-routing>; rel="canonical"
- 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 (2706B vs 487192B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 501 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 66.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 5/5 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 1279 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/adapters/use-cases 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/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-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/use-cases>; rel="canonical"
- 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 (1128B vs 455662B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 334 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/adapters/testing-adapters 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-07-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 4 headings
- PASS html.text-ratio 50.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/adapters/testing-adapters>; rel="canonical"
- 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.6% smaller (7825B vs 572119B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1062 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 60.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 10/10 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 814 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/serverExternalPackages 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/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 48.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/serverExternalPackages>; rel="canonical"
- 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 (3211B vs 481687B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 429 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/serverComponentsHmrCache 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/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 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/serverComponentsHmrCache>; rel="canonical"
- 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 (2194B vs 478135B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 430 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/api-reference/functions/get-server-side-props 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/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 53.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/functions/get-server-side-props>; rel="canonical"
- 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 (8190B vs 501212B)
- PASS markdown.valid-markdown 0.8% HTML markup
- PASS html.ssr-content 821 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/api-reference/functions/get-static-props 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/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 54.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/functions/get-static-props>; rel="canonical"
- 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.6% smaller (13504B vs 551718B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 1263 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/multi-zones 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-01
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/multi-zones>; rel="canonical"
- 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 (7286B vs 547895B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 1168 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/api-reference/functions/get-static-paths 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/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 55.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/functions/get-static-paths>; rel="canonical"
- 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.6% smaller (13137B vs 554770B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 1717 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/functions/generate-sitemaps 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 49.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/generate-sitemaps>; rel="canonical"
- 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 (3742B vs 515101B)
- PASS markdown.valid-markdown 0.8% HTML markup
- PASS html.ssr-content 512 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/guides/multi-tenant 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/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 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/multi-tenant>; rel="canonical"
- 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 (767B vs 454479B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 302 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/permanentRedirect 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/permanentRedirect>; rel="canonical"
- 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 (4049B vs 506847B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 623 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/guides/migrating/from-vite 4/5
86 https://nextjs.org/docs/app/api-reference/functions/userAgent 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 48.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/userAgent>; rel="canonical"
- 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 (3477B vs 502070B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 564 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/connection 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/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-06-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 48.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/connection>; rel="canonical"
- 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 (3527B vs 520607B)
- PASS markdown.valid-markdown 0.9% HTML markup
- PASS html.ssr-content 540 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/cookies 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/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-06-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 50.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/cookies>; rel="canonical"
- 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.0% smaller (12864B vs 658599B)
- PASS markdown.valid-markdown 0.7% HTML markup
- PASS html.ssr-content 1268 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/functions/generate-static-params 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 51.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/generate-static-params>; rel="canonical"
- 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.7% smaller (18983B vs 842198B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 1865 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/upgrading/codemods 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 43.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/upgrading/codemods>; rel="canonical"
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 58/58 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 98.1% smaller (20292B vs 1082657B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 2621 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/migrating/from-create-react-app 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 29 headings
- PASS html.text-ratio 48.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/migrating/from-create-react-app>; rel="canonical"
- 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.5% smaller (22649B vs 889261B)
- PASS markdown.valid-markdown 7.8% HTML markup
- PASS html.ssr-content 2673 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/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/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 52.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/config>; rel="canonical"
- 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 (1073B vs 402495B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 257 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheLife 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 2026-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheLife>; rel="canonical"
- 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 (4301B vs 511847B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 538 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/mdxRs 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/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 47.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/mdxRs>; rel="canonical"
- 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 (1177B vs 472574B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 329 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/staleTimes 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/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 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/staleTimes>; rel="canonical"
- 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 (2792B vs 483809B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 487 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheHandlers 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 25 headings
- PASS html.text-ratio 51.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheHandlers>; rel="canonical"
- 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.4% smaller (21149B vs 803528B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 2489 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/staticGeneration 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/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 2026-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/staticGeneration>; rel="canonical"
- 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 (1870B vs 482875B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 384 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/scripts 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-01
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 48.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/scripts>; rel="canonical"
- 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 (8455B vs 613869B)
- PASS markdown.valid-markdown 12.3% HTML markup
- PASS html.ssr-content 1042 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 62.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 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 887 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/config/next-config-js/reactCompiler 4/5
80 https://nextjs.org/docs/app/api-reference/config/next-config-js/reactMaxHeadersLength 4/5
82 https://nextjs.org/docs/app/api-reference/components/link 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 52.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/components/link>; rel="canonical"
- 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.4% smaller (26206B vs 992184B)
- PASS markdown.valid-markdown 10.9% HTML markup
- PASS html.ssr-content 2268 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/httpAgentOptions 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/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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/httpAgentOptions>; rel="canonical"
- 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 (1191B vs 465790B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 315 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/htmlLimitedBots 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/htmlLimitedBots>; rel="canonical"
- 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 (2499B vs 506511B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 404 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/guides/videos 4/5
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 59.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 874 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 39.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 13/13 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 772 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/config/next-config-js/images 4/5
82 https://nextjs.org/docs/pages/guides/self-hosting 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/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 53.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/self-hosting>; rel="canonical"
- 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 (15205B vs 557160B)
- PASS markdown.valid-markdown 0.3% HTML markup
- PASS html.ssr-content 1971 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/headers 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/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-06-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 49.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/headers>; rel="canonical"
- 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.0% smaller (15442B vs 789405B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 1959 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/config/next-config-js/compress 4/5
82 https://nextjs.org/docs/app/api-reference/file-conventions/forbidden 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/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 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/forbidden>; rel="canonical"
- 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 (2006B vs 492397B)
- PASS markdown.valid-markdown 4.9% HTML markup
- PASS html.ssr-content 374 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode 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/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 47.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode>; rel="canonical"
- 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 (1680B vs 466176B)
- PASS markdown.valid-markdown 1.1% HTML markup
- PASS html.ssr-content 409 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/config/next-config-js/sassOptions 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/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 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/sassOptions>; rel="canonical"
- 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 (1663B vs 476383B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 364 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites 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/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-06-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 48.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites>; rel="canonical"
- 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 98.0% smaller (14260B vs 718519B)
- PASS markdown.valid-markdown 0.6% HTML markup
- PASS html.ssr-content 1896 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects 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/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-06-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 49.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects>; rel="canonical"
- 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.2% smaller (11575B vs 655124B)
- PASS markdown.valid-markdown 0.3% HTML markup
- PASS html.ssr-content 1564 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/incrementalCacheHandlerPath 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-09-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 49.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/incrementalCacheHandlerPath>; rel="canonical"
- 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 (8355B vs 527797B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 1078 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/internationalization 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 2026-06-10
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 9 headings
- PASS html.text-ratio 49.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/internationalization>; rel="canonical"
- 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 (11870B vs 688041B)
- PASS markdown.valid-markdown 1.5% HTML markup
- PASS html.ssr-content 1364 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/refresh 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/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-06-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/refresh>; rel="canonical"
- 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 (2105B vs 506827B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 410 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/revalidateTag 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/revalidateTag>; rel="canonical"
- 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 (6780B vs 554279B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 970 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 60.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 258 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 60.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 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 230 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/revalidatePath 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/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-06-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/revalidatePath>; rel="canonical"
- 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.6% smaller (8767B vs 623415B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1238 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/pages/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/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 53.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/upgrading>; rel="canonical"
- 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 (1527B vs 406492B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 300 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/inlineCss 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/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 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/inlineCss>; rel="canonical"
- 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 (4409B vs 497806B)
- PASS markdown.valid-markdown 0.9% HTML markup
- PASS html.ssr-content 756 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 65.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 15/15 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 2214 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 60.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 9/9 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 1076 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 53.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/components/form>; rel="canonical"
- 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 (4308B vs 445420B)
- PASS markdown.valid-markdown 5.5% HTML markup
- PASS html.ssr-content 581 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/typescript>; rel="canonical"
- 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
- FAIL markdown.navigation-stripped 1 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.4% smaller (21129B vs 812403B)
- PASS markdown.valid-markdown 2.3% HTML markup
- PASS html.ssr-content 2734 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/api-reference/components/font 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/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 51.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/components/font>; rel="canonical"
- 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.3% smaller (23532B vs 869764B)
- PASS markdown.valid-markdown 4.6% HTML markup
- PASS html.ssr-content 2588 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 61.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 592 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/getting-started/metadata-and-og-images 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 51.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/metadata-and-og-images>; rel="canonical"
- 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.9% smaller (13843B vs 671809B)
- PASS markdown.valid-markdown 4.6% HTML markup
- PASS html.ssr-content 1396 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/linking-and-navigating 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 18 headings
- PASS html.text-ratio 52.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/linking-and-navigating>; rel="canonical"
- 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.5% smaller (18056B vs 723529B)
- PASS markdown.valid-markdown 5.1% HTML markup
- PASS html.ssr-content 1911 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/guides/upgrading/version-15 4/5
86 https://nextjs.org/docs/app/getting-started/layouts-and-pages 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 49.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/layouts-and-pages>; rel="canonical"
- 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 (13369B vs 684336B)
- PASS markdown.valid-markdown 3.9% HTML markup
- PASS html.ssr-content 1438 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 61.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 493 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/pages/guides/environment-variables 4/5
86 https://nextjs.org/docs/app/getting-started/mutating-data 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 21 headings
- PASS html.text-ratio 51.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/mutating-data>; rel="canonical"
- 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.8% smaller (18699B vs 832642B)
- PASS markdown.valid-markdown 3.8% HTML markup
- PASS html.ssr-content 1781 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/sass 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/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 46.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/sass>; rel="canonical"
- 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.4% smaller (3133B vs 528813B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 511 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/upgrading/version-14 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 46.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/upgrading/version-14>; rel="canonical"
- 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.6% smaller (2087B vs 488971B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 456 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 60.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 196 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/guides/custom-server 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/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 53.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/custom-server>; rel="canonical"
- 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 (6392B vs 485954B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 809 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 56.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/content-security-policy>; rel="canonical"
- 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.6% smaller (16831B vs 714206B)
- PASS markdown.valid-markdown 5.0% HTML markup
- PASS html.ssr-content 1614 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/metadata/manifest 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/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 48.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/metadata/manifest>; rel="canonical"
- 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 (2784B vs 505527B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 466 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/guides/upgrading 24/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 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/upgrading>; rel="canonical"
- 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 (1094B vs 457523B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 325 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 56.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/forms>; rel="canonical"
- 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.5% smaller (9416B vs 626007B)
- PASS markdown.valid-markdown 9.2% HTML markup
- PASS html.ssr-content 858 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/pages/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/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 54.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/getting-started/project-structure>; rel="canonical"
- 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 (8519B vs 448627B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 438 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 62.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 876 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/pages/building-your-application/rendering/server-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/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 52.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/rendering/server-side-rendering>; rel="canonical"
- 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 (1941B vs 415204B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 397 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 79 headings
- PASS html.text-ratio 49.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js>; rel="canonical"
- 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 (17049B vs 642643B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1587 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/third-party-libraries 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-01
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 7 headings
- PASS html.text-ratio 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/third-party-libraries>; rel="canonical"
- 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.8% smaller (14515B vs 656501B)
- PASS markdown.valid-markdown 4.9% HTML markup
- PASS html.ssr-content 1346 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 48.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments>; rel="canonical"
- 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 (6083B vs 517210B)
- PASS markdown.valid-markdown 1.0% HTML markup
- PASS html.ssr-content 730 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/draft-mode 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/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-04-15
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/draft-mode>; rel="canonical"
- 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 (6052B vs 552710B)
- PASS markdown.valid-markdown 1.1% HTML markup
- PASS html.ssr-content 764 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/getting-started/error-handling 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-06-10
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 14 headings
- PASS html.text-ratio 51.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/error-handling>; rel="canonical"
- 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.3% smaller (12965B vs 742402B)
- PASS markdown.valid-markdown 10.3% HTML markup
- PASS html.ssr-content 1262 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/fetch 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/fetch>; rel="canonical"
- 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 (6917B vs 544285B)
- PASS markdown.valid-markdown 0.9% HTML markup
- PASS html.ssr-content 1048 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/forbidden 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/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-07-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 50.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/forbidden>; rel="canonical"
- 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 (10320B vs 636085B)
- PASS markdown.valid-markdown 3.8% HTML markup
- PASS html.ssr-content 1078 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/functions/unstable_cache 4/5
86 https://nextjs.org/docs/app/api-reference/functions/generate-image-metadata 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 51.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/generate-image-metadata>; rel="canonical"
- 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 (8069B vs 630455B)
- PASS markdown.valid-markdown 9.5% HTML markup
- PASS html.ssr-content 820 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/after 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/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 51.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/after>; rel="canonical"
- 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.2% smaller (11776B vs 655107B)
- PASS markdown.valid-markdown 2.2% HTML markup
- PASS html.ssr-content 1245 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/generate-viewport 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-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-06-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 46.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/generate-viewport>; rel="canonical"
- 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 98.6% smaller (10004B vs 699118B)
- PASS markdown.valid-markdown 4.6% HTML markup
- PASS html.ssr-content 1158 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/guides/testing/vitest 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/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 51.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/testing/vitest>; rel="canonical"
- 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.9% smaller (5627B vs 532353B)
- PASS markdown.valid-markdown 2.1% HTML markup
- PASS html.ssr-content 565 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/use-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/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 2026-06-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 48.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/use-params>; rel="canonical"
- 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 (3993B vs 503567B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 575 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/use-pathname 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-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-06-09
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 49.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/use-pathname>; rel="canonical"
- 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 (7892B vs 556624B)
- PASS markdown.valid-markdown 1.2% HTML markup
- PASS html.ssr-content 971 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/unstable_noStore 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/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 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/unstable_noStore>; rel="canonical"
- 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 (2323B vs 489307B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 471 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/updateTag 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/updateTag>; rel="canonical"
- 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.0% smaller (5495B vs 548451B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 808 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/unauthorized 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/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-07-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 50.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/unauthorized>; rel="canonical"
- 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.3% smaller (11615B vs 672869B)
- PASS markdown.valid-markdown 4.4% HTML markup
- PASS html.ssr-content 1144 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow 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_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 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow>; rel="canonical"
- 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 (3688B vs 500127B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 634 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/functions/generate-metadata 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 45 headings
- PASS html.text-ratio 45.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/generate-metadata>; rel="canonical"
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 89/89 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 97.1% smaller (50150B vs 1741411B)
- PASS markdown.valid-markdown 15.4% HTML markup
- PASS html.ssr-content 4700 words in initial HTML
- PASS http.no-interstitial
79 https://nextjs.org/docs/app/api-reference/functions/use-link-status 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-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 51.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/use-link-status>; rel="canonical"
- 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.8% smaller (7545B vs 613717B)
- PASS markdown.valid-markdown 10.3% HTML markup
- PASS html.ssr-content 911 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/optimizePackageImports 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/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 47.6%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/optimizePackageImports>; rel="canonical"
- 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 (1863B vs 473059B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 382 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/config/next-config-js/onDemandEntries 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/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 47.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/onDemandEntries>; rel="canonical"
- 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 (1187B vs 466060B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 342 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/functions/use-report-web-vitals 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/use-report-web-vitals>; rel="canonical"
- 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 (6565B vs 555969B)
- PASS markdown.valid-markdown 1.0% HTML markup
- PASS html.ssr-content 908 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 50.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment>; rel="canonical"
- 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 (8407B vs 576656B)
- PASS markdown.valid-markdown 6.3% HTML markup
- PASS html.ssr-content 865 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/use-router 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-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-07-01
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 49.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/use-router>; rel="canonical"
- 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.4% smaller (9143B vs 580781B)
- PASS markdown.valid-markdown 4.0% HTML markup
- PASS html.ssr-content 1130 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/guides/testing/playwright 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/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 50.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/testing/playwright>; rel="canonical"
- 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.0% smaller (4845B vs 493283B)
- PASS markdown.valid-markdown 1.8% HTML markup
- PASS html.ssr-content 656 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/getting-started/css 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 12 headings
- PASS html.text-ratio 47.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/css>; rel="canonical"
- 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.6% smaller (8933B vs 641432B)
- PASS markdown.valid-markdown 9.0% HTML markup
- PASS html.ssr-content 1009 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 51.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/guides/third-party-libraries>; rel="canonical"
- 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.6% smaller (13899B vs 583533B)
- PASS markdown.valid-markdown 4.0% HTML markup
- PASS html.ssr-content 1285 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/file-conventions/route-groups 24/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 47.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/route-groups>; rel="canonical"
- 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 (2100B vs 469526B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 451 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/maxDuration 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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 47.2%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/maxDuration>; rel="canonical"
- 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 (1470B vs 474470B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 353 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/preferredRegion 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/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-04-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 47.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/preferredRegion>; rel="canonical"
- 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 (2572B vs 474738B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 505 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 61.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 261 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/route 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
- 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-04-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 20 headings
- PASS html.text-ratio 50.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/route>; rel="canonical"
- 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.8% smaller (20575B vs 950402B)
- PASS markdown.valid-markdown 1.2% HTML markup
- PASS html.ssr-content 1639 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/runtime 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/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-04-30
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 1 headings
- PASS html.text-ratio 47.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config/runtime>; rel="canonical"
- 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 (1332B vs 466070B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 330 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/streaming 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 43 headings
- PASS html.text-ratio 54.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/streaming>; rel="canonical"
- 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 3 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 96.1% smaller (38926B vs 1009748B)
- PASS markdown.valid-markdown 6.8% HTML markup
- PASS html.ssr-content 4402 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/file-conventions/src-folder 24/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 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/src-folder>; rel="canonical"
- 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 (2386B vs 464355B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 490 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/template 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/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 46.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/template>; rel="canonical"
- 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 99.0% smaller (5736B vs 567587B)
- PASS markdown.valid-markdown 11.5% HTML markup
- PASS html.ssr-content 835 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/static-exports 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 11 headings
- PASS html.text-ratio 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/static-exports>; rel="canonical"
- 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.4% smaller (10938B vs 663591B)
- PASS markdown.valid-markdown 2.6% HTML markup
- PASS html.ssr-content 1285 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/config/next-config-js/serverActions 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 6 headings
- PASS html.text-ratio 47.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/config/next-config-js/serverActions>; rel="canonical"
- 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 (5702B vs 523287B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 870 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 53.1%
- 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.9% smaller (600B vs 403572B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 331 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/guides/view-transitions 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 8 headings
- PASS html.text-ratio 48.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/view-transitions>; rel="canonical"
- 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
- FAIL markdown.navigation-stripped 1 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.4% smaller (19806B vs 775120B)
- PASS markdown.valid-markdown 9.1% HTML markup
- PASS html.ssr-content 2665 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/community/contribution-guide 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/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-05
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 28 headings
- PASS html.text-ratio 47.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/community/contribution-guide>; rel="canonical"
- 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.3% smaller (19602B vs 727792B)
- PASS markdown.valid-markdown 1.7% HTML markup
- PASS html.ssr-content 2691 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/no-sync-scripts 21/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 47.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/no-sync-scripts>; rel="canonical"
- 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 466106B)
- PASS markdown.valid-markdown 23.6% HTML markup
- PASS html.ssr-content 296 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/file-conventions/loading 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/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-06-08
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 49.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/loading>; rel="canonical"
- 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.2% smaller (10345B vs 568853B)
- PASS markdown.valid-markdown 4.1% HTML markup
- PASS html.ssr-content 1259 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 60.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 8/8 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 1014 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/image-response 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/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 2026-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 49.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/image-response>; rel="canonical"
- 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 (6328B vs 600062B)
- PASS markdown.valid-markdown 14.4% HTML markup
- PASS html.ssr-content 914 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/app/api-reference/file-conventions/mdx-components 4/5
86 https://nextjs.org/docs/app/guides/debugging 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 49.0%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/debugging>; rel="canonical"
- 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.5% smaller (8562B vs 562285B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 1235 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/upgrading/version-16 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 51 headings
- PASS html.text-ratio 44.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/upgrading/version-16>; rel="canonical"
- PASS markdown.content-negotiation text/markdown; charset=utf-8
- FAIL markdown.sitemap-section no "## Sitemap" heading in mirror
- FAIL code.language-tags 61/61 blocks missing language
- PASS discovery.indexed
- PASS markdown.navigation-stripped
- PASS markdown.size-reduction 96.8% smaller (43388B vs 1335463B)
- PASS markdown.valid-markdown 0.5% HTML markup
- PASS html.ssr-content 4944 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 61.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 254 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 62.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 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 876 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/next-request 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/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 46.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/next-request>; rel="canonical"
- 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.2% smaller (4176B vs 530343B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 593 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/next-response 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/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 47.1%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/next-response>; rel="canonical"
- 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.9% smaller (6769B vs 612675B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1021 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/api-reference/file-conventions/metadata 24/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 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/metadata>; rel="canonical"
- 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 (2494B vs 463834B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 434 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/api-reference/functions/not-found 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/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-24
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 51.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions/not-found>; rel="canonical"
- 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 (8624B vs 618136B)
- PASS markdown.valid-markdown 5.0% HTML markup
- PASS html.ssr-content 983 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 61.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 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 345 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 52.3%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/config/next-config-js/deploymentId>; rel="canonical"
- 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 (4523B vs 448738B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 625 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/pages/guides/migrating 4/5
82 https://nextjs.org/docs/pages/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/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 51.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/config/next-config-js/devIndicators>; rel="canonical"
- 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 (3365B vs 444568B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 465 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 60.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 198 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/building-your-application/rendering/automatic-static-optimization 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/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 52.8%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/rendering/automatic-static-optimization>; rel="canonical"
- 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 (4443B vs 429474B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 659 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 61.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 445 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 60.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 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 233 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 52.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/file-conventions/public-folder>; rel="canonical"
- 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 (1895B vs 430014B)
- PASS markdown.valid-markdown 5.8% HTML markup
- PASS html.ssr-content 388 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/data-security 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 26 headings
- PASS html.text-ratio 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/data-security>; rel="canonical"
- 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.3% smaller (24790B vs 907090B)
- PASS markdown.valid-markdown 1.6% HTML markup
- PASS html.ssr-content 3374 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/building-your-application/routing/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/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 53.5%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/routing/dynamic-routes>; rel="canonical"
- 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 (4129B vs 441137B)
- PASS markdown.valid-markdown 0.2% HTML markup
- PASS html.ssr-content 513 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/building-your-application/data-fetching/client-side 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/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 53.4%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/building-your-application/data-fetching/client-side>; rel="canonical"
- 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 (3305B vs 456441B)
- PASS markdown.valid-markdown 2.7% HTML markup
- PASS html.ssr-content 581 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 61.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 2/2 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 449 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 60.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 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 197 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 60.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
- PASS discovery.indexed
- PASS html.ssr-content 137 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 60.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 223 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 58.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 16/16 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 1057 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 61.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 1/1 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 364 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/pages/api-reference/components/image-legacy 4/5
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 60.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 209 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 59.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 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 446 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/api-reference/components/head 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/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 53.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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/components/head>; rel="canonical"
- 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 (2725B vs 445324B)
- PASS markdown.valid-markdown 11.8% HTML markup
- PASS html.ssr-content 509 words in initial HTML
- PASS http.no-interstitial
80 https://nextjs.org/docs/messages/app-container-deprecated 4/5
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 60.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 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 510 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 61.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 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 364 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/deploying 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/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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 48.7%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/deploying>; rel="canonical"
- 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.7% smaller (7044B vs 525871B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 830 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/next-dynamic-modules 21/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 48.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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/next-dynamic-modules>; rel="canonical"
- 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 (1619B vs 483578B)
- PASS markdown.valid-markdown 9.6% HTML markup
- PASS html.ssr-content 409 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout 21/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 47.9%
- 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
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout>; rel="canonical"
- 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.0% smaller (5535B vs 555353B)
- PASS markdown.valid-markdown 5.9% HTML markup
- PASS html.ssr-content 727 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 61.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 604 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/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/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 47.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
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/components/image>; rel="canonical"
- 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.7% smaller (59538B vs 1378661B)
- PASS markdown.valid-markdown 6.1% HTML markup
- PASS html.ssr-content 5476 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/app/getting-started/fetching-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/fetching-data
- 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-09-07
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 17 headings
- PASS html.text-ratio 53.8%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/getting-started/fetching-data.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/getting-started/fetching-data.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/app/getting-started/fetching-data>; rel="canonical"
- 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
- FAIL markdown.navigation-stripped 2 residual nav/header/footer/aside tag(s)
- PASS markdown.size-reduction 97.3% smaller (24696B vs 907871B)
- PASS markdown.valid-markdown 4.9% HTML markup
- PASS html.ssr-content 2500 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/conflicting-public-file-page 21/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/conflicting-public-file-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 47.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/conflicting-public-file-page.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/conflicting-public-file-page>; rel="canonical"
- 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 (813B vs 453994B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 323 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/blocking-route 21/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/blocking-route
- 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 8 headings
- PASS html.text-ratio 46.7%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/blocking-route.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/blocking-route>; rel="canonical"
- 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 98.4% smaller (10957B vs 702507B)
- PASS markdown.valid-markdown 7.2% HTML markup
- PASS html.ssr-content 1585 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 60.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 184 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/messages/empty-generate-static-params 21/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/empty-generate-static-params
- 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 48.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/messages/empty-generate-static-params.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: description, doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/messages/empty-generate-static-params>; rel="canonical"
- 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 (3395B vs 485459B)
- PASS markdown.valid-markdown 0.3% HTML markup
- PASS html.ssr-content 639 words in initial HTML
- PASS http.no-interstitial
85 https://nextjs.org/docs/app/api-reference/functions 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/functions
- 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 42 headings
- PASS html.text-ratio 49.0%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/functions.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/functions.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/functions>; rel="canonical"
- 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 (5625B vs 497856B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 547 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/custom-reporting 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/custom-reporting
- 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 59.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 3/3 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 257 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/seo/rendering-strategies 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/rendering-strategies
- 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 8 headings
- PASS html.text-ratio 61.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 489 words in initial HTML
- PASS http.no-interstitial
81 https://nextjs.org/docs/pages/api-reference/adapters/runtime-integration 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/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-07-29
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- FAIL html.headings only 2 headings
- PASS html.text-ratio 53.2%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/adapters/runtime-integration.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/adapters/runtime-integration.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/adapters/runtime-integration>; rel="canonical"
- 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 (2351B vs 409444B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 420 words in initial HTML
- PASS http.no-interstitial
68 https://nextjs.org/learn/dashboard-app/adding-search-and-pagination 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-search-and-pagination
- 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)
- 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.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 19/19 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 2811 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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/unauthorized
- PASS html.meta-description 51 chars
- PASS html.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 48.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized>; rel="canonical"
- 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 (3421B vs 532878B)
- PASS markdown.valid-markdown 5.1% HTML markup
- PASS html.ssr-content 459 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/deploying-nextjs-app-deploy 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-deploy
- 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 61.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 375 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/pages-router/deploying-nextjs-app 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
- 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 60.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 192 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/api-reference/functions/use-search-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/pages/api-reference/functions/use-search-params
- 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-03-03
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 10 headings
- PASS html.text-ratio 55.4%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/functions/use-search-params.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/functions/use-search-params.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/functions/use-search-params>; rel="canonical"
- 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.2% smaller (10751B vs 597930B)
- PASS markdown.valid-markdown 4.0% HTML markup
- PASS html.ssr-content 808 words in initial HTML
- PASS http.no-interstitial
56 https://nextjs.org/learn/pages-router/deploying-nextjs-app-github 15/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/learn/pages-router/deploying-nextjs-app-github
- 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 60.3%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/learn/pages-router/deploying-nextjs-app-github.md
- FAIL markdown.alternate-link no <link rel="alternate" type="text/markdown">
- FAIL markdown.frontmatter missing: title, description, doc_version, last_updated
- FAIL markdown.content-negotiation text/html; 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 59.6% smaller (127008B vs 314031B)
- FAIL markdown.valid-markdown looks like HTML (HTML prologue at top of body)
- PASS html.ssr-content 237 words in initial HTML
- PASS http.no-interstitial
89 https://nextjs.org/docs/app/guides/cdn-caching 24/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/cdn-caching
- PASS html.meta-description 142 chars
- PASS html.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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 19 headings
- PASS html.text-ratio 50.4%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/cdn-caching.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/cdn-caching.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/cdn-caching>; rel="canonical"
- 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.9% smaller (10841B vs 518908B)
- PASS markdown.valid-markdown 0.0% HTML markup
- PASS html.ssr-content 1628 words in initial HTML
- PASS http.no-interstitial
82 https://nextjs.org/docs/pages/api-reference/functions/use-router 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/pages/api-reference/functions/use-router
- 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 2026-07-27
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 16 headings
- PASS html.text-ratio 52.5%
- FAIL html.glossary-link no glossary/terminology link
- PASS markdown.mirror-suffix https://nextjs.org/docs/pages/api-reference/functions/use-router.md
- PASS markdown.alternate-link https://nextjs.org/docs/pages/api-reference/functions/use-router.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/pages/api-reference/functions/use-router>; rel="canonical"
- 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 97.4% smaller (21766B vs 834599B)
- PASS markdown.valid-markdown 3.1% HTML markup
- PASS html.ssr-content 2889 words in initial HTML
- PASS http.no-interstitial
59 https://nextjs.org/learn/seo/images 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/images
- 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 60.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 4/4 blocks missing language
- PASS discovery.indexed
- PASS html.ssr-content 490 words in initial HTML
- PASS http.no-interstitial
86 https://nextjs.org/docs/app/guides/caching-without-cache-components 24/28
- PASS http.status-200 200
- PASS http.redirect-chain 0 hops
- PASS http.content-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/caching-without-cache-components
- PASS html.meta-description 142 chars
- PASS html.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-08-25
- FAIL html.json-ld.breadcrumb no BreadcrumbList node
- PASS html.headings 13 headings
- PASS html.text-ratio 49.6%
- PASS html.glossary-link
- PASS markdown.mirror-suffix https://nextjs.org/docs/app/guides/caching-without-cache-components.md
- PASS markdown.alternate-link https://nextjs.org/docs/app/guides/caching-without-cache-components.md
- FAIL markdown.frontmatter missing: doc_version, last_updated
- PASS markdown.canonical-header <https://nextjs.org/docs/app/guides/caching-without-cache-components>; rel="canonical"
- 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.7% smaller (16534B vs 717635B)
- PASS markdown.valid-markdown 0.4% HTML markup
- PASS html.ssr-content 1935 words in initial HTML
- PASS http.no-interstitial
62 https://nextjs.org/learn/seo/importance-of-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/importance-of-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 3 headings
- PASS html.text-ratio 61.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 341 words in initial HTML
- PASS http.no-interstitial