Динамически генерируемые URL обычно создаются с применением таких технологий, как Active Server Pages (.aspx), Cold Fusion (.cfm), Hypertext PreProcessor (.php), Java Server Pages (.jsp) или Perl. Специалисты по поисковой оптимизации часто утверждают, что поисковые системы не могут заходить на страницы с динамическими URL. Отчасти это правда. Но все же правильнее говорить, что поисковые роботы не могут сканировать URL, используемые для извлечения веб-страниц, или не станут сканировать страницы с определенной структурой URL, поскольку, по данным поиска, подобную структуру URL обычно имеют страницы с переполненным и/или низкокачественным содержимым.
Сравним веб-страницы со статическим и динамическим URL. Типичный статический веб-сайт состоит из группы страниц файлов, имена которых имеют расширение .html или .htm. Каждая страница является уникальным файлом и имеет уникальное содержимое, а их адрес (URL) не содержит проблемных символов, таких как ?, &, $, =, + или %. Например, URL страницы, посвященной чаю улун, сайта компании TranquiliTeas будет таким:
http://www.tranquiliteas.com/oolongteas.html
Напротив, у динамических веб-сайтов, как правило, очень мало файлов с оригинальным содержимым. Файлы динамических сайтов состоят, в основном, из шаблонов с инструкциями по представлению содержимого, и в этих шаблонах очень мало (или совсем нет) уникального содержимого. Основное содержимое динамических сайтов хранится в базах данных. Когда мы просматриваем страницу динамического вебсайта, шаблон загружает содержимое из базы данных. Чтобы скомандовать шаблону загрузить специализированное содержимое, в URL добавляются соответствующие параметры (или переменные).
Например, если бы сайт TranquiliTeas для использовал товарную базу данных, то URL такого ресурса выглядел бы так:
http://www.tranquiliteas.com/products.aspx?product_no=25
Здесь: products.aspx имя страницы-шаблона, ? (знак вопроса) указывает поисковику на то, что данный URL динамический, product_no имя переменной (или параметра), число 25 связано с информацией по данному товару в базе данных.
Приведенный URL в общем случае является дружественным поисковым системам, поскольку содержит только один параметр. Многие поисковые системы без проблем индексируют динамические URL с одним параметром. Но если URL содержит больше одного параметра, то определить, содержит ли такая веб-страница уникальное содержимое, гораздо сложнее. К тому же, по данным поиска, URL с несколькими (или множеством) параметров обычно свидетельствует о переполненном содержимом.
Если в URL присутствует вопросительный знак (?)> то это не означает, что поисковый механизм автоматически отвергнет данную страницу. Скорее, знак вопроса будет рассматриваться просто как индикатор динамического содержимого. Другие символы, такие как &, $, =, + и %, также являются индикаторами динамического содержимого.
Почему же поисковые роботы избегают сканировать страницы, URL которых содержат эти символы? На это есть три основных причины: 1. Поисковые системы не хотят хранить дублированное содержимое, поступающее к ним снова и снова, чаще всего — с динамических URL.
Пользователи тоже не хотят, чтобы в списках результатов поиска появлялось множество одинаковых страниц. Встретив в URL вопросительный знак или параметры, поисковая система останавливает сканирование, чтобы предотвратить появление в результатах поиска нескольких пунктов с идентичным содержимым. Сайты, добавляющие идентификатор сеанса в URL, имеют ту же проблему. Предположим, URL сайта TranquiliTeas выглядит так:
http://www.tranquiliteas.com/products.jsp? BV_SessionID= 0532038767
http://www.tranquiliteas.com/products.jsp? BV_SessionID= 0235426067
Такие страницы не могут считаться дружественными поисковым системам из-за наличия вопросительного знака (?) и знака равенства (=). Эти страницы имеют одинаковое содержимое, но разные URL. Но если в броузер загружается такой URL:
http://www.tranquiliteas.com/products.jsp
то поисковые системы смогут включить его в список результатов.
2. Поисковые системы стремятся иметь точные результаты.
Поисковые системы регулярно обновляют свои индексы каждые две-четыре недели. Если они включат в результаты поиска динамически генерируемые URL, содержимое этих страниц может изменяться в промежутке между записью в индекс и выдачей результата. В итоге пострадает точность результатов поиска.
3. Некоторые динамически генерируемые URL могут стать ловушкой для поискового робота и вызвать его сбой.
В некоторых ситуациях поисковый робот может столкнуться с динамической страницей, на которой программа базы данных или процесс CGI будет «скармливать» ему бесконечное количество URL. Программисты, не сумевшие завершить операторы if или while, могут вызвать крах робота.
Поисковые системы добились значительного прогресса в способности сканировать динамические URL. Разработчики веб-сайтов, в свою очередь, должны сосредоточить свои усилия на том, чтобы создавать дружественные поисковым системам страницы, минимизируя появление проблемных символов в URL.
Например, чтобы отобразить в динамическом URL с несколькими параметрами отдельную веб-страницу, можно разделить параметры символом амперсанда (&). Пример URL с двумя параметрами:
http://www.tranquiliteas.com/products.asp?product_no=25&product _sortorder=asc
Поисковым системам намного сложнее индексировать такой URL, поскольку они не могут определить, какие из параметров идентифицируют новую веб-страницу, а какие просто обозначают средства сортировки содержимого, схему навигации или что-то еще, не заставляющее индексировать данный URL в качестве новой уникальной веб-страницы.
Поэтому один из способов сделать динамические сайты более дружественными поисковым системам минимизация количества параметров в URL. Другие способы: добавление статических страниц, замена проблемных символов в URL, участие в программах платного включения в индекс и платного размещения рекламных разделах.