Page refreshes or redirects on a timer
What it is
The page has a <meta http-equiv="refresh"> tag with a delay above zero, so after that many seconds the browser reloads the page or sends the visitor to another URL. It is used for auto-updating news, stock or score pages, and for “you will be taken to our new page in 5 seconds” notices. A refresh with no delay works as an instant redirect and is not what this issue is about.
Why it matters
A page that reloads or moves on by itself can wipe a half-completed form or pull a slow reader, or someone listening through a screen reader, away mid-sentence, and visitors get no control to stop it. A time limit visitors cannot turn off, extend or adjust fails WCAG 2.2.1 Timing Adjustable (Level A), which the European Accessibility Act has required many businesses selling to consumers online in the EU to meet since June 2025. In search, Google treats a delayed refresh to another URL as a temporary redirect, which does not tell it the destination should replace the page.
How Asky checks it
Asky reads every <meta> tag with http-equiv="refresh", in any letter case, in the page’s raw HTML, and takes the number before the first ; or , in its content as the delay in seconds. The page is reported when the delay is above zero and at most 72,000 seconds (WCAG 2.2.1 exempts over 20 hours), whether it reloads the page or redirects. A delay of 0 is an instant redirect and not reported here or under any other issue, and a content that does not start with a number is ignored. Refreshes set by JavaScript or by an HTTP Refresh header are not seen. One issue per page, for the first timed refresh, gives its delay and content.
Reported as a warning with medium severity.
How to fix it
- Look at the content shown in the issue. A number alone reloads the page; a number followed by
url=redirects. - For a redirect, remove the tag and set up a 301 redirect on the server, through your CMS’s redirect settings or your hosting. If visitors need a notice, show it on the new page. Then point your internal links at the new URL, so they are not reported as links to redirects, and list only the new URL in your sitemap.
- If a server redirect is not possible, set the delay to
0. Asky does not report an instant refresh, and Google treats it as a permanent redirect. - For a page that reloads to show fresh content, remove the tag and update only the changing part with a script, with a control that lets visitors pause the updates.
Example
https://example.com/plans sends visitors to the new pricing page after five seconds:
<!-- Before: on /plans -->
<meta http-equiv="refresh" content="5; url=https://example.com/pricing">
<!-- After: the tag is removed, and the server answers /plans with a 301 to /pricing -->