HTML SEO Checker

Paste a page's HTML source and check title length, meta description, canonical tag, H1 count, favicon, robots noindex, viewport and image alt coverage.

1,083 views

How It Works

Paste a page's HTML source — from your browser's "View Source", a saved .html file, or markup copied straight out of a CMS — and the checker walks the document the same way a browser does, using the browser's own HTML parser instead of regular expressions. That distinction matters: regex-based checkers choke on nested quotes, self-closing tags, comments that contain angle brackets, or attributes split across lines, and end up missing or double-counting elements. A real parser builds an actual DOM tree first, so the count of <h1> elements, the length of the <title> text, and whether an <img> has a genuine alt attribute (versus an empty one, which is valid but different) are all read from that tree, not guessed at from string matching.

Each check maps to a specific, well-documented ranking or usability signal. The title tag is flagged if it falls outside roughly 50-60 characters — Google typically renders around 580-600 pixels of a title in the desktop search results, which in a proportional font works out to that character range; titles longer than that usually get truncated with an ellipsis, and titles shorter than ~30 characters waste a chance to include a secondary keyword or brand name. The meta description is checked against a wider 150-160 character band, since Google's snippet display is more forgiving but still truncates long descriptions. The H1 count should be exactly one: a single H1 gives both search engines and screen-reader users one unambiguous answer to "what is this page about," while zero H1s leaves that question unanswered and more than one dilutes the page's topical focus and confuses the outline that assistive technology builds from heading levels. A missing canonical link is flagged because, without one, a page reachable through several URLs (tracking parameters, trailing slashes, http vs https) risks being treated as duplicate content split across those variants instead of consolidated under one indexable URL. A robots noindex hit is surfaced as a warning rather than an error, because it's sometimes intentional (a thank-you page, an internal search page) but very often it's a staging directive that got deployed to production by accident — which silently removes the page from search results with no other visible symptom. The tool also checks for a viewport meta tag (needed for the page to render at a sensible width on a phone rather than a shrunk-down desktop layout), the lang attribute on <html> (used by browsers and screen readers to pick the right pronunciation, and by search engines for language targeting), a favicon link, and a running count of <img> tags with no alt text — each one a small accessibility gap and a missed opportunity for image search.

For example, pasting the HTML of a typical small-business homepage might turn up: a title of just 9 characters ("Ana Sayfa") — far under the ideal range — three separate <h1> tags left over from a page-builder template, no canonical link, and 14 of 20 images missing alt text. None of that is visible on the rendered page; it only surfaces by reading the markup.

What to Know

  • Nothing is uploaded or fetched — you paste the HTML, and parsing happens entirely in your browser.
  • The checker reports on-page signals only; it doesn't verify off-page factors like backlinks or crawl budget.
  • A flagged item is a signal to review, not an automatic ranking penalty — context (an intentional noindex on a thank-you page, say) still matters.

Frequently Asked Questions

Does this fetch my live page, or do I paste the HTML?

You paste it — view-source output, a saved .html file's content, or HTML copied from your CMS. The tool never fetches a URL on its own.

What title and description lengths are considered ideal?

Roughly 50-60 characters for the title and 150-160 for the description — close to what Google typically renders before truncating with an ellipsis. For a pixel-accurate preview, use this site's Google Search Result Preview tool.

Why does a robots noindex tag get flagged?

A noindex directive tells search engines not to index the page at all — often left in by mistake after a staging deploy. It's flagged as a warning so you notice it before publishing, not because it's always wrong.

Why is exactly one H1 considered ideal?

One H1 gives search engines and screen-reader users a single, unambiguous topic for the page. Zero H1s leaves that question unanswered; several H1s dilute the page's focus and break the heading outline assistive tools rely on.

Does a flagged issue mean my page will drop in rankings?

Not automatically. These are on-page hygiene signals worth reviewing, not confirmed penalties — a missing canonical or a short title is worth fixing, but it sits alongside many other ranking factors this tool doesn't measure.

Comments

No comments yet — be the first to write one!

Similar Tools