Инструкция по запрету перехода с конкретного сайта на свой через htaccess
Приветствую, читатель!
Зайдя в метрику (Яндекс Метрика, Гугл Аналитикс и т.п.), что подключена для вашего сайта, вы обнаружили странные переходы с некоего сайта (или нескольких сайтов). Эти переходы отличает от остальных то, что по ним очень высокий процент отказов.
С очень высокой степенью вероятности эти переходы генерируются искусственно, роботом, а не обычными посетителями.
У вас может возникнуть вопрос, зачем это делается. Причин может быть несколько:
- подпортить поведенческие факторы вашего сайта
- прорекламировать ссылку, с которой осуществляется переход
- некоторые другие причины
Однако этому явлению можно успешно воспрепятствовать, вписав соответствующий код в файл .htaccess, который располагается в корне вашего сайта.
Прописав приведённый далее код, все попытки перейти с данного сайта (или нескольких указанных сайтов) будет блокированы. Сервером будет отдаваться 403 код ответа, который означает, что доступ запрещён.
Давайте рассмотрим сам код для .htaccess, который реализует описанную выше задачу. Если углубиться в технические детали, то код осуществляет проверку параметра referer, который передаётся при переходе с сайта. Если идёт переход с «плохого» сайта (указанного в коде домена), то контент не будет отображён, а будет выведена страница 403.
Запрещаем через .htaccess переход с другого сайта на мой
Открываем файл .htaccess на редактирование, который в свою очередь находится на хостинге, вместе с остальными файлами сайта.
И вписываем в самый конец следующие строки (с последующим сохранением):
RewriteCond %{HTTP_REFERER} example.com [NC] RewriteRule .* – [F]
Пояснение по коду: в нём указан сайт example.com – не забудьте заменить его на тот, с которого осуществляются «плохие» переходы на ваш сайт.
Вот как это выглядит визуально (помните, что в вашем случае могут изначально отображаться иные строки в файле .htaccess):
В редких случаях (зависит от изначальной настройки работы сервера хостинг-площадки), после добавления кода, при попытке открытия сайта будет выводиться ошибка со статусом 500. Если вы видите её, то добавьте следующую строку:
Options +FollowSymlinks
Визуально это выглядит следующим образом:
Если переходы осуществляются сразу с нескольких плохих сайтов, то добавить их в код не составляет большого труда. Вот наглядный пример:
RewriteCond %{HTTP_REFERER} example.com [NC] RewriteCond %{HTTP_REFERER} example2.com [NC] RewriteCond %{HTTP_REFERER} example3.com [NC] RewriteRule .* – [F]
Всё. Вам останется только вновь открыть аналитику и убедиться, что переходы с сомнительного сайта или нескольких сайтов прекратились.