Как работают поисковые системы — сниппет, алгоритм обратных индексов, индексация страниц, особенности работы поисковиков
Здравствуйте уважаемые читатели блога KtoNaNovenkogo.ru. Занимаясь SEO или, иначе говоря, поисковой оптимизацией, как на профессиональном уровне (продвигая за деньги коммерческие проекты), так и на любительском уровне (самостоятельная раскрутка сайта), вы обязательно столкнетесь с тем, что необходимо знать принципы работы поисковых систем, для того, чтобы успешно оптимизировать под них свой или чужой сайт.

Врага, как говорится, надо знать в лицо, хотя, конечно же, поисковые системы (для рунета это Яндекс и лидер мирового поиска Google.ru) для нас вовсе не враги, а скорее партнеры, ибо поисковая доля трафика любого сайта (число посетителей от общей посещаемости сайта, которые пришли с поисковых выдач) является в большинстве случаев превалирующей и основной. Есть, конечно же, исключения — это те сайты, для которых поисковый трафик не является основным источником посетителей, но они только подтверждают данное правило.
Что такое сниппет и для чего поисковые системы хранят в своей базе копии документов
Но тут сначала нужно будет разобраться, а что такое сниппет, для чего он нужен поисковой системе и почему содержимое сниппета так важно для оптимизатора? Сниппет в поисковой выдаче располагается сразу под ссылкой на найденный документ (текст которой берется из тега TITLE документа):

В качестве сниппета используются обычно куски текста из этого документа. Идеальный сниппет призван предоставить пользователю возможность составить мнение о содержимом документа (страницы), не переходя на него (но это если сниппет получился удачным, а это не всегда так). Сниппет формируется автоматически и какие-именно куски текста документа будут использоваться в качестве сниппета решает поисковая система, и что важно, для разных поисковых запросов у одного и того же документа будут разные сниппеты.
Но есть вероятность, что именно содержимое тега Description иногда может быть использовано поисковыми системами (особенно Google) в качестве сниппета. Конечно же, содержимое сниппета будет зависеть от того поискового запроса, в выдаче которого он показывается. Но содержимое тега Description может выводить в сниппете при совпадении ключевых слов запроса и слов, употребленных вами в сниппете или в случае, когда поисковая систем сама еще не нашла на вашем сайте куски текста (сниппеты) для всех поисковых запросов.
Поэтому не ленимся и заполняем содержимое тега Description для каждой статьи вашего ресурса. В WordPress это можно сделать, если вы используете плагин All in One SEO Pack (а его использовать я вам настоятельно рекомендую). Если вы используете Joomla, то можете воспользоваться этим материалом — Настройка мета-данных в Joomla (мета-теги DESCRIPTION, KEYWORDS, TITLE и ROBOTS).
Но сниппет нельзя получить из обратного индекса, т.к. там хранится информация только об использованных на странице словах и их положении в тексте. Вот именно для создания сниппетов одного и того же документа в разных поисковых выдачах (по разным поисковым запросам) поисковики, кроме обратного индекса (нужного непосредственно для ведения поиска по документу), сохраняют еще и прямой индекс, т.е. копию документа (веб-страницы). Сохраняя копию документа у себя в базе, поисковой системе довольно удобно нарезать из них нужные сниппеты, не обращаясь при этом к оригиналу документа.
Т.о. получается, что поисковые системы хранят в своей базе и прямой и обратный индекс документа (веб-страницы). Кстати, на формирование сниппетов можно косвенно влиять, оптимизируя текст веб-станицы таким образом, чтобы поисковая система выбрала в качестве сниппета именно тот кусочек текста, который вы задумали. Но об этом поговорим уже в другой статье рубрики Продвижение сайтов (SEO и SMO)
Основные принципы работы поисковых систем
Суть поисковой оптимизации заключается в том, чтобы «помочь» поисковым системам поднять страницы тех сайтов, которые вы продвигаете, на максимально высокую позицию в поисковой выдаче по тем или иным запросам. Слово «помочь» в предыдущем предложении я взял в кавычки, т.к. своими оптимизаторскими действия мы не совсем помогаем, а зачастую и вовсе мешаем поисковым системам сделать полностью релевантную запросу выдачу. Но это хлеб оптимизаторов, и пока поисковые системы не станут совершенными, будут существовать возможности за счет внутренней и внешней оптимизации страниц сайта, улучшить их позиции в поисковой выдаче.
Но прежде, чем переходить к изучению методов поисковой оптимизации, нужно будет хотя бы поверхностно разобраться в принципах работы поисковых систем, чтобы все дальнейшие действия по оптимизации сайтов делать осознано и понимая зачем это нужно и как на это отреагируют поисковики. Ясное дело, что понять всю логику работы поисковых систем от и до у нас не получится, ибо многая информация не подлежит разглашению, но нам, на первых порах, будет достаточно и понимания основополагающих принципов. Итак, приступим.
Как же все-таки работают поисковые системы? Как ни странно, но логика работы у всех поисковых систем в принципе одинаковая и заключается в следующем: поисковыми системами собирается информация обо всех документах в сети, до которых они могут дотянуться, после чего эти данные хитрым образом обрабатываются, для того, чтобы по ним удобно было бы вести поиск. Вот, собственно, и все, на этом статью можно считать завершенной, но все же добавим немного конкретики.
Во-первых, уточним, что документом поисковые системы называют то, что мы обычно называем страницей сайта. При этом документ должен иметь свой уникальный адрес (URL), и что примечательно, хеш-ссылки не будут приводить к появлению нового документа (о том, что такое хеш-ссылки читайте здесь — Создание гиперссылок и якорей). Во-вторых, стоит остановиться на алгоритмах (способах) поиска информации в собранной базе документов, которые используют поисковые системы.
Алгоритмы работы поисковых систем — прямой поиск и алгоритм обратных (инвертированных) индексов
Очевидно, что метод простого перебора всех страниц (документов), хранящихся в базе данных поисковиков, не будет являться оптимальным. Этот метод называется алгоритмом прямого поиска и при том, что этот метод позволяет наверняка найти нужную информацию не пропустив ничего важного, он совершенно не подходит для работы с большими объемами данных, ибо поиск будет занимать слишком много времени.
Поэтому для эффективного поиска в больших объемах данных был разработан алгоритм обратных (инвертированных) индексов. И что примечательно, именно этот алгоритм используется всеми крупными поисковыми системами в мире. Поэтому на нем мы остановимся подробнее и рассмотрим принципы его работы.
При использовании алгоритма обратных (инвертированных) индексов, поисковые системы преобразовывают документы в текстовые файлы, содержащие список всех имеющихся в документе слов. Слова в таких списках (индекс-файлах) располагаются в алфавитном порядке и рядом с каждым словом указаны в виде координат те места в документе, где это слово встречается. Кроме позиции в документе, для каждого слова приводятся еще и другие параметры, определяющие его значение в документе.
Если вы вспомните, то во многих книгах (в основном технических или научных) на последних страницах приводится список слов, используемых в данной книге, с указанием номеров страниц, где эти слова встречаются в этой книге. Конечно же, этот список не включает всех слов, используемых в книге, но тем не менее может служить примером построения индекс-файла с помощью алгоритма обратных (инвертированных) индексов.
Обращаю ваше внимание, что поисковые системы ищут информацию не в интернете, а в обратных индексах обработанных ими документов сети. Хотя и прямые индексы (оригинальный текст документов) поисковики тоже сохраняют, т.к. он им в последствии понадобится для составления сниппетов, но об это мы поговорим чуть попозже.
Алгоритм обратных индексов документов используется всеми поисковыми системами, т.к. он позволяет ускорить процесс поиска, но при этом будут неизбежны потери информации за счет искажений внесенных преобразованием документа в индекс-файл. Для удобства хранения файлы обратных индексов обычно хитрым способом сжимаются.
Математическая модель используемая поисковыми системами для ранжирования
Для того, чтобы осуществлять поиск по обратным индексам документов, содержащимся в базе данных поисковых систем, используется математическая модель, позволяющая упростить процесс обнаружения нужных документов (по введенному пользователем поисковому запросу) и процесс определения релевантности всех найденных документов этому запросу. Чем больше документ соответствует данному запросу (чем он релевантнее), тем выше он должен стоять в поисковой выдаче.
Значит основная задача выполняемая математической моделью любой поисковой системы — это поиск документов (страниц) в своей базе обратных индексов соответствующих данному поисковому запросу и сортировка этих найденных документов в порядке убывания их релевантности поисковому запросу. Использование простой логической математической модели, когда документ будет являться найденным, если в нем встречается искомая фраза, нам не подойдет, в силу огромного количества таких документов, выдаваемых на рассмотрение пользователю.
Поисковая система должна не только предоставить список всех документов (веб-страниц), на которых встречаются слова из поискового запроса. Она должна предоставить этот список документов в такой форме, когда в самом начале этого списка будут находиться наиболее соответствующие запросу пользователя документы (осуществить сортировку найденных страниц по релевантности). Эта задача не тривиальна и по умолчанию не может быть выполнена идеально.
Кстати, неидеальностью любой математической модели поисковых систем и пользуются оптимизаторы, влияя теми или иными способами на ранжирование документов в поисковой выдаче (в пользу продвигаемого ими сайта, естественно). Математическая модель, используемая всеми поисковыми системами, относится к классу векторных математических моделей. В этой математической модели используется такое понятие, как вес документа по отношению к заданному пользователем запросу.
В базовой векторной математической модели вес документа по заданному поисковому запросу высчитывается исходя из двух основных параметров: частоты, с которой встречается данное слово в рассматриваемом документе (TF — term frequency) и тем, насколько редко это слово встречается во всех других документах коллекции поисковой системы (IDF — inverse document frequency). Под коллекцией поисковой системы имеется в виду вся совокупность документов, известных поисковой системе. Умножив эти два параметра друг на друга, мы получим вес документа по заданному поисковому запросу.
Естественно, что различные поисковые системы, кроме параметров TF и IDF, используют множество различных коэффициентов для расчета веса документа (страницы) по заданному поисковому запросу, но суть остается прежней: вес страницы (документа) будет тем больше, чем чаще слово из поискового запроса встречается в документе (до определенных пределов, после которых документ может быть признан спамом) и чем реже встречается это слово во всех остальных документах, проиндексированных поисковой системой.
Оценка качества работы векторной математической модели поисковой системы
Таким образом, получается, что формирование выдач поисковых систем по тем или иным запросам осуществляется полностью по формуле (математической модели) без участия человека. Но никакая формула не будет работать идеально, особенно на первых порах, поэтому нужно осуществлять контроль за работой математической модели. Для этих целей используются специально обученные люди — ассесоры, которые просматривают выдачу поисковых систем (конкретно той поисковой системы, которая их наняла) по различным запросам и оценивают качество работы математической модели поисковой системы.
Все внесенные ими замечания учитываются людьми, отвечающими за настройку математической модели поисковой системы. В формулу векторной математической модели вносятся изменения или дополнения, в результате чего качество работы поисковой системы повышается. Получается, что ассесоры выполняют роль такой своеобразной обратной связи между разработчиками поисковой системы и ее пользователями, которая необходима для улучшения качества работы поисковиков.
Основными критериями в оценке качества работы математической модели поисковых систем являются:
- Точность выдачи поисковой системы — процент релевантных документов (соответствующих поисковому запросу — релевантность и ранжирование) в поисковой выдаче. Чем меньше не относящихся к теме запроса документов (например, дорвеев) будет присутствовать в поисковой выдаче, тем лучше
- Полнота поисковой выдачи — процентное отношение соответствующих заданному запросу (релевантных) документов в поисковой выдаче к общему числу релевантных документов, имеющихся во всей коллекции поисковой системы ( коллекция — совокупность документов известных поисковой системе). Т.е. получается так, что во всей базе документов, которые известны поисковой системе (коллекции) документов соответствующих заданному запросу будет больше, чем показано в поисковой выдаче. В этом случае можно говорить о неполноте поисковой выдаче. Возможно, что часть релевантных документов попала под фильтр и была, например, принята за дорвеи или же еще какой-нибудь шлак.
- Актуальность поисковой выдачи — степень соответствия реального документа в интернете, тому что о нем написано в поисковой выдаче. Например, документ может уже не существовать или быть сильно измененным, но при этом в поисковой выдаче по заданному запросу он будет присутствовать, несмотря на его физическое отсутствие по указанному адресу или же на его текущее не соответствие данному поисковому запросу. Актуальность выдачи поисковой системы зависит от частоты сканирования поисковыми роботами той или иной поисковой системы документов из своих поисковых выдач.
Как поисковые системы Яндекс и Гугл собирают свою коллекцию документов
Несмотря на кажущуюся простоту индексации документов (веб-страниц) поисковыми системами, тут есть масса нюансов, которые нужно знать, а в последствии и использовать при поисковой оптимизации (SEO) своих или же заказных сайтов. Индексация документов сети (сбор коллекции) осуществляется специально предназначенной для этого программой, называемой поисковым роботом (ботом). Робот получает от поисковой системы первоначальный список адресов документов (веб-страниц), которые он должен будет посетить, скопировать содержимое этих страниц и отдать это содержимое на дальнейшую переработку поисковой системе (она преобразует эти документы в обратные индексы).
Поисковый робот может ходить не только по заранее данному ему списку документов (веб-страниц), но и переходить по ссылкам с этих документов (страниц) и индексировать находящиеся по этим ссылкам документы. Т.о. поисковый робот ведет себя точно так же, как и обычный пользователь, переходящий по ссылкам. Поэтому получается, что поисковая система с помощью робота может проиндексировать все то, что доступно обычно пользователю, использующему браузер для серфинга (поисковые системы индексируют документы прямой видимости, которые может увидеть любой пользователь интернета).
У поисковых систем есть ряд особенностей, связанных с индексацией ими документов в сети (индексация сайта и robots txt). Первой особенностью можно считать то, что кроме обратного индекса, который создается из оригинального документа, скачанного из сети, поисковая система сохраняет еще и копию этого самого документа, иначе говоря, кроме обратного индекса документа, поисковики хранят еще и прямой индекс документа. Зачем это нужно? Я уже упоминал чуть ранее, что это нужно для составления различных сниппетов для этого документа, в зависимости от введенного поискового запроса.
Яндекс — только одна страница с каждого сайта в поисковой выдаче, ограничение количества индексируемых страниц для сайтов разного уровня доменов
Обращаю ваше внимание на такую особенность работы поисковой системы Яндекс, как наличие в поисковой выдаче по заданному запросу всего лишь одного документа с каждого сайта. Такого, чтобы в поисковой выдаче присутствовали на разных позициях два документа с одного и того же сайта быть не могло до недавнего времени. Это было одно из основополагающих правил Яндекса. Если даже на одном сайте найдется сотня релевантных заданному поисковому запросу страниц, в поисковой выдаче будет присутствовать только один (самый релевантный данному запросу) документ с этого сайта.
Поисковая система Яндекс заинтересованна в том, чтобы пользователь получал разнообразную информацию с разных сайтов, а не пролистывал несколько страниц поисковой выдачи с документами одного и того же сайта, который этому пользователю оказался не интересен по тем или иным причинам. Однако, спешу поправиться, ибо когда дописал эту статью узнал новость, что оказывается Яндекс стал допускать отображение в поисковой выдаче второго документа с того же сайта, в качестве исключения, если этот документ окажется «очень хорош и уместен» (иначе говоря сильно релевантен запросу).
Что примечательно, эти дополнительные результаты с того же самого сайта в поисковой выдачи Яндекса тоже нумеруются, следовательно из-за этого из топа выпадут некоторые сайты, занимающие нижние позиции. Вот пример новой поисковой выдачи Яндекса с двумя документами одного и того же сайта:

Поисковые системы стремятся равномерно индексировать все сайты, но зачастую это бывает не просто, из-за совершенно разного количества страниц на различных сайтах (у кого-то десять страниц, а у кого-то миллион). Как быть поисковой системе в этом случае?
Яндекс выходит из этого положения ограничением количества документов, которое он сможет загнать в индекс с одного сайта. Для сайтов с доменным именем второго уровня (читайте подробнее о доменах здесь — Доменное имя — что это такое и для чего нужно), например, KTONANOVENKOGO.RU, максимальное количество страниц, которое может быть проиндексировано Яндексом находится в диапазоне от ста до стапятидесяти тысяч страниц (конкретное число зависит от отношения Яндекса к данному сайту). Для сайтов с доменным именем третьего уровня — от десяти до тридцати тысяч страниц (документов).
Если у вас сайт с доменным именем второго уровня, а вам нужно будет загнать в индекс Яндекса, например, миллион страниц, то единственным выходом из этой ситуации будет создание множество поддоменов для вашего сайта (Создание поддоменов (субдоменов) в своем хостинг-аккаунте). Поддомены для домена второго уровня могут выглядеть так: JOOMLA.KTONANOVENKOGO.RU. Количество поддоменов для сайта второго уровня, которое может проиндексировать Яндекс составляет где-то чуть более 200 (иногда вроде бы и до тысячи), поэтому таким нехитрым способом вы сможете загнать в индекс Яндекса несколько миллионов страниц своего сайта.
Задержка индексации Яндексом сайтов в не русскоязычных доменных зонах
В связи с тем, что Яндекс до недавнего времени являлся поисковой системой только по русскоязычной части интернета, то и индексировал он в основном русскоязычные сайты. Поэтому, если вы создаете сайт не в доменных зонах, которые Яндекс по умолчанию относит к русскоязычным (RU, SU и UA), то ждать быстрой индексации вашего сайта не стоит, т.к. Яндекс, скорее всего, его найдет не ранее чем через месяц. Но уже последующая индексация страниц вашего сайта, расположенного в буржуйских доменных зонах, будет происходить с той же частотой, что и в русскоязычных доменных зонах.
Т.е. доменная зона вашего сайта влияет лишь на время, которое пройдет до начала индексации Яндексом вашего сайта, но не будет влиять в дальнейшем на частоту индексации. Кстати, от чего зависит частота индексации сайта поисковыми системами. Логика работы поисковых систем по переиндексации документов (страниц) сводится примерно к следующему:
- найдя и проиндексировав новую страницу, робот поисковой системы заходит на нее на следующий день
- сравнив содержимое страницы с тем, что было вчера и не найдя отличий робот поисковой системы придет на эту страницу еще раз только через три дня
- если и в этот раз на данной странице ничего не измениться, то робот придет через неделю и т.д.
Т.о. со временем, частота прихода поискового робота на эту страницу сравняется с частотой ее обновления или будет сопоставима с ней. Причем, время повторного захода робота поисковых систем может измеряться для разных сайтов как в минутах, так и в годах. Такие вот они умные поисковые системы, составляя индивидуальный график посещения для различных страниц различных сайтов. Можно, правда, принудить поисковики переиндексировать страничку по нашему желанию, даже если на ней ничего не изменилось, но об этом в другой статье рубрики Продвижение сайтов (SEO и SMO).
Продолжим изучать принципы работы поисковых систем в следующей статье, где мы рассмотрим проблемы, с которыми сталкиваются поисковики, рассмотрим нюансы работы поисковых систем с морфологией русского языка и узнаем некоторые подробности по запросам пользователей. Ну и многое другое, конечно же, так или иначе связанное с работой поисковых систем и помогающее раскрутить сайт.
У Евгения Попова вышел новый видекурс Все Технические Моменты Онлайн Бизнеса в Видеоформате, который стоит того, чтобы с ним ознакомиться.
Вы так же можете ознакомиться с другими статьями на тему продвижения сайта:
- Продвижение сайтов (SEO и SMO)
- Как добавить сайт в поисковые системы
- Как добавить сайт в каталоги Яндекс, Google (DMOZ) и др.
- Бесплатные обратные ссылки
- Продвижение в социальных медиа (SMO)
- Что такое ТИЦ, PageRank, Alexa Rank и как их нарастить
- Поисковая оптимизация сайтов (SEO)
- Как работают поисковые системы
- Поисковое продвижение сайта в Google
- Что такое трастовость и авторитетность сайта
- Внутренняя оптимизация контента сайта
- Внутренняя оптимизация сайта
- Подбор и выделение ключевых слов, проверка тошноты страницы, убираем дубли
- Оптимальная частота употребления ключевых слов и длина текста
- Внутренняя перелинковка под низкочастотные поисковые запросы
- Улучшаем индексацию сайта через правильный robots.txt
- Оптимальные файлы robots.txt для Joomla, WordPress и SMF
- Влияние факторов поисковой оптимизации на продвижение
- Самостоятельное продвижение сайта
Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru
- CMS Joomla – принципы работы бесплатной системы управления контентом, создание страниц и их кэширование в Joomla
- Значение контента и его оптимизация под поисковые системы, тематика сайта, что дают тематические ссылки, внутренние факторы продвижения сайта
- Работа с панелью для вебмастеров Yahoo Site Explorer поисковой системы Yahoo — регистрация, просмотр списка проиндексированных страниц и входящих ссылок, добавление карты сайта
- Основы блочной верстки (DIV верстки) — Часть 1 — Как работают сайты, повышение безопасности сайта, структура HTML кода, создание простого макета в 2 колонки на дивах
- Поисковое продвижение сайта в Google.com — Определение региона для сайта (Google.ru, Google.ua), работа поисковой системы, основной и дополнительный индексы поисковика Google
- Как увеличить посещаемость сайта за счет получения бесплатных обратных ссылок с трастовых (жирных) сайтов
- Темы WordPress (шаблоны) — установка тем на Вордпресс, из каких файлов (шаблонов) состоят и как работают WP темы


Интересная статья. Но хотелось бы источников. Потому что некоторые, факты голословны. Например, устройство индекс файла.
А в некоторых местах, мне кажется, вы сами можете себя поправить.
Все равно спс за статью.
Я очень извиняюсь за вопрос не по теме, но каким хостингом вы пользуетесь??? Если не трудно, дайтЕ название или ссылку и какой тариф!=) Спасибо.
Браво! Как всегда, все в тему и по полочкам.
Kaerdan: пожалуйста.
Bogdan: Хостинг использую 7DNS (тариф обычный за три доллара в месяц), но нигде это не афиширую и не продвигаю его, ибо боюсь сглазить или ухудшить его работу большим наплывом страждущих.
Хочу немного добавить и поправить:
1. поисковые системы индексируют документы прямой видимости, которые может увидеть любой пользователь интернета — не всегда так. Некоторые CMS из коробки содержат пользователей — ботов поисковиков. А простому посетителю без регистрации на таких сайтах доступ может быть ограничен. Пример — форум PhpBB.
2. Обращаю ваше внимание на такую особенность работы поисковой системы Яндекс, как наличие в поисковой выдаче по заданному запросу всего лишь одного документа с каждого сайта. Такого, чтобы в поисковой выдаче присутствовали на разных позициях два документа с одного и того же сайта быть не могло до недавнего времени. Это было одно из основополагающих правил Яндекса — Яндекс просто тупо отстает от Гугля, причем не только в правильности работы поисковых механизмов, но и в понимании ситуации, что и демонстрировала эта его поза — «не буду показывать две страницы». Хоть и не в этом соль, однако правда дороже.
Дмитрий: Спасибо за ответ!
Дмитрий: Ааааа и еще вопрос, ааа хостинг и какой тариф, или сервер у вас выделенный???
Спасибо, Дмитрий, за такой точный рерайт курса Каширина, хоть бы признались, кто источник, явно ведь не своим умом дошли)))
Спасибо. Давно хотел узнать поподробнее как все же эта «выдача» работает )
Благодарю за данную статью.Очень интересно было читать и вконце было ясно как же работает поисковик
Фотка порадовала — математическая модель черного ящика, этакого чемоданчика с непонятным содержимым.
bescom и Дмитрий!
Тупит Яндекс или нет, посмотрите по-быстрее, пока не исчезло, как поисковик по запросу «перевозка пианино» выдал сразу на двух местах(позиции 40 и 41) одинаковый сайт, с одной и той же страницей, сниппетом и т.д. НО, если сделать такой же запрос через Расширенный поиск, указывая показывать по 50 позиций, то этот глюк пропадает.))
По мне так просто все сказано как надо,может что то и не учтено но,изложено грамотно,убрал в закладки,буду изучать!