How is this technical health report generated?
We collect structured signals from public pages, apply repeatable checks, and order fixes by impact and effort. We do not predict rankings or invent conclusions from missing data.
health-worker/2.0.0Updated 2026-10-02Purpose
A Health Report finds foundational technical SEO issues in public pages and helps prioritize fixes. Keywords, competitor analysis, and content opportunities belong to the Content Report.
Generation process
Every report follows the same reproducible pipeline.
- 01Submit a site
- 02Discover robots.txt and sitemaps
- 03Sample same-host pages
- 04Extract HTML signals
- 05Run rule checks
- 06Calculate category scores and priority
- 07Build the Fix List
- 08Send email notification
Data collected
Only pages, robots.txt, and XML sitemaps available without a login are read. Link architecture has a category score, but link counts alone do not currently incur a penalty.
Status, redirects, robots.txt, sitemaps, canonicals, and noindex
Titles, descriptions, and H1 structure
Language, image alt text, Open Graph, and bounded public-text excerpts
Internal and external link counts; counts do not currently incur a penalty
JSON-LD presence and JSON syntax
Viewport, image dimensions, and HTML response size; not Core Web Vitals
Mixed content on HTTPS pages
Checks and scoring
Each category starts at 100. One issue normally creates one Finding even when it affects several pages; affected pages are included as evidence. Expand a row to see the current production rule.
P1HTTP errorsStatus below 200, status 400 or above, or the page could not be fetchedCritical
P1Missing titleNo non-empty <title>Critical
P2Missing descriptionNo meta descriptionWarning
P3Possibly long titleTitle exceeds 60 characters; this is a heuristic thresholdOpportunity
P2Duplicate titlesMultiple sampled pages use the same non-empty titleWarning
P3Duplicate descriptionsMultiple sampled pages use the same non-empty descriptionOpportunity
P2Unusual H1 structureH1 count is not exactly one; review in contextWarning
P2Missing canonicalNo rel=canonical declarationWarning
P1NoindexMeta Robots contains noindex; confirm that this is intentionalWarning
P2Invalid robots fileRoot robots.txt is unavailable or has no User-agent directiveWarning
P2Missing sitemapNo parseable XML sitemap containing URLs was foundWarning
P3Missing page languageThe root HTML element has no lang attributeOpportunity
P2Missing viewportNo viewport meta tagWarning
P2Missing image altAn image has no alt attributeWarning
P3Missing image dimensionsAn image does not declare both width and heightOpportunity
P3No JSON-LDNone of the sampled pages contains application/ld+jsonOpportunity
P2Invalid JSON-LDJSON-LD content is not valid JSONWarning
P3Incomplete Open GraphThe page has fewer than two og:* meta tagsOpportunity
P1Mixed contentAn HTTPS page references an HTTP resourceCritical
The total is the rounded average of 7 category scores. No category falls below zero. P1/P2/P3 also consider impact and effort, not severity alone.
How to read it
Check coverage first, then work through the Fix List. Rerun the audit after changes to confirm that public signals changed.
Discovered vs. sampled URLs
Discovered URLs are counted from a sitemap. Sampled pages are actually fetched and checked, up to 12 per report. Conclusions apply only to that sample.
Each Finding
Shows the issue, evidence, affected pages, recommended fix, impact, effort, confidence, and official references. Heuristics are explicitly marked for review.
Address inaccessible pages, missing titles, mixed content, and other high-impact issues.
Complete high-impact, low-effort warnings next.
Then improve experience, sharing, and structured-data opportunities.
Not currently covered
These capabilities require browser rendering, user authorization, or proprietary data and must not be inferred from a public-HTML report.
- The JavaScript-rendered DOM
- Actual Google indexing status
- Real rankings, impressions, clicks, or traffic
- Real-user Core Web Vitals
- Backlinks
- Authenticated pages
- Every URL on the site
- Full rich-result business eligibility for a JSON-LD type
Billing and refunds
Points are charged by report component, with no subscription.
- New workspaces receive 10 points
- $1 = 10 points; minimum top-up $1
- One point is reserved when the task is created
- Completed tasks and partial tasks with usable output settle; a fully failed Health Task is refunded
- Queue retries and duplicate deliveries never charge twice
Data and version transparency
Even a public crawl needs explicit boundaries and a traceable version.
What is saved
URLs, public metadata, check evidence, and bounded excerpts of public text are saved. A Health Report does not require GSC authorization.
How history works
Each result stores its engine version. New rules affect newly generated reports only and never silently rewrite historical results.