HTTP status code crawl handling checker
Paste status codes and see how Google's crawlers document handling each one, plus a redirect hop count against Google's 10-hop default.
Build a sitemap with xhtml:link hreflang annotations for localized pages, with every alternate listed on every URL as Google's documentation requires.
Runs entirely in your browser. Nothing you enter is uploaded, logged or stored.
Nothing you enter here is sent anywhere; the XML is built in your browser only.
Hreflang can live in three places: link tags in the page head, HTTP headers, or a sitemap. For a site with many localized pages the sitemap is often the easiest to maintain, because the annotations sit in one file instead of every template. This tool writes that file from a plain list, in your browser, without sending your URLs anywhere.
The rule that trips people up is that every url element lists all the alternates, itself included. With three language versions, each of the three url entries carries three xhtml:link lines. The generator does that expansion for you, so a set of three rows becomes three url blocks of three links each. That repetition is expected and is not a duplication error.
The tool checks what it can check from the text you give it: code format, absolute https URLs, one URL per code within a group, and that a group has at least two versions. It cannot tell whether a URL really returns a page, or whether the translated page points back to the others, because it never fetches anything. Google’s documentation also says a language code can be written with or without a region, and that x-default is optional, which is why a missing one is reported as information rather than as a problem.
Paste status codes and see how Google's crawlers document handling each one, plus a redirect hop count against Google's 10-hop default.
Validate robots meta tags and X-Robots-Tag headers against the rules Google documents, and see the combined result for Googlebot.
Normalize a list of URLs by RFC 3986 rules and your own policy, then see which URLs collapse into the same page and need one canonical.
Build correct <link rel="alternate" hreflang> tags for a set of localized URLs and check them against Google's reciprocity and x-default rules.