Теме: URL rewriting | WordPress

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

Скраћена веза: http://pedja.supurovic.net/veza/2860

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

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

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

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

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

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

Блог је подешен да је његова основна адреса http://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 ^/?(.*)$ http://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 to WordPress не ради добро редирекцију домена

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

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