How to check a page for SEO before you publish it

How to check a page for SEO before you publish it

A page can look finished in the browser and still ship with no meta description, two H1 tags, or a broken JSON-LD block. Read the HTML a crawler receives, fix the outline, then rewrite the head tags.

check a page for seo

What a crawler reads when nobody checks the page

The browser shows you the finished page after every script has run. A search crawler often starts from the HTML the server sends. If the title, the description, or the headings are added later by JavaScript, a check of that raw HTML can come back without them.

The common problems are small and easy to miss. A template can drop the meta description. A theme can print the page name as an H1 and the post title as a second H1. A heading can jump from H2 to H4 because the H3 style looked too big. A JSON-LD block can fail to parse after one missing comma, and then the structured data on that page is ignored.

The head tags have their own traps. If a CMS writes one canonical or robots tag and a plugin writes another, search engines may ignore both or pick one on their own. A meta description is not a direct ranking factor, but it often becomes the snippet people read before they click, and Google often rewrites it anyway. A noindex left over from a staging site keeps the page out of results no matter how good the copy is.

Test the response, then the outline, then the head tags

Start with the Website SEO Analyzer. Enter the full URL of one page. It fetches the HTML on our server, follows redirects, and inspects the final response without running JavaScript. It checks the response, redirects, HTTPS, and compression. It reads the title, meta description, canonical, robots, and hreflang tags. It counts headings, words, images without alt text, and internal and external links. It looks for JSON-LD and reports a block that fails to parse, and it checks robots.txt and whether it lists a sitemap. Each item comes back as pass, warning, or fail. There is no overall score, because the problems are not equal. It checks one page per request and is not a site crawler. The page fetch is capped at 5 MB, and nothing is stored.

If the report flags headings, open the Heading Checker for the same URL. It pulls every h1 to h6 in source order and draws the outline as a tree. It flags a page with no H1, more than one H1, skipped levels such as H2 to H4, empty headings, and very long headings. More than one H1 is not always wrong, but it often makes the structure harder to follow. The checker reads HTML only. It cannot tell whether a heading looks too large on screen, and headings added by JavaScript are not counted.

When you know what the head should say, write it in the Meta Tag Generator. Fill in the title and description, add the canonical URL and the robots rule, and add viewport, charset, or theme color if the template lacks them. It prints the tags in a standard order, ready to paste into the head. A product page might use index,follow. A filtered category page you want out of results can use noindex,follow. It runs in your browser and nothing is uploaded. It cannot see your live page, so it cannot tell whether your CMS prints a second title or canonical somewhere else.

Run the check, fix the outline, then rewrite the head

  1. Enter the full page URL in the Website SEO Analyzer and run it. Write down every fail and warning.
  2. If the report mentions a missing title or description that you can see in the browser, those tags are probably added by JavaScript. Move them into the HTML the server sends.
  3. Run the same URL through the Heading Checker. Keep one H1, put the H2 and H3 levels in order, and remove empty headings used only for spacing.
  4. Write the title, description, canonical, and robots values in the Meta Tag Generator and copy the tags into the page head. Delete any older copy of the same tags.
  5. Publish the change and run the analyzer again. Check that the canonical names the URL you want indexed and that robots does not say noindex.

What these three tools will not do

  • The analyzer and the heading checker read one page at a time from the raw HTML. They do not crawl the site and do not run JavaScript.
  • The analyzer stops at 5 MB of page HTML, and it lists problems without a single score.
  • The heading checker reads structure only. It does not judge font size or how the headings look.
  • The meta tag generator writes tags. It cannot find duplicate titles or canonicals your CMS adds, and a correct description does not make Google show it.

Frequently asked questions

Does an SEO checker run the JavaScript on my page?

This one does not. It reads the raw HTML response, so a title, description, or heading added by a script can be missing from the report.

Is it wrong to have two H1 tags on one page?

Not always, but it often makes the outline less clear. Most pages read better with one H1 and lower levels under it. The Heading Checker flags repeated H1 tags.

Why does Google show a different description from my meta description?

Google often rewrites snippets. A correct meta description helps, but it does not guarantee that text appears in the results.

Can I check a whole website at once?

Not with these tools. The analyzer and the heading checker test one URL per request, so run each important page on its own.

Tools used in this guide

  • Website SEO AnalyzerSEO Tools

    Checks one page for SEO basics, response details, tags, headings, links, and structured data without running JavaScript.

  • Heading CheckerSEO Tools

    Shows the H1 to H6 outline for one page and flags missing H1s, skipped levels, empty headings, and similar issues.

  • Meta Tag GeneratorSEO Tools

    Build page title, description, canonical, robots, and other basic head tags.

More from the blog

All guides