Redirect hygiene
Agents that don't run JavaScript never follow a location.href hop, and few document following a meta refresh, so they may only see the initial page.
- Category
- Discoverability
- Standard
- Recommended
Who supports it
Claude CodeSupported (announced)
Undated · last checked 9 Oct 2026: Claude Code tools reference: WebFetchFollows HTTP redirects ('including any redirects WebFetch follows'). 'When a URL redirects to a different host, WebFetch returns a text result that names the original URL and the redirect target instead of following it.' It converts HTML to Markdown, so meta refresh and JS redirects are not documented as followed.
26 others: no evidence yet. See every agent and browser
What it checks
The extension fetches the page’s HTML and looks for two kinds of client-side redirect:
- a
<meta http-equiv="refresh">tag, and - a stub page: one that assigns
location(for examplewindow.location.href =orlocation.replace() and has fewer than 200 characters of visible text.
Both conditions are needed for a stub. Plenty of working pages assign location
somewhere in their scripts; only a page with almost no content is treated as a
redirect in disguise. An agent that does not run scripts stops at that page.
Results
| Status | When |
|---|---|
| Pass | No meta refresh and no stub redirect, including pages reached through an HTTP redirect |
| Fail | The page contains a meta refresh tag |
| Fail | The page has under 200 characters of visible text and redirects in JavaScript |
| N/A | The page’s HTML could not be fetched, so there was nothing to inspect |
How to fix
Replace client-side redirects with an HTTP 301 (permanent) or 302 (temporary)
from the server. For example, in a Cloudflare Pages or Netlify _redirects
file:
/old-page /new-page 301
Or in nginx:
location = /old-page {
return 301 /new-page;
}Support by agent and browser
Announced means the vendor’s own docs or announcement say so. Published is the date on the vendor’s own page, where it has one. Checked is the last time our weekly research found that page still saying so.
| Agent | Status | Source |
|---|---|---|
| Coding agents | ||
| Claude Code Anthropic | Supported (announced) | Claude Code tools reference: WebFetch Undated · Checked Follows HTTP redirects ('including any redirects WebFetch follows'). 'When a URL redirects to a different host, WebFetch returns a text result that names the original URL and the redirect target instead of following it.' It converts HTML to Markdown, so meta refresh and JS redirects are not documented as followed. |
No evidence yet26
- ChatGPT
- Claude
- Gemini
- Perplexity
- Copilot
- Meta AI
- ChatGPT Atlas
- Comet
- Dia
- Gemini in Chrome
- Edge Copilot Mode
- Cursor
- Codex
- GitHub Copilot
- Windsurf
- CCBot
- Applebot
- Amazonbot
- Bytespider
- Cohere
- Mistral
- DuckAssist
- Chrome
- Edge
- Firefox
- Safari
Names and marks belong to their owners and are used only to identify products. None of these vendors is affiliated with Sitebulb. Spotted something out of date? Send a correction.
Adoption on the top 100 sites
75 of 100 measured sites implement it
Sites implementing it75
- #2 cloudflare.com
- #3 aws.amazon.com (via amazonaws.com)
- #9 microsoft.com
- #11 youtube.com
- #12 apple.com
- #13 instagram.com
- #16 x.com (via twitter.com)
- #18 linkedin.com
- #24 azure.microsoft.com (via azure.com)
- #26 m365.cloud.microsoft (via office.com)
- #27 outlook.live.com (via live.com)
- #32 github.com
- #33 wikipedia.org
- #37 fastly.com (via fastly.net)
- #42 bing.com
- #43 netflix.com
- #44 triplinkintl.com
- #48 gandi.net
- #50 marketingplatform.google.com (via doubleclick.net)
- #52 uk.pinterest.com (via pinterest.com)
- #53 icloud.com
- #55 wordpress.org
- #56 teams.live.com (via skype.com)
- #57 cloudflare.net
- #60 digicert.com
- #61 adobe.com
- #63 tiktok.com
- #67 domains.google (via googledomains.com)
- #68 zoom.com (via zoom.us)
- #69 uk.yahoo.com (via yahoo.com)
- #71 endpoints.news
- #75 roblox.com
- #76 opera.com
- #77 open.spotify.com (via spotify.com)
- #83 ya.ru (via yandex.net)
- #84 nginx.org
- #85 ntp.org
- #86 msn.com
- #87 qq.com
- #90 vimeo.com
- #91 primevideo.com (via amazonvideo.com)
- #93 bunny.net (via b-cdn.net)
- #94 blogger.com (via blogspot.com)
- #95 mozilla.org
- #96 f5.com
- #98 telegram.org (via t.me)
- #99 store.epicgames.com (via epicgames.com)
- #101 wordpress.com
- #103 reddit.com
- #106 sentry.io
- #107 letsencrypt.org (via lencr.org)
- #109 ui.com
- #110 european-union.europa.eu (via europa.eu)
- #112 chatgpt.com
- #116 bitly.com (via bit.ly)
- #117 ipify.org
- #120 samsung.com
- #122 intuit.com
- #127 openai.com
- #128 one.one.one.one (via cloudflare-dns.com)
- #130 registrar-servers.com
- #132 dropbox.com
- #133 skybridge.click
- #135 discord.com (via discord.gg)
- #136 developer.adobe.com (via adobe.io)
- #139 apache.org
- #140 android.com
- #150 t-online.de
- #151 archive.org
- #153 webex.com
- #154 snapchat.com
- #156 godaddy.com
- #158 kaspersky.co.uk (via kaspersky.com)
- #159 firebase.google.com (via crashlytics.com)
- #160 tumblr.com
Overview
How this rating is worked out7 of 9 points
| Factor | Points | Why |
|---|---|---|
| Vendor support | 1 / 3 | 1 vendor supporting, 0 partly or planned |
| Top-100 adoption | 3 / 3 | 75% of measured sites |
| Spec maturity | 3 / 3 | Published standard |
8 or more points is Established, 5 to 7 is Gaining traction, 2 to 4 is Speculative and under 2 is Stalled. A feature is also Stalled when more vendors have said no than yes. Read the spec.
Community insights
No community insights for this feature yet.
Quotes are from public posts, checked against the original before they appear here. Suggest an insight, or ask for yours to be removed.