Изборник Затворити

WordPress не ради добро редирекцију домена

Ако један сајт има више адреса, зарад доброг рејтинга на претраживачима, неопходно је преусмерити кориснике који дођу на различите адресе на једну, ону основну адресу сајта. Редирекцију треба урадити са кодом 301 тако да претраживачи знају да увек индексирају садржај сајта само на основној адреси.

Знате ли да WordPress не поштује ово правило? Ако ваш блог има више адреса, он ће радити редирекцију али недовољно добро и претраживачи ће ваш сајт видети и индексирати на свакој адреси засебно.

Ако ми не верујете на реч ево доказа. Мој блог има три адресе:

https://pedja.supurovic.net је главна адреса блога

http://pedja.uzice.net је стара адреса мог некадашњег личног сајта који сам угасио када сам започео блог, преусмерио сам је на блог јер она има много референтних линкова који су настајали годинама

http://pedja.iz.rs је адреса коју сам употребио док сам тестирао примену бесплатних .rs домена, има неке панове са њом па сам је привремено преусмерио на блог.

Блог је подешен да је његова основна адреса https://pedja.supurovic.net и он се углавном тако и понаша, међутим, у логовима сам приметио да се често појављују и друге две адресе и то не као адресе насловне стране блога, него у адресама појединачних чланака. Како и зашто до тога долази не знам.

Последица је да су претраживачи индексирали блог на све три адресе. То можете проверити командом site: на Google-у. Он за сва три сајта приказује индексиран садржај:  site:pedja.supurovic.net, site:pedja.uzice.net i site:pedja.iz.rs . Такође, у резултатима претраге сам често наилазио на линкове који воде на споредне адресе.

Како решити овај проблем?

Могли би се ово средити неким додатком за WordPress који би се позабавио адресама и вршио редирекцију (види чланак о редирекцији) али ми се није дало да то правим, пошто бих опет морао да копам по релативно слабој документацији WordPress-а да видим како да га натерам да то ради.

Применио сам бржи и једноставнији метод грубе силе: ако WordPress то неће да уради, веб сервер сигурно хоће. Мало сам дотерао .htaccess датотеку блога и у њој подесио команде које безусловно сваки приступ сајту који не долази на основну адресу, преусмерио на основну адресу.

Измена је једноставна, на самом почетку датотеке, одмах иза команде RewriteEngine on, у следећем реду додао сам две линије:

RewriteCond %{HTTP_HOST} !^pedja.supurovic.net$
RewriteRule ^/?(.*)$ https://pedja.supurovic.net/$1 [R=301,L]

Оне упућују веб сервер да сваки приступ сајту који не долази на адресу pedja.supurovic.net преусмери на ту адресу. Веб сервер не улази у целу путању, већ проверава само основну адресу која се у њој налази и ако она није тачна замењује је тачном.

Врло је важно да се ове команде ставе одмах иза команде RewriteEngine on јер оне треба да делују на сваку адресу пре него што она буде рашчлањена неком другом командом у .htaccess датотеци.

И то је све. Сада ће посетиоци блога, како год да на њега дођу, бити преусмерени на основну адресу на коју и треба да стигну.

Пошто сам то сада урадио, требаће неко време да интернет претраживачи примете ову промену и да се то одрази у резултатима претраге. Када то буде ажурирано, индекс више неће садржавати садржај сајта на другим адресама осим на основној.

Ако негде и постоји какав линк ка сајту који не показује на основу адресу, досадашњи рејтинг, који је следио из тог линка, а био је додељен на споредну адресу, од  сада ће би усмерен на оснонву адресу на блогу и тако ће основној адреси рејтинг порасти.

Погледајте свој блог и ако је могуће урадите исто ово подешавање – само уместо моје адресе ставите основну адресу свог сајта.

Немојте да вас збуни што мој сајт нема www у адреси. Ако ваш блог то има онда и тај део адресе укључите у наведену команду.

Шта ако сајт нема .htaccess датотеку?

Тешко да WordPress нема ову датотеку јер она му дође као неопходна да би радио, али пошто све ово можете применити на било који сајт, а не само блог, сасвим је могуће да неки сајт нема .htaccess датотеку.

Можете је направити обичним текст едитором (немојте превидети да је први знак у њеном имену тачка). Она треба да садржи три команде, слично као у овом примеру:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.mojsajt.com$
RewriteRule ^/?(.*)$ http://www.mojsajt.com
/$1 [R=301,L]

Датотеку сместите у основни директоријум сајта и она ће одмах бити примењена.

5 Comments

  1. Milan Kragujević

    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 / .

  2. Peđa

    Разумео сам те. Зато сам ти и рекао да преместиш сајт у коренски директоријум.

  3. Milan Kragujević

    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.

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *

Попуните израз тако да буде тачан: *

Ово веб место користи Акисмет како би смањило непожељне. Сазнајте како се ваши коментари обрађују.