Rule Catalog
WebAudit analyzes your website against 177 rules across SEO, performance, security, accessibility, and AI optimization categories.
Severity Levels
Major issue that significantly impacts SEO/visibility
Moderate issue that should be addressed
Minor issue or best practice recommendation
Categories Overview
| Category | Rules | Focus Area |
|---|---|---|
| Technical | 35 | HTTP, URLs, Performance, Mobile |
| Crawlability | 18 | Robots, Sitemap, Canonical, Indexing |
| On-Page | 25 | Title, Meta, Headings, Social |
| Content | 8 | Quality, Duplicates, Readability |
| Images | 10 | Alt text, Optimization, Loading |
| Links | 9 | Internal, External, Anchors |
| Schema | 10 | JSON-LD, Validation, Types |
| Security | 10 | SSL, Headers, HSTS |
| GEO | 20 | AI Readability, Citations, Crawlability |
| Accessibility | 12 | WCAG, ARIA, Contrast |
| International | 7 | Hreflang, Language |
| Local | 5 | LocalBusiness, NAP |
| Total | 177 |
Technical SEO
HTTP responses, URLs, redirects, and protocol issues
| ID | Rule | Severity | Weight |
|---|---|---|---|
| TECH-001 | Page returns 4xx error | Critical | 10 |
| TECH-002 | Page returns 5xx error | Critical | 10 |
| TECH-003 | Redirect chain detected | Warning | 6 |
| TECH-004 | Redirect loop detected | Critical | 10 |
| TECH-005 | Long redirect chain | Warning | 7 |
| TECH-006 | Temporary redirect (302) on permanent content | Warning | 5 |
| TECH-007 | Mixed content on HTTPS page | Warning | 7 |
| TECH-008 | Page served over HTTP | Critical | 9 |
| TECH-009 | Soft 404 detected | Warning | 6 |
| TECH-010 | URL contains uppercase characters | Info | 2 |
| TECH-011 | URL too long | Warning | 4 |
| TECH-012 | URL contains special characters | Info | 2 |
| TECH-013 | Inconsistent trailing slash | Warning | 4 |
| TECH-014 | WWW/non-WWW inconsistency | Warning | 5 |
| TECH-015 | URL parameter duplication | Warning | 5 |
Performance
Core Web Vitals, page speed, and resource optimization
| ID | Rule | Severity | Weight |
|---|---|---|---|
| PERF-001 | Slow Time to First Byte | Warning | 7 |
| PERF-002 | Very slow TTFB | Critical | 9 |
| PERF-003 | Poor LCP (Largest Contentful Paint) | Warning | 8 |
| PERF-004 | Very poor LCP | Critical | 9 |
| PERF-005 | Poor CLS (Cumulative Layout Shift) | Warning | 7 |
| PERF-006 | Very poor CLS | Critical | 8 |
| PERF-007 | Poor INP (Interaction to Next Paint) | Warning | 7 |
| PERF-008 | Very poor INP | Critical | 8 |
| PERF-009 | Large page size | Warning | 6 |
| PERF-010 | Very large page size | Critical | 8 |
| PERF-011 | Too many HTTP requests | Warning | 5 |
| PERF-012 | Excessive HTTP requests | Critical | 7 |
| PERF-013 | Large HTML size | Warning | 5 |
| PERF-014 | Render-blocking resources | Warning | 5 |
| PERF-015 | Excessive render-blocking resources | Critical | 7 |
| PERF-016 | Missing compression | Warning | 6 |
| PERF-017 | Unminified CSS | Info | 3 |
| PERF-018 | Unminified JavaScript | Info | 3 |
| PERF-019 | Missing browser caching | Warning | 5 |
| PERF-020 | Slow page load time | Warning | 6 |
Mobile
Mobile-friendliness and responsive design
| ID | Rule | Severity | Weight |
|---|---|---|---|
| MOBILE-001 | Missing viewport meta tag | Critical | 8 |
| MOBILE-002 | Viewport not responsive | Warning | 7 |
| MOBILE-003 | Content wider than screen | Warning | 6 |
| MOBILE-004 | Touch elements too close | Warning | 5 |
| MOBILE-005 | Text too small to read | Warning | 6 |
| MOBILE-006 | Tap targets too small | Warning | 5 |
Crawlability & Indexing
Robots.txt, sitemaps, canonical tags, and crawl directives
| ID | Rule | Severity | Weight |
|---|---|---|---|
| CRAWL-001 | robots.txt missing | Warning | 5 |
| CRAWL-002 | robots.txt returns error | Warning | 6 |
| CRAWL-003 | robots.txt syntax error | Warning | 5 |
| CRAWL-004 | Important page blocked by robots.txt | Critical | 9 |
| CRAWL-005 | Sitemap missing | Warning | 5 |
| CRAWL-006 | Sitemap not in robots.txt | Info | 3 |
| CRAWL-007 | Sitemap XML error | Warning | 6 |
| CRAWL-008 | Sitemap URL returns error | Warning | 6 |
| CRAWL-009 | Page noindexed | Info | 3 |
| CRAWL-010 | Page nofollowed | Info | 3 |
| CRAWL-011 | Canonical URL missing | Info | 4 |
| CRAWL-012 | Canonical URL mismatch | Warning | 6 |
| CRAWL-013 | Canonical points to non-existent page | Critical | 8 |
| CRAWL-014 | Canonical points to redirected page | Warning | 5 |
| CRAWL-015 | Self-referencing canonical missing | Info | 3 |
| CRAWL-016 | Orphan page (no internal links) | Warning | 7 |
| CRAWL-017 | Page too deep | Warning | 5 |
| CRAWL-018 | Page very deep | Critical | 7 |
Meta Descriptions
Meta description optimization for search results
| ID | Rule | Severity | Weight |
|---|---|---|---|
| META-001 | Meta description missing | Warning | 6 |
| META-002 | Meta description too short | Info | 3 |
| META-003 | Meta description too long | Warning | 4 |
| META-004 | Duplicate meta description | Warning | 6 |
| META-005 | Meta description same across pages | Warning | 5 |
Headings
H1-H6 heading structure and hierarchy
| ID | Rule | Severity | Weight |
|---|---|---|---|
| H1-001 | H1 tag missing | Critical | 8 |
| H1-002 | Multiple H1 tags | Warning | 5 |
| H1-003 | H1 tag too long | Info | 2 |
| H1-004 | H1 tag too short | Info | 2 |
| H1-005 | Duplicate H1 across pages | Warning | 5 |
| H1-006 | Empty H1 tag | Warning | 6 |
| HEADING-001 | Heading hierarchy broken | Warning | 5 |
| HEADING-002 | Skipped heading level | Info | 3 |
| HEADING-003 | No subheadings (H2-H6) | Info | 3 |
Content Quality
Content depth, uniqueness, and readability
| ID | Rule | Severity | Weight |
|---|---|---|---|
| CONTENT-001 | Thin content | Warning | 6 |
| CONTENT-002 | Very thin content | Critical | 8 |
| CONTENT-003 | Duplicate content detected | Critical | 9 |
| CONTENT-004 | Near-duplicate content | Warning | 7 |
| CONTENT-005 | Low readability score | Info | 3 |
| CONTENT-006 | Very low readability | Warning | 5 |
| CONTENT-007 | Keyword stuffing detected | Warning | 6 |
| CONTENT-008 | No text content | Critical | 9 |
Images
Image optimization, alt text, and loading
| ID | Rule | Severity | Weight |
|---|---|---|---|
| IMG-001 | Missing alt attribute | Warning | 6 |
| IMG-002 | Empty alt attribute | Info | 3 |
| IMG-003 | Alt text too long | Info | 2 |
| IMG-004 | Large image file | Warning | 5 |
| IMG-005 | Very large image file | Critical | 7 |
| IMG-006 | Unoptimized image format | Info | 3 |
| IMG-007 | Missing lazy loading | Info | 3 |
| IMG-008 | Missing image dimensions | Info | 2 |
| IMG-009 | Broken image | Critical | 8 |
| IMG-010 | Missing responsive images | Info | 3 |
Links
Internal and external link health
| ID | Rule | Severity | Weight |
|---|---|---|---|
| LINK-001 | Broken internal link | Critical | 8 |
| LINK-002 | Broken external link | Warning | 4 |
| LINK-003 | Too many outbound links | Warning | 4 |
| LINK-004 | Excessive outbound links | Critical | 6 |
| LINK-005 | Too few internal links | Warning | 5 |
| LINK-006 | Generic anchor text | Info | 3 |
| LINK-007 | Redirect internal link | Info | 3 |
| LINK-008 | External link without rel attribute | Info | 2 |
| LINK-009 | Nofollow on internal link | Info | 2 |
Schema & Structured Data
JSON-LD and structured data validation
| ID | Rule | Severity | Weight |
|---|---|---|---|
| SCHEMA-001 | Invalid JSON-LD syntax | Critical | 7 |
| SCHEMA-002 | Schema validation errors | Warning | 5 |
| SCHEMA-003 | Schema validation warnings | Info | 3 |
| SCHEMA-004 | Missing required schema property | Warning | 5 |
| SCHEMA-005 | No structured data present | Info | 3 |
| SCHEMA-006 | Missing Organization schema | Info | 2 |
| SCHEMA-007 | Missing WebSite schema | Info | 2 |
| SCHEMA-008 | Missing Breadcrumb schema | Info | 2 |
| SCHEMA-009 | Article missing required properties | Warning | 5 |
| SCHEMA-010 | Product missing required properties | Warning | 5 |
Security
SSL, HTTPS, and security headers
| ID | Rule | Severity | Weight |
|---|---|---|---|
| SEC-001 | SSL certificate invalid | Critical | 10 |
| SEC-002 | SSL certificate expired | Critical | 10 |
| SEC-003 | SSL certificate expiring soon | Warning | 7 |
| SEC-004 | Weak TLS version | Warning | 6 |
| SEC-005 | Missing HSTS header | Warning | 5 |
| SEC-006 | HSTS max-age too short | Info | 3 |
| SEC-007 | Missing Content-Security-Policy | Info | 3 |
| SEC-008 | Missing X-Frame-Options | Info | 3 |
| SEC-009 | Missing X-Content-Type-Options | Info | 2 |
| SEC-010 | Insecure form action | Warning | 6 |
GEO - AI Readability
Content structure for AI and LLM consumption
| ID | Rule | Severity | Weight |
|---|---|---|---|
| GEO-001 | No structured summary | Warning | 5 |
| GEO-002 | No FAQ section | Info | 3 |
| GEO-003 | No key takeaways | Info | 3 |
| GEO-004 | No definition boxes | Info | 2 |
| GEO-005 | No bullet points or lists | Info | 2 |
| GEO-006 | No comparison tables | Info | 2 |
| GEO-007 | Inconsistent terminology | Warning | 4 |
| GEO-008 | No step-by-step instructions | Info | 2 |
GEO - AI Citations
Attribution and credibility signals for AI
| ID | Rule | Severity | Weight |
|---|---|---|---|
| GEO-010 | Missing author attribution | Warning | 5 |
| GEO-011 | No external citations | Info | 3 |
| GEO-012 | Statistics without sources | Warning | 5 |
| GEO-013 | No publish/update date | Info | 3 |
| GEO-014 | Content not fact-checkable | Info | 3 |
| GEO-015 | Missing expert quotes | Info | 2 |
GEO - LLM Crawlability
AI bot access and content rendering
| ID | Rule | Severity | Weight |
|---|---|---|---|
| GEO-020 | AI bots blocked in robots.txt | Warning | 6 |
| GEO-021 | GPTBot blocked | Info | 4 |
| GEO-022 | ClaudeBot blocked | Info | 4 |
| GEO-023 | Content heavily JS-dependent | Warning | 5 |
| GEO-024 | No server-side rendering | Info | 3 |
| GEO-025 | Content cloaking detected | Critical | 9 |
Accessibility
WCAG compliance and assistive technology support
| ID | Rule | Severity | Weight |
|---|---|---|---|
| A11Y-001 | Missing lang attribute | Warning | 5 |
| A11Y-002 | Missing ARIA landmarks | Info | 3 |
| A11Y-003 | Low color contrast | Warning | 5 |
| A11Y-004 | Very low color contrast | Critical | 7 |
| A11Y-005 | Missing form labels | Warning | 5 |
| A11Y-006 | Missing skip navigation | Info | 3 |
| A11Y-007 | Keyboard navigation issues | Warning | 5 |
| A11Y-008 | Missing focus indicators | Warning | 4 |
| A11Y-009 | Auto-playing media | Warning | 4 |
| A11Y-010 | Missing captions for video | Warning | 5 |
| A11Y-011 | Missing transcripts for audio | Warning | 5 |
| A11Y-012 | Tab order issues | Warning | 4 |
International SEO
Hreflang and multi-language optimization
| ID | Rule | Severity | Weight |
|---|---|---|---|
| INTL-001 | Hreflang tag missing | Info | 3 |
| INTL-002 | Hreflang return link missing | Warning | 5 |
| INTL-003 | Self-referencing hreflang missing | Info | 3 |
| INTL-004 | x-default hreflang missing | Info | 3 |
| INTL-005 | Invalid hreflang language code | Warning | 5 |
| INTL-006 | Hreflang points to non-canonical | Warning | 5 |
| INTL-007 | Language/region mismatch | Warning | 4 |
Local SEO
Local business optimization
| ID | Rule | Severity | Weight |
|---|---|---|---|
| LOCAL-001 | Missing LocalBusiness schema | Info | 3 |
| LOCAL-002 | NAP inconsistency | Warning | 5 |
| LOCAL-003 | Missing address on contact page | Info | 3 |
| LOCAL-004 | Missing phone number | Info | 2 |
| LOCAL-005 | Missing map embed | Info | 2 |
Ready to audit your website?
Run a comprehensive audit against all 177 rules and get actionable recommendations.
Social Tags
OpenGraph and Twitter Card metadata