Файл .htaccess для SEO

.htaccess это файл, в котором мы можем прописать дополнительные настройки веб-сервера Apache.

Каждому SEO-специалисту полезно будет знать о возможностях, которые открывают директивы файла .htaccess, а ещё лучше обладать базовыми навыками.

Ведь с помощью этого файла иногда можно сократить кучу рутинной работы или избежать серьёзных ошибок в продвижении сайтов.

Используем .htaccess если нужно

  1. Сделать 301 или 302 постраничный редирект
  2. Переехать на новый домен
  3. Правильно подклеить дроп
  4. X-Robots-Tag по условию
  5. Закрыть доступ на сайт для конкретных роботов
  6. Закрыть или разрешить доступ по IP
  7. Создать красивые страницы с кодом ошибок

Временный и постоянный редирект

# Пример постоянного редиректа по URL
Redirect 301 /old-url https://example.ru/new-url

# Пример временного редиректа по URL
Redirect 302 /old-url https://example.ru/new-url

Если меняем URL страницы, то делаем 301 редирект.

Директива Redirect (код ответа) (старый URL) (новый URL)


Переезд сайта на новый домен

RewriteEngine On

# на примере переезда с http на https
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# на примере переезда с www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

В примерах показан 301 редирект на соответствующие страницы на новом домене.

RewriteEngine On — Включает работу механизма преобразования RewriteRule,

RewriteCond — задаёт дополнительные условия для RewriteRule.

%{HTTPS} off — условие проверки на протокол https

%{HTTP_HOST} — домен сайта

%{REQUEST_URI} — URL после домена

[L] — флаг перехода к следующей итерации, так как в файле .htaccess они выполняются в цикле, пока не перестанет меняться URL

[R=301] — вызывает редирект с кодом ответа 301

. — любой символ,

* — любое количество, в том числе и ноль,

^ — начало строки,

$ — конец строки.


Клеим дропы, исключая ненужные страницы

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/contacts/$
RewriteCond %{REQUEST_URI} !^/reklama/.*
RewriteRule ^.*$ https://example.ru/catalog/ [R=301,L]

У дропа, который мы купили для подклейки, могут быть в индексе страницы с неподходящим нам интентом, а так же следует исключать страницы, на которые ведут много спамных ссылок.

В примере я исключил страницу /contacts/ и все страницы начинающиеся на /reklama/.

И подклеил их 301 редиректом к внутряку https://example.ru/catalog/

! — в RewriteCond означает отрицание.


X-Robots-Tag

# для поисковых роботов работает аналогично метатегу robots
# задаём параметры noindex, follow 
# для страниц начинающихся на /admin/ и совпадающим с /login/
SetEnvIf Request_URI "^/admin/.*" noindexfollow
SetEnvIf Request_URI "^/login/$" noindexfollow
SetEnvIfNoCase Request_URI ".pdf$" noindexfollow
Header set X-Robots-Tag "noindex, follow" env=noindexfollow

SetEnvIf — задаёт переменную по условию,

SetEnvIfNoCase — то же, что и SetEnvIf, но без учёта регистра.

В данном случае мы задаём переменную env (она так называется по умолчанию),

Header — производит операции с заголовком HTTP запроса,

set — устанавливает новый заголовок с именем X-Robots-Tag и аргументом noindex, follow,

env=noindexfollow — условие на проверку (необязательный аргумент).


Гибкое управление доступом к сайту

# блокируем доступ к сайту поисковым роботам Яндекс и Google
SetEnvIfNoCase User-Agent .*yandex.* search_robot
SetEnvIfNoCase User-Agent .*google.* search_robot
Order Allow,Deny
Allow from all
Deny from env=search_robot

# блокируем доступ всем IP кроме своего
Order Deny, Allow
Deny from all
Allow from 123.123.123.123

# блокируем переходы с различных сайтов
SetEnvIfNoCase Referer ".*click.my.mail.ru.*" spam=yes
SetEnvIfNoCase Referer ".*away.vk.com.*" spam=yes
SetEnvIfNoCase Referer ".*zen.yandex.ru.*" spam=yes
SetEnvIfNoCase Referer ".*youtube.com.*" spam=yes
SetEnvIfNoCase Referer ".*t.co.*" spam=yes
Order allow,deny
Allow from all
Deny from env=spam

Order — задаёт порядок директив,

Deny — запрещает, в данном случае для всех.

Allow — разрешает, в данном случае для одного IP-адреса: 123.123.123.123.

Allow и Deny можно ставить несколько подряд, задавая различные условия.


Красивые страницы ошибок

# Создаём красивые страницы и адресуем на них
ErrorDocument 404 https://example.ru/404.html
ErrorDocument 500 https://example.ru/500.html
ErrorDocument 401 https://example.ru/401.html
ErrorDocument 403 https://example.ru/403.html

ErrorDocument — делает редирект по коду ошибки на заданную страницу.


Здесь я привёл только малую часть директив, которые использую, опустив механизмы формирования ЧПУ, установку пароля и др..

Но для seo-специалиста этого уже будет достаточно.

На этом всё, удачных проектов!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

© artur2k.ru
top