Преимущества индексации страниц с mod_rewrite |
||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Модуль mod_rewrite.so в первую очередь предназначен для имитации файлов и папок на серверах типа Apache. Т.е. папки или файлы не обязательно должны существовать на сервере, их может заменять один или несколько серверных исполняемых скриптов с расширениями .php, .asp или любые другие исполняемые на стороне сервера программы. Многие сайты, которые поисковые роботы и некоторые люди считают статическими (действительно состоящими из файлов и папок), на самом деле являются динамическими (их содержание генерируется в зависимости от того, какой URL был передан скрипту). Людей ввести в заблуждение куда проще, чем поисковых роботов, т.к. они помимо url смотрят еще и на все заголовки, возвращаемые сервером в ответ на запрос кокой либо страницы или файла, и в зависимости от этого решают к какому типу относится сайт и как его индексировать. Так как же динамические сайты обманывают поисковиков, и главное, зачем им это нужно? Ответ на этот вопрос прост, они отсылают им такие заголовки (header), что бы поисковики поверили в то, что это действительно физически существующие файлы. Ну а нужно это многим сайтам, и в первую очередь для экономии трафика. Ведь если сайт является популярным и при этом очень большим (больше 100 Mb чистого контента), то поисковые системы могут индексировать его почти каждый день, что с точки зрения расчетов 100x30≈3 Гигабайта, и это при условии что сайт индексирует всего один поисковый робот. А при симуляции реальных файлов, и отправке правильных заголовков поисковики не будут "скачивать" все уже проиндексированные страницы, при условии, что их размер и дата не будут меняться с течением времени. Для работы с mod_rewrite вам необходимо в корневой папке сайта создать (если нет) или дописать в уже существующий .htaccess, строку:
После этого, если mod_rewrite был установлен на вашем сервере, он должен начать работать. О том, как использовать все возможности mod_rewrite и вообще, что это такое, вы можете почитать в других моих статьях: Псевдостатика (mod_rewrite). Часть 1, Часть 2. После то как mod_rewrite был настроен и сайт был приспособлен для работы с ним, т.е. все динамические URL были преобразованы в статические, можно приступать к исправлению отсылаемых заголовков. Основная масса поисковых роботов при индексации запрашивает только дату последней модификации и размер документа, но есть и более привередливые, и чтобы удовлетворить всех мне пришлось изрядно повозиться с их документацией. И вот небольшая таблица, в которой описаны основные заголовки, которые запрашивают поисковики для определения типа страницы:
В таблицу я не стал вносить заголовки состояний страницы (200, 303, 302, 301, 404), которые ваш сервер в любом случае должен отсылать сам, но если вам хочется, то вы их тоже можете изменять. Более подробную информацию ищите в статье ПРОТОКОЛ ПЕРЕДАЧИ ГИПЕРТЕКСТА -- HTTP / 1.1 и Коды ответов сервера. Из этой статьи вы должны были усвоить, что для больших и посещаемых сайтов использование mod_rewrite + header() жизненно необходимо. Даже если вам придется полностью менять движок сайта или его переделывать (для правильного отображения всех URL), то это экономически обоснованно, т.к. тратить свой трафик на поисковых роботов не целеобразно. Ведь приблизительная цена гигабайта трафика составляет 1-2$, и из расчетов выше видно, что на одного поискового робота будет приходиться по 3-6$ в месяц, а таких ботов обычно не менее пяти, в итоге получится очень значительная сумма даже для очень богатого и крупного интернет-проекта. Поэтому большие динамические сайты лучше сразу создавать изначально ориентированные на работу с mod_rewrite + правильный header(), и тогда индексация сайта множеством поисковиков для вас не будет проблемой. Об отправке заголовков советую почитать статью Harry Fuecks (Перевод: Муллин Сергей, Кузьма Феськов) "Кэширование в PHP". |