{"_id":"@eleva-seo/nextjs-seo-prerender-cli","name":"@eleva-seo/nextjs-seo-prerender-cli","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@eleva-seo/nextjs-seo-prerender-cli","version":"0.1.0","description":"Check whether a Next.js site is really prerendered for crawlers, plus indexability conflicts, hreflang drift and empty server HTML.","publishConfig":{"access":"public"},"bin":{"nextjs-seo-prerender-cli":"bin/nextjs-seo-prerender.js","nextjs-seo-prerender":"bin/nextjs-seo-prerender.js"},"scripts":{"postinstall":"node install.js"},"keywords":["nextjs","seo","prerender","ssr","googlebot","hreflang","indexability","sitemap","technical-seo","cli"],"author":{"name":"Bastien Allain"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bastienallain/nextjs-seo-prerender-cli.git","directory":"npm"},"bugs":{"url":"https://github.com/bastienallain/nextjs-seo-prerender-cli/issues"},"homepage":"https://github.com/bastienallain/nextjs-seo-prerender-cli","engines":{"node":">=18"},"_id":"@eleva-seo/nextjs-seo-prerender-cli@0.1.0","gitHead":"1e38fc332f79296d0e3b12925f0bac20721655cd","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-pKJIP8zPWp6gYXA4fnVL3DLgD/lk1IkzRyGc2gwF3SwTFwibbFObtB8sr9AmI0KN/FYAD2+2YGCn+YcxgDi2zw==","shasum":"898515c0628ea2267057e389b60f186aaf517de6","tarball":"https://registry.npmjs.org/@eleva-seo/nextjs-seo-prerender-cli/-/nextjs-seo-prerender-cli-0.1.0.tgz","fileCount":6,"unpackedSize":17502,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eleva-seo%2fnextjs-seo-prerender-cli@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCBJN5o4iqDXlCX0sqsukCjo8Q0+uwAYA1QTQSY4iTL3gIgGAW0KrSFzZSj57CSAFc2tXIe/HigpHtoU7Fjn/kTyu0="}]},"_npmUser":{"name":"eleva-seo","email":"captain@elevaseo.com"},"directories":{},"maintainers":[{"name":"eleva-seo","email":"captain@elevaseo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nextjs-seo-prerender-cli_0.1.0_1786430551735_0.6618621016292685"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-11T06:42:31.537Z","0.1.0":"2026-08-11T06:42:31.880Z","modified":"2026-08-11T06:42:32.279Z"},"maintainers":[{"name":"eleva-seo","email":"captain@elevaseo.com"}],"description":"Check whether a Next.js site is really prerendered for crawlers, plus indexability conflicts, hreflang drift and empty server HTML.","homepage":"https://github.com/bastienallain/nextjs-seo-prerender-cli","keywords":["nextjs","seo","prerender","ssr","googlebot","hreflang","indexability","sitemap","technical-seo","cli"],"repository":{"type":"git","url":"git+https://github.com/bastienallain/nextjs-seo-prerender-cli.git","directory":"npm"},"author":{"name":"Bastien Allain"},"bugs":{"url":"https://github.com/bastienallain/nextjs-seo-prerender-cli/issues"},"license":"MIT","readme":"# @eleva-seo/nextjs-seo-prerender-cli\n\n```bash\nnpx @eleva-seo/nextjs-seo-prerender-cli example.com\n```\n\nAnswers one question about a live Next.js site: **is a crawler served a page that was prerendered,\nor one rebuilt from scratch on every visit?** It asks from the outside, over HTTP, as Googlebot, so\nthe answer comes from what the site actually returns rather than from your build log. Three related\nquestions come with it — indexability conflicts, hreflang drift, and whether the server HTML has\nany content in it at all.\n\nThe origin: a single `await headers()` in a root `not-found.tsx` flipped all 355 routes of a\nNext.js site to dynamic rendering. No build warning, identical pages in the browser, unchanged HTML\nsource, and absent from every classic SEO crawler.\n\nExit codes are `0` clean, `1` a problem was found, `2` the run could not happen, `130` interrupted.\nFull documentation:\n[github.com/bastienallain/nextjs-seo-prerender-cli](https://github.com/bastienallain/nextjs-seo-prerender-cli).\n\nThe package installs two commands, `nextjs-seo-prerender-cli` and the shorter\n`nextjs-seo-prerender`. They are the same binary.\n\n## What this package is\n\nThe tool is a Rust binary. This package is the gateway that keeps `npx` working: on install it\ndownloads the prebuilt binary for your platform from the matching GitHub release, checks it against\na SHA-256 published inside this npm tarball, and unpacks it. It has no dependencies and ships no\nbinary of its own.\n\nThe checksums live in `checksums.json` **inside this package**, not on the network. A tampered\ndownload therefore fails against a hash that came from the npm registry, not from the same server\nthat served the download.\n\nPrebuilt platforms:\n\n| OS | Architectures |\n| --- | --- |\n| macOS | arm64, x64 |\n| Linux (glibc) | x64, arm64 |\n| Linux (musl / Alpine) | x64, arm64 |\n| Windows | x64 |\n\nAnywhere else, build from source — it needs no system libraries:\n\n```bash\ncargo install nextjs-seo-prerender-cli\n```\n\n## Environment variables\n\n| Variable | Effect |\n| --- | --- |\n| `NEXTJS_SEO_PRERENDER_BINARY` | Use this binary. Nothing is downloaded. |\n| `NEXTJS_SEO_PRERENDER_SKIP_DOWNLOAD=1` | postinstall does nothing. The first run still downloads. |\n| `NEXTJS_SEO_PRERENDER_DOWNLOAD_BASE` | Fetch archives from this URL prefix instead of GitHub releases. Checksums are still enforced. |\n\nTwo limitations worth stating: the installer does not read `HTTP_PROXY`/`HTTPS_PROXY`, and a\npostinstall failure is a warning rather than an install failure. Behind a proxy, download the\nrelease archive yourself and point `NEXTJS_SEO_PRERENDER_BINARY` at it.\n\nMIT © Bastien Allain\n","readmeFilename":"README.md","_rev":"1-6487e368fa5082d4e698e4c1b1d40852"}