En 301-omdirigering sier at en side er flyttet for godt; en 302 sier at flyttingen er midlertidig og at den gamle adressen kommer tilbake. Søkemotorene handler ut fra den forskjellen: etter en 301 indekserer de den nye adressen i stedet for den gamle, etter en 302 beholder de som regel den gamle. Bruk 301 (eller 308) for alt som er permanent, som en side med nytt navn, et nytt domene eller overgangen til HTTPS, og 302 (eller 307) bare når den opprinnelige adressen faktisk kommer tilbake. Hold hver omdirigering til ett enkelt hopp, og sjekk den med et verktøy som viser hvert steg.
Statuskodene for omdirigering
En omdirigering er et svar i 3xx-serien med en Location-header som oppgir den nye adressen. Fem koder har betydning i praksis:
KodeBetydningBeholder metodenBruk den til301 Moved PermanentlyFlyttet for godtIkke garantert: nettlesere gjør en POST om til en GETSider med nytt navn, nye domener, HTTP til HTTPS302 FoundMidlertidig et annet stedIkke garantert: nettlesere gjør en POST om til en GETKortvarige flyttinger, sende besøkende til en innloggingsside303 See OtherHent resultatet fra en annen adresseNei, alltid en GETEtter at et skjema er sendt inn, så en ny innlasting ikke sender det to ganger307 Temporary RedirectMidlertidig et annet stedJa, metode og innholdMidlertidige flyttinger av API-endepunkter og skjemaer308 Permanent RedirectFlyttet for godtJa, metode og innholdPermanente flyttinger av API-endepunkter og skjemaer
For vanlige sider, som nettlesere henter med GET, oppfører 301 og 308 seg likt, og det samme gjør 302 og 307. Forskjellen viser seg når en klient sender en POST: etter en 301 eller 302 gjentar de fleste klienter den som en GET uten innhold, mens 307 og 308 får dem til å sende nøyaktig samme forespørsel på nytt. Derfor bør API-er som flytter et endepunkt, bruke 308 eller 307. Hele listen over koder finner du i oversikten over HTTP-statuskoder.
Hva omdirigeringer gjør med SEO
Googles dokumentasjon om omdirigeringer behandler 301 og 308 som permanente og 302, 303 og 307 som midlertidige. En permanent omdirigering er et sterkt signal om at målet skal vises i søkeresultatene i stedet for den gamle adressen. En midlertidig omdirigering er et svakt signal, så den gamle adressen blir som regel liggende i indeksen.
Det gir tre vanlige feil:
En 302 for en permanent flytting. Mange rammeverk og utvidelser omdirigerer med 302 som standard. Etter at nettstedet er flyttet, bør du sjekke at omdirigeringene faktisk svarer 301 eller 308.
Å omdirigere alt til forsiden. Når en gammel side ikke har noe motstykke, kan Google behandle en omdirigering til forsiden som en soft 404. Send hver gammel side til den som ligner mest, eller la den svare 404 eller 410.
Gamle lenker som peker på omdirigeringer. En omdirigering er et sikkerhetsnett, ikke et mål. Oppdater interne lenker, canonical-tagger og nettstedskartet til den endelige adressen, så verken besøkende eller crawlere må betale for det ekstra hoppet.
Omdirigeringer på serversiden gir det tydeligste signalet. Meta refresh-tagger og JavaScript-omdirigeringer fungerer for besøkende, men søkemotorene ser dem først etter å ha lastet inn siden, og andre klienter ser dem kanskje ikke i det hele tatt.
Hvilken skal du bruke?
En side har fått nytt navn eller er slått sammen med en annen: 301.
Nettstedet har flyttet til et nytt domene, til HTTPS eller mellom www og domenet uten www: 301 fra hver gammel variant rett til den endelige adressen.
En side ligger midlertidig et annet sted, for en kampanje eller mens den bygges om: 302.
En besøkende må logge inn først: 302 til innloggingssiden, og så tilbake.
Et skjema er sendt inn: 303 til resultatsiden.
Et API-endepunkt har flyttet: 308 hvis det er for godt, 307 hvis det er midlertidig, så klientene beholder metoden og innholdet.
Nettstedet er nede for vedlikehold: ingen omdirigering. Svar 503 Service Unavailable på den opprinnelige adressen, så søkemotorene kommer tilbake senere i stedet for å indeksere en vedlikeholdsside.
Nettlesere husker permanente omdirigeringer
Nettlesere mellomlagrer 301- og 308-svar, ofte lenge, og følger dem uten å spørre serveren på nytt. En feil permanent omdirigering fortsetter derfor å sende tilbakevendende besøkende til feil sted, selv etter at du har rettet den på serveren. Når du setter opp en ny regel, bør du teste den som en 302 først og bytte til 301 når den er riktig. Har en feil 301 allerede gått ut, hjelper en Cache-Control: no-store-header på fremtidige omdirigeringer nye besøkende, men kopiene nettleserne allerede har, utløper i sitt eget tempo.
Omdirigeringskjeder og -løkker
En kjede er en omdirigering til en adresse som omdirigerer igjen: http://example.com til https://example.com til https://www.example.com til https://www.example.com/en/. Hvert hopp er en ny rundtur før siden begynner å laste, og Google følger maks 10 hopp. Kjeder vokser frem over år med flyttinger, der hver flytting legger sin regel oppå den forrige. Løs dem ved å sende hver gammel variant direkte til den endelige adressen i ett hopp.
En løkke er en kjede som aldri tar slutt: to regler sender besøkende frem og tilbake til nettleseren gir opp med «for mange omdirigeringer». De vanligste årsakene:
HTTP og HTTPS. Et CDN snakker med serveren din over HTTP, mens serveren omdirigerer hver HTTP-forespørsel til HTTPS. Bak Cloudflare er dette SSL-innstillingen Flexible; Full (strict) løser det.
www og domenet uten www. Webserveren legger til www og applikasjonen fjerner det, eller omvendt. I WordPress bør du sjekke at WordPress-adressen og nettstedsadressen stemmer med serverens regel.
Skråstrek på slutten og språkregler. Én regel legger til en skråstrek eller et språkprefiks, en annen fjerner det.
Slik sjekker du en omdirigering
Fra en terminal viser curl hvert hopp med statuskode og Location-header:
curl -sIL http://example.com/old-page | grep -iE «^(HTTP|location)»
HTTP/1.1 301 Moved Permanently
Location: https://example.com/old-page
HTTP/2 301
location: https://example.com/new-page
HTTP/2 200
To hopp: den andre regelen burde vært den første. I en nettleser åpner du utviklerverktøyene, huker av for Preserve log i Network-fanen og laster inn den gamle adressen; hver omdirigering får sin egen rad. Husk at nettleseren kan svare på en 301 fra hurtigbufferen, så et privat vindu gir et klarere bilde.
Eller bruk vår gratis omdirigeringssjekker: skriv inn en URL og se hvert hopp med statuskode, hvor kjeden ender, og om den går i løkke, blir for lang eller bruker en midlertidig omdirigering der du sannsynligvis mente en permanent. Den følger opptil 5 hopp, sjekket live fra Stockholm.
Slik setter du opp en 301
De fleste webhotell og CDN-er har en innstilling for omdirigeringer i kontrollpanelet. I serverkonfigurasjonen:
# nginx: one page
location = /old-page { return 301 /new-page; }
# nginx: a whole domain, keeping the path
server {
server_name old-example.com www.old-example.com;
return 301 https://example.com$request_uri;
}
# Apache (.htaccess): one page
Redirect 301 /old-page /new-page
Sjekk deretter den gamle adressen, HTTP- og www-variantene og en adresse med en spørrestreng, og sørg for at hver av dem når den endelige siden i ett hopp.
Overvåk omdirigeringer med Uptimecheck
En HTTP(S)-monitor i Uptimechecks oppetidsovervåking følger som standard opptil 10 omdirigeringer og vurderer siden på slutten, som regnes som oppe når den svarer med en status fra 200 til 399. En løkke, eller en kjede som er lengre enn det, rapporteres som nede med «Too many redirects», og hendelsen sier fra når kjeden spretter mellom HTTP og HTTPS eller mellom www og domenet uten www. Sjekkene kjører så ofte som hvert minutt fra Stockholm, London og New York, og en ny sjekk bekrefter en feil før du blir varslet.
Vil du overvåke selve omdirigeringen, for eksempel etter en domeneflytting, slår du av Follow redirects så monitoren vurderer omdirigeringens egen statuskode, setter Expected status codes til 301 og legger til en header-sjekk på at Location er lik den nye adressen. Hvis noen senere endrer omdirigeringen til en 302 eller lar den peke et annet sted, får du vite det. Se hvordan du legger til din første monitor og guiden til HTTP-statuskoder i overvåking.
Få vite når en flytting ryker. Prøv Uptimecheck gratis i 14 dager, uten kredittkort.