Angle
On-Page SEO Checker
Give it a URL and it fetches the page, or paste the HTML yourself. Either way you see what a crawler sees: the title it will show, the headings it will follow, whether the page asks to be indexed at all, and what your structured data is missing.
We fetch the page server-side, because a browser is not allowed to read another site's HTML.
Open the page, press Ctrl+U (Cmd+Option+U on a Mac) for view-source, then select all and copy.
Used to check whether the canonical points at this page, and to tell internal links from external ones.
Summary
0
Fail
0
Warn
0
Pass
Why does my page look fine but not rank?
Because what you see in a browser and what a crawler reads are two different documents.
A page can render perfectly and still carry a noindex
left over from staging, a canonical pointing at a different URL, or a title Google
truncates halfway through. None of that is visible on the page itself — it lives in the
head, where nobody looks until traffic disappears. The most expensive problems in SEO
are almost never design problems; they are one-line instructions in the markup that
quietly tell search engines to ignore everything else you did.
How long should a title tag be?
Think in pixels, not characters. Google truncates titles at roughly 580 pixels on desktop, and because letters have different widths, a 60-character title of narrow letters fits where a 55-character title of wide ones does not. "Illinois" and "Mmmmmmmm" are the same length and nowhere near the same width. Aim for 50–60 characters as a starting point, then check the pixel estimate. Put the distinctive words first: if it does get cut, you want the part that survives to be the part that earns the click, not your brand name.
Does this check the live page?
When you use the crawl button, yes: we fetch the URL from our server and audit exactly what came back, following redirects and reporting the final URL and status code. When you paste HTML instead, we audit only what you pasted and make no request at all. The crawl path exists because a browser is forbidden from reading another site's HTML, so the fetch has to happen somewhere else. What it still cannot do is render the page — it reads the HTML as delivered, not as JavaScript later rebuilds it.
My site is React — why does the checker see an empty page?
Because view-source shows the HTML your server sent, and on a client-side rendered site
that is often an empty <div id="root"> plus a
script bundle. The content you see arrives later, built by JavaScript in the browser. To
audit what the page actually becomes, open devtools, go to the Elements panel, right-click
the <html> tag and choose Copy → Copy outerHTML,
then switch to "Use HTML instead" and paste it. The difference between those two documents is worth looking at
on its own: it is roughly the difference between what a crawler gets on first pass and
what it gets only if it comes back to render.
Is one H1 per page still a rule?
It was never a ranking rule, and Google has said outright that multiple H1s are fine. What still matters is the outline. Headings tell a crawler, and a screen reader, how the page is organised, and skipping from H2 straight to H4 breaks that structure for both. One H1 is the simplest way to make the outline obvious, which is why it remains good advice even though nothing penalises you for breaking it.