Google: Avoid Non-Head HTML Tags in Head Section of Pages

During the recent Google AMA with John Mueller, he mentioned an interesting technical SEO issue.  He mentioned that when there is non-head HTML tags used in a page within the head/head section, that Google can fail to recognize it properly.

While for many sites, this won’t cause major issues, there are some niche technical cases where this could become a more significant issue, as John Mueller points out.  One example he refers to is Hreflang tags placed in the head, but after non-head HTML, will cause those hreflang annotations to be ignored.   This is because Google views the HTML and cuts off the /head where that code appears.

There are a ton of tags that are placed in the header that are important for SEO, beyond hreflang, of course.  These include things such as meta tags for description, robots, and Google specific tags.  It is worth noting that the title tag is fine to place in the head section.

Mueller specifically refers to iframes and divs as causing issues with them being ignored.

and check that there are no iframe’s or div’s above the hreflang annotations.

If you have been having problems with Google failing to read tags in your head section of a page or site, it is worth double checking to see if there is an issue similar to this.  Mueller recommends using the Rich Results testing tool to check and ensure the tags are rendering properly from Google’s side.

If for some reason having HTML in the head section is absolutely necessary, ensure it is placed at the very end of the head section, right above the /head tag to mitigate any problems it could cause with Googlebot reading and rendering the code.

Here is the full quote:

Apart from that, a somewhat niche technical issue I’ve seen recently is that some kinds of scripts (including some from Google) inject non-head HTML tags into the top of the head on a page. For us, this implicitly closes the head, and brings all of the meta-tags into the body of the page. For hreflang, that often results in those annotations being dropped completely. If you use hreflang, I’d double-check the rendered source with the Rich Results testing tool (it’s the only one that currently shows the rendered source), and check that there are no iframe’s or div’s above the hreflang annotations.


The following two tabs change content below.

My Twitter profileMy Facebook profileMy Google+ profileMy LinkedIn profileMy Twitter profileMy Facebook profileMy Google+ profileMy LinkedIn profile