← All free tools
FREE TOOLS / PAGE SOURCE

Free Head & Encoding Integrity Checker.

Find out where browsers and Google really end your page’s <head>, which SEO tags end up in the body because of it, and whether the character encoding is declared so that text displays correctly.

Free, no signup · Same head detection as a full audit · Up to 5 redirects followed · 2 MB HTML limit

READ THE SIGNALS

Head tags only count while the head is still open.

01

Only head elements

title, meta, link, script, style, base, noscript and template.

02

Tags in the head

Canonical and hreflang before the first element that ends the head.

03

One encoding

UTF-8 in the HTTP header and a meta charset in the first 1024 bytes.

THE GUIDE / HEAD AND ENCODING

How to Check That Your Page Head Is Read Correctly

A canonical tag can be in your template and still be ignored, because an image, iframe or stray text earlier in the head made the browser close the head before it. This guide explains how the HTML parser decides where the head ends, what that means for SEO tags, and how encoding problems turn text into garbled characters.

AT A GLANCEEvidence first.
Same rules as the audit.

Check a page without an account.

6audit checks applied
1024bytes for the meta charset
2 MBHTML read limit
01 / THE BASICS

Why the end of the head matters

The HTML Standard tells browsers to close the <head> at the first element that does not belong there and start the body. Google’s documentation lists title, meta, link, script, style, base, noscript and template as valid in the head and says that once it finds an invalid element such as an <img> or <iframe>, it assumes the head has ended and stops reading further head elements.

Canonical and hreflang links are read only in the head; Google ignores a canonical in the body. Robots meta tags are different: Google says it respects them in the body too, but other crawlers may not, so keep them in the head.

!
View source does not show the problem

In the page source the tags look as if they are in the head. The browser’s Elements panel, or this tool, shows where the parser really put them. Tracking pixels, iframes and page-builder markup at the top of the page are the usual cause.

02 / HOW THIS TOOL WORKS

How this tool works, step by step

01

Read robots.txt and fetch the page

The checker reads robots.txt for DeepSpider, requests the page with DeepSpider’s own user agent and follows up to five redirects.

02

Find the real end of the head

It follows the HTML parser’s rules for the start of the document, the same scan a full DeepSpider audit uses, and records the element or text that ends the head.

03

Place every SEO tag

Each canonical, hreflang, meta robots, title, description, viewport and charset tag is marked as in the head, after an early head end, or in the body. Comments and script contents are skipped.

04

Read the encoding

It compares the HTTP Content-Type charset, the meta charset and its position, and the byte order mark, and looks for garbled UTF-8 text in UTF-8 pages.

05

Apply the audit’s checks

It runs the same checks as a full audit: head ends early, canonical or hreflang outside the head, character encoding, quirks mode, multiple titles and garbled characters.

03 / INTERPRETATION

How to read the report

IN HEAD

Read as intended

The tag is inside the head the parser builds.

EARLY END

After the head ended early

An element or text earlier in the head closed it. Google may ignore the tags after that point.

BODY

In the body

Canonical and hreflang there are ignored by Google. Google still reads robots meta in the body, other crawlers may not.

ENCODING

Declared clearly?

No declaration, a meta charset after 1024 bytes, or a header and page that disagree can make browsers show the wrong characters.

04 / BEST PRACTICES

How to fix the common mistakes

01 / Move body elements out of the head

Place tracking pixels (<img>, <iframe>) right after <body>, or move canonical, hreflang and robots tags above them.

02 / Close the head once

Make sure the template prints </head> before <body> and that plugins do not print head tags after it.

03 / Charset first

Put <meta charset="utf-8"> as the first element in the head and send Content-Type: text/html; charset=utf-8.

04 / Keep header and page in agreement

When the HTTP header and the meta charset disagree, browsers follow the header.

05 / Start with <!doctype html>

Without it, or with an old DOCTYPE, browsers render the page in quirks mode.

06 / One title

Two <title> elements usually mean an SEO plugin and a theme both print one. Switch one off.

05 / FAQ

Frequently asked questions

Is a robots meta tag in the body ignored?

Not by Google: its documentation says Google respects robots meta tags in the body. Other crawlers may not read them there, and a tag after an early head end may be ignored, so keep it in the head.

Why does a <noscript> or <script> in the head not end it?

Both are valid head elements. What ends the head is an element such as <img>, <iframe>, <div> or <span>, or visible text.

What are garbled characters?

UTF-8 text decoded with the wrong encoding, such as é instead of é or ’ instead of ’. Usually the text was saved twice with different encodings, or the server and page declare different encodings. Like a full audit, the tool reports garbled text only on pages read as UTF-8 and only when it appears at least twice.

Does this replace an HTML validator?

No. It checks the head and encoding problems that affect SEO tags and text display, not every validation error.

Is the check free and private?

Yes. There is no signup or email gate and no public report page. Repeat checks of the same URL within ten minutes reuse the previous result.

REFERENCE MATERIAL

Where to check the underlying guidance

Google Search Central: Use valid HTML to specify page metadata and robots meta tag specifications. WHATWG HTML Standard: the “in head” insertion mode. W3C: Declaring character encodings in HTML. Practitioner guides: Screaming Frog, how to debug invalid HTML elements in the head; Yoast, rel=canonical: the ultimate guide.