Meta Refresh Checker: Detect Meta Refresh Redirects on Any Page
RankNibbler scans any URL for <meta http-equiv="refresh"> tags that automatically redirect users — the kind Google has warned against for years. Free, instant, no signup. Every match is flagged with the delay value and destination URL so you can fix them fast.
What Is a Meta Refresh?
A meta refresh is a redirect implemented in HTML rather than at the server level. It looks like this:
<meta http-equiv="refresh" content="5;url=https://example.com/new-page">
The content attribute has two parts: a delay in seconds, and the destination URL. When the browser encounters this tag, it waits the specified number of seconds, then navigates to the destination. A delay of 0 causes an immediate redirect; any positive number leaves the original page visible for that time.
Why Meta Refresh Hurts SEO
Link Equity Passes Poorly
A 301 permanent redirect passes essentially all of the original URL's link equity (PageRank, authority, backlink value) to the destination. A meta refresh with a 0-second delay is treated similarly to a 301 by Google — but treatment is inconsistent, delayed, and not guaranteed. For permanent redirects, use a server-level 301 every single time.
Timed Refreshes Are Worse
A meta refresh with any delay is treated as a 302 temporary redirect at best, and often ignored entirely. Users see the original page briefly, then get jerked to the destination, which is bad UX and a poor ranking signal.
Confuses Crawlers
Search engine crawlers have to download the page, render the HTML, identify the meta tag, and follow it. Server-level redirects are handled at the HTTP layer before any content downloads — faster, cheaper, unambiguous.
User Experience Problems
Users see flash-of-original-content, then an abrupt page change. Back-button behaviour gets unpredictable. Screen readers announce the redirect oddly. Browsers sometimes block meta refreshes as a security measure.
Accessibility Violations
WCAG 2.1 Success Criterion 2.2.1 explicitly forbids timed redirects without user control. A meta refresh violates this because the user has no way to prevent or delay the redirect.
When Meta Refresh Is Actually OK
- Static hosts without server redirects. Pure GitHub Pages and some free hosts leave meta refresh as the only client-side option. Migrate to a host that supports redirects as soon as possible.
- Auto-refresh for live data pages. Dashboards that need to reload every N seconds can use meta refresh without a URL change (
content="30"). This is not a redirect; it just re-fetches the current page. - Very old CMS platforms. Some legacy systems only support client-side redirects. Usually a sign it is time to modernise.
How to Replace Meta Refresh with 301 Redirects
Apache (.htaccess)
Redirect 301 /old-page https://example.com/new-page
Nginx
location = /old-page {
return 301 https://example.com/new-page;
}
IIS (web.config)
<rule name="Redirect" stopProcessing="true">
<match url="^old-page$" />
<action type="Redirect" url="https://example.com/new-page"
redirectType="Permanent" />
</rule>
WordPress
Use the Redirection plugin or Yoast Premium's redirect manager.
Next.js / Vercel
module.exports = {
redirects: async () => [{
source: '/old-page',
destination: '/new-page',
permanent: true
}]
};
Cloudflare
Rules → Redirect Rules. Configure status 301 and destination URL. Applies at the edge before requests reach your origin.
How to Audit Your Site for Meta Refresh
- Run this checker on suspect pages. Especially old category archives, legacy landing pages, and pages migrated from an old CMS.
- Check templates and themes. Sometimes theme headers include conditional meta refreshes.
- Scan all pages with Bulk Checker. The Bulk Checker flags meta refresh across lists of URLs at once.
- Replace each with a 301 redirect.
- Update internal links. Point directly to the destination, skipping the redirect.
- Re-audit.
Related Redirect Tools
- Redirect checker — trace redirect chains.
- What is a 301 redirect? — full reference.
- .htaccess redirect generator — build Apache rules.
- How to fix broken links — full playbook.
- Broken link checker — find dead internal links.