301 redirect serverkode til viderestilling af gammel Url-adresse

En 301 redirect er et af de vigtigste værktøjer i en webudviklers og webadministratorers værktøjskasse, især når det kommer til at styre websites url og sidestruktur og bevare linkjuice til de nye sider (SEO) efter en redirect.

Men hvad er en 301 redirect præcis, og hvordan anvendes den?

En 301 redirect er en permanent redirect fra én URL adresse til en anden. Når en bruger eller en søgemaskine prøver at tilgå den oprindelige URL, bliver de automatisk viderestillet til den nye URL. - adresse. Tallet "301" er HTTP-statuskoden for "flyttet permanent".  Læs evt. mere under Serverkoder.  Undgå interne redirect 301, få ryddet godt op i disse på websitet. (SEO killer)

Hvorfor anvender vi en 301 Redirect?

Der er flere årsager til at bruge en 301 redirect:

Domæneskift: Hvis du skifter dit domæne, så kan du sikre, at webtrafikken fra dit gamle domæne omdirigeres korrekt til dit nye domæne og de underliggende sider i en redirect 1-1 løsning. (side til side).

Omstrukturering af webstedet: Når URL-strukturen på  webstedet ændres, kan der anvendes 301 redirects til at sikre, at gamle URL-adresser peger på deres nye placeringer (de nye URL-adresser).

Sammenlægning af indhold: Hvis der findes to lignende sider og det besluttes at slå dem sammen til én. side, så kan en 301 redirect anvendes til at omdirigere trafikken fra den gamle side til den nye.

Bevarelse af SEO værdi fra den gamle URL-adresse: En af de store fordele ved 301 redirects er, at de overfører en stor del af linkjuicen (SEO-værdien) fra den gamle URL til den nye. Dette hjælper med at bevare søgemaskineplaceringer, når der foretager større ændringer på webstedet.

Sådan opsættes en 301 Redirect:

Der er flere måder at implementere 301 redirects på:

  • .htaccess: Hvis webstedet kører på en Apache-server, kan .htaccess-filen anvendes til at tilføje 301 redirects.
  • Nginx: Hvis websitet ligger på en Nginx server, kan redirect tilføjes i serverkonfigurationen.
  • CMS: De fleste moderne CMS som f.eks. WordPress, Joomla, og Drupal har plugins eller indbyggede funktioner, der gør det nemt at tilføje 301 redirects.

Faldgruber:

301 redirects er ekstremt nyttige, men der er nogle potentielle faldgruber:

For mange redirect: At have mange redirect i træk (f.eks. A -> B -> C -> D) kan forsinke indlæsningstider og give en dårlig brugeroplevelse.

Glemte redirects: Hvis der fjernes en side og man glemmer at sætte en redirect op, så ender brugeren på en 404 fejlside.

Cirkulære redirects: A -> B og samtidigt B -> A. Dette kan forvirre både søgemaskiner og besøgende.

Htaccess 301 redirect forklaring og eksempler

301 redirects er en metode til at viderestille brugere og søgemaskinebots, og samtidig bevare SEO værdi og sikre en problemfri overgang, fra gamle uddaterede url-adresser når man foretager ændringer på et websted. Korrekt implementering er afgørende for at undgå potentielle faldgruber og sikre en optimal funktionalitet på websitet.

Hvordan fungerer htaccess redirect?

RewriteCond %{HTTP_HOST} ^domain.com$ [NC] Hver regel kan have tilknyttede betingelser, der skal opfyldes, før reglen kan tages i betragtning til en omskrivning.

Tilføjelsen af omskrivningsbetingelser sker ved hjælp af kommandoen RewriteCond. I  eksemplet anvendes følgende, når den gamle sti indeholder et specifikt domæne (HTTP_HOST). RewriteCond %{QUERY_STRING} ^querystringtext$

For dynamiske URLs, der indeholder forespørgselsstrengsparametre efter et spørgsmålstegn (?), skal disse defineres som en omskrivningsbetingelse (QUERY_STRING) ved hjælp af regulære udtryk (Regex) syntaks.

Hvis ingen forespørgselsstreng anvendes, tilføjes en tom omskrivningsbetingelse for at sikre, at den kun matcher URL uden forespørgselsstrenge.

RewriteCond %{HTTPS} =on

Grundlæggende Regex

^ Starten af en streng

$ Slutningen af en streng

\. Punktum skal escapes med et skråstreg, da de har en betydning (enhver karakter).

\+ Skal escapes med et skråstreg, da det betyder 'en eller flere' af den foregående karakter.

Den nævnte omskrivningsbetingelse anvendes, når den gamle sti eksplicit bruger "https://" i sin URL, hvilket indikerer, at den er sikker.

Eksempel 301 redirect

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]

RewriteCond %{HTTPS} =on

RewriteRule ^old-page\.html$ https://www.domain.com/new-page.html [R=301,NE,NC,L]

Mindre restriktiv 301 redirect

RewriteCond %{QUERY_STRING} ^$ RewriteRule ^old-page\.html$ https://www.domain.com/new-page.html? [R=301,NE,NC,L]

Den indledende del specificerer den sti, der skal matche, for at omskrivningsreglen skal anvendes, forudsat at alle de foregående omskrivningsbetingelser er opfyldt. Stien defineres ved hjælp af regulære udtryk (Regex) syntaks.

Vi tilføjer den side, vi permanent omdirigerer til. Dette kan være en relativ sti eller en komplet URL. Hvis URL'en ikke indeholder et spørgsmålstegn (?) tilføjes et. Dette er et signal til at stoppe forespørgselsstrengen fra den gamle side fra at blive tilføjet.

Endelig er der inkluderet en række flag for at definere, hvordan omskrivningsreglen fungerer. De specificerer, at det skal være en 301 Permanent redirect (R=301), at URL'en ikke skal escapes (NE), den skal ikke være versalfølsom (NC), og det er den sidste regel, der skal behandles (L).

Hvorfor bruger vi ikke en simplere 301 redirect metode?

Der findes en simplere redirectmetode med kun én linje:

Redirect 301 /old-page.html /new-page.html

Hos Online Marketing  anvender vi ikke denne type redirect, fordi det ikke er muligt med en præcis redirect af siderne. Redirect kommandoen tager ikke hensyn til indkommende forespørgselsstrenge, hvilket betyder, at en nøjagtig kildematch ikke kan laves. f.eks. med ? og lignende parametre i url adressen.

En anden begrænsning er, at man ikke kan begrænse kilden til et specifikt domæne. Men du kan specificere domænet for destinationen og specificere en forespørgselsstreng (enhver kildeforespørgselsstreng ignoreres altid og går tabt).