SEO Dogtor
Health Report · Public method

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.

Method version health-worker/2.0.0Updated 2026-10-02
12maximum sampled pages
Publicdata requiring no authorization
19current checks
1point / Health Task
01

Purpose

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.

The health score is not a Google score, ranking signal, indexing guarantee, or traffic forecast. A category score of 100 only means the current sample and rules found no issue.
02

Generation process

Every report follows the same reproducible pipeline.

  1. 01Submit a site
  2. 02Discover robots.txt and sitemaps
  3. 03Sample same-host pages
  4. 04Extract HTML signals
  5. 05Run rule checks
  6. 06Calculate category scores and priority
  7. 07Build the Fix List
  8. 08Send email notification
10-second limit per request1.5 MB maximum per responseUp to 5 same-host redirectsJavaScript is not executedLocal, LAN, and private-network targets are rejected
03

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.

Crawling and indexing

Status, redirects, robots.txt, sitemaps, canonicals, and noindex

On-page basics

Titles, descriptions, and H1 structure

Content and sharing

Language, image alt text, Open Graph, and bounded public-text excerpts

Link architecture

Internal and external link counts; counts do not currently incur a penalty

Structured data

JSON-LD presence and JSON syntax

Experience signals

Viewport, image dimensions, and HTML response size; not Core Web Vitals

Security and trust

Mixed content on HTTPS pages

04

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.

Critical −24Usually P1
Warning −12Usually P2
Opportunity −5Usually P3
P1HTTP errorsStatus below 200, status 400 or above, or the page could not be fetchedCritical
Crawling and indexingDeterministic checkOfficial reference ↗
P1Missing titleNo non-empty <title>Critical
On-page basicsDeterministic checkOfficial reference ↗
P2Missing descriptionNo meta descriptionWarning
On-page basicsDeterministic checkOfficial reference ↗
P3Possibly long titleTitle exceeds 60 characters; this is a heuristic thresholdOpportunity
On-page basicsHeuristic · manual review recommendedOfficial reference ↗
P2Duplicate titlesMultiple sampled pages use the same non-empty titleWarning
On-page basicsDeterministic checkOfficial reference ↗
P3Duplicate descriptionsMultiple sampled pages use the same non-empty descriptionOpportunity
Content and sharingDeterministic checkOfficial reference ↗
P2Unusual H1 structureH1 count is not exactly one; review in contextWarning
On-page basicsHeuristic · manual review recommendedOfficial reference ↗
P2Missing canonicalNo rel=canonical declarationWarning
Crawling and indexingDeterministic checkOfficial reference ↗
P1NoindexMeta Robots contains noindex; confirm that this is intentionalWarning
Crawling and indexingDeterministic checkOfficial reference ↗
P2Invalid robots fileRoot robots.txt is unavailable or has no User-agent directiveWarning
Crawling and indexingDeterministic checkOfficial reference ↗
P2Missing sitemapNo parseable XML sitemap containing URLs was foundWarning
Crawling and indexingDeterministic checkOfficial reference ↗
P3Missing page languageThe root HTML element has no lang attributeOpportunity
Content and sharingDeterministic checkOfficial reference ↗
P2Missing viewportNo viewport meta tagWarning
Experience signalsDeterministic checkOfficial reference ↗
P2Missing image altAn image has no alt attributeWarning
Content and sharingDeterministic checkOfficial reference ↗
P3Missing image dimensionsAn image does not declare both width and heightOpportunity
Experience signalsDeterministic checkOfficial reference ↗
P3No JSON-LDNone of the sampled pages contains application/ld+jsonOpportunity
Structured dataDeterministic checkOfficial reference ↗
P2Invalid JSON-LDJSON-LD content is not valid JSONWarning
Structured dataDeterministic checkOfficial reference ↗
P3Incomplete Open GraphThe page has fewer than two og:* meta tagsOpportunity
Content and sharingDeterministic checkOfficial reference ↗
P1Mixed contentAn HTTPS page references an HTTP resourceCritical
Security and trustDeterministic checkOfficial reference ↗

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.

05

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.

P1 · Today

Address inaccessible pages, missing titles, mixed content, and other high-impact issues.

P2 · This week

Complete high-impact, low-effort warnings next.

P3 · Later

Then improve experience, sharing, and structured-data opportunities.

completedThe task completed and produced a usable report.partialUsable results exist, but some pages failed to fetch; only usable components are charged.failedNo usable Health result was produced; reserved points are returned.
06

Not currently covered

These capabilities require browser rendering, user authorization, or proprietary data and must not be inferred from a public-HTML report.

07

Billing and refunds

Points are charged by report component, with no subscription.

1 point / report
  • 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
08

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.