Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🚀 Ümbersuunamine www-lt mitte-www-le .htaccessi abil: täielik juhend Gravile, WordPressile ja teistele CMS-idele

🚀 Ümbersuunamine www-lt mitte-www-le .htaccessi abil: täielik juhend Gravile, WordPressile ja teistele CMS-idele

Sait avaneb nii www-ga kui ka ilma, kuid otsingumootorid näevad kahte erinevat aadressi identse sisuga. Lehekülje duplikaadid, hajutatud lingiõigus, segadus Search Console'is. Kõlab tuttavalt?

Ei Grav ega WordPress lahenda seda probleemi vaikimisi. .htaccess fail ja täpselt üks koodiplokk parandavad kõik viie minutiga. Allpool on testitud read Apache serveritele: universaalsed, ilma kodeeritud domeenideta, HTTPS-iga ja ilma. Lisaks viis, kuidas kontrollida, kas ümbersuunamine töötab ka väljaspool brauserit.

💡 Kiirülevaade:

  • Vali kanooniline versioon (www-ga või ilma) ja lisa universaalne 301 ümbersuunamine faili .htaccess
  • Kontrolli ümbersuunamisahelat käsuga curl -I või veebipõhise kontrollijaga: brauserid salvestavad 301 vahemällu ja võivad valetada
  • Üks koodiplokk lahendab samaaegselt www probleemi ja sunnib peale HTTPS-i

Miks üldse valida www ja ilma www vahel

Google ei eelista üht varianti teisele; ametlik seisukoht on püsinud muutumatuna aastaid. Kuid sa pead ühe valima ja sellest kinni pidama. Ilma ümbersuunamiseta indekseeritakse www.site.ru/page ja site.ru/page erinevate URL-idena, lingiõigus jaguneb pooleks ja analüütika loeb sama liiklust kaks korda.

Mida valida? Suurte projektide puhul on www mugavam: küpsised ei leki alamdomeenidele nagu cdn. ja api. ning DNS-i kirjeid on lihtsam seadistada. Väiksemate saitide puhul pole peaaegu mingit vahet. Keskendu sellele, mis on juba indekseeritud: sisesta otsingusse site:yourdomain.ru ja vaata, milline variant ilmub tulemustes sagedamini. Tee see kanooniliseks.

Tehniline märkus: Grav ei genereeri ise ümbersuunamisi. WordPress teeb seda ainult siis, kui seadetes olev siteurl vastab selgelt soovitud variandile, kuid seegi töötab ebajärjekindlalt. Lahendus on üks: mod_rewrite Apache'is faili .htaccess kaudu.

Kus.htaccess asub ja kuidas seda mitte lõhkuda

Fail .htaccess asub saidi juurkataloogis, koos index.php või kaustaga wp-admin. Kui faili ei eksisteeri (Grav ilma valmis mallita, värske majutus), loo tekstifail nimega .htaccess, kusjuures ees olev punkt on kohustuslik.

Enne mis tahes muudatusi lae praegune versioon oma arvutisse alla. Süntaksiviga failis .htaccess põhjustab saidi kohese kokkujooksmise 500 veaga. Raudne reegel: üks varukoopia kohalikult, teine teise nimega otse serveris (.htaccess.backup). Taastada saab isegi ilma administraatoripaneeli ligipääsuta, FTP või majutusteenuse failihalduri kaudu.

Gravi ja WordPressi puhul on reegel sama: kui fail sisaldab juba rida RewriteEngine On, ära seda rida dubleeri. Lisa uus ümbersuunamisplokk pärast seda. Gravi standardses .htaccess failis on see rida vaikimisi olemas.

301 Ümbersuunamine www-lt ilma www-ta: universaalne kood

Allolev kood töötab iga domeeni puhul; sa ei pea käsitsi example.com asendama. Mugav, kui haldad mitut saiti või kannad reegleid projektide vahel üle. Lisa faili .htaccess pärast rida RewriteEngine On:

1RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
2RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Rida-realt: RewriteCond püüab kinni iga hosti, mis algab www.-ga, ja salvestab domeeni sulgudesse. RewriteRule suunab päringu ümber samale teele ilma www-ta, asendades salvestatud domeeni %1 abil. Lipp R=301 tähendab püsivat ümbersuunamist. L ütleb serverile "peatu, ära rakenda edasisi reegleid". NC muudab kontrolli tõstutundetuks.

Kui sait töötab HTTPS-il, asenda RewriteRule-s http:// -> https://. Veelgi parem, kasuta kombineeritud plokki, mis lahendab nii www kui ka HTTPS-i ühe hoobiga:

1RewriteCond %{HTTPS} off [OR]
2RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
3RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Esimene tingimus käivitub HTTP päringute korral, teine www korral. Kui kumbki on tõene ([OR]), suunatakse päring aadressile https://domain-without-www/path. Üks plokk, kaks probleemi lahendatud.

Vastupidine stsenaarium: ilma www-ta -> www-le

Kui soovid, et aadressiribal oleks alati www, kasuta peegelvarianti:

1RewriteCond %{HTTP_HOST} !^www\. [NC]
2RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Loogika on sama, ainult tingimus on pööratud: kui host ei alga www-ga, lisame algusesse www.. %{HTTP_HOST} asendab praeguse hosti täielikult, erinevalt eelmisest plokist, kus me eemaldasime www. sulgudega püüdmise abil.

Versioon HTTPS-iga:

1RewriteCond %{HTTPS} off [OR]
2RewriteCond %{HTTP_HOST} !^www\. [NC]
3RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Kasuta ühte neljast plokist, olenevalt sellest, milline on sinu kanooniline domeenivariant ja kas kasutad HTTPS-i. Kaks plokki järjest on ebavajalikud ja tekitavad ümbersuunamisahelasse lisahüppe.

Kuidas kontrollida, kas ümbersuunamine töötab

Ära looda brauserile; see salvestab 301 ümbersuunamised vahemällu ja näitab vana pilti isegi pärast .htaccess muutmist. Kolm viisi tõe väljaselgitamiseks:

  • curl** -I.** Terminalis: curl -I http://www.example.com. Õige vastus algab reaga HTTP/1.1 301 Moved Permanently ja Location: päis sisaldab siht-URL-i. Kontrolli mõlemat varianti, www-ga ja ilma.
  • Veebipõhised kontrollijad. Redirect Checker või HTTP olekukoodi kontrollija: sisesta URL, näed kogu ümbersuunamisahelat ja lõplikku vastuskoodi.
  • Google Search Console. Pärast kanoonilise domeeni muutmist mine atribuudi seadetesse ja määra eelistatud versioon. See ei asenda .htaccess-it, kuid annab otsingumootorile täiendava signaali.

Eraldi nõuanne Gravile: pärast .htaccess muutmist tühjenda CMS-i vahemälu Admin → Configuration → Performance → Clear Cache kaudu. Grav salvestab lehti agressiivselt vahemällu ja ilma tühjendamiseta ei pruugi ümbersuunamine juba genereeritud koopiatele rakenduda.

⁉️🤔 Korduma kippuvad küsimused

Kumb variant on SEO jaoks parem, www-ga või ilma?

Google ütleb ametlikult: vahet pole. Vali üks ja pea sellest kinni. Võtmetegur on järjepidevus: siselingid, saidikaart ja kanoonilised sildid peaksid osutama ühele variandile. Ahrefsi uuringu kohaselt kasutab umbes 55% top-100 saitidest ilma www-ta versiooni, kuid mõlemad variandid reastuvad võrdselt hästi.

Mis juhtub, kui ümbersuunamist üldse ei seadista?

Otsingumootorid näevad kahte sõltumatut duplikaatsaiti. Lingiõigus jaguneb, lehed hakkavad tulemustes üksteisega konkureerima ja analüütika aruanded jaotavad sama liikluse kahe hosti vahel. Mõne kuu pärast on tüüpiline pilt: pooled lehed indekseeritud www-ga, pooled ilma, reastumine ebastabiilne.

Kas saab ilma.htaccess-ita hakkama?

Jah, kuid alternatiivid on kas keerulisemad või aeglasemad. WordPressi pluginad nagu Redirection ja Rank Math töötavad PHP tasemel; iga päring läbib WordPressi tuuma, tekitades koormust. Suure liiklusega saitide puhul on .htaccess Apache'i tasemel märgatavalt kiirem. Gravi jaoks ümbersuunamispluginaid praktiliselt pole, seega jääb .htaccess peamiseks teeks. NGINX serveritel on ekvivalendiks return 301 direktiivid server {} plokis.

Kas ümbersuunamine tuleb seadistada iga lehe jaoks eraldi?

Ei, pakutud reeglid on universaalsed; need rakenduvad kõigile saidi URL-idele automaatselt. Üks plokk katab avalehe, sisemised lehed, pildid ja CSS-failid. Eraldi ümbersuunamised vanadelt URL-idelt uutele seadistatakse täiendavalt ridadega Redirect 301 /old-page /new-page, kuid neil pole www probleemiga mingit pistmist.

500 viga pärast.htaccess muutmist, mida teha?

Kopeeri .htaccess.backup FTP või majutusteenuse failihalduri kaudu tagasi; sait tuleb koheselt tagasi. Kontrolli koodi kirjavigade suhtes: puuduv tühik, üleliigne kaldkriips, sulgude mittevastavus. Lisa reegleid ükshaaval ja testi pärast iga muudatust. Ja mitte kunagi ei tohi redigeerida .htaccess-it toodangus ilma värske varukoopiata käepärast.

Ümbersuunamine töötab, kuid Google näitab tulemustes endiselt vana versiooni. Miks?

Ümberindekseerimine võtab aega mõnest päevast kuni paari nädalani. Veendu, et lehtede kanoonilised sildid osutavad valitud variandile ja saidikaart sisaldab URL-e ilma vana hostita. Search Console'is saad taotleda uuesti roomamist URL-i kontrollimise tööriista kaudu; see kiirendab protsessi, kuid ei taga koheseid tulemusi.

Milline variant seadistada: lühike otsus

Kui sait on uus, vali ilma www-ta ja HTTPS. Vähem tähemärke aadressiribal, lihtsam valjusti dikteerida, pole küpsiste probleeme alamdomeenidega. Enamiku projektide jaoks on see enam kui piisav.

Juba www-ga indekseeritud? Ära lõhu seda, mis töötab. Seadista ümbersuunamine ilma www-ta -> www-le, uuenda kanoonilised sildid ja jätka.

Kogu protsess: ava .htaccess, lisa üks neljast ülaltoodud plokist, tühjenda CMS-i vahemälu, kontrolli käsuga curl -I. Viis minutit ja duplikaadid on otsingumaastikult kadunud. Teised .htaccess tehnikad on koondatud serveri seadistamise juhendisse; vaata seda, kui seadistad saiti terviklikult.