SEO
HTML metadata and search engine optimization checks
How it Works
The SEO pillar opens your page with Puppeteer and extracts HTML metadata. It also fetches /sitemap.xml and /robots.txt separately to verify they exist.
What it Checks
| Rule | Severity | Description |
|---|---|---|
| seo/title-missing | critical | Page must have a <title> tag |
| seo/title-length | moderate | Title should be under 60 characters |
| seo/description-missing | serious | Page must have <meta name="description"> |
| seo/description-length | moderate | Description should be under 160 characters |
| seo/h1-missing | serious | Page must have exactly one <h1> |
| seo/h1-multiple | moderate | Page should not have multiple <h1> elements |
| seo/heading-hierarchy | moderate | Headings should not skip levels (h1 > h2 > h3) |
| seo/canonical-missing | moderate | Page should have <link rel="canonical"> |
| seo/robots-meta-missing | minor | Page should have <meta name="robots"> |
| seo/viewport-missing | serious | Page must have <meta name="viewport"> |
| seo/sitemap-missing | moderate | /sitemap.xml should return HTTP 200 |
| seo/robots-txt-missing | moderate | /robots.txt should return HTTP 200 |
Configuration
json
{ "seo": { "minScore": 80, "ignoreSeverities": ["minor"] }}