seo-for-engineers
v0.1.0
Published
A CLI suite of headless-Chromium SEO checks: LCP diagnosis, noindex deploy gate, JSON-LD consistency, heading hierarchy, pagination crawlability, locale routing, and bfcache eligibility.
Maintainers
Readme
seo-for-engineers
A CLI suite of headless-Chromium SEO checks, productized from the book SEO for Engineers, Volume 1. Each check runs against the rendered DOM (not the raw HTML response), so it catches problems introduced by client-side JavaScript.
Install
npm install -g seo-for-engineers playwright
npx playwright install chromiumplaywright is a peer dependency, so you control its version and where
the browser binaries live. For one-off use:
npx seo-for-engineers <command> [options]Commands
| Command | Purpose |
|---|---|
| sfe lcp <url> | LCP four-part decomposition (TTFB, resource load delay, load duration, element render delay). |
| sfe noindex-gate --urls <url>... | CI gate: exits non-zero if any URL ships noindex via X-Robots-Tag or a rendered meta tag. |
| sfe schema <url> | Compares JSON-LD structured data against values visible in the rendered DOM. |
| sfe headings <url> | Validates the heading outline: one h1, no skipped levels, no headings buried in UI chrome. |
| sfe pagination <url> | Walks a paginated series and verifies it is crawlable (real anchors, self-canonical, no fragment paging). |
| sfe i18n --url <url> --locale <locale> | Verifies locale URLs serve content directly: 200, non-adaptive, matching html lang, self-referencing hreflang. |
| sfe bfcache <url> | Back/forward cache eligibility, using both the Cache-Control header and Chrome's notRestoredReasons. |
Run any command with --help for its full options. Each command exits
non-zero on failure, so they drop straight into CI.
sfe lcp --form-factor mobile https://example.com/
sfe noindex-gate --urls-file staging-urls.txt
sfe schema https://example.com/products/widget --checks name,priceLicense
MIT © Nima Jafari
