|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Текстовые факторы ранжирования: от анализа до разработки сайтаЕвгений Трофименко Доклад на конференции
ВведениеВ условиях обилия информации и роста Рунета особенно актуальной для пользователя становится проблема поиска информации. При поиске нужной информации пользователь в общем случае может действовать двумя методами: один – задавать в поисковые системы «простые» запросы (или совершать иные «простые» действия, например, пользоваться каталогами) и затем долго искать в большом числе найденных результатов и второй – задавать «сложный» запрос, точнее отражающий его интересы, и искать более эффективно. Рост количества информации в Рунете приводит к необходимости точнее выражать свои пристрастия при поиске и увеличивать длину поискового запроса. По результатам исследований лог-файлов Яндекса [3], основная масса запросов – фразы с средним числом термов 2.92-2.68, т.е., достаточно длинные запросы. Результаты выдачи по запросам с большим числом слов особенно чувствительны к текстовой составляющей Интернета – к контексту поиска, к разделителям предложений, к тому, что называется «оптимизацией сайта». Именно знание особенностей расчета текстовой релевантности особенно полезно при сборе трафика по низкочастотным запросам. Низкочастотный целевой трафик составляет основу многих интернет-бизнесов, как оказывается, очень большую его часть. Текстовые факторы ранжированияДокументы при поиске ранжируются относительно введенного пользователем запроса с учетом данных о ссылках извне и данных о содержимом конкрентного сайта (текстах конкретного документа). Данные о текстах могут быть разными – нахождение слов из запроса в различных «выделенных» зонах документа, релевантность сайта в целом, естественность текста. Неиндексируемые зоны документаТакие зоны документа, как: Содержимое тегов <script></script> (applet, embed, object) не индексируется большинством поисковиков, хотя Google находит ссылки из этого раздела. Содержимое тегов <frames></frames> не индексируется, ссылки из этих разделов находятся Содержимое тега <noindex></noindex> не индексируется Яндексом и Рамблером, ссылки из этого раздела не находятся Содержимое атрибута alt="" тега <img> не используется при поиске как содержимое страницы в Яндексе и Рамблере, хотя играет роль как текст ссылок, если изображение находится внутри тега <a href="". Также Яндексом и Рамблером не индексируется содержимое полей форм, индексируется поле <textarea></textarea> Ограничение индексации документовДля целей ограничения индексации отдельных страниц можно использовать директивы файла robots.txt – он является стандартом, и должен соблюдаться всеми автоматическими системами. Он состоит из набора директив вида- User-Agent:
[*,Yandex, StackRambler, Aport, Googlebot,…] , которые запрещают индексацию разделов (для Google есть разрешительные директивы), решать задачи выбора главного зеркала для Яндекса, ограничивать периодичность посещения сайта роботом. Регулярно появлябтся другие расширения, подробную информацию можно найти в [17]. Другой способ запретить индексацию – выдача серверных HTTP-заголовков [18] с кодами 4ХХ-5ХХ, которые соответствуют отсутствию документа на сервере в той иди иной форме или программным ошибкам при исполнении кода. Критерии бана сайта по текстовым факторамОбычные причины бана сайта поисковыми системами из-за текстовых факторов – это несоответствие представления поисковика с представлениям посетителя об одном и том же документе:
Отдельно стоит перечислить несколько причин, могущих привести к бану сайта иногда вследствие ошибок «ручного модерирования», часть из низ появилась недавно:
Во многих случаях, когда сайт перегружен рекламой (например, на первом экране не видно искомого контента, а видна реклама) модератор может удалить сайт из индекса. Еще одна причина - «отсутствие добавленной ценности или сервиса» в сайте, созданном только для рекламы партнерского сайта. Факторы влияния на ранжированиеМожно выделить некоторые наиболее важные документные факторы влияния на ранжирование в поисковых системах: Соответствие контекстным ограничениям Поисковики при обработке запросов используют разныйконтекст поиска. Это может быть документный контекст – классические алгоритмы поиска [1] ищут слова запроса в пределах документа. Контекст может быть выражен в расстояниях между словами (несколько предложений, в пределах одного предложения, в пределах нескольких слов) для Яндекса и в виде «кусочков клея, обладающих определенными свойствами растягиваемости и сжимаемости» [12,14] между словами для Рамблера. Это может быть даже «внутрисайтовый» контекст [13]. Общий смысл состоит в следующем: при больших расстояниях между словами фраза может не быть найдена вообще, а самое лучшее соответствие запросу имеет точное совпадение фразы в тексте с искомой фразой. Нахождение слов запроса в различных зонах документа (title, h1- h4, strong, u, em, в тексте) Как фразы в документе, близкие запросу, так и отдельные слова из запроса могут давать документу дополнительные баллы при ранжировании, если они находятся в «особо важных» зонах документа, выделенных тегами. Самые важные теги заголовков -<title> и <h1>, очень желательно, чтобы основные слова присутствовали в обоих этих тегах. Менее важны заголовки уровня ниже (h2-h4) и теги выделения (strong, b, em, i, u). «Естественность» текста, разумное соотношение частей речи в тексте Поисковики Рунета «понимают» морфологию очень давно, и могут учитывать наличие слов из запроса в различных формах (падежи, числа) для определения «естественности» текста, иногда даже публикуются соотношения частей речи (Рамблер: «0.25-0.3-0.4» между глаголами, прилагательными и существительными [11]), при которых текст считается естественным. В то же время заявлено использование методов подавления повторений слов, которое искусственно создается вебмастером. Общая релевантность всего сайта и структуры внутренних ссылок Особенно сильное влияние на ранжирование «общей релевантности сайта» запросу наблюдается в Рамблере. Большое число релевантных страниц на сайте – хороший критерий выбора при информационных запросах. Особенности поисковых систем в ранжировании документовОсобенности ЯндексаЯндекс по сравнению с Рамблером больше «любит» небольшие документы. При этом Яндекс имеет второго робота («быстроробота») для быстрого обновления информации на особо важных или быстро изменяющихся сайтах. Страницы, скачанные быстророботом, попадают в отдельный, «горячий» индекс, который обновляется чаще. По сообщениям сотрудников Яндекса, документы, скачанные «быстророботом» ранжируются несколько иначе, чем документы из «обычного робота». Индексируемый Яндексом объем документа, составляет, по-видимому, около 1 Мб [6]. Кроме особенностей «контекста» (о них далее) Яндекс при расчете релевантности придает значение как количеству найденных словопозиций, так и плотности слова в документе. Пример: результат поиска фразы из романа «Война и Мир» в Яндексе [7]: "Мишо тоже успокоился, но на прямой существенный вопрос государя" 1. www.rvb.ru/tolstoy/01text/vol_7/0030_4.htm?start=2&length=1 21 КБ
Видно, что размер найденных документов растет от начала выдачи (документов средних размеров) до конца выдачи. При этом результаты на позициях 5 и 6 одинаковы по текстам, но различаются по размеру кода. Особенности РамблераРамблер по сравнению с Яндексом «любит» большие документы, придает большее значение числу найденных в документе слов, хотя использует в работе и частоты слов [15]. В Рамблере важную роль в ранжировании играет релевантность запросу всего сайта и его внутренней перелинковки. Этот параметр вряд ли выражается в точном виде как «число найденных страниц по сайту», но должен с ним коррелировать. За счет большой «массы» сайта можно достичь позиций и при малом количестве ссылок. Индексирует документы до 2Мб [5]. Длина учитываемого содержимого <title>Проверим, какова длина индексируемого текста в title страниц. Для примера возьмем страницу www.hibiz.ru - содержимое title состоит из 65 слов [4]. При поиске в Яндексе $title("франшиз консалтинг") #url="www.hibiz.ru" (15 и 16 слова) ничего не найдено, а при поиске $title("факторинг, франшиз") #url="www.hibiz.ru" (14 и 15 слова) страница находится. Казалось бы, длина учитываемого текста title в Яндексе составляет 15 слов. С другой стороны, по запросу $title("муж") #url="www.russa.com/russia/man1.htm" мы находим страницу www.russa.com/russia/man1.htm, и искомое слово подсвечено – а оно находится на 24 позиции в тайтле. А длины фраз (с 1 по 15) для hibiz.ru и (с 1 по 24) для www.russa.com/russia/man1.htm составляют 144 и 150 символов, соответственно. Вывод: Яндексом учитывается примерно 150 символов из title. При этом запросы с запятой и без Яндекс обрабатывает одинаково: $title("факторинг, франшиз")
#url="www.hibiz.ru" – страница есть
Однако Рамблер учитывает запятую в тайтле как «слово», как бы добавляя расстояние между словами, разделенными запятой (а скорее оператор – «кусочек клея» из [12]): "франчайзинг, франшиза" Поиск на сайте: http://hibiz.ru
– главная страница находится
Поэтому результаты поисков по заголовкам с запятыми и без запятых и других знаков препинания могут различаться. Например, поиск в Рамблере по точному title страницы в кавычках http://www.russa.com/russia/man1.htm приводит к выделению первых 27 слов (171 симв.) (Рамблер выделяет всего не более 27 слов), а по title другой страницы http://nazvanie.ru/link0000054095.html - выделены первые 17 слов без учета знаков препинания, и ровно 27 с учетом запятых и тире (148 симв.). В этих случаях Рамблер подсвечивает слова во всем title, однако при поиске по title на сайте http://hibiz.ruмы обнаружим, что длина учитываемого title – 9 слов без учета запятых как слов, и 12-13 с учетом запятых как слов. В Google по запросу из конца тайтла "российский франчайзинг, ресо, о такое франчайзинг, факторинг, что такое франшиза" находится главная страница сайта, но слова не подсвечивается в заголовке. Однако при просмотре кеша эти слова в заголовке выделяются – видимо, Google индексирует такой title без ограничений. Переформулирование поисковых запросов и использование этих данных на практике«Колдунщик» ЯндексаКолдунщик – это механизм переформулирования поискового запроса пользователя с введением в запрос контекстных ограничений, т.е., ограничений расстояния между словами запроса. Для того, чтобы посмотреть «переколдованный» запрос, надо найти в адресе ссылки «Найденные слова» параметр reqtext=, который содержит запрос с расстояниями и параметрами мягкости [16], а также весами слов после двойного двоеточия и имеет вид: (запрос::8878 & с::0 & конекстными:: 1819103916 & операторами:: 1132)//МЯГКОСТЬ В переформулированном запросе могут использоваться операторы поиска в документе &&, в пределах нескольких предложений &&/(a b), в одном предлеожении &, в пределах нескольких слов &/(a b), а также могут добавляться новые слова, которых в запросе не содержалось. Алгоритм работы колдунщика может меняться во времени:
Работает колдунщик по-разному в зависмости от порядка слов в запросе, падежей, тире между словами и др. Например:
Видно, что стоп-слово не всегда имеет нулевой вес (а только когда соединяет части запроса), что вес слова «Москва» зависит от регистра, что выделяется сочетание «в Москве», а затем ижется либо на расстоянии 3 предложений от «пластиковых окон» (если падежи не совпадают), либо в пределах одного предложения (падежи совпадают). Как сказано в [2]: «С учетом рваного «телеграфного» стиля в естественно-языковых фрагментах запросов выявляются несколько видов синтаксической связей (притяжание, перечисление, зависимости цели и места, счетные конструкции и др.) и устанавливаются эмпирически подобранные контекстные ограничения.» «Клей» РамблераПо различным частным сообщениям В. Шабанова [12,13], частично подтвержденным официальными сообщениями [14], похожий метод введения контекстных ограничений в запрос действует и в Рамблере. Ниже приведен список операторов («кусочков клея») Рамблера:
Цитата из [12]: «Пробелы, знаки препинания -- это такие "волшебные" операторы, которые в зависимости от контекста заменяются на что-то из перечисленного выше (или еще на что-нибудь :-)» Итак, в Рамблере тоже действуют подобные «колдунщику» контекстные ограничения, только результат их работы не виден. Последовательность анализа запроса и ранжирования документов ЯндексомПоследовательность обработки запроса и документа представлена по материалам статьи [2]: 1. Переформулирование запроса, расстановка контекстных ограничений, мягкости, весов слов. На этом этапе работает «колдунщик»: «в естественно-языковых фрагментах запросов выявляются несколько видов синтаксической связей (притяжание, перечисление, зависимости цели и места, счетные конструкции и др.) и устанавливаются эмпирически подобранные контекстные ограничения» [2]. 2. Просмотр документа и выбор полных и неполных пассажей, которые удовлетворяют контекстным ограничениям п.1., и взвешивание неполных пассажей Для поиска по «длинным» запросам не годятся в чистом виде операторы «И» и «ИЛИ» - первый приводит к слишком малому числу найденных документов, второй – к слишком большому. Поэтому поиск производится таким образом, что «найденными» считаются пассажи, удовлетворяющие контекстным ограничениям и содержащие часть слов запроса. Какую часть – зависит от числа слов в запросе, весов каждого из слов запроса, и выбранной «мягкости» (обычно 0.06). При определении, «найден» пассаж или нет, рассчитывается «вес пассажа»: суммируются веса найденных слов, возведенные в степень 0.38 (которая в статье уклончиво названа «между квадратным и кубическим корнем»): PW= SUM(вес^0.38) по всем словам пассажа 4. В зависимости от параметра мягкости и числа слов в запросе выбирается граница («кворум») – какую долю веса по сравнению с запросом пассаж может не добрать и тем не менее быть «найденным». Если «вес пассажа - кандидата» превышает некую долю веса исходного пассажа, он считается найденным: PW(найденный)/ PW(исходный)>= доля веса = (1-мягкость)^(1/( QL-1)^0.5) Где QL – длина запроса в словах, мягкость обычно равно 0.06 Например, для двухсловного запроса вес найденного пассажа должен составлять не менее 0.94 от веса «идеального» пассажа. Отдельного внимания заслуживает метод расчета константы 0.38 [9,10]. Мы задаем в Яндекс запрос из двух слов, одно из которых заведомо не существует, и задаем словам веса самостоятельно. Далее мы ищем, при каком отношении весов документы перестают находиться: (окна::1396 hegfygs::1)//6 – документы находятся
Далее численными методами можно найти степень S, при которой 1^ S/(1^ S+1395^ S)=0.06 – при S=0.38 это выражение имеет значение 0.060004988 Итак, на этом этапе мы получаем полный список пассажей, которые считаются «найденными» и участвуют в дальнейших расчетах. На практика веса слов можно получить из выдачи Яндекса, задавая список слов через оператор «или». Особенность этого отбора – приоритетность «редких» слов – для того, чтобы пассаж был «найден», наличие в нем редких слов более важно. 5. Расчет контрастности слов При расчете контрастности слов Яндекс использует модификацию алгоритма tf* idf [1], в которой в качестве частоты слова (tf) используютсятолько слова из «найденных» пассажей. Таким образом, используются заниженные частоты. Кроме того, происходит перенормировка частот tf по размеру документа (в статье приведены различные примеры, т.ч. и перенормировки по наиболее частотному слову в документе) – которое приводит к занижению частоты для больших документов. При расчете контрастности слова, кроме tf* idf используется также и учет форматирования текста. Вхождение слова в выделенные области (заголовки и т.п.) увеличивает его контрастность. Полученная контрастность слова распространяется на все словопозиции в документе. В п. 6 вес документа будет определяться как суммирование контрастностей слов и пассажей. 6. В найденных пассажах взвешиваются отдельные словопозиции с учетом «похожести» их окружения на исходный запрос с учетом весов слов. Редкие слова и их в окружение более важны. Происходит вычисление весов словопозиций пассажа по сходству расстояний между словами и его сходства с заданным в запросе оптимальным расстоянием. Это взвешивание делается для каждой словопозиции в найденном пассаже. Полученные веса с учетом контрастности каждого слова «собираются» и образуют вес документа. 7. Дополнительный учет форматирования текста Пассажи, попавшие целиком в особые зоны документа (title, hx, …) получают дополнительный вес, т.обр. учет форматирования текста происходит дважды. Практическое использование этих данныхСамо представление о введении контекстных ограничений помогло бы нам писАть хорошие и правильные SEO-тексты (грамотно разбивать фразы на «неразъемные» фрагменты и свободнее относиться к положению в документе слов, которые не образуют устойчивых словосочетаний), но конкретная информация от «колдунщика» позволяет улучшать наши тексты и далее. Поиск в пределах предложения или в пределах нескольких слов является очень частым случаем контекстных ограничений. Поэтому сначала остановимся на разделителях предложений для Яндекса. Разделители предложений для ЯндексаС помощью достаточно простого экспермента можно выяснить, какие теги или комбинации символов служат для Яндекса разделителями предложения. Для этого достаточно создать документ, который будет находиться в выдаче по двусловному запросу слово1 & слово2, затем можно вставить в документ комбинации этих слов, разделенные различными тегами, и «подсветить найденные слова». В случае, если пара слов не подсвечена, тег, стоящий между ними есть разделитель предложения. Разделителями предложения для Яндекса являются теги: TABLE, TD, BR, P, H1-H6, DIV… …и знаки (точка, восклицательный знак, вопросительный знак, двоеточие) при условии, что следующее слово начинается с большой буквы. Подготовка к оптимизации сайтаНа этапе создания и расширения семант-ядра другими целевыми словами При создании семант-ядра естественным образом получается так, что какие-то запросы выполняют роль главных, ведущих, а какие-то добавляются «в довесок» к основным. Анализируя возможные слова, которые можно «добавить» в основной запрос, можно обращать внимание на данные колдунщика и расширять запрос теми словами, которые «ищутся» далеко от основных слов запроса и не изменяют контекстные ограничения между словами запроса, как в следующем примере (монтаж пластиковых окон). Еще один вариант расширения списка запросов – добавление редких слов, например, названий моделей товаров в интренет-магазинах, которые, как правило, имеют больший вес: ноутбук P1510 -> ноутбук::8544 && P1510::1819103916 Здесь поиск происходит в пределах всего документа, поэтому добавление дополнительного слова не доставит неудобств при оптимизации. На этапе распределения словосочетаний по страницам для оптимизации заголовков Получив данные об ограничениях контекста для уже выбранных запросов распределять их по страницам удобно, ориентируясь на «устойчивые словосочетания», которые в этих запросах выделяет колдунщик, и собирая в группы (на одну страницу) запросы со схожими контекстными ограничениями для этих словосочетаний. Например:
Для запросов «пластиковые окна» и «пластиковые окна монтаж» выставлены одинаковые ограничения контекста между словами «пластиковые» и «окна» - поиск в пределах предложения, а для запроса «монтаж пластиковых окон» гораздо более жесткие – в пределах 2-4 слов. Здесь к расстоянию между словами предъявляются более жесткие требования, поэтому часть словопозиций, релевантных запросу «пластиковые окна», для запроса «монтаж пластиковых окон» могут не учитываться. Поэтому запрос «пластиковые окна» желательно объединить с запросами вида «пластиковые окна монтаж», «пластиковые окна установка» и т.п., а «монтаж пластиковых окон» объединить с «установка пластиковых окон» и им подобными, и создать для них отдельную страницу. Тут есть еще дополнительное удобство – в запросах вида «пластиковые окна монтаж» слова «монтаж», «установка» почти не будут друг другу мешать – т.к. контекст поиска в пределах трех предложений. Точный выбор формулировок запросов Часто встает задача расширения запросов их формулировками с другими падежами или числами, которые могут «переколдовываться» иначе, чем основной запрос:
В этом случае добавление запроса «пластиковые окна Москва» (ограничения контекста на который мягче) как дополнительного к «пластиковые окна в Москве» (ограничения контекста на который жестче) не доставит неудобств. На этапе оптимизации и продвижения сайтаНа основе информации из колдунщика Яндекса можно оптимизировать и шаблоны сайтов, и дальнейший способ расстановки ссылок на него (хотя это выходит за рамки данного доклада). Рассмотрим несколько запросов:
Видно, что для первых 4 запросов Fujitsu-Siemens является устойчивым словосочетанием, и в текстах слова Fujitsu и Siemens надо употреблять в точной последовательности. Запросы «без тире» ничем не ужесточают контекстные ограничения и их можно спокойно добавить. Название серии (Lifebook) должно находиться в одном предложении с Fujitsu-Siemens. Название модели (P1510) во всех случаях ищется «в пределах документа», причем с большим весом. Отсюда – совершенно необязательно использовать его в одном предложении с остальными словами (хотя желательно), да и ссылки с одним названием модели отдельно от остальных слов будут работать. Видно, что при переходе от более редкого запроса (1) к более частым (2) и далее (3) контекстное ограничение на расстояние до слова «ноутбук» уменьшается. Это отражает общую ситуацию – для длинных слово «ноутбук» имеет все меньше и меньше значения, чем для коротких. Анализируя веса слов, можно обнаружить, что слова «Lifebook» и «P1510» самые весомые (в сумме 96.6%) и преодоление кворума в 96.9% без них невозможно. Для преодоления кворума и нахождения страницы по этому запросу достаточно к этим двум словам добавить любое из слов «ноутбук», «Fujitsu» или «Siemens». Кроме того, для запросов в различных, казалось бы, одинаковых формах могут меняться не только веса слов, но и контекстные ограничения между словами:
Маленькие хитростиТег <span>
Выделив последнее слово в предложении тегом <span> <style>
С помощью стилей можно выделить в длинном заголовке только выбранные слова тегом H1, не затрагивая остальные слова: <span>
Ссылки
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-по трафику / посещаемость -по позициям / первая страница Доступ к CRM с примерами позиций: rabsila.ru: пароль demo cbrf.magazinfo.ru: пароль demo SEO-инструментарий и ноу-хау |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|