hreflang Analysis: complete bulk check

Simply put: the most complete and powerful hreflang checker on the market. The tool International SEO specialists were waiting for, automates most hreflang audit checks.

Correctly implementing alternate/hreflang is more complex than it seems; SEO specialists spend too much time checking hreflang tags and trying to figure out what's wrong.
Visual SEO Studio "hreflang Analysis" automates most checks for common potential issues with hreflang tags that prevent search engine showing the right localized page to the right user.

hreflang analysis in Visual SEO Studio
hreflang analysis in Visual SEO Studio (click to enlarge)

Bulk auditing all hreflang tags in a site is no longer a problem. "hreflang Analysis" inspects them in HTML, in the HTTP headers, and in the XML Sitemaps.

Available reports:

  • Pages with hreflang tags
  • Pages without hreflang tags
  • Pages without self-referring hreflang tag
  • Pages with only one hreflang tag
  • Pages with more than one hreflang URL per language
  • 'noindex' pages with hreflang tags
  • Non-canonical pages with hreflang tags
  • Pages missing generic languages hreflang tags
  • Pages missing x-default hreflang tag
  • Pages with unknown language codes
  • Pages with unknown country codes
  • Pages with unusual language/country codes (e.g. "en-FR" is correct, but unusual and could be a mistake)
  • Pages with hreflang tags pointing to pages out of the crawl session
  • Pages with hreflang tags pointing to non-crawled pages (e.g. blocked by robots.txt)
  • Pages with hreflang tags pointing to non-HTML resources
  • Pages with hreflang tags pointing to 'noindex' pages
  • Pages with hreflang tags pointing to non-canonical pages
  • Pages with hreflang tags pointing to non-'200 OK' resources
  • Pages with hreflang tags pointing to pages with no return tag
  • Pages with hreflang 'x-default' value pointing to cacheable redirects (e.g. 301 instead of 302)
  • Pages with conflicting language directives
  • ...and more to come!

and oh yes, all grids are exportable to .xlsx and .csv as usual!

Page hreflang viewer

and not only that, there also is a "hreflang Viewer":

hreflang viewer in Visual SEO Studio
hreflang viewer in Visual SEO Studio (click to enlarge)

The page hreflang viewer lists:

  • all the selected page hreflang tags
  • where the tag was found: HTML, HTTP header, XML Sitemap
  • language and country name (and sometimes is different than what you thought!)
  • showing a complete diagnostic for all potential issues for each hreflang tag
  • letting you filter based on the issue you are focusing on
  • listing all missing generic languages
  • coordinates of the tag in the code (and you can click on them to see the tag in source code or DOM view)
  • if the pointed URL is blocked by robots.txt, the robots.txt directive interested (and yes, you can click on it to see it within the robots.txt file source)

Page language directives

While both Google and Yandex support hreflang tags, Bing doesn't and uses instead the 'content-language' meta tag or HTTP header. Other tools (software translators, screen readers for visually impaired people, and so on) look for the "lang" attribute in the HTML. So there are several language directives a webmaster has to ensure they match.

The alternate/hreflang attribute is a help to the search engine to decide which of a set of "coupled" pages to show in a localized SERP, but Google and other search engines do not use it to understand the language family. Language detection is what they use.
Keeping all these elements in mind, we decided to provide a tool to show for every single page all the possible language directives to see if they match. And we added a state-of-the-art language detector to test the language of title, description, and main content.

Page language directives view in Visual SEO Studio
Page language directives view in Visual SEO Studio (click to enlarge)

"Page language directives" pane shows the language expressed by:

  • the self-referring hreflang tag, be it from the HTML or the HTTP header, or the XML Sitemap
  • the "lang" attribute of the HTML tag (or xml:lang in case of XHTML pages)
  • the "content-language" meta tag
  • the "content-language" HTTP header
  • the title language (auto-detected)
  • the description language (auto-detected)
  • the language of the main content (auto-detected)

How many times in our work we found pages in a language, with the title and/or the meta description in another. There was not tool to uncover such issues, so we built it!

How to use "hreflang Analysis"

"hreflang Analysis" is a post-crawl inspection. You first need to crawl your site, possibly a complete visit; the more, the better (you need the full relations graph in order to correctly check many of the possible issues). You can also inspect a previously crawled site loading the crawl session from the local database.

Once you have your site crawled, launch the "hreflang Analysis" command and wait for the processing to complete. For small sites it will be almost immediate, while for larger sites it might take several minutes because there are a lot of things going on under the hood.

Then you can review all reports. Start with the list of pages without hreflang tags; it might be perfectly alright if they are not meant to have a translated version, but better be sure.
Then check all other reports. Sure issues are reported in red as "errors", others are reported in yellow as "warning". A warning might reflect a potential error, or a normal situation. Unfortunately (or fortunately) at the moment no tool replaces your wit and skills; this too can only assist you, and it does it superbly.
Please refer to the hreflang tag documentation of the Search Engines supporting it.

As usual, fixing the issues is an iterative process: you correct what's wrong - possibly in a pre-production system - then crawl and inspect again. Rinse and repeat until there are no errors.

"hreflang Analysis" is available only in the Professional Edition. You can evaluate it for free for 15 days by registering the Trial version.

See also: