What does an on-page SEO checker look at?
An on-page SEO checker downloads a page and pulls out the HTML elements search engines read first: the <title>, the meta description, any meta robots rules, the canonical link and the main headings. This one reports six of those facts for a single URL so you can confirm a page ships the tags you think it does.
The URL you enter is sent to our server, and our server fetches the page. Browsers block one site's JavaScript from reading another site's HTML (the same-origin policy), so a check like this can't run purely in your browser.
How to run a check
- Paste a full URL, including
https://. A bareexample.comis rejected with "Enter a valid http:// or https:// URL." - Click Check.
- Read the report. If something looks wrong, view the page source in your browser to see the exact markup.
The fetch follows up to ten HTTP redirects and analyses whichever page it lands on, waits up to eight seconds for each response, and reads at most the first 2,000,000 bytes of HTML.
Example report
A product page with the basics in place returns:
Status: 200
Title: Trail Running Shoes | Example Outfitters
Meta description: Lightweight trail shoes tested on rocky terrain, with free returns.
Meta robots: (missing — defaults to index, follow)
Canonical: https://www.example.com/shoes/trail
H1 count: 1
A JavaScript single-page app that renders everything client-side often looks like this instead, because its server HTML is little more than a title and an empty <div>:
Status: 200
Title: Dashboard
Meta description: (missing)
Meta robots: (missing — defaults to index, follow)
Canonical: (missing)
H1 count: 0
Reading each line
| Line | Where it comes from | What to look for |
|---|---|---|
| Status | HTTP status of the final response | Anything other than 200 on a page you want indexed |
| Title | First <title> element, trimmed |
Missing, duplicated across pages, or not describing the page |
| Meta description | <meta name="description"> content |
Missing, boilerplate, or copied from another page |
| Meta robots | <meta name="robots"> content |
A stray noindex left over from staging |
| Canonical | First <link rel="canonical"> href |
Pointing at a different page, or at an http:// or staging URL |
| H1 count | Number of <h1> elements anywhere in the HTML |
0, or several competing top-level headings |
Some context from the primary sources on what these elements do:
- Title. Google says its title links are generated automatically, and the
<title>element is one of several sources it draws on (Google Search Central: title links). A specific, unique title gives it the best raw material. - Meta description. Google mostly builds snippets from page content but may use the meta description when it describes the page better (Google: snippets and meta descriptions). Write one per page, but don't expect it to be shown word for word.
- Meta robots. When the tag is absent, the default rule (
all) applies, which is why the report says "defaults to index, follow". Google also notes that if robots.txt blocks a URL, it never sees that page's meta robots rules at all (Google: robots meta tag). - H1. HTML allows more than one
<h1>, but MDN recommends one per page describing its content, with nested headings below it (MDN: heading elements). Treat a count of 0 or 4 as a prompt to look at the heading outline, not as a ranking penalty.
Blind spots worth knowing
The checker reads markup literally, which produces a few false alarms:
- Attribute spelling, not capitalisation.
name="Robots",NAME="DESCRIPTION"andrel="Canonical"are all found, and a canonical is recognised whencanonicalis one of several space-separatedrelvalues. A typo such asname="descripton", orproperty="description", still shows as missing. - No HTTP headers. A
noindexsent as anX-Robots-Tagheader, or a canonical sent in aLinkheader, isn't reported. Only the HTML is parsed. - No JavaScript. Tags written by a framework or tag manager after load don't exist in the HTML this tool sees. Google does render JavaScript, so a page can be fine for Google and still look empty here. The search engine spider simulator shows how much text is in the raw HTML.
- First match only. If a page has two
<title>or two canonical tags (a common side effect of two SEO plugins), only the first is shown. Search the page source for duplicates. - Bot blocking. The request comes from our server with a user agent naming this site. A site that blocks unknown bots may return a 403 or a challenge page, and the report then describes that page instead.
What to do with the results
If the title or description is missing, the meta tag generator builds correctly escaped <title> and <meta> markup you can paste into your template. When the canonical points somewhere unexpected, run that page through the canonical URL checker and confirm the target returns 200. If the status is a 404 or 5xx, the redirect checker shows whether a redirect chain is landing on the wrong URL.
Run the check again after deploying a fix. The report reflects whatever the server returns at that moment, so it's a quick way to confirm a template change actually reached production.
Last updated