HTTP Header Checker
Enter a URL and read every response header the server sends, with the redirect chain walked hop by hop. X-Robots-Tag directives, header-level canonicals, caching validators, compression and security headers are grouped and explained, with the raw list downloadable for the ticket.
Short answer
An HTTP header checker requests a URL and shows the response headers, the part of a response that decides things no HTML view can show. The one that justifies checking is X-Robots-Tag: a noindex sent at the header level removes a page from Google while its markup looks perfectly indexable, and it overrides the meta robots tag. Headers also carry canonicals and hreflang through the Link header, the caching validators that let crawlers revisit with a cheap 304 instead of a full download, and the redirect chain itself. This tool sends a real GET the way a browser would, follows up to ten redirects with each hop timed, and reports findings beside the raw list rather than instead of it.
The headers search engines read before they read your page
A crawler acts on several headers before a byte of HTML is parsed, and a few of them can override anything the HTML says. These are the rows this tool pulls out of the raw list and reads for you.
| Header | What it decides | Why it is easy to miss |
|---|---|---|
| X-Robots-Tag | Whether the URL may be indexed and its links followed | Invisible in view-source; overrides the meta robots tag |
| Link: rel="canonical" | Which URL gets the credit for this content | A second canonical, hidden from HTML-only audits |
| Location + 301/302/307/308 | Where the URL really goes, hop by hop | Chains grow silently as migrations stack |
| Content-Type | How the response is parsed, and its character set | A wrong type can stop rendering or garble text |
| Cache-Control, ETag, Last-Modified | Whether a recrawl can be answered with a 304 | Absence looks like nothing and quietly taxes every crawl |
| Content-Encoding | Whether the body travels compressed | Absence is a config gap, not an error anyone sees |
The status code frames all of it: the headers described here belong to the final response, and if that response is a 404 or a 500 the rest of the audit is moot. The chain that led there is shown with each hop's status and timing, because a redirect chain is a finding even when its destination is healthy.
X-Robots-Tag: the noindex you cannot see in the source
Every meta tag checker, and every human doing view-source, audits the HTML. The X-Robots-Tag header carries the same directives one layer down, in the response itself, and that layer wins. A page can declare index, follow in its markup and still be noindexed by one line of server config nobody remembers writing.
- The classic case is a staging rule that shipped. Sites get noindexed at the server level before launch, the launch happens, and the header stays. The HTML was always clean, so nothing in the CMS ever looked wrong.
- It is the only robots control for non-HTML files. A PDF has no head to put a meta tag in, so PDFs, images and feeds are noindexed with this header or not at all.
- It can be scoped too widely. The header is set in server config, and a rule written for one path has a way of matching more than it meant to. One misplaced location block can noindex a directory.
- The more restrictive signal wins. When header and meta tag disagree, Google honours the stricter one, in either direction. Keeping both is keeping two things that can drift.
If a page will not index and the HTML looks clean, check here first
A URL that stays out of the index despite clean markup, working links and an entry in the sitemap has a short list of suspects, and X-Robots-Tag is the one that no other checker on this site can see. The page indexability checker reads the HTML-level signals; this tool reads the layer beneath them.
Caching headers are crawl budget wearing a different name
Caching headers read like a performance topic, and they are, but the crawler consequence is the one this tool flags. When a response carries an ETag or Last-Modified, a returning crawler can ask the server whether the page changed and receive a 304 Not Modified, a response of a few hundred bytes instead of the whole page. Google has said plainly that it crawls sites supporting conditional requests more efficiently.
Without a validator, every recrawl of every URL is a full download. One page does not notice; a site with fifty thousand URLs is spending its crawl budget re-transferring content that has not changed since the last visit. The same absence also means every CDN and proxy between you and a visitor is guessing at a policy you never set, which is a page speed cost on top of the crawl one.
Compression is the third leg of the same audit. A missing Content-Encoding on an HTML response means the page travels at full size on every request, and the fix is one switch in the same config file the caching headers live in. This tool requests with gzip and brotli accepted, so what it reports is what the server chose to do with a client that supports everything.
How to check a URL's HTTP headers
Seven steps, ordered by how expensive the finding is when it is missed.
- 01
Check the URL exactly as it is linked
Headers can differ between the www and bare domain, between http and https, and between trailing-slash variants, because those are different URLs that may hit different server rules. Check the spelling that is actually in use.
- 02
Read X-Robots-Tag before anything else
It is the one header that can silently remove a page from Google, it overrides the meta robots tag, and no view-source will ever show it. If a page has vanished from the index and its HTML looks clean, this header is the first suspect.
- 03
Walk the redirect chain hop by hop
The headers you get belong to the final URL, but the hops before it each cost latency and crawl budget. More than one redirect, or a downgrade from HTTPS to HTTP anywhere in the chain, is a finding of its own.
- 04
Look for a canonical in the Link header
Google reads a Link header canonical exactly like the tag in the head. When the two disagree, or when the header carries two canonicals, Google ignores both and chooses for itself.
- 05
Check the caching pair: a validator and a policy
An ETag or Last-Modified lets the server answer recrawls with 304 Not Modified instead of the full page, and Cache-Control tells every cache in between what it may keep. A page with neither is re-downloaded in full on every visit and every crawl.
- 06
Confirm the response is compressed
A Content-Encoding of gzip, br or zstd should appear on any HTML response. Its absence on a full page usually means a config gap that is costing transfer time on every single request.
- 07
Fix the security headers in the same visit
None of them are ranking factors, but header work happens in one config file, and adding HSTS, nosniff and a frame policy while you are already in it is nearly free.
The neighbouring tools each take one of these threads further: the redirect chain checker focuses entirely on hops and loop detection, the robots.txt tester covers the other way crawlers get blocked, and the canonical tag checker compares the HTML canonical against what this tool finds in the Link header.
What this checker reports
Every response header
The complete raw list as received, grouped into indexing, caching, security and everything else
X-Robots-Tag read for you
noindex and nofollow directives called out as findings, because no HTML checker can see them
Link header parsed
Canonicals and hreflang declared at the header level, including the conflict case of two canonicals
Redirect chain, timed
Up to 10 hops followed with status and latency per hop, plus loop and HTTPS-downgrade detection
Real GET requests
Servers answer HEAD differently or not at all, so the tool requests what a browser requests and cancels the body
Caching audit
Cache-Control, ETag and Last-Modified checked as the trio that decides whether recrawls cost a 304 or a full download
Compression check
Requests advertise gzip and brotli, so a response arriving unencoded is a server choice worth flagging
Export for the ticket
Raw headers as .txt and CSV, exactly as received, ready for whoever owns the server config
What this reads, and what it cannot
Frequently asked questions
What is an HTTP header checker?
A tool that requests a URL the way a browser or crawler would and shows every header the server sends back, before any HTML is read. Headers carry decisions the page itself never shows: whether the URL redirects, whether indexing is blocked at the response level, how caches may treat it and whether the body arrives compressed.
What are HTTP response headers?
Key-value lines the server sends ahead of the page body on every response. They tell the client what the content is, how long to cache it, where the URL moved to, and what security rules to apply. Browsers act on them invisibly, and search engine crawlers read several of them as directives.
What is the X-Robots-Tag header?
The header equivalent of the meta robots tag. A server sending X-Robots-Tag: noindex removes the URL from Google as surely as the meta tag does, but nothing in the HTML shows it, which makes it the classic cause of a page that looks perfectly indexable and never gets indexed. It is also the only way to noindex non-HTML files like PDFs.
Which wins when X-Robots-Tag and the meta robots tag disagree?
The more restrictive directive wins, wherever it lives. A meta tag saying index cannot override a header saying noindex, and the reverse is also true. The practical rule is to keep the two saying the same thing, or better, to say it only once.
Can a canonical URL be set in a header?
Yes, as Link: <https://example.com/page>; rel="canonical", and Google treats it exactly like the tag version. It is the standard way to canonicalise non-HTML files, and it is invisible to anyone auditing only the HTML, which is why this tool parses the Link header out and shows what it declares.
Why does this tool use GET instead of HEAD?
Because real servers answer the two differently. Plenty of stacks return a 405 to HEAD, serve different headers, or answer 200 for a HEAD where the GET would be a 404. A GET returns the headers a real visitor and a real crawler receive; the tool cancels the body as soon as the headers arrive, so it still transfers almost nothing.
Why do the headers here differ from what my browser's DevTools show?
Servers vary responses by requester. CDNs serve different caching headers to different geographies, some stacks vary on User-Agent, and a logged-in browser session carries cookies this tool does not have. The headers here are what an anonymous, browser-like client sees from this tool's location, and the method is stated because the answer is not universal.
What do Cache-Control, ETag and Last-Modified do for SEO?
They let a crawler revisit cheaply. With a validator present, Googlebot can ask whether the page changed and get a tiny 304 Not Modified instead of the full download, and Google has said it crawls sites that support this more efficiently. On a large site, conditional requests are crawl budget handed back for free.
What does a missing Content-Encoding header mean?
The response arrived uncompressed even though the request advertised gzip and brotli support. Some servers legitimately skip compressing tiny bodies, but a full HTML page without compression usually means the feature was never switched on, and every request is paying the transfer cost.
Are security headers like HSTS a ranking factor?
No. HTTPS itself is a lightweight ranking signal, but HSTS, CSP, nosniff and the rest are not read by Google's rankers at all. This tool reports missing ones as information rather than defects, on the grounds that you are already in the config file where they live.
How many redirects are too many?
The healthy shape is one hop from any retired URL to the current one. Google follows up to ten before giving up, but every hop adds latency and spends crawl budget, and chains grow silently as migrations stack: http to https to www to a renamed path is already three hops nobody chose deliberately.
What is a redirect loop?
A chain that returns to a URL it has already visited, so the request never resolves. Browsers show an error, crawlers abandon the URL, and anything indexed there is eventually dropped. This tool detects a loop and shows the hops that form it.
Why is a version number in the Server header worth removing?
Because it tells vulnerability scanners exactly which known exploits to try. Announcing nginx is harmless; announcing a precise version of anything is free reconnaissance for an attacker, and suppressing it costs one config line.
Can I export the results?
Yes, as a plain-text file that mirrors the raw response headers, and as a CSV. Both include every header exactly as received, so the export is the evidence you paste into a ticket for whoever owns the server config.
Other crawl and indexing tools
Website URL Extractor
Crawl any website and download every URL it links to as CSV, TXT, or JSON. Works straight from the live site, no sitemap required.
Use toolRedirect Chain Checker
Trace every redirect hop with status codes and response times. Detect loops, long chains, protocol downgrades, and 302 misuse.
Use toolPage Indexability Checker
Find out why a page is not indexed. Checks status codes, noindex tags and X-Robots-Tag headers, robots.txt rules, canonicals, sitemap membership, and rendered content.
Use toolBroken Link Checker
Find links that no longer work, internal and external together. Checks up to 50 links on a page for 404 errors, redirects, and timeouts.
Use toolExternal Link Checker
Audit who a page links out to and on what terms. Destinations grouped by domain, with rel nofollow, sponsored and ugc, new-tab safety, and live status.
Use toolInternal Link Analyzer
See which internal links a page makes in its own writing and which come from the template, grouped by destination, with anchor text, nofollow and live status.
Use toolRobots.txt Tester
Analyze robots.txt to see which AI crawlers and search engines are blocked, find sitemaps, and identify access issues.
Use toolRobots.txt Generator
Build a correct robots.txt from presets for WordPress, ecommerce, and AI crawlers. Decide which bots to allow, add your sitemap, copy the file.
Use toolllms.txt Generator
Build a valid llms.txt from your own pages: the H1, blockquote summary and H2 link sections the proposal specifies, checked for relative URLs and duplicates.
Use toolRead up on crawling and indexing
A tool tells you what is wrong. These explain what to do about it.
ZipTie Review 2026: Pricing, Features & Honest Verdict
Read guideURL Profiler Review: Still Selling, Last Updated in 2019
Read guideBotify Review: What a $74,200 Median Contract Actually Buys
Read guideTerms this tool checks
- Noindex
Noindex is a robots meta tag directive (meta name="robots" content="noindex") that tells search engines not to include a specific page in their search index.
- Canonical Tag
A canonical tag (rel="canonical") is an HTML element that tells search engines which version of a page is the preferred, authoritative copy when multiple URLs serve similar or identical content.
- Redirect Chain
A redirect chain occurs when a URL redirects to another URL, which then redirects to yet another URL, creating a series of sequential hops (e.g., Page A → 301 → Page B → 301 → Page C).
- Crawl Budget
Crawl budget is the number of pages a search engine will crawl on your site within a given timeframe, determined by crawl rate limit (how fast Googlebot can crawl without overloading your server) and crawl demand (how much Google wants to crawl based on popularity and freshness).
One header can noindex a page. Knowing which pages it happened to is the real job
A header checker shows you one URL at a time. CrawlRaven crawls the site, joins every page's response behaviour to Search Console and GA4, and surfaces the pages that dropped out of the index with the reason attached, so a stray header is a finding rather than a mystery.