Маркетинговая группа "Текарт"
+7 (495) 790-7591
8:30-17:30 МСК

Аналитика

Наиболее часто встречающиеся ошибки, препятствующие хорошему ранжированию сайта в поисковых машинах. Пути их решения.

Сергей Людкевич, Евгений Есипов, Techart.Promo, 19.11.2004

Зачастую сайты с прекрасным уникальным контентом оказываются труднодоступными для пользователей поисковых систем только лишь потому, что их разработчики в свое время не позаботились о том, насколько корректно эти сайты смогут проиндексировать и отранжировать поисковые машины. Ниже рассмотрим наиболее типичные ошибки и недочеты, препятствующие корректной индексации и ранжированию сайтов в поисковых машинах. Эти ошибки можно условно разделить на 3 большие группы:

1. Использование конструкций, затрудняющих корректное индексирование документов
2. Засорение индексов поисковых машин дубликатами страниц
3. Ошибки, препятствующие наиболее полной и быстрой индексации и переиндексации сайта

Рассмотрим их подробнее.

1. Использование конструкций, затрудняющих корректное индексирование документов.

Эти ошибки могут привести к тому, что поисковые системы не смогут проиндексировать некоторые страницы сайта полностью или частично, а также не смогут учесть некоторые ссылки между страницами сайта.

Java-script, Vbscript

Поисковые системы не исполняют скрипты, исполняемые на стороне клиента. В противном случае их исполнение резко повысило бы нагрузку на сервера роботов. Ни Java-script, ни Vbscript на сегодняшний день не индексируются поисковыми системами. Поэтому роботы не могут ни проиндексировать текст, ни найти ссылки, выполненные на Java-script или Vbscript. Последнее может служить препятствием для индексации некоторых страниц сайта (поисковые роботы их просто не смогут найти по ссылкам) и распределению показателей авторитетности внутри сайта. Однако, при умелом использовании, с помощью подобных ссылок можно манипулировать распределением показателей авторитетности по вашему усмотрению.

Тэг <noindex>

Ещё проще скрыть текст или ссылки можно с помощью тэга <noindex></noindex>. Правда, не от всех поисковиков. Этот тэг - исключительно отечественная разработка. Его учитывают всего две поисковые системы - Яндекс и Рамблер. Код расположенный внутри этого тэга, в том числе и ссылки, не индексируется этими поисковыми системами. Поэтому надо избегать использования этого тега на страницах сайта, если Вы хотите, чтобы содержимое страницы было полностью проиндексировано. Наиболее типичной ошибкой является использование этого тега для закрытия для индексации элементов навигационного меню при использовании на сайте локального поиска, работающего на поисковом движке mnoGoSearch, также поддерживающей этот тег. Опять-таки, при умелом использовании, с помощью этого тега можно манипулировать распределением показателей авторитетности по вашему усмотрению или концентрацией ключевых слов.

Flash

Также как и скрипты, Flash до недавних пор не индексировался поисковыми системами и вся эта "красота" не попадала в базы поисковых систем. Однако, в последнее время некоторые поисковые машины (в частности, Рамблер и Яндекс) заявили об индексации Flash. Тем не менее, я бы не рекомендовал широкое использование этой технологии, если вы хотите, что бы ваши сайты хорошо ранжировались поисковыми машинами.

Фреймы

При первоначально кажущейся привлекательности использования фреймов на сайте, на поверку они оборачиваются только проблемами. И дело не только в том, что на каждой странице необходимо скрипты, которые в этом случае загружают всю фреймовую структуру сайта и открывают в одном из фреймов ту страницу, на которую посетитель пришел первоначально. Фреймовые структуры более медленно индексируются. Неясно, как распределяется во фреймах показатели авторитетности. Но если уж вам довелось работать с таким сайтом и нет возможности отказаться от фреймов, то используйте тэг <noframes> - его содержание, текст и ссылки, индексируются. Но необходимо быть осторожным с его использованием. Как и к любому контенту, скрытому от пользователя, к содержанию <noframes> поисковые системы относятся с подозрением, и оно довольно легко может быть расценено как спам.

Редиректы

Редирект, т.е. перенаправление пользователя без его активных действий на другую страницу, бывает двух типов: исполняемый на стороне сервера и на стороне клиента. Клиентский редирект - вещь вообще очень опасная, сайт может попасть в бан-лист просто за его использование. Дело в том, что редирект на стороне клиента обычно используется для спама поисковых систем с помощью дорвеев. Роботом индексируется как бы обычная страница, оптимизированная под какой-либо запрос, но при обращении пользователя к странице его перенаправляют на другую страницу.

Редирект, исполняемый на стороне сервера, не попадает под санкции, но хорошего в нём тоже ничего нет. Дело в том, что между документом А, на котором стоит ссылка и документом В, на который в конечном счете попадает пользователь, находится промежуточный документ С. И поэтому подобная конструкция поисковой машиной может и не быть расценена, как ссылка с документа А на документ В со всеми вытекающими последствиями.

Динамические адреса страниц

Поисковые системы не могут знать, каким образом формируется конечный код страниц, статичный ли это html или динамически сгенерированный. Единственным признаком выступает url страницы. Динамическими страницами считаются если в их адресе присутствует знак вопроса или они имеют расширение, отличное от *.htm или *.html, например *.php, *.jsp, *.pl и другие. Чем плохи такие адреса? Дело в том, что некоторые поисковых системы могут накладывать ограничения на индексацию подобных страниц или на учет ссылок с таких страниц.

Интересен механизм индексации динамических страниц Апортом. У него для каждого сайта существует квота, на количество индексируемых страниц (любого типа), напрямую зависящая от индекса цитируемости сайта. Т.е. количество индексируемых страниц для сайтов с низким ИЦ меньше, чем для более "авторитетных". И только в случае, если квота позволяет проиндексировать все страницы с сайта со статическими адресами и ешё не полностью израсходована, Апортом начинают индексироваться страницы с динамическими адресами.

Замену динамических адресов на статические можно осуществить с помощью специального специального модуля mod_rewrite для Apache (подробнее об этом модуле можно посмотреть здесь: http://httpd.apache.org/docs/mod/mod_rewrite.html).

2. Засорение индексов поисковых машин дубликатами страниц.

Идентификаторы сессий в адресах страниц.

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

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

Учитывая вышесказанное, необходимо избавляться от идентификаторов сессий в адресах страниц, тем более что в большинстве случаев, как показывает практика, в их применении нет необходимости. Если же это невозможно, то такие страницы необходимо запретить к индексации, а в случае обращения к документам роботов поисковых машин (их можно, например, идентифицировать по значению поля User-Agent) не генерировать идентификаторы сессии.

Некорректные отклики сервера.

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

Документы нормально индексируются поисковыми системами, только если сервер возвращает в заголовке код 200 (ОК). При возврате сервером кодов 301 (перемещено), 302 (временно перемещено) и 404 (не найдено) страницы роботом не индексируются и удаляются из индекса, если они в нём находились. Типичной ошибкой является выдача сервером кода 200 (ОК) для несуществующих страниц. Например, при запросе по неверному адресу, выдаётся страница с текстом об ошибке, а HTTP-код при этом 200. В итоге эта страница многократно индексируется под разными адресами и при накоплении большого количества подобных страниц в индексе сайт подвергается чистке (в случае Яндекса), при которой он может быть удалён из базы практически целиком. Рамблер может "пессимизировать" сайт, т.е. понизить его в результатах поиска, начислив ему штрафные баллы.

Посмотреть, какие отклики выдает сервер для конкретной страницы можно, к примеру, с помощью специальных онлайновых сервисов. Вот адрес одного из них: http://www.searchengineworld.com/cgi-bin/servercheck.cgi.

3. Управление полнотой переиндексации сайта.

Зачастую разработчики сайта не задумываются о том, как обеспечить наиболее быструю и полную индексацию и переиндексацию страниц сайта. И если для сравнительно небольших сайтов размером в несколько десятков страниц, это, может быть, и не очень актуально, то пренебрежительное отношение к подобного рода вещам в случае сайтов, содержащих большое количество документов, измеряемое сотнями и тысячами, может привести к тому, что роботы поисковых машин будут постоянно переиндексировать одни и те же не изменяющиеся малоинформативные документы, обходя стороной основной контент сайта. Существует ряд технических приемов, позволяющих добиться более быcтрой и полной индексации и переиндексации страниц сайта.

Разбиение сайта на поддомены.

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

Настройка заголовка отклика сервера на GET и HEAD с полем If-Modified-Since

Роботы поисковых машин при переиндексации запрашивают документы с полем If-Modified-Since в котором ставится дата последней переиндексации. Для статических документов сервер самостоятельно формирует корректный отклик на такой запрос - 200 ОК, если документ изменялся после даты, указанной в запросе либо 304 Not Modified, если не изменялся. Во втором случае робот не будет скачивать документ и обновлять его в своей базе.

Однако для динамических документов, собираемых "на лету", сервер в состоянии выдать только 200 ОК. Поэтому любой динамический документ будет скачан и переиндексирован, включая те, содержимое которых реально не менялось со времени последней переиндексации. Порой подобные документы могут выбрать всю квоту, выделенную на индексацию. То есть поисковая машина не получит никакой новой информации о сайте. Поэтому желательно в заголовке отклика на запросы GET и HEAD с полем If-Modified-Since для документов, о дате последней модификации которых есть информация, принудительно выдавать отклик 304 Not Modified, если дата последней модификации раньше, чем дата, стоящая в запросе. Тем самым робот получит информацию о том, что документ не изменился, и, не скачивая его, обратится к следующему документу в очереди. Если у робота есть лимит на количество скачиваемых за один заход документов, то, таким образом, он за один заход скачает большее число документов, реально изменившихся или еще не проиндексированных.

Подробнее об HTTP запросах можно узнать здесь: http://www.citforum.ru/internet/cgi_tut/rqst.shtml.

Запрещение к индексации неинформативных или дублирующих страниц сайта.

На сайте может находиться некоторое количество страниц, контент которых совершенно неинформативен (например страницы фотогалереи, содержащие только изображения) или дублирует содержимое других страниц (например, различные режимы сортировки информации в таблицах). Подобные страницы целесообразно запрещать к индексации в целях более быстрой и полной переиндексации других страниц сайта.

Запретить страницу к индексации поисковой системой можно двумя способами: с помощью мета-тэгов или файла robots.txt Для запрета используется мета-тэг "robots":

<META NAME="ROBOTS" CONTENT="значение">

В атрибуте content можно применять следующие директивы:

NOINDEX - запрещает индексацию документа, но разрешает переходить по ссылкам с него:

<META NAME="ROBOTS" CONTENT="NOINDEX">

NOFOLLOW - запрещает переходить по ссылкам, но не запрещает индексировать документ:

<META NAME="ROBOTS" CONTENT="NOFOLLOW">

Или их комбинацию: NOINDEX, NOFOLLOW - запрещает индексировать документ и переходить с него по ссылкам:

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">

Если требуется запретить к индексации раздел или группу файлов с однотипными именами, то более удобным способом будет запрет с помощью robots.txt. Это текстовый файл, который должен располагаться в корневой директории сервера, т.е. быть доступен по адресу http://имя_сайта.ru/robots.txt

Файл должен содержать одну или несколько записей, разделенных одной или несколькими пустыми строками. Каждая запись состоит из строк вида:

имя_поля:[пробелы]значение[пробелы]

Пробелы являются не обязательными. Регистр значения поля не учитывается. Могут использоваться комментарии - символ # означает начало комментария, конец строки - конец комментария.

Запись должна начинаться с одной или нескольких строк User-Agent, следом должна быть одна или несколько строк Disallow. Нераспознанные строки игнорируются.

В строке User-Agent указывается имя робота поисковой системы, для которой запрещаются к индексации страницы. У Яндекса это yandex, Рамблера - StackRambler, Апорта - aport и у Google - googlebot. Если роботов, для, которых требуется наложить одинаковый запрет несколько, то надо поместить в записи несколько строк User-Agent одну за другой, в каждой указав имя соответсвующего робота. Если страницы необходимо запретить от индексирования всеми роботами, то необходимо использовать символ *. Такая запись, с полем "User-agent: *" может быть в файле robots.txt только одна.

В каждой записи, также, должно быть хотя бы одно поле Disallow. В нём указывается указывается частичный или полный путь (URL), запрещаемых страниц. В строках с полем Disallow записываются не абсолютные, а относительные префиксы, т.е. в этом поле не должно указываться доменное имя сайта - www.сайт.ru Если значение Disallow не указано, то это означает, что может индексироваться всё.

Например:

User-Agent: *
Disallow: /sript/

Эта запись запрещает всем роботам индексировать файлы, ссылки на которые содержат путь к директории /sript/. Для полного запрета индексации используется символ /. Запретим Яндексу индексировать сайт:

User-agent: yandex
Disallow: /

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

User-agent: *
Disallow: /page3.php;phpessionid

Страница page3.php будет нормально проиндексирована, а все её копии, начинающиеся на page3.php;phpessionid будут запрещены к индексации.

Наличие robots.txt на сервере не является обязательным, его отсутствие, как и пустой файл robots.txt, или неправильно составленный, будет интерпретироваться роботом как разрешение на полную индексацию сайта.

Полная документация по протоколу файла robots.txt находится здесь: http://www.robotstxt.org/wc/robots.html.

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