SEO glossary

What is a 308 Redirect?

Learn what HTTP 308 Permanent Redirect means, how it compares to 301, when method preservation matters for SEO, and implementation guidance for permanent URL moves.

Technical SEOUpdated August 14, 2026
Also known asHTTP 308 Permanent RedirectPermanent Redirect (strict)

Definition

A 308 Permanent Redirect is an HTTP status code signaling that a resource has permanently moved to a new URL while requiring clients to repeat the original request method and body on the destination—the permanent, method-preserving counterpart to 307.

308 Redirect: permanent move without changing the method

308 Permanent Redirect communicates that a resource has permanently moved to the URI in the Location header, and the client must repeat the request with the same method and body. It is the permanent sibling of 307 Redirect and the method-strict counterpart to 301 Redirect.

SEO practitioners encounter 308 less often than 301 because HTML crawling is overwhelmingly GET-based. Still, modern stacks—reverse proxies, serverless platforms, and unified API/web gateways—sometimes default to 308. Treating it as "unknown redirect" risks missing migrations that behave correctly for bots but confuse analytics and redirect audits.

308 response anatomy

PUT /resources/42 HTTP/1.1
Host: example.com
Content-Type: application/json

{"status":"published"}

HTTP/1.1 308 Permanent Redirect
Location: https://api.example.com/v3/resources/42
Content-Length: 0

Client repeats PUT to the new URL with identical body.

For crawlers:

GET /articles/2024/recap HTTP/1.1
Host: example.com

HTTP/1.1 308 Permanent Redirect
Location: https://example.com/blog/2024-recap

HTTP/1.1 200 OK
...

Signal consolidation intent matches 301 Redirect; method preservation is irrelevant for GET.

308 vs 301: decision matrix

Factor301308
PermanencePermanentPermanent
GET crawlsStandardStandard
POST/PUT preservationNot guaranteed historicallyRequired by spec
CMS supportUbiquitousGrowing
Google consolidationYesYes
Log/analytics familiarityHighModerate

Rule: Permanent HTML URL changes → 301 unless infrastructure standardizes on 308. Permanent API path changes on shared hosts → prefer 308 (or 301 if only GET matters).

SEO implications of 308

Signal consolidation

Like 301, 308 tells Google the old URL is superseded. Link equity and historical rankings should migrate to the destination after recrawl cycles— not instant, but directionally identical to permanent redirects in Google's documentation.

Avoid mixing permanence codes without reason

/old → 308 → /mid → 301 → /final

Mixed redirect chains slow crawlers. Map /old directly to /final with one permanent hop.

After deploying 308:

  • Remove old URLs from XML sitemaps
  • Point internal links to final URLs
  • Align rel=canonical on destination

Status code choice does not replace housekeeping.

Accidental 308 on temporary campaigns

If marketing toggles "permanent" in a CDN UI, 308 may lock a seasonal path permanently in crawler memory—harder to unwind than 302 Redirect. Label redirect rules with expiry review dates.

When 308 is the right tool

API permanent version upgrades

/v2/orders 308 to /v3/orders preserves POST from checkout clients while retiring v2—parallel to retiring /old-blog for HTML.

Platform defaults

Some platforms emit 308 for apex domain consolidation:

redir https://www.example.com{uri} https://example.com{uri} 308

Acceptable permanent host policy if consistently applied.

Method-sensitive forms on primary domain

Rare marketing sites POST lead forms to /contact that 308 to SaaS endpoint—308 prevents silent GET conversion that loses payload.

When 308 is wrong

CaseBetter approach
Short maintenance window307 or 503
Content deleted404 or 410
"Try another URL" A/B test302 or 307
Soft launch with revert plan302/307

Implementation examples

Nginx

location /legacy-api/ {
    return 308 https://example.com/api/;
}

Express

app.put('/v2/item', (req, res) => {
  res.redirect(308, 'https://example.com/v3/item');
});

308 and HTTPS migrations

Industry convention uses 301 Redirect from http:// to https://. HTTPS enforcement with 308 is equally valid permanently—choose one sitewide:

http://example.com/page → 308 → https://example.com/page → 200 OK

Ensure HSTS headers follow so browsers skip future HTTP attempts.

308 vs canonical tags

Permanent redirects (301/308) are stronger than rel=canonical when you control the server response. Use canonical when duplicate URLs must remain reachable (tracking parameters, print views).

Do not chain 308 to a page whose canonical points elsewhere—contradictory signals delay consolidation.

Example: unified gateway migration

example.com routed both /api/* and /help/* through an edge gateway. Engineers permanently moved API paths to api.example.com with 308 preserving POST/PUT. Help articles moved with 308 to /support/* on the same host.

SEO issue: Help articles 308 twice—first path rewrite, then host change—before 200 OK.

Fix:

  • Single 308 per old help URL to final /support/article-slug
  • 301 from www to apex (policy choice)
  • Updated sitemap only listed support URLs

Crawl waste dropped 34% on help section templates; indexed support URLs stabilized within a month.

How Crawlox helps with 308 redirects

Crawlox traces permanent redirects including 308 across your crawl graph: source URLs, hop count, final status, and whether destinations return 200 OK. Identify accidental 308 on campaign paths, validate API and HTML migrations share consistent policies, and export redirect maps for post-migration audits without guessing which permanent code your edge actually emits.

Related terms

Frequently asked questions

Should I use 308 instead of 301 for SEO?

For typical HTML GET pages, 301 is universal and well understood. Use 308 when you need permanent redirects that must preserve POST/PUT methods—common in API gateways sharing a hostname with marketing content.

Does Google treat 308 like 301?

Google documents that permanent redirects—including 308—consolidate indexing signals to the destination similar to 301.

When did 308 become standard?

HTTP 308 was defined in RFC 7538 (2015) to provide a permanent redirect with strict method preservation, complementing 307.

Can CMS platforms emit 308?

Less common than 301 by default. Nginx, Caddy, and Cloudflare support 308 explicitly; verify CMS plugins do not silently use 302.

Is 308 appropriate for HTTPS migration?

301 is the conventional choice for HTTP to HTTPS on GET HTML. Either permanent code works; pick one policy sitewide for log consistency.

References

Explore authoritative guidance and frameworks related to 308 redirect.

Explore every glossary definition

Return to the glossary to search by term, alias, starting letter, or category.

Browse glossary