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

RuleSeverityDescription
seo/title-missingcriticalPage must have a <title> tag
seo/title-lengthmoderateTitle should be under 60 characters
seo/description-missingseriousPage must have <meta name="description">
seo/description-lengthmoderateDescription should be under 160 characters
seo/h1-missingseriousPage must have exactly one <h1>
seo/h1-multiplemoderatePage should not have multiple <h1> elements
seo/heading-hierarchymoderateHeadings should not skip levels (h1 > h2 > h3)
seo/canonical-missingmoderatePage should have <link rel="canonical">
seo/robots-meta-missingminorPage should have <meta name="robots">
seo/viewport-missingseriousPage must have <meta name="viewport">
seo/sitemap-missingmoderate/sitemap.xml should return HTTP 200
seo/robots-txt-missingmoderate/robots.txt should return HTTP 200

Configuration

json
{
"seo": {
"minScore": 80,
"ignoreSeverities": ["minor"]
}
}