You can use a meta refresh tag to process client-side redirects. Why would you? And how does a meta refresh work exactly?

A meta refresh tag, like other meta tags, is added to the website’s <head>. In the meta tag, you state the redirect destination URL. For example, this tag would redirect to https://site.com/redirect-destination.

<meta http-equiv="refresh" content="0; url=https://site.com/redirect-destination">

The meta refresh can be processed instantly or delayed for some interval. In the example above, content=”0; indicates this is an instant meta refresh.

With an instant meta refresh, as soon as the browser detects this meta refresh tag, the browser will redirect to the URL specified. It is best to place this tag as high in the website’s <head> code as possible (ideally, right after the opening <head> tag). The higher in the code, the faster the browser will process the redirect.

If the numerical value is greater than 0, then this will be a delayed meta refresh. For example, content=”1; would indicate the browser should wait one second before processing the redirect. Here is what that would look like:

<meta http-equiv="refresh" content="1; url=https://site.com/redirect-destination">

Google typically interprets instant refresh redirects (0) as a type of permanent redirect and delayed refresh redirects (1) as a type of temporary redirects.

Google does make mistakes with these types of redirects and can treat them as a Soft 404 if the meta refresh isn’t processed correctly. So, these only be used as a last resort when other redirect options are not available (it happens!).

Server-side redirects are preferable and the most reliable. However, if you cannot use server-side redirects for some reason, the meta refresh redirects are more reliable than JavaScript redirects. These are given preference by Google.