Free Tool

See every HTTP header a URL sends

Enter a URL and see its status code, each redirect hop and every response header as received. The headers Google reads, like X-Robots-Tag, Link canonical and hreflang, caching and Vary, come with a short note from Google's docs or the HTTP standard.

One GET per hop, redirects followed one at a time, body never downloaded. Works for pages, PDFs, images and any other public URL.

Check the meta tags too

The meta tag checker in the AY Rank app reads a page's title, description, canonical, robots meta and X-Robots-Tag, and previews its share cards.

Open the meta tag checker

Check redirects for 10 URLs at once

The redirect checker in the AY Rank app follows up to 10 addresses hop by hop and flags chains, temporary moves and errors.

Open the redirect checker
1

Enter a URL

Any page, PDF, image or file on a public http or https address, on port 80 or 443.

2

We follow each hop

One GET per hop, with redirects followed by hand, up to 5. Every hop is checked again, so a redirect to a private address is refused.

3

We read the headers

Each header line is kept as received, with its original case, and repeats stay separate. The body is never downloaded. 6 seconds per request, 20 seconds per check.

4

You read the meaning

Problems first, then the final status, the redirect path, what the search headers mean, and the full header list you can copy.

Some rules Google follows never appear in the page source. An X-Robots-Tag header can keep a URL out of search results, a Link header can name the canonical or the hreflang versions of a PDF, and ETag or Last-Modified let Google's crawlers ask whether anything changed. A browser hides all of this, so check the headers when a page drops out of the index or a file ranks in place of its HTML page.

Rules this tool uses

  1. Status codes are explained with Google's page "How HTTP status codes affect Google's crawlers". It says "Google doesn't index URLs that return a 4xx status code" and "5xx and 429 server errors prompt Google's crawlers to temporarily slow down with crawling."
  2. Google uses 301 and 308 "as a strong signal" and 302, 303 and 307 "as a weak signal that the redirect target should be processed". A 302, 303 or 307 on the path is a note, and so is more than 1 redirect. We stop after 5 redirects. Google's crawlers "follow up to 10 redirect hops".
  3. Google: "Multiple X-Robots-Tag headers can be combined within the HTTP response, or you can specify a comma-separated list of rules." A user agent in front, like googlebot: noindex, limits the rules to that crawler, and "Rules specified without a user agent are valid for all crawlers." For all crawlers, googlebot or googlebot-news, noindex and none are warnings. nofollow, nosnippet, max-snippet:0 and unavailable_after are notes, and unavailable_after becomes a warning once its date has passed.
  4. Google reads ⁦rel="canonical"⁩ in a Link header "for a document supported by Search, including non-HTML documents such as PDF files" and tells you to "use absolute URLs" there. A relative canonical is a warning. Google also says using the header and the HTML element together "is more error prone".
  5. For hreflang in a Link header, Google wants a URL, ⁦rel="alternate"⁩ and an hreflang value "for every version of the page including the requested version", each with "The fully-qualified URL of the alternate page". A set without this URL, or with relative URLs, is a warning.
  6. Google's crawlers support ETag with If-None-Match and Last-Modified with If-Modified-Since, and Google says "Consider setting both the Etag and Last-Modified values". Having neither is a note. The Last-Modified date "must be formatted according to the HTTP standard", so a date not in the IMF-fixdate form from RFC 9110 is a warning. Google says "Other HTTP caching directives aren't supported", so Cache-Control is shown and explained, not judged.
  7. RFC 9110: "A sender that generates a message containing content SHOULD generate a Content-Type header field". A 2xx answer with content and no Content-Type is a warning, and so is Content-Type sent more than once. Content-Encoding is checked against what Google lists: "gzip, deflate, and Brotli (br)".
  8. Vary names request headers that "might have influenced" the answer, so Vary: User-Agent or Vary: * is a note: Googlebot may get something else. Retry-After with a 503 "indicates how long the service is expected to be unavailable to the client", and RFC 6585 says a 429 "MAY include a Retry-After header". A 429 or 503 without it is a note.
  9. No header is treated as a ranking factor, and there is no score. The tool shows what the server sent and what Google's docs and the HTTP standard say about it.
  10. Limits: 5 redirects, 6 seconds per request, 20 seconds per check, 100 header lines per answer and 600 characters per value shown. Private and local addresses are refused, and each redirect is checked again. The API at /api/v1/http-header-checker allows 30 checks per 60 seconds per IP address.

Sources

Read on 2026-11-12.

Worked example: our own homepage

We ran it on 2026-11-12. https://www.ayrank.com/ answered 200 OK with 20 header lines and no problems: Content-Type text/html; charset=utf-8, Cache-Control public, max-age=0, must-revalidate, a weak ETag, Content-Encoding br, and no X-Robots-Tag. Typing http://ayrank.com/ takes 2 redirects: a 308 to https://ayrank.com/, then a 307 to https://www.ayrank.com/. The tool lists both as notes: a chain of 2 redirects, and a 307, which Google takes as a weak signal. One permanent redirect from each old address straight to the www version would clear both.

Frequently Asked Questions

What does an HTTP header checker show?

The status code of a URL, each redirect hop with its Location, and every response header the final answer sends. The headers Google reads, like X-Robots-Tag, Link, Cache-Control, ETag, Last-Modified and Vary, get a short explanation.

How do I check the X-Robots-Tag of a URL?

Enter the URL. If the answer has an X-Robots-Tag header, each rule is listed with the crawler it targets, like googlebot: noindex. A noindex for all crawlers or for googlebot is flagged, because Google then does not show the URL in search results.

Can I set a canonical URL in an HTTP header?

Yes. Google reads a Link header with ⁦rel="canonical"⁩ in web search, for HTML pages and for PDFs and other non-HTML files. Use an absolute URL, and pick either the header or the HTML element, since using both is more error prone.

Why do the headers here differ from what my browser shows?

We request the URL from our server, with our own user agent and no cookies. A CDN or server can answer differently by region, user agent or cookie. The Vary header tells you which request headers it looks at.

Is any HTTP header a ranking factor?

This tool does not treat any header as a ranking factor and gives no score. The status code and X-Robots-Tag decide whether Google can index a URL at all, which is a different question from how it ranks.

Want us to fix this for you?

Want status codes, redirects and indexing headers checked across every template on your site? AY Rank's technical SEO work covers it.