Skip to content
Metric VaultHelp Center
Open app

On-page SEO checker

Free public tool that reads the live HTML at any URL and grades seventeen on-page SEO checks with a 0-100 score.

Last updated 2026-08-06

Summary#

The Free On-Page SEO Checker fetches the URL you enter, parses the HTML that came back, and grades seventeen on-page checks into a 0-100 score. It reports the values it found rather than generic advice: the actual title length, the number of H1 tags, the alt-text coverage across your images. It runs at /free-tools/onpage-seo-checker with no account.

Purpose#

On-page SEO is the part you fully control. You cannot make another site link to you and you cannot change how many people search for your topic, but you can set a title, write a meta description, use one H1, and describe your images. Those basics are also the part that quietly breaks: a template change drops a canonical tag, a CMS migration empties every meta description, an editor pastes three H1 tags into a page.

This checker gives you the current state of all seventeen in one fetch.

Overview#

One request is made to the URL you entered, following redirects. Everything else is computed from the HTML that came back: title, meta description, meta keywords, viewport, robots meta, canonical, <html lang>, every heading, every image and its alt attribute, every link split into internal and external, Open Graph and Twitter Card tags, JSON-LD blocks, and the visible word count once scripts and styles are stripped out.

The score starts at 100 and subtracts twelve points for each critical failure and four for each warning, clamped to the 0-100 range.

Benefits#

  • Reports real values, not advice. You see 52 chars, not "keep your title short".
  • Covers seventeen checks in a single fetch, including the ones people forget such as lang and Twitter Card.
  • Works on any public URL, including a competitor's page.
  • Nine headline factors summarize the result before you read the full list.
  • No account, no credits.

Use Cases#

  • Pre-publish check. Run it on a staging or live URL before you promote it.
  • Template regression check. Run it after a deploy on one page of each content type.
  • Freelance or agency spot check. A fast, defensible answer to "is this page set up correctly".
  • Teaching. The check list is a usable on-page curriculum for a junior marketer.

Requirements#

A public URL returning HTML. Private, loopback and internal hosts are refused, and a page behind a login cannot be read.

Permissions#

Anyone. No account, plan or role. A shared hourly fair-use limit applies per IP address across the free tools.

Cost#

Free. Zero credits.

metricvaultai.com → Free tools → On-Page SEO Checker

The page is at /free-tools/onpage-seo-checker.

Inputs#

FieldLabel / placeholderRequiredValid valueNotes
URLexample.com/pageYesA bare domain or a full URL with a pathhttps:// is added if omitted. The placeholder includes a path because this tool is designed for a specific page.

Helper line: No signup · No credit card · Reads the live HTML at the URL you enter.

Step-by-Step Guide#

  1. Open /free-tools/onpage-seo-checker.
  2. Enter the page in the field marked example.com/page.
  3. Select Check page. The button reads Checking… and the result area shows Fetching and analyzing the page….
  4. Read the score, scan the nine factor tiles for the red and amber ones, then use the All checks list for the exact detail behind each.

Reading the Results#

The score ring. 0-100 with a tier badge and a verdict line:

ScoreBadgeVerdict line
80-100Strong on-page SEOThe on-page basics are in good shape on this page.
55-79Some fixes neededA few on-page factors are missing or off. See the checks below.
0-54Needs workSeveral on-page basics are missing. Start with the failed checks below.

The heading beside the ring reads On-page SEO score, and a How to read it strip shows the bands 80-100 strong, 55-79 some fixes and 0-54 needs work.

On-page factors. Nine tiles, each colored green, amber or red, each showing the measured value:

TileShows
Title tagCharacter count, or Missing, with the quality band in brackets
Meta descriptionCharacter count, or Missing, with the quality band
H1 heading1 (good), 0 (missing) or <N> (multiple)
Heading structureH1:<n> · H2:<n> · H3:<n>
Canonical URLSet or Missing
Structured data<N> blocks or None
Open GraphComplete or Incomplete
Image alt text<N>% covered or No images
Word count<N> words with the depth band

Each tile carries an i marker with a short explanation of the factor and what a good value looks like.

All checks. The seventeen checks, each marked pass, warning or critical, with the value that produced the verdict:

CheckPasses whenCritical when
HTTPSThe final URL is HTTPSIt is not
Status CodeHTTP 200Anything else
Title Tag30 to 60 charactersNo title at all
Meta Description70 to 160 charactersNo meta description at all
H1 TagExactly oneNone
H2 TagsOne or more
ViewportA viewport meta tag existsIt does not
CanonicalA canonical URL is set
Language<html lang> is set
Robots MetaNo noindex
Image Alt TextNo image is missing alt
Internal LinksOne or more
External LinksAlways reported as a pass
Open Graphog:title and og:description both present
Twitter CardA twitter:card tag exists
Structured DataOne or more JSON-LD blocks
Word Count300 words or moreZero words

Checks with no critical condition can only pass or warn.

Note

Note: The tiles and the check list use slightly different thresholds on purpose. The Title Tag check passes between 30 and 60 characters, while the Title tag tile reports its quality band using the same range. The Meta description tile calls 120 to 160 characters good, while the Meta Description check passes from 70. Where the two disagree, the check list is what feeds the score.

Examples#

Example

Example: A blog post scores 76 with Some fixes needed. Two warnings drive it: Meta Description at 48 characters and Image Alt Text reporting 14 images, 9 missing alt. The alt-text tile shows 36% covered. Both are single-session fixes and together they return twelve points.

Example

Example: A landing page scores 52. The critical entries are H1 Tag with 0 H1 tags found and Meta Description with Missing meta description. The designer had styled a div as the headline. Changing it to an H1 and writing a description takes the page to 76.

Screenshots#

Screenshot
The On-Page SEO Checker hero with the H1, the subtitle, the example.com/page input and the "Check page" button.
Screenshot
A completed result showing the score ring, the tier badge, the "On-page SEO score" heading and the How to read it band strip.
Screenshot
The "On-page factors" card with the nine colored tiles showing measured values and their info markers.
Screenshot
The "All checks" card listing the seventeen checks with pass, warning and critical states and their detail text.

Tips#

  • Read the detail text, not just the color. Title Tag shows the first eighty characters of your actual title, which often reveals a templating bug.
  • The Heading structure tile is the fastest way to spot a page that uses H3 for visual size rather than hierarchy.
  • Alt-text coverage counts images with a genuinely descriptive alt. Empty alt attributes are counted as uncovered, which is correct for content images and harsh for decorative ones.
  • Re-run immediately after each fix. Nothing is cached.

Best Practices#

  • Clear the criticals first. Each is worth twelve points, three times a warning.
  • Write the title and the meta description for the person deciding whether to click, then check the lengths. Length is a constraint, not the goal.
  • Use exactly one H1 per page and let H2 carry the sections. It helps this score, the AI-readiness tools, and readers using screen readers.
  • Fix template-level items once. Canonical, viewport, lang, Open Graph and Twitter Card are usually set in one place.

Common Mistakes#

  • Chasing 100. External Links always passes and several checks can only warn, so a realistic strong page lands in the eighties. Fix the real problems rather than the number.
  • Checking only the homepage. Templates differ by content type. Check one page of each.
  • Ignoring Word Count on a deliberately short page. A pricing page with ninety words will warn. Judge the warning against the page's job.
  • Assuming a JavaScript-rendered page is empty. The fetch reads the HTML your server returned, so client-rendered content is not counted.

Limitations#

  • One URL per run. There is no crawl. Whole-site auditing is Site Audit.
  • Server-rendered HTML only. Content added by JavaScript after load is invisible.
  • Parsing is pattern based rather than a full browser render, so unusual markup can be miscounted.
  • The checks are technical. Nothing here judges whether the copy is good, whether the keyword is right, or whether the page deserves to rank.
  • No structured-data validation beyond counting JSON-LD blocks. Use Schema validator for that.
  • No export, history, scheduling or recommendations panel. See Free tools, no account needed.

Troubleshooting#

SymptomLikely causeFix
That does not look like a valid URL. Try example.com/pageThe input is not a plausible hostnameEnter example.com or example.com/page
Check failed: On-Page SEO check failed: <message>The fetch failedConfirm the URL loads in a browser and the domain resolves
Status Code reports something other than 200A redirect chain ended badly, or the page errorsLoad the URL directly and follow the redirects
Word count near zero on a full pageThe page renders content with JavaScriptCheck the raw HTML source; consider server-side rendering
Alt-text coverage lower than expectedDecorative images use empty alt attributesExpected behavior; judge the number against how many images are decorative
Hourly fair-use limit reached (100 light-tool calls/hour)…Too many free-tool runs from one network within the hourWait for the next hourly reset

FAQs#

How is the score calculated? It starts at 100 and subtracts twelve for each critical check and four for each warning, then clamps the result between 0 and 100.

Why did my score change without me changing the page? Something the checks read changed. A different redirect target, a slow-loading element that was not in the HTML this time, or an A/B test serving a different template are the usual causes.

Does this check my whole site? No. One URL per run. Site Audit in the app crawls a property.

Is it really free? Yes. No account, no card, no credits.

Can I run it on a competitor? Yes. It reads publicly served HTML, the same as any browser.

What does the in-app version add? On-Page SEO Checker runs the same seventeen checks inside your workspace, where results are saved to your history, exportable and part of a wider technical workflow. See What you get on Free for what a signed-in account includes.

See also

Was this article helpful?