Skip to content
svelte-vitals
English
Esc
navigateopen⌘Jpreview

SEO

Every SEO rule svelte-vitals runs.

Resolved <head> metadata, structured data, and crawlability: what search engines actually see.

Rule Severity Summary
seo/title-presence 🔴 critical Every route should resolve a non-empty <title>.
seo/canonical-url 🟡 warning Every route should include a <link rel=“canonical”> tag.
seo/charset 🟡 warning The page should declare a character encoding with <meta charset>.
seo/description-presence 🟡 warning Every route should include a <meta name=“description”>.
seo/duplicate-description 🟡 warning Each route should have a unique meta description.
seo/duplicate-title 🟡 warning Each route should have a unique <title>.
seo/hreflang 🟡 warning hreflang alternates should use valid codes; x-default is recommended for selector/redirect pages.
seo/html-lang 🟡 warning Your project’s app.html should set the lang attribute on <html>.
seo/image-alt 🟡 warning Every <img> should have an alt attribute.
seo/json-ld-relative-url 🟡 warning URLs in JSON-LD should be absolute.
seo/json-ld-required-props 🟡 warning A recognized @type should include the properties its rich result requires.
seo/json-ld-validity 🟡 warning A page’s JSON-LD must be valid JSON with @context and @type.
seo/og-image 🟡 warning Every route should include a <meta property=“og”> tag.
seo/og-title 🟡 warning Every route should include a <meta property=“og”> tag.
seo/og-url 🟡 warning Every route should include an og with its canonical address.
seo/robots-txt 🟡 warning Your project should provide a robots.txt file.
seo/single-h1 🟡 warning Each page should have exactly one <h1>.
seo/sitemap-xml 🟡 warning Your project should provide a sitemap.xml file.
seo/ssr-disabled 🟡 warning export const ssr = false makes a route’s content invisible to non-JS crawlers and slower to first paint.
seo/viewport 🟡 warning Pages should declare a responsive viewport meta tag.
seo/description-length 🔵 info The meta description should be 70–160 characters.
seo/heading-level-skip 🔵 info Heading levels should not be skipped.
seo/indexability 🔵 info A route should not be accidentally set to noindex.
seo/json-ld 🔵 info Every route should include JSON-LD structured data.
seo/json-ld-date-format 🔵 info Date properties in JSON-LD should be ISO-8601.
seo/json-ld-deprecated-type 🔵 info Some schema types had their Google rich result dropped or restricted.
seo/json-ld-placeholder 🔵 info JSON-LD should not contain unreplaced placeholder text.
seo/og-description 🔵 info Every route should include an og.
seo/sitemap-in-robots 🔵 info robots.txt should point crawlers at your sitemap.
seo/title-length 🔵 info The document title should be 30–60 characters.
seo/twitter-card 🔵 info Pages should declare a twitter for rich sharing on X/Twitter.

See Configuration to change a rule’s severity or turn it off.