Дирижёр вашего онлайн оркестра

В мире серверов Apache есть один файл, который обладает почти безграничной властью над вашим сайтом. Он лежит в корне сайта, не имеет имени (начинается с точки) и способен как мгновенно ускорить загрузку и защитить от хакеров, так и «положить» весь сайт одной неверной строкой. Это .htaccess.

Для SEO-специалиста .htaccess — это швейцарский нож. Им можно настроить редиректы, кэширование, сжатие, ЧПУ, защиту от хотлинкинга и ещё десятки вещей, не трогая код самого сайта. В этой лекции мы разберём ключевые SEO- и security-настройки .htaccess.

Базовая структура .htaccess

apache

# Включаем движок перезаписи URLRewriteEngine On# Устанавливаем базовый путьRewriteBase /# Здесь будут идти правила

Склейка зеркал и HTTPS (самое важное для SEO)

Редирект с www на без www:

apache

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Редирект с HTTP на HTTPS:

apache

RewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Эти два правила — фундамент. Без них ваш сайт будет доступен по 4 адресам (http://, https://, www., без www), создавая дубли и размывая вес.

Кэширование статических ресурсов (Ускорение)

Браузерное кэширование — один из самых мощных рычагов ускорения сайта. Вы говорите браузеру: «Эти файлы не меняются, храни их у себя год».

apache

<IfModule mod_expires.c>  ExpiresActive On  ExpiresByType image/webp «access plus 1 year»  ExpiresByType text/css «access plus 1 month»  ExpiresByType application/javascript «access plus 1 month»  ExpiresByType text/html «access plus 0 seconds»</IfModule>

Сжатие Gzip (Уменьшение трафика)

Включение сжатия Gzip сокращает размер передаваемых текстовых файлов на 60-80%.

apache

<IfModule mod_deflate.c>  AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript</IfModule>

Защита от хотлинкинга (Кража изображений)

Хотлинкинг — это когда другие сайты вставляют ваши изображения через прямую ссылку, расходуя ваш трафик.

apache

RewriteEngine OnRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^https?://(www\.)?site\.ru [NC]RewriteRule \.(jpg|jpeg|png|webp)$ — [NC,F,L]

Блокировка доступа к служебным файлам

apache

# Запрет доступа к самому .htaccess<Files .htaccess>  Require all denied</Files># Запрет доступа к xmlrpc.php (часто атакуется)<Files xmlrpc.php>  Require all denied</Files># Запрет просмотра содержимого папокOptions -Indexes

Типичные ошибки и отладка

Любая синтаксическая ошибка в .htaccess вызовет 500 Internal Server Error. Всегда делайте бэкап перед изменениями. Комментируйте правила (#), чтобы отключать их, не удаляя. Проверяйте синтаксис в онлайн-валидаторах.

Заключение

.htaccess — это мощнейший инструмент, который должен быть в арсенале каждого SEO-специалиста. Потратьте час на его правильную настройку, и он будет работать на ваш сайт годами.