17-примеров использования файла .htaccess для seo
В предыдущих статьях речь уже шла о том, как провести аудит сайта самостоятельно, где рассматривались подробные инструкции по выявлению и устранению ошибок на сайте. И тогда мы не раз обращались к файлу .htaccess, в котором прописываются различные директивы, необходимые для внутренней seo-оптимизации всего сайта.
Файл .htaccess используются в основном разработчикам веб-ресурсов. Но для успешного продвижения сайта и правильной внутренней оптимизации, очень часто приходится работать с данным файлом и другим специалистам, особенно на старте проекта.
В этой статье мы собрали максимальное полное пособие по использованию файла .htaccess для seo-специалистов и разработчиков, желающих углубить свои знания в seo.
Напомним, что данный файл всегда расположен в корневой папке сайта.
1. Установить единую кодировку сайта
Кодировка для windows-1251
Чаще всего используется первый вариант.
Для проверки кодировки страниц используем сервис be1.ru. 2. Задать страницу ошибки (404 ошибка, страница не существует)
Проверяем код ответа сервера для данных страниц через be1.ru. Для страниц ошибок – 400, для работающих – 200 OK. 3. Редирект 301 с любой страницы на любую другую
Альтернативный вариант для перенаправления
При таком способе для каждой страницы необходимо прописывать 301 редирект отдельно. 4. Редирект на основное зеркало (с www на не-www)
1 – способ
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
2 – способ
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.seo-impulse\.ru>$ [NC]
RewriteRule ^(.*)$ http://seo-impulse.ru/$1 [R=301,L]
При этом не забываем прописывать основной хост в файле robots.txt и в панели webmaster. 5. Редирект на основное зеркало (с не-www на www)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^seo-impulse\.ru$ [NC]
RewriteRule ^(.*)$ http://www.seo-impulse.ru/$1 [R=301,L]
2-способ
RewriteEngine On
RewriteCond %{HTTP_HOST} ^seo-impulse\.com$ [NC]
RewriteRule ^(.*)$ http://www.seo-impulse.ru/$1 [R=301,L]
Чтобы не ошибиться с выбором основного зеркала, обращаем внимание на то, по какому адресу находится большинство страниц в выдаче (с префиксом или без). 6. Редирект со страниц со слешом “/” на без слеша
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
Альтернативный вариант
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) http://seo-impulse/$1/ [R=301,L]
Редирект со страницы без слеша на страницу со слешом “/”
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Данные редиректы могут не работать для Joomla, если есть модуль для интернет-магазина Virtuemart. В таком случае необходимо настраивать редирект через php, о чем пойдет речь в следующих статьях.
7. Редирект с дублей главной страницы вида index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://seo-impulse.ru/ [R=301,L]
Учитываем основной хост домена (с префиксом или без) – это имеет значение. 8. Редирект всех страниц старого сайта на морду нового сайта
1 – если основной хост старого домена с префиксом (с www)
RewriteRule ^(.*)$ http://seo-impulse-new.ru/$1 [L,R=301]
2 – если основной хост старого домена без префикса (без www)
RewriteRule ^(.*)$ http://seo-impulse-new.ru/$1 [L,R=301]
9. Запретить доступ на сайт для заданных IP
deny from 154.168.15.122
deny from 124.15.
Необходимо, если есть вероятность нарушения безопасности сайта с заданных IP. 10. Обрезаем название category в адресе site.ru/category/odezhda
Вместо category можно использовать имя любой подпапки, или подподпапки, тогда выражение примет вид
где “^” – начало строки. 11. Удаляем расширение php из адреса страницы
Наш УРЛ становится более привлекательным для пользователя. 12. Настроить 301 редирект со старой категории на новую категорию сайта
13. Для настройки 301 редиректа с зоны РФ на домен зоны RU
RewriteRule ^(.*)$ http://seo-impulse.ru/$1 [R=301,L]
14. Автоматическое перенаправление с дублей главных страниц index|default с расширениями htm|html|php|asp|aspx
RewriteRule ^(.*)(index|default)\.(htm|html|php|asp|aspx)$ http://seo-impulse.ru/$1 [R=301,L]
15. Редирект с конкретного поддомена на основной домен
RewriteRule ^(.*)$ http://seo-impulse.ru%{REQUEST_URI} [R=301,NC,L,QSA]
16. Замена с расширения php на расширения html
RewriteBase /
RewriteRule ^(.*)\.php$ $1.html [L]
17. Сделать ЧПУ через 301 редирект
RewriteRule ^ category/([a-zA-Z0-9_-]+)/([0-9]+)\.html$category.php?name=$1&id=$2
А что вы думаете по этому поводу? Давайте обсудим в комментариях!