Free tool

SEO checker: test your page on 15 points

Enter a URL and see, point by point, whether Google is allowed to crawl and index the page, whether the title and description fit, and how fast it loads on a phone. Each of the 15 points shows the measured value, a status and a short explanation.

  • No sign-up
  • No email address
  • Result right in your browser
10of 15 Ok

Example: garden furniture category

A count, not a grade
10 Ok4 Needs work1 Error
  • Indexabilityindexable, no noindexOk
  • Title“Order Garden Furniture in Wood, Metal and Rattan Online | Example.com…” · 82 characters, likely truncatedNeeds work
  • Meta descriptionno meta description setError
  • LCP3.1 s (field data)Needs work
Example with made-up values. This shop page doesn’t exist.

How the SEO checker works

  1. Enter a URL

    The checker looks at exactly one page, for example your most important service page or a category in your shop. The address has to be publicly reachable; the checker can’t fetch pages behind a login or a firewall.

  2. Run the 15 checks

    My server fetches the page, follows up to 5 redirects and reads the HTML exactly as it is delivered, plus the HTTP headers and the robots.txt file. It doesn’t run JavaScript. Loading speed is measured by Google’s PageSpeed Insights API for the mobile view.

  3. Read the status

    Each point shows the measured value and one of four statuses.

  • OkNothing to do on this point.
  • Needs workThe page works but leaves something on the table here. Read the value before you act. Some yellow results are intentional, such as a canonical that deliberately points to another URL.
  • ErrorSomething is missing, invalid, contradictory or blocks the page, for example a noindex. For loading speed, Error means the value falls in the range Google rates as poor. An error does not mean Google is penalizing the page.
  • No dataThe value could not be measured. This happens with loading speed, and with every point that needs the HTML when the page doesn’t answer with 200 or doesn’t return HTML. It counts neither as Ok nor as an error.
All 15 checks and their thresholds
CheckOkNeeds workError
Status code and redirects200, at most 1 permanent redirectmore than 1 redirect, or a temporary oneno 200, or more than 5 redirects
HTTPSencrypted, no file loaded over httpencrypted, but files loaded over httppage runs without HTTPS
Indexabilityno noindex–noindex in the meta tag or the X-Robots-Tag header
robots.txtcrawling allowed, or no robots.txt (4xx other than 429)robots.txt unreachable (5xx, 429 or no response)crawling blocked for Googlebot
Canonicalpoints to itselfmissing, or points to another URLseveral different canonicals
hreflangno hreflang links in the HTML, or with self-referencelanguage versions without self-referenceinvalid language code
Title20 to 60 characters, exactly oneover 60, under 20, or severalmissing or empty
Meta description70 to 160 characters, exactly oneover 160, under 70, or severalmissing
Headingsat least one H1, no skipped levelno H1, or a skipped level–
Alt attributesevery image has an alt attributeimages without an alt attribute–
Structured datareadable JSON-LD, or Microdata presentnone foundJSON-LD not readable
Mobile displayviewport with width=device-widthviewport without width=device-widthno viewport
LCPup to 2.5 sover 2.5 to 4 sover 4 s
INPup to 200 msover 200 to 500 msover 500 ms
CLSup to 0.1over 0.1 to 0.25over 0.25

The character counts for title and meta description are the checker’s rules of thumb. The thresholds for LCP, INP and CLS are Google’s, as set out in the PageSpeed Insights documentation. The checker reads at most 2 MB of HTML and waits at most 12 seconds per request for your server to respond.

What the checker doesn’t test

Green results mean that on these 15 points the page isn’t getting in Google’s way. The checker only sees the HTML your server delivers. If your page sets the title, headings or structured data with JavaScript, the checker won’t find them even though Google can see them, because Google renders JavaScript in a separate step. Whether the page ranks also depends on six things that no form with a single URL field can capture.

  • Search intent

    Whether your page delivers what people expect when they search only becomes clear when you look at the search results for your keyword. The checker doesn’t know your keyword and shows no rankings.

  • Cannibalization

    Whether two of your pages compete for the same query only becomes clear when you compare all pages and look at the Search Console data.

  • Content quality

    The checker counts characters and reads tags. Whether a text reflects real experience and offers evidence and substance of its own is something no parser can measure.

  • The whole website

    Internal linking errors, orphan pages and duplicate content only show up in a crawl of all URLs. A flawless homepage says nothing about 400 product pages.

  • Backlinks

    Which websites link to your page, and whether those links help, isn’t in your page’s source code. That takes link data and judgment.

  • Priorities

    The checker doesn’t weight anything. A noindex on your most important page and a missing alt attribute count the same in the total. What comes first depends on your goal, your budget and your system.

When the free check is enough and when you need an audit

The check is enough when you want to verify a single page, for instance after a template change or before a campaign starts. An audit pays off when rankings are dropping, a relaunch is coming up or you want to know what is holding the website back as a whole. In between sits the self-check with Search Console and Screaming Frog, if you want to put in the time yourself.

Free SEO checker

€0

For a quick look at one page

  • One URL per check
  • 15 checks with measured value and status
  • Loading speed for the mobile view
  • No review of search intent or text quality
  • No action list, no prioritization
Check page

SEO audit

from €600

When you need more than a single page reviewed

  • The whole website instead of a single URL
  • Reviewed by me personally
  • Prioritized action list
Go to the SEO audit

For what drives the price, see what an SEO audit costs.

Frequently asked questions about the SEO checker

Is the SEO checker really free?

Yes. You don’t need an account and you don’t enter an email address; the result appears in your browser. I built it myself: I’m Viktor Pásztor, an SEO freelancer. It costs nothing because it only tests what can be tested automatically. I make my living from what comes after: interpreting the findings and fixing them.

Are there free SEO analysis tools?

Yes, and the most important ones come from Google itself. Google Search Console shows which queries your pages appear for and which pages aren’t indexed. PageSpeed Insights measures loading speed, and the Rich Results Test checks structured data. This checker brings together 15 points for a single page. My own selection for daily work is under the tools I use every day.

What is a good SEO score?

This checker doesn’t give a score. “10 of 15 Ok” is an unweighted count: a noindex weighs as much in it as a title that is too long, even though one takes the page out of search and the other changes almost nothing. Other tools count and weight by their own rules, so two scores can’t simply be compared. Read the individual results. An SEO audit settles which points take priority on your website.

What happens to the URL I enter?

My server fetches the page and the robots.txt file. The site owner can see these requests in the server log under the name “VP-SEO-Check.” For loading speed, the URL goes from my server to Google’s PageSpeed Insights API. Your IP address is not passed along. Google then loads the page itself for the measurement. The HTML result stays in the cache for 15 minutes and the loading speed for 6 hours, then both expire. I keep your IP address only as a salted hash for one hour, to count the hourly limit. The bot check is a computing task your browser solves invisibly, with no cookies and no third parties. The details are in my privacy policy (in German).

Why doesn’t the checker show an INP value for my page?

Because Google has too little field data. INP needs interactions: it measures how quickly the page responds to clicks and input from real Chrome users. A lab test only loads the page and clicks nothing. That’s why pages with few visitors show “No data.” It isn’t a bad rating, and it’s left out of the count.

Why is the result still the old one after my change?

Because the checker caches results per URL: the HTML result for 15 minutes and the loading speed for 6 hours. If you have just changed a title, clear your website’s cache and check again after 15 minutes. With loading speed there is more to it: field data describes the last 28 days, and Google evaluates the 75th percentile there. So an improvement shows up only gradually over the following weeks.

How often can I run a check?

Ten checks per hour. Every check with a valid URL counts, including a repeat of the same URL served from the cache. On top of that there is a daily cap for all visitors combined, which protects the server and the measurement quota. Once it is reached, pages that aren’t already in the cache can be checked again after midnight UTC.

Red results and no time to fix them yourself?

In an intro call I go through your result with you. I tell you which points come first and which ones you can leave alone.

Go through my result in an intro call