What this website grader checks
Enter the address of any public page. Our server loads it the way a desktop browser would. It first follows the redirects, for the address you typed and for its http:// version. Then four requests run side by side on the final page: one reads its HTML, one reads the site's robots.txt and tests the page against it, one tests up to 100 links on the page, and one fetches the icons the page declares. The results are combined into 22 checks, each with a weight, and the weights add up to 100.
The checks are the ones that decide whether a page can be found and shared at all. A single noindex tag or one line in robots.txt can keep a page out of Google no matter how good it is, so those weigh most. Titles, descriptions and the mobile viewport come next, then broken links, share images and icons. Each check in the report says what we found, why you lost points and what to change, with a link to the tool that shows the details.
It grades one page at a time, usually the home page or a page that should bring in leads. Grade your most important pages one by one: a site is only as healthy as the pages people land on.
How the score is calculated
Each check ends in one of four states. A pass earns the full weight, a partial result earns half, a fail earns nothing, and a check that could not run (for example because the site refused our link test) is left out, so the score is worked out from the checks that did run. The score is the points earned divided by the points available, times 100, rounded to a whole number.
| Area | Check | Weight | Full points when |
|---|---|---|---|
| Loading and HTTPS | Page loads | 6 | The final address answers with a 2xx status, usually 200 |
| Loading and HTTPS | HTTPS | 8 | The final address starts with https:// |
| Loading and HTTPS | http:// redirects to https:// | 4 | The http:// version of the address ends on https:// |
| Loading and HTTPS | Redirects | 2 | No redirect, or one permanent redirect (301 or 308) |
| Indexing | No noindex | 10 | No noindex in the robots meta tags or the X-Robots-Tag header |
| Indexing | robots.txt allows Googlebot | 8 | Googlebot may crawl this page, and robots.txt does not answer with a server error |
| Indexing | Canonical | 2 | One canonical tag, pointing to the page itself |
| Indexing | Sitemap in robots.txt | 2 | robots.txt lists at least one sitemap |
| Indexing | CSS and JavaScript crawlable | 2 | Googlebot may fetch the page's own CSS and JavaScript files |
| On-page SEO | Title | 8 | One title of 30 to 60 characters |
| On-page SEO | Meta description | 6 | One description of 70 to 160 characters |
| On-page SEO | Mobile viewport | 6 | A viewport meta tag with width=device-width |
| On-page SEO | Main heading (H1) | 4 | At least one H1 |
| On-page SEO | Page language | 2 | The html tag has a lang attribute |
| Links | Broken internal links | 8 | None (1 or 2 earn half) |
| Links | Broken external links | 4 | None (1 or 2 earn half) |
| Links | Internal links that redirect | 2 | None (1 to 5 earn half) |
| Sharing | Open Graph title and description | 4 | Both og:title and og:description are set |
| Sharing | Share image | 4 | og:image loads, at least 1200 x 630 px, close to 1.91:1 and under 5 MB |
| Sharing | X card | 2 | twitter:card is set |
| Icons | Favicon | 4 | An icon is declared in the HTML and every declared icon loads |
| Icons | Apple touch icon | 2 | A 180 x 180 apple-touch-icon is declared |
One rule overrides the sum. A page that does not load, carries noindex, or is blocked for Googlebot in robots.txt is capped at 49, whatever else it gets right, because none of the other checks matter until Google can read and keep the page. Grades follow the usual school scale: A from 90, B from 80, C from 70, D from 60, F below 60.
The weights are our judgment of what costs a typical business site the most, based on Google's own documentation (see the sources). They are not Google's ranking factors: no tool outside Google knows those, and any grader that claims to is guessing.
The problems that cost the most
Most sites lose points in the same few places. In rough order of damage:
- A forgotten noindex. Sites are often built on a staging address with "discourage search engines" switched on, and launched without switching it off. The page looks perfect to visitors and never appears in Google. Google's documentation is explicit: a page with
noindexis dropped from results the next time it is crawled. - A robots.txt that blocks too much. A
Disallow: /left over from development, or a rule meant for one folder that matches the whole site, stops Googlebot from reading the page. A robots.txt that answers with a server error is worse: Google temporarily treats the whole site as disallowed while the errors last. - Redirect chains and http:// leftovers. Every hop slows the first visit and makes the move harder for search engines to follow. The http:// version of every address should go to https:// in one permanent redirect, and internal links should point straight at the final address.
- Missing or duplicated titles. The title is the blue link in Google. Without one, or with the same title on every page, Google writes its own, and it is rarely the one you would choose.
- Broken links. A link to a page that no longer exists is a dead end for visitors and for crawlers. Google says 404s on their own do not hurt the rest of the site, but they waste the visit and whatever authority the link was meant to pass on.
- Blank share previews. Without Open Graph tags and a share image, a link posted on LinkedIn, Facebook or WhatsApp shows a grey box or a random picture from the page. For many businesses that is the first impression.
For the full detail of each area, open the dedicated tool linked from every check: the meta tag checker shows every tag with link previews, the broken link checker lists every link with its status, the redirect checker traces each hop, and the robots.txt checker tests any URL and crawler against the rules.
Speed and Core Web Vitals: why there is no speed score here
Many graders put a speed score at the top. A fair one needs either a real browser loading the page on a throttled phone connection, which is what Lighthouse in PageSpeed Insights does, or field data from real Chrome users, which is what Google uses for Core Web Vitals. A quick server check can do neither, so this grader does not score speed at all rather than show a number it cannot back up.
What the report does show, without scoring it, is how long your server took to answer our request from Cloudflare's network. A slow answer there (over about a second) usually points to slow hosting or a page that is built on every visit without caching. For the real measurement, every report has a button that opens Google PageSpeed Insights for the same address.
Website grader or a full SEO audit?
A grader is a quick health check of one page against fixed rules. It is the right tool to catch the expensive mistakes after a launch, a redesign or a plugin update, and to check that a fix worked. It cannot tell you whether your content answers what your buyers search for, how your site compares with competitors, which pages Google actually keeps in its index, or why traffic dropped last month. That needs Google Search Console data, a crawl of the whole site and someone who reads the results with your business in mind.
If you are comparing graders: HubSpot's Website Grader, the best known, describes itself as scoring performance, mobile readiness, SEO and security. This one leaves speed to PageSpeed Insights and goes deeper on what can quietly keep a page out of Google or make it share badly, and it shows the weight of every check so you can see exactly why you lost points.
Methodology and limits
- What we fetch
- First, the address you entered and its
http://version, followed hop by hop (up to 10 hops, including meta refresh). If the page answers, four requests run side by side on its final address: the HTML of the page (up to 2 MB, as the server sends it, before any JavaScript runs), the site's robots.txt and the page's own CSS and JavaScript files, up to 100 links on the page (internal first) with HEAD and then GET, and every icon the page declares plus/favicon.icoand the web app manifest. All requests use desktop Chrome headers and time out after 10 seconds. - Scoring
- 22 checks with weights that add up to 100: pass earns the full weight, partial earns half, fail earns nothing. Checks that could not run are left out of both the points earned and the points available. The score is earned divided by available, times 100, rounded. A page that does not answer 2xx, carries noindex or is blocked for Googlebot is capped at 49. Grades: A 90 to 100, B 80 to 89, C 70 to 79, D 60 to 69, F below 60.
- Thresholds
- Title 30 to 60 characters, description 70 to 160, share image at least 1200 x 630 px (or 600 px wide), close to 1.91:1 and under 5 MB. Google publishes no fixed length for titles or descriptions: these are common ranges that fit a desktop result, not rules. Internal and external links count as broken when they end on a 4xx or 5xx status. Links whose site refused the automated check (401, 403, 429 or LinkedIn's 999) are listed as unverified and cost nothing.
- Partial results
- Several redirects, a temporary redirect or a meta refresh; a canonical that is missing, relative or points to another page; no Sitemap line in robots.txt (you may have submitted it in Search Console instead, which we cannot see); a title or description outside the ranges or repeated; 1 or 2 broken links; 1 to 5 internal links that redirect; only one of og:title and og:description; a share image that is small, oddly shaped or heavy, or set only as twitter:image; no twitter:card; a favicon that exists only as
/favicon.icoor with some declared icons broken; an apple-touch-icon of the wrong size; an http:// version that does not answer. - Not scored
- Server response time (measured from Cloudflare's network, not from your visitors' location), which AI crawlers robots.txt blocks, page speed and Core Web Vitals, content quality, structured data, accessibility, rankings and backlinks. Speed has a direct link to Google PageSpeed Insights in each report.
- Limits
- One page per grade. Content added by JavaScript after the page loads is not seen, though Google renders JavaScript and may see it. Sites that answer automated requests with a bot check page cannot be graded fairly; the report says so instead of showing a score. Pages behind a login and private network addresses cannot be checked.
- Daily limit
- A full grade uses 9 or 10 of 100 free units per day per IP address (1 per redirect check, 1 each for the page, robots.txt and icons, 5 for the links), reset at midnight UTC.
Sources
Show all 15 sources
- Google Search Central, SEO Starter Guide
- Google Search Central, Block Search indexing with noindex
- Google Search Central, How Google interprets the robots.txt specification, including how server errors are handled
- IETF, RFC 9309: Robots Exclusion Protocol
- Google Search Central, Redirects and Google Search
- Google Search Central, How to specify a canonical URL
- Google Search Central, Influencing your title links in search results
- Google Search Central, Control your snippets in search results
- Google Search Central, Mobile site and mobile-first indexing best practices
- Google Search Central Blog, Do 404s hurt my site?
- Google Search Central, Define a favicon to show in search results
- Google Search Central, Understanding Core Web Vitals and Google search results
- W3C, Understanding Success Criterion 3.1.1: Language of Page
- The Open Graph protocol
- HubSpot, Website Grader, description as listed in Google search results on 13 October 2026


