Расточительный Яндекс / Статьи / ControlStyle
Статьи

Расточительный Яндекс

Yandex logoНаверное, можно сказать, что на сегодняшний день Яндекс является наиболее продвинутой поисковой машиной в русском Интернете как в плане удобства использования, так и в плане суммарной величины проиндексированных страниц. Впрочем, в последнее время стало заметно, что его индекс очень сильно спамят, вследствие чего Яндекс при поиске выдает либо большое количество бесполезных doorway-результатов (страницы, специально созданные для раскрутки того или иного ресурса), либо подряд одни страницы-близнецы. Впрочем, в настоящей статье речь пойдет не об этом.

Не секрет, что исходящий трафик с поисковых машин огромен. Очевидно, что для сокращения его объемов, необходимо оптимизировать интерфейс доступа к поиску, а также HTML-код страниц, выдаваемых пользователям. Что ж, по всей видимости, специалисты, работающие в Яндексе, так не считают (отрывок HTML-кода страницы результатов поиска):

...

<!--
     # Уточняющие чекбоксики под строкой поиска
     # Чтобы не случилась помойка, когда пользователь задал кучу
     # уточняющих параметров, показывать их будем небольшими дозами
     # со следующими приоритетами
-->
   <!-- уточнение по региону или по рубрике каталога -->
   <!-- по просьбам пользователей даем возможность искать внутри региона,
        но если нет уточнения по рубрике, искать в найденном   -->         <td nowrap><input type="checkbox» value="сайт» name="holdreq» id="check1">&nbsp;<label for="check1">в найденном</label>&nbsp;</td>  
 <!-- пользователь с Украины -->      <!-- но флаг взведен -->
        <td nowrap><input type="checkbox» value="-54---» name="rstr» id="check2">&nbsp;<label for="check2">в регионе: Екатеринбург</label>&nbsp;</td>
   <td width="99%» align="right">&nbsp;
    <input type="hidden» name="stype» value="www">

...

Помимо богатого набора бесполезных HTML-комментариев, в коде очень большое количество пробельных символов. Нет, понятно, конечно, что механизм выдачи результатов поиска Яндекса использует XML, что HTML-шаблоны там не верстаются как обычно, а используется XSLT. Но неужели специалистам и руководству проекта абсолютно все равно, сколько трафика тратят посетители на использование их сервисов?

А ведь оптимизация (пусть даже не очень большая) HTML-кода страницы является вполне тривиальной задачей! Достаточно в модуле вывода HTML удалять комментарии и преобразовывать последовательности пробелов (и символов табуляции) к одному пробельному символу. Программа на PHP, производящая минимальную оптимизацию кода, будет состоять из 4-х (!) строчек:

# удаляем комментарии
$html_code = preg_replace('/<!--(.*)-->/Us', '', $html_code);

# удаляем пустые строки
$html_code = trim($html_code);
$html_code = preg_replace('/^(\s*)$/m', '', $html_code);

# удаляем отступы строк
$html_code = preg_replace('/^(\s+)/m', '', $html_code);

Давайте посчитаем, насколько можно сократить объем данной, отдельно взятой страницы Яндекса. Ее изначальный размер — 28014 байт. После обработки вышеприведенным кодом — 26468 байт. Если вынести Javascript в отдельный файл (который, с большой степенью вероятности будет кэшироваться) — 24643 байта.

Таким образом, Яндекс заставляет своих пользователей тратить трафика на 12% больше, чем следовало бы. Наверное, не очень большая цифра для отдельно взятого пользователя системы Яндекс. А как же с общим итоговым трафиком? По статистике, к поисковой части Яндекса в день осуществляется до 30 000 000 запросов. Большинство из них — запросы к страницам с результатами поиска (т.е. именно к таким, как та, анализ которой только что был произведен). Путем несложных вычислений можно посчитать, что за один день Яндекс генерирует порядка 100 Гб (!) лишнего исходящего трафика. Бесполезная трата трафика для каждого пользователя составляет 100 кб в день в среднем. Расточительно... даже для Яндекса.

P.S. Нет, я, конечно, пользуюсь и буду пользоваться Яндексом, так как он мне, безусловно, нравится. Но лучшему русскому поисковику пора бы взять пример хотя бы с того же Google, у которого с оптимизацией страниц все в порядке.

Николай И. Яровой

Комментировать через

Вконтакте Facebook

К списку статей