Ako jedan sajt ima više adresa, zarad dobrog rejtinga na pretraživačima, neophodno je preusmeriti korisnike koji dođu na različite adrese na jednu, onu osnovnu adresu sajta. Redirekciju treba uraditi sa kodom 301 tako da pretraživači znaju da uvek indeksiraju sadržaj sajta samo na osnovnoj adresi.
Znate li da WordPress ne poštuje ovo pravilo? Ako vaš blog ima više adresa, on će raditi redirekciju ali nedovoljno dobro i pretraživači će vaš sajt videti i indeksirati na svakoj adresi zasebno.
Ako mi ne verujete na reč evo dokaza. Moj blog ima tri adrese:
https://pedja.supurovic.net je glavna adresa bloga
http://pedja.uzice.net je stara adresa mog nekadašnjeg ličnog sajta koji sam ugasio kada sam započeo blog, preusmerio sam je na blog jer ona ima mnogo referentnih linkova koji su nastajali godinama
http://pedja.iz.rs je adresa koju sam upotrebio dok sam testirao primenu besplatnih .rs domena, ima neke panove sa njom pa sam je privremeno preusmerio na blog.
Blog je podešen da je njegova osnovna adresa https://pedja.supurovic.net i on se uglavnom tako i ponaša, međutim, u logovima sam primetio da se često pojavljuju i druge dve adrese i to ne kao adrese naslovne strane bloga, nego u adresama pojedinačnih članaka. Kako i zašto do toga dolazi ne znam.
Posledica je da su pretraživači indeksirali blog na sve tri adrese. To možete proveriti komandom site: na Google-u. On za sva tri sajta prikazuje indeksiran sadržaj: site:pedja.supurovic.net, site:pedja.uzice.net i site:pedja.iz.rs . Takođe, u rezultatima pretrage sam često nailazio na linkove koji vode na sporedne adrese.
Kako rešiti ovaj problem?
Mogli bi se ovo srediti nekim dodatkom za WordPress koji bi se pozabavio adresama i vršio redirekciju (vidi članak o redirekciji) ali mi se nije dalo da to pravim, pošto bih opet morao da kopam po relativno slaboj dokumentaciji WordPress-a da vidim kako da ga nateram da to radi.
Primenio sam brži i jednostavniji metod grube sile: ako WordPress to neće da uradi, veb server sigurno hoće. Malo sam doterao .htaccess datoteku bloga i u njoj podesio komande koje bezuslovno svaki pristup sajtu koji ne dolazi na osnovnu adresu, preusmerio na osnovnu adresu.
Izmena je jednostavna, na samom početku datoteke, odmah iza komande RewriteEngine on, u sledećem redu dodao sam dve linije:
RewriteCond %{HTTP_HOST} !^pedja.supurovic.net$ RewriteRule ^/?(.*)$ https://pedja.supurovic.net/$1 [R=301,L]
One upućuju veb server da svaki pristup sajtu koji ne dolazi na adresu pedja.supurovic.net preusmeri na tu adresu. Veb server ne ulazi u celu putanju, već proverava samo osnovnu adresu koja se u njoj nalazi i ako ona nije tačna zamenjuje je tačnom.
Vrlo je važno da se ove komande stave odmah iza komande RewriteEngine on jer one treba da deluju na svaku adresu pre nego što ona bude raščlanjena nekom drugom komandom u .htaccess datoteci.
I to je sve. Sada će posetioci bloga, kako god da na njega dođu, biti preusmereni na osnovnu adresu na koju i treba da stignu.
Pošto sam to sada uradio, trebaće neko vreme da internet pretraživači primete ovu promenu i da se to odrazi u rezultatima pretrage. Kada to bude ažurirano, indeks više neće sadržavati sadržaj sajta na drugim adresama osim na osnovnoj.
Ako negde i postoji kakav link ka sajtu koji ne pokazuje na osnovu adresu, dosadašnji rejting, koji je sledio iz tog linka, a bio je dodeljen na sporednu adresu, od sada će bi usmeren na osnonvu adresu na blogu i tako će osnovnoj adresi rejting porasti.
Pogledajte svoj blog i ako je moguće uradite isto ovo podešavanje – samo umesto moje adrese stavite osnovnu adresu svog sajta.
Nemojte da vas zbuni što moj sajt nema www u adresi. Ako vaš blog to ima onda i taj deo adrese uključite u navedenu komandu.
Šta ako sajt nema .htaccess datoteku?
Teško da WordPress nema ovu datoteku jer ona mu dođe kao neophodna da bi radio, ali pošto sve ovo možete primeniti na bilo koji sajt, a ne samo blog, sasvim je moguće da neki sajt nema .htaccess datoteku.
Možete je napraviti običnim tekst editorom (nemojte prevideti da je prvi znak u njenom imenu tačka). Ona treba da sadrži tri komande, slično kao u ovom primeru:
RewriteEngine on RewriteCond %{HTTP_HOST} !^www.mojsajt.com$ RewriteRule ^/?(.*)$ http://www.mojsajt.com /$1 [R=301,L]
Datoteku smestite u osnovni direktorijum sajta i ona će odmah biti primenjena.
Pozdrav,mene bi zanimalo kako da namestim da sve sa adrese mojblog.iz.rs/blog preusmeri na mojblog.iz.rs/ ?
Premesti sajt u korenski direktorijum.
ma nisi me razumeo,menu treba da naprimer mojblog.iz.rs/blog/?p=123456 preusmeri na mojblog.iz.rs/?p=123456,ali ne samo tako,nego svaki zahtev ka /blog/ preusmeri ka / .
Razumeo sam te. Zato sam ti i rekao da premestiš sajt u korenski direktorijum.
pa jesam da premestio,ali kod google-a još uvek ima neke stranice koje se nalaze na /blog/ .
Pa mi treba da sve to preusmerava na root.