← Terug naar kennisbank HOSTING

302 Found — uitgelegd en gebruikt

De HTTP-status die zegt: "deze URL is tijdelijk ergens anders te vinden — ga er naartoe, maar onthoud de oude URL als de echte". Browsers cachen het niet, zoekmachines blijven de originele URL als canonieke beschouwen. Daarmee is 302 perfect voor A/B-tests, geo-redirects en maintenance-pagina's. En tegelijk de #1 SEO-killer als je 'm per ongeluk gebruikt voor een permanente verhuizing. Deze gids legt uit wanneer 302 de juiste keuze is, wanneer absoluut niet, en wat het verschil is met 307.

Wat een 302 doet (en wat je 301-redirect ervan onderscheidt)

Wanneer een server een 302 terugstuurt zegt 'ie:

  1. De content die je opvroeg staat tijdelijk op een andere URL
  2. Volg de Location-header naar de huidige locatie
  3. Maar onthoud: de oude URL is nog steeds de canonieke — volgende keer probeer je weer eerst die

Een 301 zegt het tegenovergestelde: "vergeet de oude URL, vervang 'm in je bookmarks/cache/index door de nieuwe". Browsers cachen 301's; zoekmachines verwijderen de oude URL uit hun index ten gunste van de nieuwe. Bij 302 gebeurt dat allemaal niet.

Voor een permanente verhuizing wil je dus altijd 301. 302 is bedoeld voor scenario's waarin de redirect-bestemming morgen weer een andere kan zijn.

5 scenario's waarin 302 de juiste keuze is

1. A/B-test van een landingspagina

Je test variant A en variant B met 50/50 verkeer. /landing redirect via server-side logic naar /landing-a of /landing-b — tijdelijk, want over twee weken kies je één variant. Een 301 zou Google de varianten laten indexeren in plaats van de hoofd-URL.

2. Geo-redirects

NL-bezoekers naar /nl/, US-bezoekers naar /en/. De keuze hangt af van de bezoeker, niet van de URL. Een 301 zou betekenen dat Google's crawler (die uit de US lijkt te komen) / als /en/ indexeert — en je NL-content nooit ziet.

3. Tijdelijke maintenance-pagina

Site offline voor onderhoud, redirect naar /maintenance. Met 302 (of 307 voor strikt method-behoud) blijft Google de echte URLs ranken. Een 301 zou alle URLs door /maintenance vervangen in de index — ramp.

4. Login-flow

Klant probeert /account te bezoeken zonder login. Server stuurt 302 naar /inloggen?redirect=/account. Na login: 302 terug naar /account. Allemaal tijdelijke redirects waarbij de oorspronkelijke URL de canonieke blijft.

5. Tijdelijke promotie-URL

De campagne-URL /black-friday redirect naar /aanbiedingen/zwart-vrijdag-2026. Volgend jaar weer terug naar dezelfde slot, maar met een ander 2027-slug erachter. 302 houdt de campagne-URL canoniek.

Hoe configureer je een 302

Apache (.htaccess)

# Eenvoudige 302 (expliciet — niet vertrouwen op default)
Redirect 302 /oude-pagina /nieuwe-pagina

# Met regex
RewriteEngine On
RewriteRule ^landing$ /landing-variant-a [L,R=302]

# Geo-redirect op basis van GeoIP-module
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^NL$
RewriteRule ^$ /nl/ [L,R=302]

Let op: Redirect /oud /nieuw zónder code-nummer is in Apache per default 302. Als je een permanente redirect wilde, schrijf je dus expliciet Redirect 301 /oud /nieuw. Veel klanten denken dat de bare Redirect 301 is — dat is 'm niet.

Nginx

server {
    listen 443 ssl;
    server_name jouwdomein.nl;

    # 302 (default voor return zonder code)
    location = /landing {
        return 302 /landing-variant-a;
    }

    # Of expliciet
    location = /campagne {
        return 302 https://jouwdomein.nl/aanbieding/black-friday-2026;
    }
}

WordPress (zonder .htaccess)

Plugin Redirection: Tools > Redirection > Add new > HTTP code: 302 Found. Default is 301, dus expliciet wisselen.

// Of in PHP — bv. in functions.php voor een conditional redirect
if (is_user_logged_in() === false && is_page('account')) {
    wp_redirect(home_url('/inloggen?redirect=/account'), 302);
    exit;
}

302 vs. 307 — wat is het verschil?

Beide zeggen "tijdelijk verplaatst". Het verschil zit in HTTP-method-behoud:

  • 302: browsers mogen bij het volgen van de redirect een POST omzetten naar GET — gedrag uit de jaren '90 waar veel implementaties op rekenen
  • 307: browsers moeten de oorspronkelijke method behouden — POST blijft POST, met body en al

Voor browser-naar-website verkeer (HTML-pagina's, GET-requests) maakt 't praktisch niet uit. Voor REST-API's of form-submits waarbij de body bewaard moet blijven is 307 de juiste keuze. Bij 302 verlies je de POST-data omdat de browser opnieuw met GET vraagt.

Concreet voorbeeld: een form post je naar /submit, maar de echte handler is verhuisd. Met 302 verliest de browser de form-data. Met 307 wordt de POST gewoon herhaald naar de nieuwe URL.

De #1 fout: 302 waar 301 had gemoeten

De meest voorkomende SEO-blunder die ik in audit-werk tegenkom: een site-migratie of HTTP→HTTPS-overgang met 302's i.p.v. 301's. Symptomen:

  • De oude URL blijft maandenlang in Google's index staan
  • Rankings van de nieuwe URL bouwen niet op — geen link-equity-overdracht
  • In Search Console zie je "Pagina is een omleiding" bij de oude URL en "Niet geïndexeerd" bij de nieuwe

Hoe gebeurt dit?

  • Apache Redirect zonder code: Redirect /oud /nieuw = 302 default. Wie denkt dat 't 301 is, krijgt 302
  • WordPress Redirection-plugin verkeerd ingesteld: meestal 301 default, maar iemand wisselde 'm naar 302 voor één redirect en daarna bleef 't zo
  • Cloudflare Page Rules: standaard "Forwarding URL" type kan op 302 staan; check expliciet voor "301 - Permanent Redirect"
  • Nginx rewrite zonder permanent flag: rewrite ^/oud /nieuw; is een interne rewrite (geen redirect), rewrite ^/oud /nieuw redirect; is een 302, en pas rewrite ^/oud /nieuw permanent; is een 301

Check je redirects altijd met de redirect tracer — die laat letterlijk zien of je een 301 of 302 stuurt.

Hoe controleer je welk type redirect actief is

Vier manieren:

# Via curl (snel, vanaf de command line)
curl -I https://jouwdomein.nl/oude-pagina
# Kijk naar regel: HTTP/2 301  of  HTTP/2 302

Of via mijn redirect tracer — die laat de hele keten zien. Of via Chrome DevTools: Network-tab, klik de redirect-request, kijk bij Status Code. Of de Google Search Console URL-inspectie: laat zien hoe Google de redirect interpreteert.

Veelgestelde vragen

Wat is het verschil tussen 301 en 302?

301 = permanent verplaatst, 302 = tijdelijk. SEO-impact verschilt totaal: 301 geeft link-equity door en vervangt de oude URL in de index, 302 doet dat niet. Voor permanente verhuizingen wil je altijd 301.

Wanneer is een 302 wel de juiste keuze?

A/B-tests, geo-redirects, tijdelijke maintenance-pagina's, login-flows. Allemaal scenario's waarin de redirect-bestemming kan veranderen of waarbij de oude URL canoniek moet blijven.

Wat is het verschil tussen 302 en 307?

Beide zijn tijdelijk. Bij 302 mogen browsers een POST omzetten naar GET; bij 307 moet de method behouden blijven. Voor API's en form-submits gebruik je 307; voor browser-redirects volstaat 302.

Schaadt een 302 mijn SEO?

Niet als 'ie correct gebruikt wordt — Google snapt tijdelijke redirects. Wel als je 'm per ongeluk gebruikt voor permanente verhuizingen: dan blijft de oude URL in de index en groeien rankings van de nieuwe pagina niet op.

Hoe maak ik een 302-redirect in WordPress?

Plugin Redirection: bij Add new kies Temporary 302. Of in .htaccess: Redirect 302 /oud /nieuw. Wees expliciet over het type-nummer — Redirect zónder code is in Apache 302 default, wat veel mensen niet weten.