Во множественных материалах и порталах, которые я читал в своё время, касательно служебного файла сервера Apache ходит много слухов, и особенно домыслов о том, как грамотно конфигурировать данный сервер, который позволит сайту быстро работать. Были рассмотрены все технические вопросы, которые будут интересны именно вебмастреам и администраторам.
Многие упоминания об использовании данного файла в качестве оптимизации являются слишком слабыми, либо авторы просто не могут конкретно ответить на этот банальный вопрос о необходимости подобного файла для оптимизации проектов.
Оказывается данным стандартом файла htaccess можно управлять практически во всех нетривиальных задачах, особенно тех, которые собираются использоваться виртуальным ресурсом – сайтом. В этом аспекте я начал поиск исключительно информации касательно SEO, а также многих особенностях и возможностях применения данного файла в качестве оптимизационных целей.
Поэтому далее постараюсь выложить небольшое руководство, которое возможно поможет именно оптимизаторам разобраться с главным вопросом необходимости подобного файла.
Многие, кто вообще понимает направленность статьи, одновременно заявят: «Разве он настольно необходим, когда существует более простой robots.txt, который очень требователен и просит указывать всё интересующее». Ответ прост: «Однозначно, поскольку именно тот же robots.txt носит исключительно рекомендательный характер.»
Поисковые роботы, несмотря на всестороннее представление, могут просто обходить данный файл стороной, если они сами того не пожелают.
Стандарт, названный в начале, htaccess более сильно отличается от предыдущего хотя бы тем, что абсолютно каждая директива данного стандарта обязательна к исполнению, а это означает, что за работой стандарта следит именно серверное оборудование, а не просто совет ботов.
Данная статья будет предоставлять исключительно вид целого набора из этапов, которые возможно проделать со стандартом файла htaccess. Грубо говоря, каждый этап – это универсальная настройка, которая входит в целый список этапов по полной оптимизации собственного ресурса. Сразу оговорюсь, данные методы имеют место на выполнение в случае, если вы имеете модуль mod-rewrite в сервере Apache. Об этом вы можете поинтересоваться у вашего провайдера, который может вам, как предоставлять данный файл, так и отказать в изменениях настроек конфигурации данного сервера.
Первый этап: полная блокировка сайта для доступа.
Практически любой сайт будет рад отказаться от избыточного трафика. Кроме этого многие проекты могут быть просто расположены на хостингах, которые требуют оплату исключительно за трафик. Кроме этого любой избыточный трафик обязательно нагрузит ваш сервер, который в дальнейшем повлияет на скорость загрузки вашего ресурса. Часть проектов просто не желает, чтобы их сканировали ненужные поисковики. К примеру, если проект рассчитан исключительно на Россию, то выдача в поиске Yahoo проект не особо заинтересует. Многие проекты банально пытаются защищать себя, от постоянно сканирования различными вредными ботами, которые зачастую банально собирают спам на вашем проекте.
Способ реализации.
Немного начальной информации:
Создаём файл .htaccess, с обязательной точкой вначале, далее вы просто вводите необходимые вам материалы и коды в обычном текстовом режиме, чаще блокнота, которые в дальнейшем поступят на сервер в качестве условий работы. Стоит обязательно упомянуть, что это скрытая директива, а потому вы должны активировать на рабочем устройстве функцию показа скрытых материалов.
Немного объяснений в синтаксисе:
RewriteEngine – ключ для запуска модуля.
RewriteBase будет указывать на "масштабность" наших изменений. При упоминании слеш / директива будет изучать именно внутренние файлы и т.д.
Директива RewriteCond поставит вам условие, при реальности которого будут исполняться наши настройки. В состав данной директивы входят проверочные строки следующего содержания %{HTTP_USER_AGENT}. Это означает, что директива выводит юзер-агентов (программ, ботов), которые обращаются к серверу. Далее переходим к значению данной переменной, которая будет разделена регулярным выражением ^ в начале каждой строки.
RewriteRule занимается выполнением ваших настроек. В этом случае мы полностью отказываемся от доступа к серверу. Данное условие выполняется посредством постоянных сообщений в начале строки ^, а также в конце строки $. Кроме этого используется флаг вид действия – [F], который в данном этапе будет иметь значение – FORBIDDEN. Флаг [OR] будем использовать в случае, если мы имеем сразу несколько условий, касательно обработки ваших действий ботом.
Далее краткий скрипт защиты от ботов:
RеwriteEngine on
RеwriteBase /
RеwriteCond %{HTTP_USER_AGENT} ^Googlebot
RеwriteRule ^.*$ - [F]
Если скрипт будет иметь такой вид, тогда Googlebot, который занимается сканированием ваших сайтов для дальнейшей выдачи в поисковике Google не получит доступ к вашему ресурсу. В этом месте можно указать совершенно любого бота, которого вы не желаете видеть на собственно ресурсе. Чаще всего там можно увидеть таких ботов и собирателей спама, как EmailSiphon или ExtractorPro.
Скрипт для защиты доступа нескольким ботам:
RеwriteEngine on
RеwriteBase /
RеwriteCond %{HTTP_USER_AGENT} ^ Googlebot [OR]
RеwriteCond %{HTTP_USER_AGENT} ^ Yandex
RеwriteRule ^.*$ - [F]
Достаточно указать несколько условий в ряд, которые прописываются в директиве RewriteCond.
Забанить машины по определённому параметру, например, IP:
RеwriteEngine on
RеwriteBase /
RеwriteCond %{REMOTE_ADDR} ^200.35.120.15$
RеwriteRule ^.*$ - [F]
В директиве RewriteCond просто меняем условие, которое теперь будет ссылаться на запрет именно IP-части.
Подобная операция для похожих IP одного расположения:
RеwriteEngine on
RеwriteBase /
RеwriteCond %{REMOTE_ADDR} ^200.35.120.
RеwriteRule ^.*$ - [F]
Второй этап: удобные URL.
Все смышлёные вебмастеры прекрасно знают, что динамический адрес сайта значительно хуже индексируется поисковой системой любого вида. Данному условию имеется множество причин. К примеру, огромное количество переменных в строке URL.
Как бороться?
- Первый вариант: заниматься полной переписью двигателя сайта.
- Второй вариант: использовать часть mod_rewrite, что гораздо быстрее и эффективнее.
Возьмём второй вариант. К примеру, был у нас адрес вида:
http://site.ru/buy.php?act=1
Естественно, поисковику больше понравится такой адрес http://site.ru/buy/1
Как это грамотно прописать?
RеwriteEngine on
RеwriteBase /
RеwriteRule ^(.*)buy/(.*)$ $1buy.php?act=$2
Синтаксис общего назначения:
RеwriteRule текущий URL, а также перезаписываемый URL
В таком случае вызываемый URL банально разбивается на несколько частей. Всё, что будет находиться перед частью «buy», включая всё, что будет находиться после него, определяется и продолжительное время хранится именно в данных переменных, которые обозначены в качестве $1, а также $2.
Третий этап: редиректы
Обычное умышленное автоматическое перенаправление роботов, пользователей, и многих остальных именно на определённую страницу сайта, которая не была запрошена вами, где редирект часто используется. Часто случается, что старый сайт просто решил переехать, но более новый домен, или же он имеет довольно интересную систему навигации, сайт может быть на нескольких языках, включая совсем разные. Причин всегда много, но выход один – сделать грамотный редирект сайта. Существует множество редиректов.
301 редирект означает, что страница НАВСЕГДА была перенесена на другой домен
Метод замечателен и необходим тем, что практически все поисковые системы, включая масштабный Google, кроме приятной и полезной информации о вашем затерявшемся ресурсе займутся кропотливой работой, которая позволит им перенести вам также показатели основных статических данных, включая тИЦ, PR данной страницы на более новый адрес вашего проекта. Поисковые системы принимают такой шаг, когда понимают, что раннее используемый ресурс более не будет использоваться вами в других целях.
Грамотный редирект 301 производится так:
Rеdirect 301 http://www.sait.ru/ http://www.sait1.ru/
Именно отдельная директива redirect, которая озадачена кодом 301 будет отвечать за полный перенос вашего сайта. Имеет два простых параметра: http://www.sait.ru/ - сайт, с которого выполняется переход, http://www.sait1.ru/ - сайт, на который выполняется переход.
302 редирект означает, что страница была перенесена ВРЕМЕННО
Подобный редирект сразу упоминает нам о том, что сайт просто сейчас не может быть выполнен и подгружен по данному адресу из нескольких причин различного рода. Если переадресация будет выполняться временно, то данный проект, с которого будет производиться перенаправление, будет дальше индексироваться роботами и поисковыми системами, а затем выводиться в поиск по различным запросам. Конечно, такой процесс происходит во многих системах совершенно разно. К примеру, ПС «Яндекс» не желает показывать врменные редиректы, которые не получили реально статуса 200, то есть настоящего сервера.
Многие профи SEO считают 302 редирект не особо хорошим, возможно потому, что статические показатели вашего домена останутся на старом месте, а поисковые системы и вовсе не воспримут ваш новый домен за реалии жизни. Однако стоит обязательно знать о нём, и о его реализации, поскольку всегда случаются различные жизненные ситуации.
Грамотная реализация 302 редиректа:
Rеdirect 302 http://www.sait.ru/ http://www.sait1.ru/
Отличается исключительно числом, поэтому будьте внимательны при прописывании данного понятия в директивах.