Health Score: assessment of the technical condition of the site
Health Score (also called Site Health Score or SEO Health Score) is a 0–100 summary of a website's technical condition that an audit tool gives you after crawling its pages. The fewer pages with problems, the higher the number. Ahrefs Site Audit, Semrush Site Audit and PromoPilot's SEO Audit all have such a score, but each tool calculates it differently. Health Score only describes the technical side of a site; it is not a forecast of rankings or traffic.
Below: how Site Health Score differs from a page-level "SEO score", how different tools calculate it, how the formula works in our audit, what counts as a good score and what to fix first.
Site Health Score vs SEO score
"SEO score" and "SEO scorecard" can mean very different things, and they are easy to mix up:
- Page SEO score — a grade for a single URL: whether it has a Title and meta description, an H1, image alt text, decent speed. Online page checkers give you this, for example our On-Page checker.
- Site Health Score (SEO Health Score) — a grade for the whole site after a crawl: what share of pages pass the checks without problems.
- SEO scorecard — usually not a metric at all but a KPI summary table: rankings, traffic, links, technical health. Health Score can be one row in that table.
A high score for one page does not mean the site is healthy, and vice versa: a site with a Health Score of 90 can still have important pages with critical errors.
How different tools calculate Health Score
| Tool | Name | How it is calculated |
|---|---|---|
| Ahrefs Site Audit | Health Score | The share of internal URLs without "Error"-level issues. Warnings and notices do not affect the score. |
| Semrush Site Audit | Site Health | A percentage based on the number of errors and warnings found and their variety relative to the checks performed. |
| PromoPilot SEO Audit | Health Score | A weighted share of pages: a page with a critical error weighs 1.0, with warnings 0.4, with notices 0.1. |
Hence the main rule: you cannot compare Health Scores across tools. An 85 in one tool and a 70 in another can describe the very same site — they use different check catalogs, thresholds and formulas. Compare a site with itself, in the same tool.
How Health Score is calculated in PromoPilot
After the crawl, every page goes into exactly one bucket, based on the most serious issue found on it. The buckets are then weighted and compared with the total number of crawled pages.
| What was found on the page | Weight |
|---|---|
| At least one critical error | 1.0 |
| No errors, but warnings | 0.4 |
| Notices only | 0.1 |
| Nothing found | 0 |
Health Score = 100 × (1 − (1.0 × E + 0.4 × W + 0.1 × N) / P)
Here E is pages with errors, W is pages with warnings only, N is pages with notices only, and P is all crawled pages. The result is rounded and clamped to the 0–100 range.
Example calculation
200 pages were crawled: 10 have critical errors, 30 have warnings only, 60 have notices only and 100 are clean.
Sum of weights: 10 × 1.0 + 30 × 0.4 + 60 × 0.1 = 10 + 12 + 6 = 28. Score: 100 × (1 − 28 / 200) = 86.
If you fix the template that caused a critical error on all ten pages and they become clean, the sum of weights drops to 18 and the score rises to 91. But if each of those pages still has at least one error left, the score will not change, no matter how many other issues you close.
The score is counted by pages, not by number of issues. One critical error and twenty on the same page cost the same. That is why fixing templates that affect many URLs at once pays off the most.
When there is no score. If no page could be opened during the crawl — the site blocks bots, the homepage redirects to another domain, or the server does not respond — you will see "—" instead of a number, plus a banner explaining why. An empty crawl with no issues found never turns into a high score.
Which checks it is made of
The catalog has 65 checks across six areas: indexing and crawling, meta and on-page, content, performance, links and structure, security and HTTPS. Each area has its own count in the report; unlike the overall Health Score, it does take the number of issues into account. 12 checks are considered critical:
- the page returns 4xx, a 5xx server error, the page is unreachable, a redirect loop;
- multiple canonical tags on a page, site content rendered by JavaScript;
- links to broken pages;
- missing Title, duplicate Title, broken JSON-LD structured data;
- failed Core Web Vitals;
- HTTPS/HTTP mixed content.
Each group of issues is covered in detail in how to read an audit report.
What is a good Health Score?
| Score | Color in the report | What it means |
|---|---|---|
| 80–100 | Green | Good shape: issues are isolated, nothing systemic |
| 60–79 | Yellow | Average: usually one or two template-level problems across many pages |
| 0–59 | Red | Work to do: errors affect a significant part of the site |
These thresholds are a guideline, not an industry standard. Three things matter more:
- The trend. Compare a full audit with the previous full audit of the same site. A quick scan crawls a limited number of pages, so comparing its score with a full audit is not valid.
- Which pages are affected. A score of 92 with a 5xx error on a category page is worse than a 75 caused by long Titles in a blog archive.
- You don't need 100. A perfect score means zero notices on every page; on a live site that is nearly impossible and brings no practical benefit.
What to fix first
- Indexing blockers on important pages. 4xx and 5xx, unreachable pages, an accidental noindex, a robots.txt block — these pages cannot rank at all. See indexing issues in the audit.
- Template-level critical errors. Duplicate Titles, mixed content and broken JSON-LD usually come from a template: one fix closes hundreds of pages and moves the score the most.
- Broken internal links and redirects. Redirect loops and chains and links to 404s waste crawl budget and leak link equity.
- Warnings on pages with traffic. If Search Console is connected to your account, the audit shows clicks and impressions over 28 days for the pages each issue was found on. Start with the issues that hit URLs actually bringing in visitors.
- Notices last. Long URLs, missing Open Graph tags or an imperfect heading hierarchy barely affect the score (weight 0.1).
After making fixes, run the audit again and look not only at the number but also at the "Changes since last audit" block: it shows what was fixed, what is new and what remains. Rechecking a single page only updates that page; the overall Health Score is recalculated on a new crawl.
Why Health Score changes between audits
The score can move even if you changed nothing on the site. Typical reasons:
- The denominator changed. The crawl found new pages (catalog filters, tag archives, pagination) — and new issues along with them.
- The site responded differently. Slow responses or 5xx errors during the crawl become errors, even if the page works fine the rest of the time.
- External data. Core Web Vitals checks rely on 28 days of real Chrome user data, which fluctuates from week to week.
- Bot protection. If a firewall or Cloudflare starts blocking the crawler, some pages are marked "Access restricted" instead of being checked normally.
So before concluding that "things got worse", open the comparison with the previous audit and see exactly which issues were added.
Where to find Health Score in PromoPilot
- Audit report — a ring with the score in the header, plus a score for each of the six areas.
- SEO Audit dashboard — the average Health Score across all your sites.
- Site page — audit history with the score for every crawl.
- Audit completion email — the score in the subject line and a breakdown by severity in the body.
- Printable report, mobile app and API — the same metric.
Learn more about the service in the SEO Audit article.
Common misconceptions
- "A high Health Score means rankings." Technical health is a prerequisite, not a cause of growth. Rankings also depend on content, relevance to the query and links.
- "The score dropped, so the site got worse." Often the crawl simply covered more pages, or new checks were added to the catalog.
- "I fixed an error, so the score must go up." If another error remains on that page, its weight does not change.