
🚀 Omdirigera från www till icke-www med .htaccess: en komplett guide för Grav, WordPress och andra CMS
Sajten öppnas både med www och utan, men sökmotorer ser två olika adresser med identiskt innehåll. Sidduplicering, utspädd länkkraft, förvirring i Search Console. Låter det bekant?
Varken Grav eller WordPress löser detta direkt ur lådan. Filen .htaccess och exakt ett kodblock fixar allt på fem minuter. Nedan finns testade rader för Apache-servrar: universella, utan hårdkodade domäner, med HTTPS och utan. Plus ett sätt att verifiera att omdirigeringen fungerar bortom bara webbläsaren.
💡 Snabb överblick:
- Välj en kanonisk version (med www eller utan) och lägg till en universell 301-omdirigering i
.htaccess - Kontrollera omdirigeringskedjan via
curl -Ieller en online-kontroll: webbläsare cachar 301:or och kan ljuga - Ett kodblock löser samtidigt www-problemet och tvingar HTTPS
Varför välja mellan www och icke-www över huvud taget
Google föredrar inte den ena varianten framför den andra; den officiella hållningen har varit oförändrad i åratal. Men du måste välja en och hålla dig till den. Utan en omdirigering indexeras www.site.ru/page och site.ru/page som olika URL:er, länkkraften delas på hälften och analysverktygen räknar samma trafik två gånger.
Vad ska man välja? För stora projekt är www smidigare: cookies läcker inte till subdomäner som cdn. och api., och DNS-poster är enklare att konfigurera. För mindre sajter är det nästan ingen skillnad. Fokusera på vad som redan är indexerat: skriv site:yourdomain.ru i sökfältet och se vilken variant som dyker upp oftare i resultaten. Gör den till kanonisk.
Teknisk not: Grav genererar inga omdirigeringar på egen hand. WordPress gör det bara om siteurl i inställningarna uttryckligen matchar den önskade varianten, men även det fungerar inkonsekvent. Lösningen är en: mod_rewrite i Apache via .htaccess.
Var.htaccess finns och hur du inte förstör den
Filen .htaccess ligger i sajtens rot, bredvid index.php eller mappen wp-admin. Om filen inte finns (Grav utan färdig mall, nytt webbhotell), skapa en textfil med namnet .htaccess där den inledande punkten är obligatorisk.
Innan några redigeringar, ladda ner den aktuella versionen till din dator. Ett syntaxfel i .htaccess kraschar sajten med ett 500-fel omedelbart. Järnregel: en säkerhetskopia lokalt, en till med ett annat namn direkt på servern (.htaccess.backup). Du kan återställa även utan tillgång till adminpanelen, via FTP eller webbhotellets filhanterare.
För Grav och WordPress gäller samma regel: om filen redan innehåller RewriteEngine On, duplicera inte den raden. Lägg till det nya omdirigeringsblocket efter den. I standard .htaccess för Grav finns denna rad som standard.
301-Omdirigering från www till icke-www: universell kod
Koden nedan fungerar för vilken domän som helst; du behöver inte ersätta example.com manuellt. Praktiskt om du hanterar flera sajter eller flyttar regler mellan projekt. Lägg till i .htaccess efter RewriteEngine On:
1 RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 2 RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Rad för rad: RewriteCond fångar upp varje värd som börjar med www. och fångar domänen inom parentes. RewriteRule omdirigerar begäran till samma sökväg utan www, och ersätter den fångade domänen via %1. Flaggan R=301 betyder permanent omdirigering. L säger till servern "stopp, tillämpa inga fler regler." NC gör kontrollen skiftlägesokänslig.
Om sajten körs på HTTPS, ersätt http:// med https:// i RewriteRule. Ännu bättre, använd ett kombinerat block som löser både www och HTTPS i en enda körning:
1 RewriteCond %{HTTPS} off [OR] 2 RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 3 RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Det första villkoret utlöses på HTTP-begäranden, det andra på www. Om något av dem är sant ([OR]), går begäran till https://domain-without-www/path. Ett block, två problem lösta.
Omvänt scenario: från icke-www till www
Om du behöver att adressfältet alltid visar www, använd spegelvarianten:
1 RewriteCond %{HTTP_HOST} !^www\. [NC] 2 RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Logiken är densamma, bara villkoret är inverterat: om värden inte börjar med www, lägger vi till www. i början. %{HTTP_HOST} ersätter den aktuella värden i sin helhet, till skillnad från föregående block där vi tog bort www. via parentesfångst.
Version med HTTPS:
1 RewriteCond %{HTTPS} off [OR] 2 RewriteCond %{HTTP_HOST} !^www\. [NC] 3 RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Använd ett av de fyra blocken, det som matchar din kanoniska domänvariant och HTTPS-närvaro. Två block i rad är onödigt och skapar ett extra hopp i omdirigeringskedjan.
Hur du verifierar att omdirigeringen fungerar
Lita inte på webbläsaren; den cachar 301-omdirigeringar och visar den gamla bilden även efter redigering av .htaccess. Tre sätt att hitta sanningen:
- curl** -I.** I terminalen:
curl -I http://www.example.com. Ett korrekt svar börjar medHTTP/1.1 301 Moved Permanently, och headernLocation:innehåller mål-URL:en. Kontrollera båda varianterna, med www och utan. - Online-kontroller. Redirect Checker eller HTTP Status Code Checker: klistra in URL:en, se hela omdirigeringskedjan och slutlig svarskod.
- Google Search Console. Efter att du ändrat den kanoniska domänen, gå till egenskapsinställningarna och ange den föredragna versionen. Detta ersätter inte
.htaccessmen ger sökmotorn en extra signal.
Ett separat tips för Grav: efter redigering av .htaccess, rensa CMS-cachen via Admin → Configuration → Performance → Clear Cache. Grav cachar sidor aggressivt, och utan rensning kanske omdirigeringen inte tillämpas på redan genererade kopior.
⁉️🤔 Vanliga frågor
Vilken variant är bättre för SEO, med www eller utan?
Google anger officiellt: det är ingen skillnad. Välj en och håll dig till den. Nyckelfaktorn är konsekvens: interna länkar, webbplatskarta och kanoniska taggar ska peka på en variant. Enligt en Ahrefs-undersökning använder cirka 55% av topp-100-sajterna icke-www-versionen, men båda varianterna rankar lika bra.
Vad händer om du inte sätter upp någon omdirigering alls?
Sökmotorer kommer att se två oberoende dubblettsajter. Länkkraften splittras, sidor börjar konkurrera med varandra i resultaten och analysrapporter sprider samma trafik över två värdar. Efter några månader är den typiska bilden: hälften av sidorna indexerade med www, hälften utan, instabil rankning.
Kan man klara sig utan.htaccess?
Ja, men alternativen är antingen mer komplexa eller långsammare. WordPress-plugins som Redirection och Rank Math arbetar på PHP-nivå; varje begäran passerar genom WordPress-kärnan, vilket skapar belastning. För sajter med hög trafik är
.htaccesspå Apache-nivå märkbart snabbare. För Grav är omdirigeringsplugins praktiskt taget obefintliga, så.htaccessförblir den primära vägen. På NGINX-servrar är motsvarighetenreturn 301-direktiv iserver {}-blocket.
Behöver du sätta upp en omdirigering för varje sida separat?
Nej, de angivna reglerna är universella; de tillämpas på alla sajtens URL:er automatiskt. Ett block täcker startsidan, interna sidor, bilder och CSS-filer. Separata omdirigeringar från gamla URL:er till nya konfigureras ytterligare med raderna
Redirect 301 /old-page /new-page, men de har inget med www-problemet att göra.
500-fel efter redigering av.htaccess, vad gör man?
Kopiera tillbaka
.htaccess.backupvia FTP eller webbhotellets filhanterare; sajten kommer tillbaka omedelbart. Kontrollera koden efter stavfel: ett mellanslag som saknas, ett extra snedstreck, omatchade parenteser. Lägg till regler en i taget och testa efter varje ändring. Och redigera aldrig.htaccessi produktion utan en aktuell säkerhetskopia till hands.
Omdirigeringen fungerar, men Google fortsätter att visa den gamla versionen i resultaten. Varför?
Omindexering tar från några dagar till ett par veckor. Se till att kanoniska taggar på sidor pekar på den valda varianten och att webbplatskartan innehåller URL:er utan den gamla värden. I Search Console kan du begära en ny genomsökning via URL Inspection-verktyget; detta påskyndar processen men garanterar inte omedelbara resultat.
Vilken variant man ska välja: den korta domen
Om sajten är ny, kör på icke-www och HTTPS. Färre tecken i adressfältet, lättare att diktera högt, inga cookie-problem med subdomäner. För de flesta projekt är detta mer än tillräckligt.
Redan indexerad med www? Laga inte något som fungerar. Sätt upp en omdirigering från icke-www till www, uppdatera kanoniska taggar och fortsätt.
Hela processen: öppna .htaccess, lägg till ett av de fyra blocken ovan, rensa CMS-cachen, verifiera via curl -I. Fem minuter, och dubbletter är borta från söklandskapet. Andra .htaccess-tekniker finns samlade i serverkonfigurationsguiden; kolla in den om du konfigurerar en sajt heltäckande.



