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.

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 example window.location.href = or location.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.

AgentStatusSource
Coding agents
Claude Code AnthropicSupported (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

Adoption on the top 100 sites

75 of 100 measured sites implement it

Scanned 23 Oct 2026 with the Sitebulb Labs extension, against the Tranco list (tranco-56Z8N).

9 Oct 2026: 76%12 Oct 2026: 74%23 Oct 2026: 75%
9 Oct 2026 76% → 23 Oct 2026 75%
Sites implementing it75
  1. #2 cloudflare.com
  2. #3 aws.amazon.com (via amazonaws.com)
  3. #9 microsoft.com
  4. #11 youtube.com
  5. #12 apple.com
  6. #13 instagram.com
  7. #16 x.com (via twitter.com)
  8. #18 linkedin.com
  9. #24 azure.microsoft.com (via azure.com)
  10. #26 m365.cloud.microsoft (via office.com)
  11. #27 outlook.live.com (via live.com)
  12. #32 github.com
  13. #33 wikipedia.org
  14. #37 fastly.com (via fastly.net)
  15. #42 bing.com
  16. #43 netflix.com
  17. #44 triplinkintl.com
  18. #48 gandi.net
  19. #50 marketingplatform.google.com (via doubleclick.net)
  20. #52 uk.pinterest.com (via pinterest.com)
  21. #53 icloud.com
  22. #55 wordpress.org
  23. #56 teams.live.com (via skype.com)
  24. #57 cloudflare.net
  25. #60 digicert.com
  26. #61 adobe.com
  27. #63 tiktok.com
  28. #67 domains.google (via googledomains.com)
  29. #68 zoom.com (via zoom.us)
  30. #69 uk.yahoo.com (via yahoo.com)
  31. #71 endpoints.news
  32. #75 roblox.com
  33. #76 opera.com
  34. #77 open.spotify.com (via spotify.com)
  35. #83 ya.ru (via yandex.net)
  36. #84 nginx.org
  37. #85 ntp.org
  38. #86 msn.com
  39. #87 qq.com
  40. #90 vimeo.com
  41. #91 primevideo.com (via amazonvideo.com)
  42. #93 bunny.net (via b-cdn.net)
  43. #94 blogger.com (via blogspot.com)
  44. #95 mozilla.org
  45. #96 f5.com
  46. #98 telegram.org (via t.me)
  47. #99 store.epicgames.com (via epicgames.com)
  48. #101 wordpress.com
  49. #103 reddit.com
  50. #106 sentry.io
  51. #107 letsencrypt.org (via lencr.org)
  52. #109 ui.com
  53. #110 european-union.europa.eu (via europa.eu)
  54. #112 chatgpt.com
  55. #116 bitly.com (via bit.ly)
  56. #117 ipify.org
  57. #120 samsung.com
  58. #122 intuit.com
  59. #127 openai.com
  60. #128 one.one.one.one (via cloudflare-dns.com)
  61. #130 registrar-servers.com
  62. #132 dropbox.com
  63. #133 skybridge.click
  64. #135 discord.com (via discord.gg)
  65. #136 developer.adobe.com (via adobe.io)
  66. #139 apache.org
  67. #140 android.com
  68. #150 t-online.de
  69. #151 archive.org
  70. #153 webex.com
  71. #154 snapchat.com
  72. #156 godaddy.com
  73. #158 kaspersky.co.uk (via kaspersky.com)
  74. #159 firebase.google.com (via crashlytics.com)
  75. #160 tumblr.com

Overview

7/9

Gaining traction

Real support exists and adoption is growing.

How this rating is worked out7 of 9 points
FactorPointsWhy
Vendor support1 / 31 vendor supporting, 0 partly or planned
Top-100 adoption3 / 375% of measured sites
Spec maturity3 / 3Published 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.