Website SEO Grader
Grade any page out of 100 across crawling and indexing, on-page content, structured data and Core Web Vitals. Every section weight is published, every check shows its mark, and a page Google cannot index cannot pass.
Short answer
This grades one page out of 100 across four sections with fixed, published weights: indexing 35, content 30, speed 20, sharing 15. A check scores 1 for a pass, 0.5 for a warning and 0 for a failure; informational checks are excluded. One rule overrides the arithmetic: if any indexing check fails, the score is capped at 49, because a page Google will not index does not earn a passing grade for loading quickly.
The arithmetic, published rather than implied
Most graders hand you a number and keep the method. That makes the number unarguable, which sounds authoritative and is useless: you cannot act on a score when you do not know what moved it. This is the whole calculation.
| Section | Weight | What it covers | Why that weight |
|---|---|---|---|
| Crawling and indexing | 35 | Status, redirects, robots directives, canonical, robots.txt | It gates everything else. A page that cannot be indexed cannot rank at all |
| On-page content | 30 | Title, meta description, headings, word count, images, internal links | The part you can actually edit, and where most findings are |
| Speed and Core Web Vitals | 20 | LCP, INP and CLS from field data, with a lab score as fallback | A real ranking input, and a smaller one than its reputation suggests |
| Structured data and sharing | 15 | JSON-LD validity, Open Graph, Twitter card | Changes how the result looks rather than whether it appears |
Why informational checks score nothing at all
A check that reports a fact rather than a judgement, such as which schema types were found, is excluded from the denominator rather than counted as a pass. Counting it would let a page raise its grade by having more facts about it, which measures nothing.
The one rule that overrides the score
If any check in the indexing section fails, the grade is capped at 49 however well the other three sections did. This is the deliberate difference between this grader and one that averages.
Consider a page carrying a noindex left over from staging. Its title is excellent, its structured data is valid, its Core Web Vitals are green. An averaging grader gives it something in the eighties and a reassuring green badge. The page cannot appear in Google at all. The eighties is not a slightly generous score, it is a wrong answer, and a tool that returns it has actively misled the person who ran it.
- A non-200 response, because there is nothing at the URL to index.
- A noindex in the meta robots tag or the X-Robots-Tag header, because it is an explicit instruction not to index.
- A canonical pointing at a different URL, because it tells Google to index that one instead.
- A robots.txt rule blocking the path, because Google cannot fetch the page to read anything else about it.
Any one of those caps the grade. For a list of URLs rather than one, the index checker runs the same question across a hundred at a time.
What a grade cannot see, which is most of ranking
A grader measures what is mechanically checkable on one page: the title tag, the indexing directives, the Core Web Vitals. That is a genuinely useful set, and it runs out well before ranking does.
| What decides ranking | Can a grader see it? | Where it actually lives |
|---|---|---|
| Whether the page answers the query | No | Reading it against the results that rank |
| Who links to the page and the site | No | A backlink index, and the authority checker for a summary |
| Whether the content is better than the alternatives | No | Judgement, informed by the SERP |
| Whether Google can index it | Yes | This grader's indexing section |
| Whether the head tags are sane | Yes | This grader's content section |
| Whether it loads acceptably | Yes, when field data exists | Core Web Vitals, from PageSpeed Insights |
Grade a competitor instead
The most useful run of this tool is usually not on your own page. Grading the three results that outrank you turns an abstract target into a specific list of differences, and frequently shows that they score no better than you do, which is itself the answer: the gap is content or links, not markup.
- 01
Grade a page that earns something, not the homepage
A homepage is the least representative page on most sites: it is over-optimised, heavily linked and nothing like the pages that actually rank. Grade a product page, a guide or a category page instead.
- 02
Read the cap before the grade
If an indexing check failed, the score is capped at 49 regardless of everything else. That is not a harsh grader, it is the only honest arithmetic: a page Google will not index cannot be a good page because it is fast.
- 03
Fix the failures, then decide about the warnings
A failure is a check that found something definitively wrong. A warning scored half marks because it found something real and survivable. The failures are the list; the warnings are a conversation.
- 04
Open the arithmetic rather than trusting the letter
Every check, its mark and the section weights are shown. If you disagree with a weight, you can see exactly what it moved, which is the whole reason the calculation is on the page rather than behind it.
- 05
Re-grade after deploying, not after editing
The grader reads the HTML your server returns. A change that is live in your CMS but not yet rendered, or that only appears after JavaScript runs, will not move the grade and should not.
- 06
Stop grading once the page is a B
The distance from B to A is almost always smaller than the distance from a B page to a page with better content and more links. The grade measures what is mechanically checkable, and that runs out well before ranking does.
What this grader does differently
Published weights
Indexing 35, content 30, speed 20, sharing 15, printed on the page
Every mark shown
What each check scored and why, not just the total
Indexing failures cap the grade
A page Google cannot index does not pass for being fast
Warnings score half
Because a warning found something real and survivable, not nothing
Info checks excluded
A fact about the page is not a mark earned
Real Core Web Vitals
Field data where Google has it, with the fallback labelled
Honest when speed is missing
The result says the section scored on a warning rather than a measurement
No backlink hand-waving
Link strength is not a property of this page's markup, so it is not graded here
Why two graders never agree
Frequently asked questions
What is an SEO grader?
A tool that scores a page against a set of checks and reduces the result to a single number or letter. The useful ones say what the checks were and what each was worth; the rest hand you a number with no arithmetic behind it, which cannot be argued with and therefore cannot be acted on. This one publishes the weights, shows the mark for every check, and explains the one rule that overrides the arithmetic.
How is the grade calculated?
Four sections carry fixed weights: crawling and indexing 35, on-page content 30, speed and Core Web Vitals 20, structured data and sharing 15. Within a section each check scores 1 for a pass, 0.5 for a warning and 0 for a failure, and informational checks are excluded rather than counted as free passes. The section's share of its weight is the fraction it earned. Every one of those numbers is shown in the results.
Why is the score capped at 49 when indexing fails?
Because averaging would otherwise hand a B to a fast, beautifully titled page that Google is not allowed to index. Indexing is not one factor among several, it is the gate: a page that cannot enter the index earns nothing from anything else on the list. Capping is the only arithmetic that reflects that, and it is the single biggest difference between this and a grader that averages everything.
Does a good SEO grade mean I will rank?
No, and any grader implying otherwise is selling something. This measures what is mechanically checkable on one page: whether it can be indexed, whether its title and description are sane, whether its structured data parses, whether it loads quickly. Ranking is decided by whether the content answers the query better than the other results and whether anyone links to it, and neither is visible to a checker.
What is the difference between this and the SEO content grader?
They grade different halves. This one grades the technical state of the page: indexing directives, head tags, structured data and Core Web Vitals, all measured. The content grader scores the writing itself against twenty weighted signals including readability, keyword fit and structure, with an AI judgement kept visibly separate. Run this to find what is broken, and that one to find what is thin.
What is a good SEO score?
A B is the sensible target and an A is usually not worth chasing. Most of the distance between B and A is made of warnings on checks that are judgement calls, and the time costs more than it returns. If a page is a C or below, something real is wrong and the failure list will say what.
Why did my page score badly on speed?
The speed section uses PageSpeed Insights, which reports real-visitor Core Web Vitals when Google has enough traffic data for the page and falls back to a lab test when it does not. A lab score is a single simulated load on a throttled connection and is far more volatile than field data. When PageSpeed Insights cannot be reached at all, the section scores on a warning rather than on measurement, and the result says so.
Can I grade a competitor's page?
Yes. Everything the grader reads is public: the markup, the response headers and the Core Web Vitals Google publishes. Grading three pages that outrank you for a query you care about is more useful than grading your own, because it turns an abstract target into a list of specific differences.
Does it grade the whole site or one page?
One page per run. A site grade is an average that hides the thing you need, which is which pages are the problem. If you want a site-wide view, grade your five most valuable pages individually and compare, or run a crawl that reports every page against the same checks.
Why do two SEO graders give me different scores?
Because they are different exams. Each tool picks its own checks, its own thresholds and its own weights, and almost none publish them. One grader's 85 and another's 62 can describe exactly the same page. The number is only meaningful inside one tool, and comparing a score across tools is meaningless. That is the argument for a grader that shows its arithmetic.
Does the grade change if I run it again?
The technical checks are deterministic and will give the same answer on the same markup. The speed section can move between runs, because lab measurements vary with the conditions of a single simulated load. If a grade shifts by a few points with no deploy in between, that is the speed section rather than anything you did.
Does it check my whole domain's authority or backlinks?
No, deliberately. Links are a property of the site and its reputation, not of the page's markup, and mixing them into a page grade produces a number that cannot be improved by editing the page it claims to grade. For link strength, the PageRank and authority checker reports a domain's score on its own terms.
Other reporting and research tools
AI Humanizer
Rewrite AI-generated text to sound naturally human. Choose tone, style, platform (X, LinkedIn, Reddit, TikTok), creativity level, and more.
Use toolGSC Regex Generator
Describe a Search Console filter in plain English and get an RE2 regex back, explained token by token, with a live match tester.
Use toolDA, DR & PageRank Converter
Translate a Moz DA, an Ahrefs DR or an Open PageRank score into the other two as a range, and look up any domain's real Open PageRank figure.
Use toolPageRank & Authority Checker
Check the link authority of any website on a 0 to 10 scale, with its global rank and referring domain count, from the open Common Crawl link graph.
Use toolBulk Website Authority Checker
Score up to 50 domains for link authority in one run, with the median, spread and outliers reported for the whole set and a CSV to take away.
Use toolDomain Age Checker with Spam Score
Check the age of up to 50 domains from the registry, set against their first archive capture, with a 0 to 100 spam score that flags re-registered expired domains and link sellers.
Use toolUTM Builder
Build a tagged campaign URL for GA4, with presets for email, social and ads, and warnings for mixed case, unknown mediums and tagged internal links.
Use toolSEO Report Generator
Audit any page and save a client-ready PDF: indexing, on-page, structured data and Core Web Vitals, with a fix-first list and the rule behind each finding.
Use toolRead up on auditing and reporting
A tool tells you what is wrong. These explain what to do about it.
Branded vs Non-Branded Keywords: How to Split Them in GSC and Read the Mix
Read guideSEO Annotations: How to Tie Every Traffic Change to What Caused It
Read guideGSC BigQuery Export: Setup, the Three Tables, and Your First Queries
Read guideTerms this tool checks
- Core Web Vitals
Core Web Vitals are a set of specific page experience metrics that Google uses as ranking signals: LCP (Largest Contentful Paint) measuring loading speed, INP (Interaction to Next Paint) measuring interactivity, and CLS (Cumulative Layout Shift) measuring visual stability.
- Indexation
Indexation is the process by which search engines add web pages to their searchable database (index).
- Title Tag
A title tag is an HTML element (<title>) that specifies the title of a web page.
- Meta Description
A meta description is an HTML meta tag that provides a brief summary of a web page's content.
One page graded, and the other nine hundred
A grade for one page is a snapshot. CrawlRaven runs the same checks across the whole site and joins them to Search Console and GA4, so the pages that fail arrive sorted by the impressions, clicks and sessions behind each one, and you fix the ones that cost you something.