Skip to content
Surfilby Adam Hafez
Free tool

Meta refresh redirect checker: permanent or temporary

Meta refresh redirect checker: parses the delay and target, then shows whether Google reads it as permanent or temporary. Free, runs in your browser.

Runs entirely in your browser. Nothing you enter is uploaded, logged or stored.

Redirect method ranking

Google's documentation orders redirect methods "by how likely Google is able to interpret correctly": a server-side HTTP redirect (301 or 308 for permanent, 302, 303 or 307 for temporary) first, meta refresh second, a JavaScript location change third, and a crypto redirect last. Use a server-side redirect when you can set one; reach for meta refresh only when you cannot.

This tool parses the delay and target with a regular expression matched against the documented content="<seconds>; url=<url>" syntax. It cannot see how your server responds, so it cannot check an actual HTTP redirect for you.

Key takeaways

  • Google lists a 0-second meta refresh with HTTP 301 and 308 as a permanent redirect, a signal that the target should be canonical.
  • A meta refresh with any delay above 0 seconds is a temporary redirect to Google, alongside HTTP 302, 303 and 307.
  • Google orders redirect methods by how likely it is to interpret them correctly, with server-side redirects first and meta refresh next.
  • Google says to use JavaScript redirects only if server-side or meta refresh redirects are not possible.
  • This tool only parses the tag's text; it cannot check what your server actually returns for a real HTTP redirect.

What it takes

  • A meta refresh content value, or a full meta http-equiv="refresh" tag

More tools

All of them free, all of them browser-only.

Browse the tools

How to use it

  1. 1Paste the tag or its content valueEither the bare content string, such as "0; url=https://example.com/new", or the full HTML tag works. For a Refresh HTTP header, paste only the value after the colon.
  2. 2Read the parsed delayThe number before the semicolon is the wait in seconds before the browser follows the redirect.
  3. 3Read which signal Google readsThis is the part most people get backwards. Zero seconds reads as permanent; anything more reads as temporary, regardless of how long the actual wait is.
  4. 4Check the target is an absolute URLA relative target can still work, but an absolute one removes any ambiguity about which host it resolves against.
  5. 5Compare against the redirect method rankingGoogle's documentation orders redirect methods by how reliably it can interpret them; use this to decide whether a server-side redirect is worth setting up instead.

Paste a meta refresh tag, or just its content value, and this checker tells you which of Google’s two redirect groups it falls into, permanent or temporary. It parses the text in your browser against the syntax in Google’s own example and sends nothing anywhere.

What this meta refresh checker tests

Everything comes from Google’s page on redirects and Google Search.

  • Syntax. A number of seconds, a semicolon, then url= and a target, quoted or not, as in Google’s example content="0; url=https://example.com/newlocation".
  • The delay. Google calls a 0-second tag an instant meta refresh and interprets it as a permanent redirect. It calls anything longer a delayed meta refresh and interprets it as temporary. The checker applies exactly that split.
  • What each group means. For a permanent redirect, Google says the indexing pipeline uses it as a signal that the target should be canonical. For a temporary one, it does not, and the source page is the one shown in search results.
  • The target. Whether the URL after url= parses as an absolute URL.
  • Long waits. A delay above 5 seconds gets a separate usability warning. Google publishes no number here, and the tool says so on the result.

How to read the results

  • Delay (information): the parsed wait in seconds.
  • Signal Google reads from this: pass for “Permanent redirect signal” at 0 seconds, warning for “Temporary redirect signal” at anything above. The warning is not an error if you meant a temporary move. It is an error if you meant the new URL to replace the old one in search.
  • Target is an absolute URL: pass with the resolved URL, or a warning if the target is a relative path.
  • Syntax warning: nothing else is shown until the content matches the documented format.

Worked example

The tool loads with Google’s own pattern:

<meta http-equiv="refresh" content="0; url=https://example.com/new-page">

It returns a delay of 0 seconds, “Permanent redirect signal” as a pass, and https://example.com/new-page as an absolute target.

Change the content to 10; url=/new-page and four lines come back: a delay of 10 seconds, a “Temporary redirect signal” warning, a warning that /new-page does not parse as an absolute URL, and a delay length warning that 10 seconds is a long wait before redirecting. That page keeps the old URL as the one Google shows, which is rarely what a site move intends.

Common mistakes it catches

  • A polite delay on a permanent move. A few seconds of “you are being redirected” feels gentler, but it moves the tag into Google’s temporary group. For a permanent move, use 0 seconds or, better, a server-side 301 or 308.
  • Meta refresh where a server redirect is possible. Google orders methods by how likely it is to interpret them correctly: server-side HTTP redirects first, then meta refresh and the HTTP Refresh header, then JavaScript location, then crypto redirects, which Google says not to rely on unless you have no other choice. Meta refresh is a documented fallback, not a first choice.
  • Broken syntax. content="0, url=...", content="url=..." and a bare content="0" all fail the syntax check, so a tag that does not redirect is caught before it ships.
  • Relative targets. url=/new-page works in a browser but is flagged, so the target stays unambiguous if the page is served from another host.

Redirects are one of several canonical signals. Google’s canonicalization guide calls redirects a strong signal, and warns against pointing different canonicalization methods at different URLs for the same page.

Sources

  1. 1.Redirects and Google Search - Google Search CentralPrimary
  2. 2.How to specify a canonical URL with rel="canonical" and other methods - Google Search Central

Common questions

Is a meta refresh the same as a 301 redirect?

For a 0-second meta refresh, Google puts it in the same permanent group as HTTP 301 and 308, and uses it as a signal that the target should be canonical. It is not a real HTTP status code, though, and Google ranks it below server-side redirects for how reliably it is interpreted.

Does a delayed meta refresh pass the page to the new URL?

Not as a canonical signal. Google reads a delayed meta refresh as temporary, and says the indexing pipeline does not use a temporary redirect as a signal that the target should be canonical. The target can still be indexed if other canonical signals point to it.

When should I use meta refresh instead of a server redirect?

Google says meta refresh redirects may be a viable alternative if server-side redirects are not possible on your platform. If you can set a 301 or 308 on the server, that is the method Google ranks first.

Does this tool check the HTTP Refresh header?

It parses the same content syntax, so paste the header's value, such as 0; url=https://example.com/new. Google treats a Refresh header like meta refresh, permanent at 0 seconds and temporary above. Pasting the header name too makes the syntax check fail.

Why does a comma instead of a semicolon fail?

The checker follows the syntax Google shows, a number of seconds, a semicolon, then url= and the target. A comma, a missing url= or a missing delay all return a syntax warning instead of a classification.

Tools

humans.txt generator

humans.txt generator: build a humans.txt file with TEAM, THANKS and SITE sections from the humanstxt.org template. Free, runs in your browser.