About this page

Tested and verified

We research, test, and verify every recommendation before it goes live.

Published by Tech Help Canada Staff

Written by a team with hands-on experience in marketing, SEO, and business technology.

Results across North America

Our work has driven 10M+ app downloads and 2,900% organic traffic growth for businesses we've worked with.

Editorially independent

Affiliate partnerships don't influence what we recommend. Our editorial team makes every call.

Some links are affiliate links. We may earn a commission at no extra cost to you.

Redirection: HTTP status codes and meta refresh

Redirection sends a visitor, browser, or crawler from one URL to another. You might use a redirect when you change a page slug, move to a new domain, switch from HTTP to HTTPS, merge duplicate pages, or retire an old URL that has a relevant replacement.

The part that matters is choosing the right redirect. A permanent move should not be handled the same way as a temporary one. Search engines, browsers, analytics tools, and caches can treat those signals differently.

This guide focuses on the redirects most site owners, WordPress users, developers, and SEO teams run into: 301, 302, 303, 307, 308, and meta refresh.

TLDR of what to use

If a page has moved permanently, use a 301 redirect in most SEO situations. If your application needs to preserve the original request method and body, a 308 redirect can also be used for a permanent move.

If the change is temporary, use a 302 redirect. If the request method must stay unchanged, use a 307 redirect. If you’re redirecting after a form submission or checkout action, a 303 redirect may be the right choice because it points the browser to another page using a GET request.

Use meta refresh only when you can’t configure a server-side redirect. A server-side HTTP redirect is usually the better option for SEO, speed, accessibility, and reliability.

How HTTP redirects work

HTTP redirects are part of the 3xx status code family. In simple terms, the server receives a request for one URL and responds with instructions that point the browser or crawler somewhere else. That destination is usually sent in the Location header.

The status code tells the client how to treat the move. Is it permanent? Temporary? Should the browser repeat the same request method, or switch to GET? Those details matter more when forms, APIs, checkout flows, or non-GET requests are involved.

For normal website content, the main SEO decision is usually simple: permanent moves need a permanent redirect, and temporary moves need a temporary redirect.

301: moved permanently

A 301 redirect tells browsers and search engines that a URL has permanently moved to a new location. For SEO work, this is the standard choice when an old page should be replaced by a new page in search results.

Use a 301 redirect when you permanently change a URL, move a site to a new domain, switch from HTTP to HTTPS, consolidate duplicate URL versions, merge related pages, or delete a page that has a close replacement.

A 301 redirect is also useful when users can reach the same content through multiple URL versions. For example, if both the www and non-www versions of your site resolve, choose one preferred version and redirect the other. The same idea applies to trailing slash variations, HTTP versus HTTPS, and old slug structures.

If you’re dealing with duplicate pages, a redirect is often the right fix when only one version should remain accessible. For cases where multiple versions still need to exist, a canonical tag may fit better. Tech Help Canada has a related guide on duplicate content if you’re deciding between redirects and canonicals.

Use 301 carefully for deleted pages

A deleted page should only redirect if there’s a genuinely relevant replacement. If an old article, service page, or product page has a close successor, a 301 can send users to the new version.

If there’s no suitable replacement, don’t redirect everything to the homepage by default. Google Search Central says removed pages with no similar replacement should return 404 or 410, while moved pages or pages with clear replacements should use a 301 redirect. Redirecting unrelated URLs to a generic page can confuse users and may be treated as a soft 404.

302: found

A 302 redirect is temporary. It tells browsers and crawlers that the requested URL is currently available somewhere else, but the original URL should not be treated as permanently replaced.

Use a 302 when you need to send users somewhere else for a short period. Common examples include temporary maintenance, short-term campaign pages, A/B testing, stock or service availability pages, and temporary regional routing.

Don’t use 302 as a lazy substitute for 301. If the move is permanent, a temporary redirect sends the wrong signal. According to Google Search Central, temporary redirects are followed, but they don’t send the same canonical signal as permanent redirects.

303: see other

A 303 redirect tells the client to retrieve another URL with a GET request. It’s commonly used after actions such as form submissions, account changes, or checkout steps.

The practical benefit is that the user can land on a confirmation page without accidentally resubmitting the original POST request by refreshing the browser. That makes 303 useful for web applications, but it’s rarely the main redirect type used for SEO migrations.

307: temporary redirect

A 307 redirect is temporary, like a 302, but it is stricter about preserving the request method and body. If the original request was POST, the redirected request should remain POST.

This matters for applications, APIs, and forms where changing the request method could break the workflow or create risk. For normal content pages, a 302 is usually easier to work with. For temporary application routes where the method must stay unchanged, 307 is the safer fit.

308: permanent redirect

A 308 redirect is permanent, like a 301, but it preserves the request method and body. If the original request was POST, the redirected request should remain POST.

Google Search Central lists both 301 and 308 as permanent server-side redirects. For standard SEO tasks such as changed slugs, HTTP to HTTPS migration, and domain moves, 301 is still the most familiar option. A 308 can make sense when your technical stack uses it intentionally and method preservation matters.

Meta refresh redirects

A meta refresh redirect runs inside the HTML page instead of being sent as a normal HTTP status code. It usually appears in the head section of the document.

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

The number inside the content attribute controls the delay in seconds. In the example above, the redirect runs immediately.

Google Search Central says it interprets instant meta refresh redirects as permanent redirects and delayed meta refresh redirects as temporary redirects. MDN also recommends using a delay of 0 seconds when a meta refresh is unavoidable, especially for accessibility.

Still, meta refresh should be a fallback. It requires the page to load before the redirect happens, can be slower for users, and does not work for non-HTML resources such as images or PDFs. If you can set a server-side 301, 302, 307, or 308, use that instead.

Redirects and canonical URLs

Redirects and canonical tags both help search engines understand preferred URLs, but they don’t do the same job.

A redirect sends users and crawlers to another URL. A canonical tag keeps the current page accessible while suggesting which URL should be treated as the preferred version for search.

<link rel='canonical' href='https://example.com/preferred-page'>

Use a redirect when the old URL should no longer be used. Use a canonical tag when duplicate or very similar pages need to remain accessible, such as filtered product pages, tracking-parameter URLs, printable versions, or syndication-style content.

Google Search Central describes redirects as a strong canonicalization signal. Canonical tags are also a strong signal, but Google still chooses the canonical URL based on multiple signals. That’s why consistency matters: redirects, canonicals, internal links, and sitemap URLs should point to the same preferred destination whenever possible.

Redirect best practices for SEO

The right status code is only part of the job. A redirect can still cause problems if it points to the wrong destination, creates extra hops, or conflicts with other URL signals.

  • Redirect to the closest matching page. If the old URL was about a specific topic, send users to the most relevant replacement, not a generic page.
  • Avoid redirect chains. A redirect from A to B to C is slower and harder to manage than a direct redirect from A to C.
  • Fix redirect loops quickly. A loop traps users and crawlers between URLs and prevents the destination from loading.
  • Update internal links. Once a URL changes, link to the final destination inside menus, buttons, posts, sitemaps, and templates.
  • Keep signals consistent. Don’t redirect to one URL, canonicalize to another, and list a third URL in your sitemap.
  • Test the actual HTTP response. Browsers can hide redirect chains because of caching, so check the response headers directly.

If you’re changing URLs as part of a content or site structure update, it’s also worth reviewing Tech Help Canada’s guide to web addresses and URLs for on-page SEO. Stable, readable URLs reduce the need for future redirect cleanup.

How to check a redirect

You can test a redirect with browser developer tools, a header checker, your hosting control panel, or the command line. The goal is to confirm the status code, the Location header, and the final destination.

curl -I https://example.com/old-page

Look for the status code first. A permanent content move should usually return 301. A temporary move should usually return 302 or 307. Then check the Location header to confirm the redirect points to the correct final URL.

If the first destination redirects again, update the rule so the old URL points straight to the final page. If the redirect sends users to an unrelated page, replace it with a more relevant destination or return a proper 404 or 410 when the content is truly gone.

Common redirect mistakes

The most common redirect mistake is using 302 for a permanent move. It may still send users to the new page, but it does not communicate the same long-term signal as a 301 or 308.

Another common mistake is redirecting every removed page to the homepage. That may feel tidy inside a redirect plugin, but it often creates a poor user experience. Someone looking for an old pricing page, product page, tutorial, or service page expects the closest available match, not the front page.

Redirect chains are another issue. They often appear after multiple redesigns, CMS migrations, permalink changes, and HTTP to HTTPS updates. One old URL may pass through several historical formats before reaching the current page. Those chains should be shortened whenever possible.

Conflicting signals can also create indexing confusion. If a page redirects to one URL but the destination has a canonical tag pointing somewhere else, search engines have to sort through mixed instructions. Keep your redirect rules, canonical tags, internal links, and XML sitemap aligned.

Final redirect guidance

Use 301 for most permanent SEO redirects. Use 302 for temporary moves. Use 307 or 308 when preserving the request method matters. Use 303 after form-style actions when the next page should be fetched with GET. Use meta refresh only when server-side redirects are not available.

More importantly, redirect with intent. Send users to the page that actually answers what they came for, keep the path short, and update your internal links so the redirect becomes a safety net rather than the main route through your site.

Frequently asked questions

Which redirect is best for SEO?

For a permanent page move, use a 301 redirect in most SEO situations. A 308 is also permanent, but 301 is still the common choice for normal web pages. Use 302 or 307 only when the move is temporary.

Does a 301 redirect pass SEO value?

A 301 redirect tells search engines that a URL has permanently moved and can help consolidate signals with the new destination. Avoid relying on old percentage claims. The safer goal is to redirect to the closest relevant page and keep your internal links updated.

Is meta refresh bad for SEO?

Meta refresh is not the preferred option. Google can interpret instant meta refresh as permanent and delayed meta refresh as temporary, but server-side redirects are usually faster, clearer, and more reliable. Use meta refresh only when you cannot set an HTTP redirect.

Should deleted pages always be redirected?

No. Redirect a deleted page only when there is a relevant replacement. If the content is gone and there is no similar page, a proper 404 or 410 response is usually more accurate than sending users to an unrelated page.

Get new small business insights by email

Practical ideas and useful articles to help you make better business decisions.

HelperX Bot

Not sure what to read next?

I can suggest related Tech Help Canada articles based on the topic you’re reading now.

Tweet
Share
Share
Pin
WhatsApp
Reddit
Email