All 46 SEO Rules

All 46 SEO Rules

Capyseo includes 46 rules organized into 11 categories.

Rule Categories

Category Rules Description
Meta Tags 5 Title, description, viewport, charset, lang
Images 4 Alt text, lazy loading, dimensions, format
Headings 3 Hierarchy, empty headings, keywords
Links 4 Broken links, redirects, external, internal
Content 5 Word count, keywords, readability, duplicates
Social 3 Open Graph, Twitter Cards, previews
Structured Data 3 JSON-LD, microdata, breadcrumbs
Mobile 5 Viewport, touch targets, fonts, media
Security 4 Headers, HTTPS, scripts, forms
Performance 3 CSS, JavaScript, resource hints
URL 4 Length, structure, keywords, slashes
Lighthouse 1 Core Web Vitals

Quick Reference

Meta Tags (5 rules)

Rule ID Severity Description
meta-title error Title exists, 30-60 chars
meta-description error Description exists, 120-160 chars
meta-viewport warning Viewport tag with width=device-width
meta-charset warning UTF-8 charset declaration
lang-attribute error <html lang="..."> attribute

Images (4 rules)

Rule ID Severity Description
image-alt error All images have alt text
image-lazy-load info Below-fold images use lazy loading
image-dimensions warning Width/height to prevent CLS
image-format info Modern formats (WebP/AVIF)

Headings (3 rules)

Rule ID Severity Description
heading-hierarchy warning Proper H1-H6 structure
empty-heading warning No empty heading elements
heading-keywords info H1 contains title keywords

Links (4 rules)

Rule ID Severity Description
broken-links error No 404/5xx links
redirect-chains warning Avoid redirect chains
external-links warning rel="noopener" on target="_blank"
internal-links info At least 3 internal links

Content (5 rules)

Rule ID Severity Description
word-count info At least 100 words
keyword-density warning Keywords present, not stuffed
readability info Flesch score above 50
duplicate-content warning No duplicate H1/title
content-freshness info Publication date present

Social (3 rules)

Rule ID Severity Description
open-graph warning OG title, description, image, URL
twitter-card warning Twitter card meta tags
social-preview info Proper OG content lengths

Structured Data (3 rules)

Rule ID Severity Description
json-ld info Valid JSON-LD with schema.org
microdata info Valid microdata markup
breadcrumb info BreadcrumbList schema

Mobile (5 rules)

Rule ID Severity Description
mobile-viewport warning Proper viewport settings
touch-targets info 48x48px minimum tap targets
mobile-font-size warning No tiny fonts (<12px)
mobile-media info Responsive images/iframes
mobile-friendly-links info Navigation link spacing

Security (4 rules)

Rule ID Severity Description
security-headers info CSP, X-Frame-Options, HSTS
https warning HTTPS, no mixed content
external-scripts warning SRI on CDN scripts
form-security warning HTTPS forms, POST for passwords

Performance (3 rules)

Rule ID Severity Description
css-analysis info Not too many stylesheets
js-analysis info Not too many scripts
resource-hints info Preload/prefetch critical resources

URL (4 rules)

Rule ID Severity Description
url-length info URL path under 100 chars
url-structure warning Clean URLs, hyphens, lowercase
url-keywords info Keywords in URL
url-trailing-slash info Consistent trailing slashes

Lighthouse (1 rule)

Rule ID Severity Description
core-web-vitals warning LCP, CLS, FCP, TTFB thresholds

Configuring Rules

Change Severity

// capyseo.config.js export default { rules: { 'open-graph': { severity: 'error' }, // Make required 'word-count': { severity: 'info' }, // Downgrade }, };

Disable Rules

export default { rules: { 'readability': { enabled: false }, 'broken-links': { enabled: false }, }, };

Rule Severity Guidelines

Use error for:

  • Missing essential meta tags
  • Broken links
  • Missing image alt text
  • Missing canonical URL
  • Missing lang attribute

Use warning for:

  • Heading hierarchy issues
  • Social media tags
  • Security headers
  • Mobile compatibility

Use info for:

  • Content suggestions
  • Performance tips
  • Minor improvements