В этой статье рассмотрим применение модуля mod_rewrite для улучшения индексации и ранжирования сайта.
Множество веб-мастеров сталкиваются с проблемой ранжирования сайта в поисковой выдаче. Нередко проблема возникает в связи с тем, что одна и та же страница имеет множество адресов, что в итоге распознаётся поисковыми системами как дубли страниц. Дубли страниц не одобряются поисковыми системами, так как они не интересны пользователю, который ищет информацию, поэтому поисковые системы плохо ранжируют сайты с дублями страниц. Как же сделать так, чтобы поисковая система не видела эти "дубли"? Можно воспользоваться файлом robots.txt, а можно пойти другим, более эффективным, путём. Для наших экспериментов потребуется модуль mod_rewrite веб-сервера Apache и файл .htaccess.
Первым делом избавимся от главной проблемы - возникновения "зеркал" сайта, прописав строчки, приведённые ниже, в файле .htaccess. Подумайте, какой адрес сайта Вы бы хотели видеть:
если www.site.ru, то пропишем в файле .htaccess следующие строчки:
RewriteCond %{HTTP_HOST} ^site.com [NC]
RewriteRule (.*) http://www.site.com/$1 [R=301,L]
или же просто site.ru, для чего нужно вписать:
RewriteCond %{HTTP_HOST} ^www\.site\.com [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]
Если Вы используете стандартный немодифицируемый SEF-компонент, то ссылки на Вашем сайте должны представлять примерно следующий вид (www.)site.ru/index.html?..., но страница site.ru/index.php по-прежнему доступна как посетителям, так и поисковым системам. Можно запретить её к индексации путём добавления в файл robots.txt, но тогда нужно будет просто ждать, пока поисковые системы не перестанут индексировать данную страницу. На эту ситуацию у меня есть свой взгляд: сделаем перенаправление со страницы /index.php на страницу /index.html или же на любой другой раздел сайта. Этим разделом может быть любая страница - например, страница, на которой показан список последних добавленных материалов. Сделав перенаправление на страницу, где показаны последние новости, Вы не только пенеправляете всех посетителей с "некорректных" адресов на новости, но ещё и прибавляете просмотров новостей роботом поисковой системы, что однозначно хорошо повлияет на скорость индексации последних новостей. Перенаправлять будем таким образом:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.com/ [R=301,L]
Данные строчки нужно дописать после тех, что отвечают за адрес сайта с приставкой www или без неё. Если Ваш сайт доступен по адресу с приставкой www, то и употреблять в данном правиле следует адрес с www во избежании лишней нагрузки на сервер. Данные правила можно изменять в зависимости от потребностей. Например, если нужно перенаправить не с /index.php, а с /doroga.php, то и в правило стоит вписывать именно этот файл. Если на сайте SEF-ссылки не включались, то перед началом правил следует вписать строчку
RewriteEngine On
Данная строчка включит сам модуль mod_rewrite. Если хотя бы одна из опций стандартного SEF-компонента Joomla! была включена, то включать модуль не требуется и данная строчка уже должна существовать в файле .htaccess.
Это основные опции, которые нужно употреблять ещё на стадии доработки сайта. Возможности модуля mod_rewrite не ограничиваются данными опциями и могут послужить в других случаях - например, когда нужно перенаправлять с динамического адреса материала на статический адрес.
Множество веб-мастеров сталкиваются с проблемой ранжирования сайта в поисковой выдаче. Нередко проблема возникает в связи с тем, что одна и та же страница имеет множество адресов, что в итоге распознаётся поисковыми системами как дубли страниц. Дубли страниц не одобряются поисковыми системами, так как они не интересны пользователю, который ищет информацию, поэтому поисковые системы плохо ранжируют сайты с дублями страниц. Как же сделать так, чтобы поисковая система не видела эти "дубли"? Можно воспользоваться файлом robots.txt, а можно пойти другим, более эффективным, путём. Для наших экспериментов потребуется модуль mod_rewrite веб-сервера Apache и файл .htaccess.
Первым делом избавимся от главной проблемы - возникновения "зеркал" сайта, прописав строчки, приведённые ниже, в файле .htaccess. Подумайте, какой адрес сайта Вы бы хотели видеть:
если www.site.ru, то пропишем в файле .htaccess следующие строчки:
RewriteCond %{HTTP_HOST} ^site.com [NC]
RewriteRule (.*) http://www.site.com/$1 [R=301,L]
или же просто site.ru, для чего нужно вписать:
RewriteCond %{HTTP_HOST} ^www\.site\.com [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]
Если Вы используете стандартный немодифицируемый SEF-компонент, то ссылки на Вашем сайте должны представлять примерно следующий вид (www.)site.ru/index.html?..., но страница site.ru/index.php по-прежнему доступна как посетителям, так и поисковым системам. Можно запретить её к индексации путём добавления в файл robots.txt, но тогда нужно будет просто ждать, пока поисковые системы не перестанут индексировать данную страницу. На эту ситуацию у меня есть свой взгляд: сделаем перенаправление со страницы /index.php на страницу /index.html или же на любой другой раздел сайта. Этим разделом может быть любая страница - например, страница, на которой показан список последних добавленных материалов. Сделав перенаправление на страницу, где показаны последние новости, Вы не только пенеправляете всех посетителей с "некорректных" адресов на новости, но ещё и прибавляете просмотров новостей роботом поисковой системы, что однозначно хорошо повлияет на скорость индексации последних новостей. Перенаправлять будем таким образом:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.com/ [R=301,L]
Данные строчки нужно дописать после тех, что отвечают за адрес сайта с приставкой www или без неё. Если Ваш сайт доступен по адресу с приставкой www, то и употреблять в данном правиле следует адрес с www во избежании лишней нагрузки на сервер. Данные правила можно изменять в зависимости от потребностей. Например, если нужно перенаправить не с /index.php, а с /doroga.php, то и в правило стоит вписывать именно этот файл. Если на сайте SEF-ссылки не включались, то перед началом правил следует вписать строчку
RewriteEngine On
Данная строчка включит сам модуль mod_rewrite. Если хотя бы одна из опций стандартного SEF-компонента Joomla! была включена, то включать модуль не требуется и данная строчка уже должна существовать в файле .htaccess.
Это основные опции, которые нужно употреблять ещё на стадии доработки сайта. Возможности модуля mod_rewrite не ограничиваются данными опциями и могут послужить в других случаях - например, когда нужно перенаправлять с динамического адреса материала на статический адрес.
Комментариев нет:
Отправить комментарий