Checks Reference
GeoDaddy runs a set of checks against each page and reports a status for each: Pass, Warn, or Fail. Every non-passing check includes a concrete fix recommendation.
Each check has a severity that determines its point value:
| Severity | Points | Examples |
|---|---|---|
| Critical | 10 | H1 presence, HTTPS, mobile viewport, JSON-LD, AI bot access |
| Medium | 5 | Meta description, redirect chains, alt text, listicle, Core Web Vitals |
| Minor | 2 | Sitemap presence, semantic HTML elements |
Technical Checks
| Check ID | Severity | Pass condition |
|---|---|---|
tech-meta-title | Critical | Title tag present, 50–60 characters |
tech-meta-description | Medium | Meta description present, 120–158 characters |
tech-heading-h1 | Critical | Exactly one <h1> tag |
tech-mobile-viewport | Critical | <meta name="viewport" content="width=device-width..."> present |
tech-https | Critical | Served over HTTPS with no mixed-content resources |
tech-robots-txt | Medium | robots.txt exists and includes a Sitemap: directive |
tech-sitemap-xml | Minor | Valid XML sitemap with 50,000 or fewer URLs |
tech-redirect-chains | Medium | No chains longer than 2 hops |
tech-broken-links | Medium | Requires --max-pages crawl mode to detect |
Content Checks
| Check ID | Severity | Pass condition |
|---|---|---|
cont-heading-structure | Medium | No skipped heading levels (e.g., H1 to H3 without H2) |
cont-json-ld | Critical | At least one valid JSON-LD block with @type and schema.org context |
cont-semantic-html | Minor | At least one semantic element: <article>, <main>, <nav>, <section>, <aside>, <header>, <footer> |
cont-alt-text | Medium | All <img> elements have a non-empty alt attribute |
GEO Checks
These checks are specific to AI search engine optimization — helping your content get cited by generative AI models.
| Check ID | Severity | Pass condition |
|---|---|---|
geo-listicle | Medium | Page uses listicle formatting: numbered headings, "Top N" patterns, ordered lists, or comparison tables |
geo-schema-stacking | Medium | All three GEO schema types present: Article, ItemList, FAQPage |
geo-ai-bot-gptbot | Critical | GPTBot (ChatGPT) not blocked in robots.txt |
geo-ai-bot-claudebot | Critical | ClaudeBot (Claude) not blocked in robots.txt |
geo-ai-bot-perplexitybot | Critical | PerplexityBot (Perplexity) not blocked in robots.txt |
geo-ai-bot-googleother | Critical | GoogleOther (Google AI) not blocked in robots.txt |
geo-ai-bot-bytespider | Critical | Bytespider (ByteDance AI) not blocked in robots.txt |
geo-ai-bot-ccbot | Critical | CCBot (Common Crawl) not blocked in robots.txt |
Many sites inadvertently block AI crawlers through catch-all
User-agent: *directives in robots.txt. If a bot can't read your page, it can't cite it.
Performance Checks
Only populated when the --vitals flag is used. GeoDaddy launches a headless Chromium instance to measure real browser performance. Chromium (~150 MB) is automatically downloaded on first use.
| Check ID | Severity | Pass | Warn | Fail |
|---|---|---|---|---|
perf-lcp | Critical | ≤2.5s | 2.5–4s | >4s |
perf-fcp | Medium | ≤1.8s | 1.8–3s | >3s |
perf-cls | Medium | ≤0.10 | 0.10–0.25 | >0.25 |
perf-ttfb | Medium | ≤800ms | 800ms–1.8s | >1.8s |
perf-tbt | Medium | ≤200ms | 200–600ms | >600ms |
Thresholds follow Google's Web Vitals standards.