Redirect hygiene
Agents that don't run JavaScript never follow a meta refresh or a location.href hop, so they only see the initial page.
- Category
- Discoverability
- Standard
- Recommended
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;
}