What is a 308 redirect? Definition, SEO impact and examples

A 308 redirect (308 Permanent Redirect) is an HTTP status code telling browsers and crawlers that a resource has moved permanently to a new URL and that the request method and body must stay unchanged. The IETF defined it in RFC 7538 in April 2015, and today it is part of RFC 9110, the core HTTP specification. Google Search Central lists 308 next to 301 as a permanent redirect that signals which URL should be canonical.

Updated: 17 October 20263 min read
Infographic comparing the 308 redirect and the 301 redirect: method handling, caching and Google treatment
Source: RFC 7538, RFC 9110, Google Search Central

What does the 308 status code mean?

The 308 status code means the resource has a new permanent URI and clients must repeat the same request there. The server sends the new address in the Location header. If the original request was a POST with form data, the browser sends a POST with the same body to the new URL. RFC 7538 also states that a 308 response is cacheable by default, so browsers remember it unless cache headers say otherwise.

308 vs 301, 302 and 307

The 308 redirect is the method-preserving twin of the 301 redirect. Historically, many browsers turned a POST into a GET after a 301 or 302 redirect, which broke forms and APIs. RFC 7538 introduced 308 to forbid that change for permanent moves, just as the 307 redirect does for temporary ones.

CodeTypeMethod may change to GETGoogle treatment
301PermanentYes (historically)Strong canonical signal for the target
308PermanentNoStrong canonical signal for the target
302TemporaryYes (historically)Source URL usually stays indexed
307TemporaryNoSource URL usually stays indexed

How does Google treat a 308 redirect?

Google treats a 308 redirect the same way as a 301: Googlebot follows it and the indexing pipeline uses it as a signal that the target should be canonical. Google’s documentation groups 301 and 308 under “moved permanently” and recommends permanent server-side redirects whenever a URL changes for good. For SEO this means you can use 308 during a domain move or HTTPS migration without losing ranking signals compared with 301.

When should you use a 308 redirect?

Use a 308 redirect when a URL moves for good and the request method must survive the move. Typical cases are:

  • API endpoints that receive POST or PUT requests and change their path.
  • Form handlers that move to a new URL.
  • Frameworks that default to 308, such as Next.js, which uses 308 for every redirect marked permanent.
  • Site migrations where the server or CDN already issues 308 and you want consistent behaviour.

For ordinary GET pages, 301 and 308 work equally well for SEO, so pick one and apply it consistently. Avoid stacking several hops, because a redirect chain wastes crawl budget.

How to set up a 308 redirect

A 308 redirect is set up in the web server, CDN or application configuration. Examples in plain text:

  • Nginx (version 1.13.0 or newer): return 308 https://example.com/new-page;
  • Apache mod_alias: Redirect 308 “/old-page” “https://example.com/new-page”
  • Next.js next.config.js: an entry with source, destination and permanent: true returns 308.

Nginx documentation notes that 308 was not treated as a redirect before version 1.13.0, so check your server version first. After deployment, test the response with a header checker and confirm the Location value is an absolute, final URL.

Pro tip: During a migration, update internal links, canonical tags and XML sitemaps to the new URLs. The 308 catches old links from outside, but Google canonicalises faster when every internal signal already points to the target.

Redirect mapping is a core part of my technical SEO work, especially when a site moves to new country folders in international SEO projects.

Frequently asked questions about 308 redirect

Is a 308 redirect good for SEO?

A 308 redirect is good for SEO when a page moves permanently. Google treats it like a 301 and uses it as a signal that the new URL should be canonical.

What is the difference between 301 and 308?

Both 301 and 308 are permanent redirects, but 308 forbids changing the request method. With 308 a POST stays a POST, while older clients may switch a 301 POST to GET.

Is a 308 redirect cached?

A 308 response is cacheable by default according to RFC 7538. Browsers can remember it, so test redirects carefully before going live.

Why does Next.js use 308 instead of 301?

Next.js uses 308 for permanent redirects to preserve the original request method. Its documentation explains that many browsers changed POST to GET after 301 and 302.

Related terms

International SEO · AI SEO (GEO)

Grow in every market, and get cited by AI

A site migration lives or dies on its redirect map. If you are moving domains or launching new language versions, I plan 301 and 308 redirects so rankings in every market move with the URLs.

I help SaaS and e-commerce brands win organic traffic across Europe and the US, and get their brand recommended in ChatGPT, Gemini, Perplexity and Google AI Overviews. Every project starts with a free audit of your site, your markets and your visibility in AI answers.

Write to Adrian

Have a question about this term or your SEO?

Send a short message about your website, the markets you sell in and what you want to achieve. You get a reply from me, not from a sales team.

  • Free preliminary SEO and AI visibility audit
  • Strategy for international and multilingual markets
  • Reply within one business day
Book a free call
Adrian Dąbrowiecki

Write to Adrian

Adrian Dąbrowiecki · Marketer Coffee

Tell me about your site and your goals. I usually reply within one business day.