Здравствуйте, уважаемые читатели моего блога! В этой статье я расскажу о файлах .htaccess и robots.txt — как их грамотно настроить. Это крайне важные файлы, которые позволяют задать главное зеркало сайта (склеить домены с www и без), настроить индексацию страниц, создать редирект 301. Дополнительно рассмотрим порядок действий при переезде со старого домена на новый.
Файл .htaccess и главное зеркало сайта
Каждый интернет ресурс имеет два зеркала — с приставкой www и без нее. Чтобы поисковики не воспринимали эти зеркала как два разных сайта с одинаковым контентом, необходимо выбрать из них главное и настроить редирект 301 на него, со второго зеркала. Тогда оба зеркала поисковиками будут восприниматься как единое целое и не будет играть роли, на какое из них ссылаются сторонние сайты — редирект позволит автоматически перекидывать пользователя на нужный адрес. Для этого необходимо создать и настроить файл .htaccess. Дополнительно можно указать основное зеркало в Яндекс Вебмастер и Google — инструменты для веб-мастеров. Для поисковиков все равно, какое зеркало вы выберете основным, поэтому исходите из своих личных предпочтений.
Зайдите на ftp в корневую папку и проверьте наличие файла .htaccess. Файл является скрытым, поэтому ftp клиенты могут его и не отображать. В ftp клиенте FileZilla следует включит функцию «Принудительно отображать скрытые файлы» в разделе «Сервер».
Для редактирования или создания файла .htaccess можно воспользоваться любым текстовым редактором. Только при создании укажите имя .htaccess, не забыв про точку в начала. Пропишите в нем следующие строчки (или добавьте их к уже имеющимся):
Редирект 301 с зеркала www на без www:
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www.vash_sait\.ru$ [NC] RewriteRule ^(.*)$ http://adres_saita.ru/$1 [R=301,L] |
Обратный вариант — редирект 301 с зеркала без www на с www:
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^vash_sait\.ru$ [NC] RewriteRule ^(.*)$ http://www.adres_saita.ru/$1 [R=301,L] |
Только не забудьте вписать свой URL адрес. После этого еще необходимо прописать директиву Host в фале robots.txt, о чем читайте в следующем пункте.
Robots.txt — настройка индексации страниц сайта
Файл robots.txt указывает поисковикам, какие страницы сайта им можно индексировать, а какие нельзя. Для его создания можно воспользоваться любым текстовым редактором, даже блокнотом. Так же как файл .htaccess, robots.txt следует загрузить на ftp в корневую папку. Теперь рассмотрим основные директивы, которые следует прописывать в robots.txt.
User-agent — в этой директиве прописываются поисковые боты, для которых действуют указанные ниже настройки. Если указать символ *, то настройки будут относится ко всем поисковикам:
User-agent: * |
Вот список имен ботов самых популярных поисковых систем:
Google Googlebot Яндекс Yandex Rambler StackRambler Mail.ru Mail.Ru Yahoo! Slurp (или Yahoo! Slurp) Alexa ia_archiver |
После User-agent обязательно должна следовать директива Disallow или Allow.
Директива Disallow используется для запрета индексации всего сайта целиком или каких-то его страниц. Allow наоборот разрешает индексацию, в ней можно задавать исключения из правил, указанных в директиве Disallow.
Следует соблюдать следующие правила:
- Недопустимо наличие пустых строк между директивами 'User-agent' и 'Disallow' ('Allow'), а также между самими директивами 'Disallow' и 'Allow'.
- Перед каждой новой директивой 'User-agent' обязательно оставляйте пустую строку.
- После названия директивы ставьте <двоеточие><провел><параметр>.
- Allow и Disallow из соответствующего блока User-agent сортируются по длине URL (от меньшего к большему) и применяются последовательно. Если для данной страницы подходит несколько директив, то выбирается последняя в порядке появления в сортированном списке. Этот пункт будет более понятен после рассмотрения примеров, приведенных ниже.
- при отсутствии параметров в директивах Allow и Disallow, индексация соответственно запрещается или разрешается для всех страниц сайта.
Теперь рассмотрим примеры, чтобы все стало более понятно.
User-agent: * Disallow: |
Звездочка в директиве User-agent указывает на то, что приведенные ниже настройки относятся ко всем поисковикам. Отсутствие параметров в Disallow соответствует разрешению индексации всего сайта.
User-agent: Googlebot Allow: /zapisi Disallow: / |
Настройки относятся только к роботу Гугла. Они предписывают запретить индексацию всего сайта, кроме страниц из /zapisi. Порядок следования Allow и Disallow не имеет значения, главное длина URL — в директиве Allow он длиннее, поэтому является исключением из правил, указанных в Disallow.
Помимо этого можно использовать спец символы — «*» и «$»:
* — любая (в том числе пустую) последовательность символов. По-умолчанию в конце каждого правила добавляется символ «*»:
Disallow: /indeksaciya = Disallow: /indeksaciya* |
Это означает запрет индексации всех страниц, которые начинаются с «/indeksaciya», то есть /indeksaciya, /indeksaciya.html и другие. Символ $ позволяет отметить действие *, тем самым конкретизировать правило:
Disallow: /indeksaciya$ |
В этом случае запрет будет распространятся только на /indeksaciya, но не на /indeksaciya.html.
Директивы Host и Sitemap воспринимается только ботами яндекса и служат для указания главного зеркала и адреса карты сайта.
Обязательно отделите данный блок от остальных настроек robots.txt пустой строкой.
Для зеркала с www:
User-agent: Yandex Disallow: Host: www.vash_site.ru Sitemap: http://www.vash_site.ru/sitemap.xml.gz Sitemap: http://www.vash_site.ru/sitemap.xml |
Для зеркала без www:
User-agent: Yandex Disallow: Host: vash_site.ru Sitemap: http://vash_site.ru/sitemap.xml.gz Sitemap: http://vash_site.ru/sitemap.xml |
Порядок переезда со старого домена на новый
Переезд со старого домена на новый является частным случаем склейки зеркал сайта. Яндекс рекомендует два пути решения данной проблемы: через директиву Host в файле robots.txt или через настройку редиректа 301 со старого адреса на новый в .htaccess. Так как директиву Host понимает только Яндекс, то лучше подстраховаться и выполнить оба этих варианта.
1. Купите новый домен и хостинг.
2. Перенесите на новый сервер все содержимое своего интернет ресурса.
3. На старом сайте в файле robots.txt в директиве Host укажите новый URL адрес.
4. В файле .htaccess настройте редирект 301:
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^staryj_adres.ru$ RewriteRule (.*) http://novyj_adres.ru/$1 [R=301,L] |
Не забывайте указывать именно главные зеркала — с приставкой www или без нее.
5. Склейка займет определенное время, на протяжении которого оба интернет портала должны быть доступны.
На этом все, спасибо за внимание! Подписывайтесь на