Лучшее руководство по .htaccess для SEO — с примерами

Опубликовано: 2022-09-11
hypertext access
доступ к гипертексту

После внесения нескольких изменений в файл .htaccess ваш сайт мог отключиться. Но это не повод для беспокойства! Многие оптимизаторы попадают в эту ловушку, когда пытаются сделать все возможное, устраняя технические неполадки.

Обычно редактирование файла .htaccess через панель управления WordPress вызывает паническую атаку, потому что после обновления неверного файла .htaccess доступ к панели управления блокируется. Файлы .htaccess — это и благословение, и проклятие для SEO-специалистов, потому что они позволяют вам изменять операции вашего веб-сайта.

Если ваш веб-сайт работает на веб-сервере Apache, .htaccess может помочь вам во всем: от защиты паролем до переадресации 301 и настраиваемых страниц ошибок.

Это ресурс, который, как вы думали, не существует, если вы ищете быстрое средство для восстановления работоспособности вашего веб-сайта после сбоя обновления .htaccess или если вы хотите узнать больше об оптимизации .htaccess вашего веб-сайта.

Мы быстро внесем некоторые коррективы и рекомендации в файл htaccess, чтобы вы, как оптимизатор, могли уверенно вносить изменения в свой веб-сайт, не опасаясь негативных последствий.

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

Что такое .htaccess?

What is .htaccess
Что такое .htaccess

.htaccess — это файл конфигурации, который программное обеспечение веб-сервера Apache может прочитать и выполнить, чтобы включить или отключить дополнительные функции и возможности. Поскольку файл .htaccess создается в среде на основе Unix и отображается на уровне каталога, он переопределяет глобальные настройки веб-сервера, позволяя настроить конкретный доступ к веб-сайту.

Что означает .htaccess?

«Доступ к гипертексту» обозначается аббревиатурой .htaccess. После того, как файл стал популярен среди разработчиков, которые использовали его для настройки функций доступа пользователей для каждого каталога, псевдоним был получен.

Директивы http.config сервера Apache используются .htaccess для включения и ограничения доступа к каталогам для пользователей с именами пользователей и паролями. Однако когда дело доходит до SEO, .htaccess играет еще большую роль.

Для чего используется .htaccess?

Считайте .htaccess благом, если у вас есть веб-сайт, который регулярно имеет множество различных критериев.

Как специалист по поисковой оптимизации, вы можете использовать .htaccess, чтобы заставить веб-сервер выполнить перенаправление 301, активировать кэширование, изменить заголовки HTTP, контролировать сканирование и сделать URL-адреса дружественными к SEO, среди прочего.

Где найти файл .htaccess?

Поскольку .Htaccess — это параметр уровня каталога, вы найдете его практически во всех папках вашего веб-каталога. Файл .htaccess можно найти в корневом каталоге, а также внутри каждой подпапки, если у вас есть один веб-каталог с несколькими подкаталогами (веб-сайт).

Если вы используете WordPress, вариант плагина Yoast — лучший способ получить доступ к файлу .htaccess.

Предупреждение: поскольку .htaccess — это не то, с чем новичкам стоит экспериментировать, я рекомендую сначала сделать это на демо-сайте. Если вас заблокируют из администратора WordPress, вам нужно знать, как использовать Filezilla, чтобы попасть в корневую папку.

Есть несколько плагинов, которые позволяют вам изменить файл .htaccess, если у вас есть веб-сайт WordPress. Поскольку большинство пользователей WordPress используют Yoast в качестве SEO-плагина по умолчанию, я покажу вам, как изменить файл .htaccess из панели инструментов Yoast.

Шаг 1: Перейдите в панель администратора WordPress и войдите в систему.

Шаг 2: Перейдите на страницу настроек Yoast.

Шаг 3: Откройте меню «Инструменты».

Шаг 4: Выберите «Редактор файлов» в меню инструментов.

Шаг 5: Сохраните файл .htaccess после его редактирования.

Настройка по умолчанию для .htaccess на большинстве веб-сайтов WordPress выглядит следующим образом:

 # НАЧАТЬ WordPress
RewriteEngine включен
Переписать Базу /
Правило перезаписи ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Правило перезаписи. /index.php [Л]
# ЗАВЕРШИТЬ WordPress

Что делать, если на вашем сайте нет файла .htaccess?

Поскольку .htaccess — это автоматически создаваемый файл конфигурации, он будет присутствовать в 99% случаев. Однако, поскольку обычно это скрытый файл в каталогах, веб-мастера считают, что он пропал. Вы сможете найти его, если включите «отображать скрытые файлы».

Если после всего этого вы все еще не можете найти файл .htaccess, вам придется вручную создать его и загрузить на свой веб-сервер.

Шаги по созданию пользовательского файла .htaccess

Шаг 1: Возьмите блокнот и начните писать.

Шаг 2: Запишите конфигурацию (для проверки используйте конфигурацию по умолчанию, указанную выше)

Шаг 3: Сохраните файл как .htaccess в формате ASCII.

Шаг 4: Убедитесь, что файл не сохранен в формате .txt.

Шаг 5: Загрузите файл .htaccess в свой веб-каталог с помощью Filezilla.

Примечание. Если вы используете WordPress и поле файла .htaccess пусто, просто добавьте конфигурацию и сохраните.

Что делать, если панель управления WordPress заблокирована после обновления файла .htaccess?

Возможно, вы были заблокированы на панели инструментов после обновления файла .htaccess с помощью Yoast или WP File Manager. Не беспокойтесь. Это простая проблема для решения.

Если вы оптимизатор, запросите FTP-доступ к вашему сайту у разработчика или администратора сервера. Если вам нужна помощь профессионала, ваш разработчик может быть идеальным человеком, к которому можно обратиться.

Шаг 1: Откройте FileZilla и войдите в свой веб-каталог.

Шаг 2: Откройте каталог и загрузите файл .htaccess.

Шаг 3: Замените настройки по умолчанию в файле .htaccess и сохраните его.

Шаг 4: В каталоге замените старый файл .htaccess на новый.

Используйте код по умолчанию, если ваш приоритет — как можно скорее вернуть веб-сайт в рабочее состояние. Если вы внесли много изменений в файл .htaccess, найдите код, который пошёл не так. Удалите его из файла перед повторной загрузкой на сервер.

Почему вы видите ошибку после обновления файла .htaccess?

Если вы SEO-специалист и пытаетесь изучить .htaccess с нуля, поначалу вы неизбежно совершите несколько ошибок. Это нормально, пока вы не выясните, почему веб-сервер сообщил о проблеме.

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

  1. Disabled Override: вы должны сначала включить AllowOverride, чтобы ваш файл .htaccess работал. Все настройки, установленные в .htaccess, будут отключены, если для параметра AllowOverride установлено значение None. Чтобы убедиться, что опция Override включена, сделайте следующее:

Шаг 1. Перейдите к файлу конфигурации Apache и дважды щелкните его (http.conf).

Шаг 2. Измените параметр Allow OverRide на AllowOverride All в директиве AllowOverride.

Шаг 3: Сохраните файл конфигурации Apache и перезапустите Apache.

  1. Неправильное написание имени файла. Второй наиболее распространенной ошибкой SEO является неправильное написание имени файла. Опечатка.htaccess приведет к ошибке, потому что это файл конфигурации на основе Unix, сохраненный в ASCII. Сервер Apache проигнорирует файл и предоставленную вами конфигурацию, если файл не начинается с «.». или загружается в файле другого типа, например .txt.
  1. Иерархия файлов .htaccess важна: Иерархия файлов .htaccess важна: Иерархия файлов .htaccess важна: Иерархия файлов .htaccess Несколько правил, добавленных в начало файлов .htaccess, могут иметь приоритет над правилами, добавленными позже в конфигурации. Если вы считаете, что это имеет решающее значение, рассмотрите возможность перемещения конфигурации наверх.
  1. Несколько файлов .htaccess. Поскольку файлы .htaccess можно использовать для каждого каталога, ваш веб-сайт может использовать несколько файлов .htaccess. В таких обстоятельствах конфигурация одного файла может конфликтовать с другой, что приводит к проблемам. Отдельные файлы .htaccess можно отключить, чтобы устранить эту проблему.
  1. Синтаксическая ошибка: функциональность файла .htaccess полностью зависит от синтаксиса, используемого для настройки вашего веб-сайта. Проблема с синтаксисом файла может отключить ваш сайт, что вызовет паническую атаку. В результате очень важно понять синтаксис, прежде чем вносить изменения в ваши файлы .htaccess.

Какие распространенные сообщения об ошибках появляются после обновления файла .htaccess?

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

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

Вот список кодов ошибок, которые отображают веб-серверы, когда им не удается получить запрошенные данные.

Ошибки запроса клиента

  • 400 — Неверный запрос: неверная структура URL. Сервер не может понять запрос, поднятый пользователем.
  • 401 — Требуется авторизация: эти сообщения отображаются, когда доступ к странице был ограничен веб-мастерами.
  • 402 — Требуется платеж (еще не используется): если инициация платежа не происходит, обычно выдается этот код.
  • 403 — Запрещено . Простая причина, по которой вы получаете ошибку 403, заключается в том, что вы пытаетесь получить доступ к ресурсу с ограниченным доступом. Веб-сайт отображает 403 запрещенных ошибки, когда пользователи пытаются получить доступ к странице, требующей аутентификации.
  • 404 — Not Found: 404 — это четкое указание пользователям на то, что запрошенный URL-адрес недоступен на веб-сайте. Это может быть из-за опечатки в URL-адресе или из-за того, что страница была удалена с сайта.
  • 405 — метод не разрешен: этот код состояния ответа HTTP указывает, что сервер отказался принять метод запроса, несмотря на понимание цели запроса.
  • 406 — Неприемлемо (кодировка): обычно это происходит, когда сервер не может ответить запросом на принятие заголовка.
  • 407 — Требуется аутентификация прокси-сервера: эта ошибка указывает на то, что запрос не может быть выполнен из-за отсутствия аутентификации прокси-сервера между браузером и сервером.
  • 408 — Время ожидания запроса истекло: это одна из распространенных ошибок HTTP, с которой сталкиваются веб-мастера, когда сервер не может получить полный запрос от клиентской стороны в течение отведенного периода времени ожидания.
  • 409 — Conflicting Request: эта ошибка возникает, когда состояние целевого ресурса конфликтует с текущим состоянием. Чтобы устранить ошибку, определите конфликт и повторите отправку.
  • 410 — Исчез: этот код ошибки означает, что доступ к запрошенному ресурсу был навсегда удален с сервера и останется таким навсегда.
  • 411 — Требуется длина содержимого: ошибка представляет собой неспособность сервера принять запрос клиента из-за невозможности определить заголовок длины содержимого.
  • 412 — Precondition Failed: это ошибка, вызванная конфликтом безопасности с одной или несколькими конфигурациями безопасности, которые были реализованы на вашем сервере.
  • 413 — слишком длинный запрос объекта: когда запрошенный ресурс слишком велик для загрузки сервера, пользователь может столкнуться с ошибкой 413.
  • 414 — запрос URI слишком длинный: просто подумайте о структуре URL более 2048 символов. Сервер не может расшифровать полученную ошибку 414.
  • 415 — Неподдерживаемый тип носителя: эта ошибка появляется, когда сервер отказывается загружать ресурс в неподдерживаемом формате носителя.

Ошибки сервера

  • внутренняя ошибка сервера 500
  • 501 — Не реализовано
  • 502 Неверный шлюз
  • 503 Сервис недоступен
  • Ошибка 504 Время ответа сервера истекло
  • 505 — Версия HTTP не поддерживается.

Для чего используется .htaccess?

What is .htaccess used for
Для чего используется .htaccess

перенаправляет

Вы недавно изменили доменное имя вашего веб-сайта?

Как оптимизатор, вы не хотите, чтобы ваши пользователи видели страницу 404, и вы, конечно же, не хотите, чтобы весь ваш с трудом заработанный авторитет испарился.

Рассматривайте свой файл .htaccess как решение обеих этих проблем. Вы можете перенаправить свой трафик и авторитет сайта на новый домен, добавив директиву перенаправления в свой файл .htaccess.

Интересно то, что вы можете сделать то же самое с URL-адресами вашего сайта. Вы можете заставить пользователей и роботов поисковых систем, которые пытаются получить доступ к старому URL-адресу, просмотреть новую страницу на вашем сайте, используя директиву перенаправления 301.

Вот пример перенаправления на уровне домена с .htaccess:

 # Это позволяет вам перенаправить весь ваш сайт на любой другой домен
Перенаправление 301 / http://example.com/ Opens in a new tab.

Используя .htaccess, вот пример перенаправления URL:

 RedirectMatch 301 ^/old-url.html$ /new-url.html

SEO-дружественные URL-адреса

Структура ваших URL-адресов перепутана? Есть ли у посетителей и поисковых роботов проблемы с расшифровкой того, что на странице? С этим сталкиваются многие веб-мастера.

После того, как веб-сайт получает авторитет, неспособность обратить внимание на структуру URL становится серьезной проблемой.

Вы можете установить правильный формат URL для своего веб-сайта, используя .htacces.

Кроме того, любое расширение, которое идет с вашим URL-адресом, такое как .html или .php, можно просто удалить, добавив директивы в файл .htaccess.

Пример 1: Использование .htaccess для удаления расширений в URL

Удаление .php как расширения

 RewriteEngine включен
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
Правило перезаписи ^(.*)$ $1.php [NC,L]

Удаление .html как расширения

 RewriteEngine включен
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
Правило перезаписи ^(.*)$ $1.html [NC,L]

Пример 2. Использование .htaccess для преобразования URL-адресов в нижний регистр

Способ 1

 RewriteCond %{REQUEST_URI} [AZ]
Правило перезаписи. ${lc:%{REQUEST_URI}} [R=301,L]

Все структуры URL, включая доменное имя, будут затронуты вышеупомянутым кодом.

Способ 2

 RewriteCond %{REQUEST_URI} [AZ]
RewriteRule ^.+.html$ ${lc:%{REQUEST_URI}} [NC,R=301,L]

Только имена файлов html будут затронуты предыдущим.

Пример 2: Использование .htaccess для динамической перезаписи URL

 RewriteEngine включен
Правило перезаписи /(.*)/(.*)/$ page.php?category=$1&product=$2

Неверный URL: site.com/page.php?category=2&product=54.

Хороший URL: site.com/sandwiches/rueben-sandwich/

  • Использование .htaccess для повышения скорости сайта

Новым модным словечком среди веб-мастеров является скорость страницы.

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

Google не хочет, чтобы у пользователей был негативный опыт при посещении страниц с самым высоким рейтингом.

Медленно загружаемый веб-сайт также тратит много краулингового бюджета.

Настройка файла .htaccess — один из самых простых и безопасных способов повысить скорость вашего сайта.

  • Включение функции кэширования

Включив функцию кэширования в файле .htaccess, ресурсы веб-сайта сохраняются в браузере посетителя, что обеспечивает более быструю загрузку.

Вы можете включить кеш, используя два разных метода

ExperiesByType — вы можете указать окно времени кэширования, также известное как истечение срока действия, для каждого ресурса на вашем веб-сайте, используя этот метод в .htaccess.

Пример:

 <ifModule mod_headers.c>
# ГОД
<FilesMatch ".(ico|gif|jpg|jpeg|png|flv|pdf)$">
Заголовок установил Cache-Control "max-age=29030400"
</FilesMatch>
# НЕДЕЛЯ
<FilesMatch ".(js|css|swf)$">
Заголовок установил Cache-Control "max-age=604800"
</FilesMatch>
# 45 МИН
<FilesMatch ".(html|htm|txt)$">
Заголовок установил Cache-Control "max-age=2700"
</FilesMatch>
</ifModule>

Заголовок управления кэшем — в заголовке управления кэшем используется максимальный возраст ресурса до истечения срока его действия.

Пример:

 # Один месяц для большинства статических ресурсов
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Заголовок установил Cache-Control "max-age=2628000, public"
</filesMatch>

Включение сжатия Gzip

Размер ресурсов веб-сайта — единственный фактор, замедляющий его работу. Вы можете уменьшить размер изображения, размер файла и номер файла при передаче данных в клиентский браузер, активировав gzip в файле .htaccess.

Одна из самых простых директив .htaccess — включить сжатие gzip.

Вот иллюстрация:

 <ifModule mod_gzip.c>
mod_gzip_on Да
mod_gzip_dechunk Да
файл mod_gzip_item_include .(html?|txt|css|js|php|pl)$
обработчик mod_gzip_item_include ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^изображение/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Включение опции сдувания

Поскольку некоторые веб-серверы не поддерживают gzip, сайт может столкнуться с трудностями. В таких случаях рекомендуется использовать параметр deflate в файле .htaccess.

Вот иллюстрация:

 <IfModule mod_deflate.c>
# Сжатие текста, HTML, JavaScript, CSS, XML
Приложение AddOutputFilterByType DEFLATE/javascript
Приложение AddOutputFilterByType DEFLATE/rss+xml
Приложение AddOutputFilterByType DEFLATE/x-шрифт
Приложение AddOutputFilterByType DEFLATE/x-font-opentype
Приложение AddOutputFilterByType DEFLATE/x-font-otf
Приложение AddOutputFilterByType DEFLATE/x-font-truetype
Приложение AddOutputFilterByType DEFLATE/x-font-ttf
Приложение AddOutputFilterByType DEFLATE/x-javascript
Приложение AddOutputFilterByType DEFLATE/xhtml+xml
Приложение AddOutputFilterByType DEFLATE/xml
AddOutputFilterByType DEFLATE шрифт/otf
AddOutputFilterByType DEFLATE шрифт/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE текстовый/обычный
AddOutputFilterByType DEFLATE text/xml
# Следующие строки во избежание ошибок в некоторых браузерах
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] без gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
BrowserMatch bMSI[E] !no-gzip !gzip-only-text/html
# Не кэшировать, если эти файлы уже кэшированы
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip
# Прокси должны давать правильный контент
# Добавление заголовка Vary User-Agent env=!dont-vary
Заголовок добавляет Vary User-Agent
</ЕслиМодуль>

Использование .htaccess для улучшения сканирования и индексирования

Возможно, вы уже используете файл robot.txt, чтобы контролировать, могут ли поисковые системы сканировать и индексировать ваш сайт. Однако возможно, что ваш сайт содержит ресурсы, отличные от веб-страницы. В таких случаях файл rbot.txt может не работать.

Настройка тега X-robots в вашем файле .htaccess — идеальный способ сделать несколько ресурсов, таких как PFD или документ Word, не индексируемыми.

Пользовательский заголовок файла .htaccess совместим со всеми директивами индексатора.

Пример:

 <FilesMatch ".(docx|pdf)$">
В заголовок добавить X-robots-tag "noindex, noarchive, nosnippet"
</FilesMatch>

Любой файл с расширениями .doc и .pdf в этой ситуации будет считаться noindex, noarchive и nosnippet.

Почти каждый сервер Apache поставляется с предварительно настроенным файлом конфигурации. Однако, поскольку это относится ко всему сайту, настройка на уровне каталога затруднена.

Вот где .htaccess пригодится. Файл .htaccess можно использовать для переопределения параметров конфигурации Apache на уровне каталогов и подпапок.

Кроме того, вы можете установить аутентификацию с помощью простых кодов настройки. Это особенно полезно, если у вас много сайтов на виртуальном хостинге.

Преимущества файла .htaccess

  • Все запросы читаются им.
  • Без перезапуска сервера можно сразу внести изменения.
  • Эффективно управляйте доступом пользователей на основе их предпочтений
  • Задает конфигурацию на уровне каталога.
  • Для оптимизаторов это большое благо.

Недостатки файла .htaccess

  • Использование файлов .htaccess может усилить проблемы безопасности, связанные с размещением веб-сайта.
  • Поскольку файл .htaccess сканируется и считывается каждый раз при загрузке страницы, это происходит медленнее, чем установка на стороне сервера.
  • Это влияет на скорость веб-сайта, который посещают миллионы посетителей.

Из соображений безопасности и производительности файлы .htaccess не рекомендуется использовать в качестве средства настройки сервера.