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.
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.
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.
Enter a URL
Any page, PDF, image or file on a public http or https address, on port 80 or 443.
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.
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.
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
- 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."
- 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".
- 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.
- 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".
- 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.
- 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.
- 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)".
- 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.
- 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.
- 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.
- Google, How HTTP status codes affect Google's crawlers (last updated 2026-02-04)https://developers.google.com/crawling/docs/troubleshooting/http-status-codes
- Google, Robots meta tag, data-nosnippet, and X-Robots-Tag specifications (last updated 2026-03-24)https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag
- Google, How to specify a canonical URL with rel="canonical" and other methods (last updated 2026-07-10)https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- Google, Tell Google about localized versions of your page (last updated 2026-09-21)https://developers.google.com/search/docs/specialty/international/localized-versions
- Google, Overview of Google crawlers and fetchers, HTTP caching (last updated 2026-06-12)https://developers.google.com/crawling/docs/crawlers-fetchers/overview-google-crawlers
- RFC 9110, HTTP Semanticshttps://www.rfc-editor.org/rfc/rfc9110
- RFC 9111, HTTP Cachinghttps://www.rfc-editor.org/rfc/rfc9111
- RFC 6585, Additional HTTP Status Codes (429)https://www.rfc-editor.org/rfc/rfc6585
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.