Rules Configuration
Enable and disable audit rules with pattern matching
The [rules] section controls which audit rules run during analysis.
Configuration
[rules]
enable = ["*"]
disable = ["ai/*", "content/quality"]Options
enable
Type: string[]
Default: ["*"] (all rules)
Patterns of rules to enable. Supports wildcards and specific rule IDs.
Pattern Syntax:
*- All rulescategory/*- All rules in a categorycategory/rule-name- Specific rule
Examples:
Enable all rules (default):
[rules]
enable = ["*"]Enable specific categories:
[rules]
enable = ["core/*", "links/*", "images/*"]Enable specific rules:
[rules]
enable = ["core/meta-title", "core/meta-description", "links/broken-links"]disable
Type: string[]
Default: ["ai/ai-content", "ai/llm-parsability", "content/quality"]
Patterns of rules to disable. Takes precedence over enable.
If a rule matches both enable and disable, it’s disabled.
Examples:
Disable AI rules (default):
[rules]
disable = ["ai/*"]Disable slow rules:
[rules]
disable = ["ai/*", "content/quality", "perf/*"]Disable specific rules:
[rules]
disable = ["content/word-count", "images/modern-format"]Rule Categories
All 18 audit rule categories:
Core SEO
ID: core/*
Rules: 11
Description: Essential SEO elements
Meta tags, titles, canonical URLs, Open Graph, Twitter Cards, favicons, robots meta tags.
Enable:
[rules]
enable = ["core/*"]
disable = []Common rules:
core/meta-title- Title tag presence and lengthcore/meta-description- Meta description presence and lengthcore/canonical- Canonical URL configurationcore/h1- H1 tag presence and uniquenesscore/og-tags- Open Graph tagscore/twitter-cards- Twitter Card tags
Content Quality
ID: content/*
Rules: 11
Description: Content analysis and quality checks
Word count, heading hierarchy, duplicates, freshness, broken HTML.
Enable:
[rules]
enable = ["content/*"]Common rules:
content/word-count- Minimum word countcontent/heading-hierarchy- Proper heading structure (H1 → H2 → H3)content/duplicate-title- Duplicate title tags across pagescontent/duplicate-description- Duplicate meta descriptionscontent/keyword-stuffing- Excessive keyword repetitioncontent/broken-html- HTML parsing errors
Links
ID: links/*
Rules: 12
Description: Internal and external link analysis
Broken links, redirects, orphan pages, anchor text.
Enable:
[rules]
enable = ["links/*"]Common rules:
links/broken-links- 404 internal linkslinks/broken-external-links- 404 external linkslinks/redirect-chains- Multiple redirectslinks/orphan-pages- Pages with no incoming linkslinks/nofollow-internal- Internal links with nofollowlinks/https-downgrade- HTTPS to HTTP downgrades
Images
ID: images/*
Rules: 10
Description: Image optimization and accessibility
Alt text, dimensions, formats, lazy loading, file sizes.
Enable:
[rules]
enable = ["images/*"]Common rules:
images/alt-text- Missing alt attributesimages/dimensions- Missing width/height attributesimages/modern-format- WebP/AVIF format suggestionsimages/lazy-loading- Lazy loading implementationimages/image-file-size- Large image file sizes
Schema (Structured Data)
ID: schema/*
Rules: 10
Description: JSON-LD and structured data validation
Article, Product, LocalBusiness, FAQ, Breadcrumb, Organization schemas.
Enable:
[rules]
enable = ["schema/*"]Common rules:
schema/json-ld-valid- Valid JSON-LD syntaxschema/article- Article schema validationschema/product- Product schema validationschema/breadcrumb- Breadcrumb schemaschema/organization- Organization schema
Security
ID: security/*
Rules: 9
Description: Security headers and HTTPS
HTTPS, HSTS, CSP, X-Frame-Options, mixed content.
Enable:
[rules]
enable = ["security/*"]Common rules:
security/https- HTTPS usagesecurity/hsts- HSTS header presencesecurity/csp- Content Security Policysecurity/mixed-content- Mixed HTTP/HTTPS contentsecurity/x-frame-options- Clickjacking protection
Accessibility
ID: a11y/*
Rules: 12
Description: Web accessibility (WCAG)
ARIA labels, color contrast, keyboard navigation, screen readers.
Enable:
[rules]
enable = ["a11y/*"]Common rules:
a11y/skip-link- Skip navigation linka11y/aria-labels- Proper ARIA attributesa11y/form-labels- Form label associationsa11y/color-contrast- Sufficient color contrasta11y/link-text- Descriptive link text
Internationalization
ID: i18n/*
Rules: 2
Description: Multi-language support
Lang attributes, hreflang tags.
Enable:
[rules]
enable = ["i18n/*"]Rules:
i18n/lang-attribute- HTML lang attributei18n/hreflang- Hreflang alternate links
Performance
ID: perf/*
Rules: 9
Description: Core Web Vitals and performance hints
LCP, CLS, INP hints, font loading, preconnect.
Enable:
[rules]
enable = ["perf/*"]Common rules:
perf/lcp-hints- Largest Contentful Paint optimizationperf/cls-hints- Cumulative Layout Shift hintsperf/font-loading- Font loading strategiesperf/render-blocking- Render-blocking resources
Social Media
ID: social/*
Rules: 4
Description: Social media optimization
Open Graph images, URL matching, social profiles.
Enable:
[rules]
enable = ["social/*"]Rules:
social/og-image-size- Open Graph image dimensionssocial/og-url-match- OG URL matches canonicalsocial/social-profiles- Social profile linkssocial/share-buttons- Social sharing buttons
Crawlability
ID: crawl/*
Rules: 15
Description: Search engine crawlability
Robots.txt, sitemaps, indexability, canonical chains.
Enable:
[rules]
enable = ["crawl/*"]Common rules:
crawl/robots-txt- Robots.txt existence and validitycrawl/sitemap-exists- XML sitemap presencecrawl/sitemap-valid- Sitemap XML validitycrawl/indexability- Indexable pagescrawl/canonical-chain- Canonical chain detection
URL Structure
ID: url/*
Rules: 8
Description: URL formatting and best practices
Length, keywords, hyphens, parameters.
Enable:
[rules]
enable = ["url/*"]Common rules:
url/length- URL length limitsurl/slug-keywords- Descriptive URL slugsurl/hyphens- Hyphen usage (not underscores)url/parameters- Query parameter best practices
Mobile Optimization
ID: mobile/*
Rules: 6
Description: Mobile-friendly design
Viewport meta tag, tap targets, font sizes.
Enable:
[rules]
enable = ["mobile/*"]Common rules:
mobile/viewport- Viewport meta tagmobile/tap-targets- Touch target sizingmobile/font-size- Readable font sizes
Legal Compliance
ID: legal/*
Rules: 3
Description: Legal requirements
Privacy policy, cookie consent, terms of service.
Enable:
[rules]
enable = ["legal/*"]Rules:
legal/privacy-policy- Privacy policy pagelegal/cookie-consent- Cookie consent mechanismlegal/terms-of-service- Terms of service page
Local SEO
ID: local/*
Rules: 3
Description: Local business optimization
NAP consistency, geo meta tags, service areas.
Enable:
[rules]
enable = ["local/*"]Rules:
local/nap-consistency- Name, address, phone consistencylocal/geo-meta- Geographic meta tagslocal/service-area- Service area markup
Video Optimization
ID: video/*
Rules: 3
Description: Video content optimization
Video schema, thumbnails, accessibility.
Enable:
[rules]
enable = ["video/*"]Rules:
video/video-schema- VideoObject schemavideo/video-thumbnail- Video thumbnail presencevideo/video-accessible- Video accessibility features
Analytics
ID: analytics/*
Rules: 2
Description: Analytics and tracking
Google Tag Manager, consent mode.
Enable:
[rules]
enable = ["analytics/*"]Rules:
analytics/gtm-present- Google Tag Manageranalytics/consent-mode- Google Consent Mode v2
E-E-A-T (Expertise, Authoritativeness, Trustworthiness)
ID: eeat/*
Rules: 14
Description: Trust and authority signals
Author info, citations, about page, editorial policy.
Enable:
[rules]
enable = ["eeat/*"]Common rules:
eeat/author-byline- Author attributioneeat/content-dates- Content dateseeat/citations- External citationseeat/about-page- About page presenceeeat/contact-page- Contact information
AI & LLM
ID: ai/*
Rules: 2
Description: AI-powered analysis (requires LLM)
DISABLED BY DEFAULT - Requires OpenRouter API key.
AI content detection, LLM parsability.
Enable:
[rules]
enable = ["*"]
disable = [] # Remove ai/* from disable listRules:
ai/ai-content- AI-generated content detectionai/llm-parsability- LLM-friendly structure
Note: Requires OPENROUTER_API_KEY environment variable.
Adblock Detection
ID: adblock/*
Rules: 2
Description: Adblock filter impact
Element hiding, blocked tracking domains.
Enable:
[rules]
enable = ["adblock/*"]Rules:
adblock/element-hiding- Elements hidden by adblockersadblock/blocked-links- Links to blocked domains
Configuration Examples
SEO-Focused Audit
Focus on SEO rules only:
[rules]
enable = ["core/*", "content/*", "crawl/*", "url/*", "schema/*"]
disable = []Accessibility Audit
Focus on accessibility and mobile:
[rules]
enable = ["a11y/*", "mobile/*"]
disable = []Performance Audit
Focus on performance and images:
[rules]
enable = ["perf/*", "images/*"]
disable = []Security Audit
Focus on security headers and HTTPS:
[rules]
enable = ["security/*"]
disable = []All Rules Except AI
Enable everything except AI-powered rules:
[rules]
enable = ["*"]
disable = ["ai/*"]Fast Audit (Core Only)
Quick audit with just essential checks:
[rules]
enable = ["core/*"]
disable = []Disable Slow Rules
Exclude computationally expensive rules:
[rules]
enable = ["*"]
disable = ["ai/*", "content/quality", "perf/cls-hints"]CI/CD Pipeline
Strict subset for automated checks:
[rules]
enable = ["core/*", "security/*", "links/broken-links"]
disable = []Pattern Matching
Wildcards
[rules]
enable = ["core/*"] # All core rules
disable = ["core/og-*"] # Disable all OG rulesMultiple Patterns
[rules]
enable = ["core/*", "links/*", "images/*"]
disable = ["images/modern-format", "links/orphan-pages"]Disable Takes Precedence
[rules]
enable = ["*"] # Enable all
disable = ["ai/*"] # But disable AI (wins)Result: All rules except AI category.
Rule Weights
Each rule has a weight (1-10) reflecting its importance:
| Weight | Importance | Example Rules |
|---|---|---|
| 10 | Critical | core/meta-title, crawl/robots-txt |
| 8 | High | core/canonical, links/broken-links |
| 6 | Medium | images/alt-text, content/word-count |
| 4 | Low | url/hyphens, social/share-buttons |
| 2 | Info | analytics/gtm-present |
Weights affect the health score calculation.
Related
- Rule Options - Per-rule configuration
- Rules Reference - All audit rules
- Configuration Examples - Common patterns