Немного о поисковой оптимизации
07-06-2011Reading time ~ 11 min.Блог 19184
В своей статье «Раскрутка сайтов в современных условиях» я остановился на самых базовых основах SEO и советах, которые следует соблюдать при ведениии блога. Но, предположим, что все эти советы выполняются и нужно определиться с дальнейшими действиями.
Обычно на этом этапе у новичков (да и не только) происходит ступор. Сайтов по раскрутке много, и из всего многообразия советов нужно отсеять откровенный шлак. Сделать это без собственного опыта будет проблематично.
Главная проблема раскрутки заключается в том, что никто из оптимизаторов не знает алгоритмов работы поисковиков. Это секрет. Поэтому львинная доля ответов - откровенный вымысел. Заслуживают доверия лишь единицы - те, кто проводит какие-то эксперименты по анализу работы поисковиков. Некоторые результаты мы все хорошо знаем, например тэг H1 ценится выше, чем H4 или выделение STRONG'ом. Но вот, например совет использовать только один H1 на странице - ничем не подтверждённое умозаключение.
Поисковики при ранжировании результатов поиска (т.н. SERP) учитывают множество параметров. Насколько можно понять из различных интервью счет идет на сотни или даже тысячи. Это означает, что при индексировании страницы, в базу поисковика попадает не только её html-код, но и масса других параметров, например: тематика, количество ссылок, заголовки т.д. Если бы у нас был список таких параметров, то продвигать сайт было бы на порядок легче. Но, поскольку это тайна, то на текущий момент мы используем лишь некие предположения и допущения об алгоритмах Гугла или Яндекса.
Ситуацию усугубляет тот факт, что алгоритмы поиска постоянно меняются. В один момент при ранжировании использовались одни коэффициенты, теперь другие. Например раньше количество ссылок играло ключевую роль. То есть не было большого труда сделать сайт, напичкать его ключевыми словами и произвести обмен ссылками с другими сайтами. В итоге можно было получить ТИЦ 100-200-300 буквально за полгода. С появлением бирж ссылок, вроде Сапы накрутка стала совсем простым занятием.
Понятно, что поисковики сменили алгоритм - теперь роль ссылок несколько уменьшилась. Более того, стали учитываться время размещения ссылки (чем дольше, тем лучше), сайт-рекламодатель (время его жизни) и т.п. Скорее всего учитывается и плотность ссылок - чем они ближе друг к другу, тем меньше имеют вес. Из-за этого обычная скупка ссылок сейчас должна производиться с умом - только с тематическими сайтами и надолго. А такие вещи как прогон по каталогам практически уже не играют роли.
Сегодняшние алгоритмы поисковиков строятся на морфологии и семантике (об этом ниже). Когда посетитель вводит поисковую фразу, то поисковик приводит её к некоторому «стандартному» виду: каждое слово «расписывается» на падежи, склонения, окончания и прочие словоформы. Это позволяет «очеловечить» поиск и автоматически избежать орфографических ошибок в запросах.
Но самой главной проблемой являются омонимы. Человеческий язык многословен, а поисковики обычно работают с единичными словами или короткими фразами (которые вводят пользователи). Из-за омнонимов поисковик должен сам решить какой именно тематике принадлежит слово. Для примера введите в Гугле «ключ» и посмотрите поисковую выдачу. Это будет и ключи к программам, и иероглифы, и связка ключей, и даже создание балконов под ключ.
Еще один пример. Мой блог практически полностью посвящен созданию сайтов. Именно «созданию», то есть я рассказываю «как сделать». Но поисковики под этой фразой понимают не непосредственно «создание», а «услуги по созданию» сайтов. Понятно, что продвигать сайт по этой фразе не имеет смысла, а фразы вроде «хочу сделать сайт» слишком редко используются при поиске.
В жизни мы не замечаем такой проблемы (потому что тематику мы определяем из контекста на-лету), а вот в Интернете «говорят» сайты. И чтобы понять о чем сайт, потребуется проанализировать текст страниц и определить его тематику. Только после этого поисковик сможет сопоставить тематический запрос тематике текста и пределит его позицию. Более того, из-за «стандартизации» запроса в поисковую выдачу могут попасть тематические сайты с высоким рейтингом, при том что они не содержат (или редко содержат) поисковый запрос. В данном случае поисковик пытается предугадать желание посетителя получить не просто страницы с указанными словами, но и сопутствующую тематическую информацию.
Из этой информации становится понятным, что сайт должен иметь конкретную тематическую направляющую. Правда здесь стоит сделать одно замечание. Гугл учитывает тематику каждой страницы отдельно, в то время, как Яндекс - учитывает тематику всего сайта. Гугл, конечно сопоставляет тематику странице общей тематики сайта, но это лишь один из учитываемых показателей. Яндекс, как обычно отстаёт не несколько лет, но думаю, что годика через два и они подтянутся. :)
Итак важное правило при раскрутке: должна быть четкая тематичность страницы, желательно совпадающая с общей тематикой сайта.
Определить тематику довольно несложно. Наиболее простым вариантом будет воспользоваться каким-нибудь каталогом, например mail-ru или тот же яндекс. Находится основная рубрика и её подрубрики. После по этой тематике составляется список тематических слов. Это и будут ключевые слова и сопутствующие тематические фразы. По возможности их следует использовать в своих текстах и выделять STRONG или тэгами заголовков. Главное не переусердствовать и расставлять ключевики обдумано - слишком высокая плотность считается поисковым спамом.
Рассмотрим небольшой пример.
Для подбора ключевых фраз можно использовать статистику ключевых слов от Яндекса. Предположим мы занимаемся отделкой балконов. Вводим «балкон» и получаем статистику по запросам в месяц. Мы видим, то фраза «отделка балконов» на третьем месте и встречается достаточно часто.
Это говорит о том, что мы можем указывать в своих текстах эту ключевую фразу, поскольку она часто востребована в поиске. Теперь обращаем внимание на список справа - «Что еще искали люди...». Возможно здесь вы также встретите тематическую фразу, например «лоджия» - её можно смело использовать в своём тексте.
Теперь нужно определить тематические слова. Я использую каталог mail.ru. Можно ввести искомую фразу и получить список сайтов. Но нас прежде всего же интересует строчка с указанной рубрикой. В нашем случае сайты относятся к «Производство - Производство строительных материалов - Окна, двери, светопрозрачные конструкции - Пластиковые окна, двери, конструкции» и «Товары и услуги - Строительные услуги». Дальше включаем интеллект, просматриваем сайты в нижних подрубриках и находим фразы, тематика которых совпадает с нашей. После переходим на подрубрику выше и т.д. Такие фразы можно тут же ввести в поиск и получить рубрики. Если они входят в нашу корневую, то фразы подходят. Например «откос» вряд ли нас интересует как ключевая фраза, но находится в «нашей» рубрике. Следовательно его упоминание позволит поисковику точнее определить тематику текста.
Теперь давайте поговорим о семантике - о значении слов.
Примеры с омонимами решаются подсказками в тексте так, чтобы у поисковика не было сомнений в выбранной тематичности страницы. Но, перед тем, как поисковик доберётся до текста, ему предстоит разгрести завалы HTML-кода. Чтобы ощутить всю «прелесть» задачи, откройте свой сайт в виде исходного кода (в FireFox Ctrl+U). Весь этот код поисковик должен разобрать на логические части и определить где именно находится основной текст страницы.
Я нередко встречаю рекомендацию seo-специалистов делать неуникальный шаблон. Причем чем сложнее, тем лучше. Эта несусветная глупость тиражируется на других сайтах, вместо того, чтобы включить мозги и немного подумать. Для поисковиков чем проще внутренняя структура страницы, тем лучше. Поисковикам глубоко наплевать на дизайн сайта!
Наверняка вы сталкивались с ситуацией, когда поисковики на высокие позиции ставят не оригинал страниц, а их упрощенную версию, вроде «версий для печати»? Происходит это потому что в таких lite-страницах нет нагромождения HTML, CSS и отстутсвует JS. Поисковику просто-напросто гораздо легче понять такую страницу, чем разбираться в хитросплетениях супер-пупер дизайна.
Но, верстка HTML-страниц дело довольно сложное. И самое неприятное то, что нет нормальных рекомендаций от поисковиков, как именно следует верстать, чтобы разметка была им понятна. Скажем - вот это блок меню, вот навигация, вот сайдбар, а вот и основной текст. Первые шаги в этом направлении только-только начинают делаться. Это и schema.org, и HTML5. Чуть раньше была попытка использования микроформатов вроде vcard, но большого распространения это не получило, потому что требуется переделка (хоть и минимальная) существующей верстки текстов.
Всё это приводит к тому, что поисковикам приходится разбирать HTML-код по своим правилам и задача вебмастера максимально облегчить эту задачу.
Чтобы понять в какую сторону двигаться подумаем как именно поисковики производят анализ страниц. Понятно, что это лишь моё предположение, основанное на логике и здравом смысле.
Итак в первую очередь нужно убрать весь HTML, оставив только голый текст. В PHP есть функция strip_tags() которая и выполняет эту задачу. Но можно воспользоваться и онлайн-утилитами, вроде этой. Обратите внимание, что помимо основного текста мы получаем и много шума в виде рубрик, рекламы, меток и т.п. Чем больше такого шума, тем сложней поисковику определить основной текст.
Далее поисковик начинает анализировать HTML поблочно. Мы знаем, что основной текст должен быть оформлен по всем правилам HTML и в первую очередь это касается тэга абзаца P. Думаю, что это решающий признак для обычного текста.
После анализ должен продвигаться до уровня DIV-блоков. В грамотной вёрстке это будет означать некую логическую единицу - секцию. Если в этой секции есть несколько P, то скорее всего это текст пригодный для индекстирования. Если нет, то он оформительский.
Аналогично проиходит анализ блоков и тэгов с тем, чтобы разделить страницу на семантические блоки. Отдельного упоминания заслуживает совет описывать логическую роль блоков сразу при верстке. Очевидно, что id="sidebars" однозначно даст понять поисковику, что этот блок - сайдбары, а id="content"- основной текст. Какие классы и id использовать вебмастер решает самостоятельно, но думаю, что поисковики имеют некоторые наборы именований, которые и используют для анализа. Оптимально конечно было бы иметь некоторую определённость в этом вопросе, но поисковики лишь сейчас начали движение в эту сторону, да и то только в разрезе HTML5. Понятно, что пока доля IE7-8 слишком высока, переход на новые форматы придётся отложить.
В итоге у нас появляется ещё одно важное правило: вёрстка должна быть семантичной.
Вот рекомендации на сей счёт.
- Проверьте свой сайт через очиститель HTML и определите сколько на странице шума. Если какие-то блоки/виджеты не играют особой роли или дублируют другие лучше их отключить вовсе.
- Проверьте сайт через html-валидатор. Лучше всего, конечно, чтобы все страницы прошли валидацию, но приоритетом должны быть страницы записей, а не главная или рубрики. Очень много ошибок бывает из-за невалидных счетчиков и неверных спецсимволов, а также ошибочного DOCTYPE. Валидатор выдаёт соответствующие подсказки и ссылки на строчки с ошибкой. Также учитывайте, что исправлять ошибки нужно с первой и после правки заново пройти валидацию (Revalidate). Большое количество ошибок (больше 20-50) говорят, что у сайта могут быть проблемы с распознаванием текста поисковиком.
- Проверьте семантику HTML-кода. В идеале вы должны сами понять где какой блок расположен. Для логических блоков следует указывать человекопонятный class или id, а не безличные, вроде col2.
- Проверьте работу своего сайта с отключенным JavaScript. Можно сколько угодно спорить и доказывать, что JS отключен только у нескольких процентов пользователей, но факт в том, что поисковики пока плохо понимают JS, а если и понимают, то не очень сложный. К тому же не факт, что результаты работы скриптов вообще будут восприняты как полезный текст. Так что сайт должен нормально работать с отключенным JS.
- Проверьте, чтобы ваша CMS оформляла тексты корректно. Например часто встречается использование BR вместо P. Или даже DIV, что кардинально затрудняет работу поисковику. По возможности абзацы должны быть оформлены «чистым» P без class, style или id. Это связано с тем, что классы могут использоваться для дополнительной семантики. Например p.adress поисковик скорее всего воспримет как текст с адресом. С другой стороны вы можете использовать эту возможность для уточнения (для поисковика) смысла текста. Причём не обязательно этот класс описывать в CSS. В данном случае это будет исключительно семантическое использование.
- Научитесь оформлять тексты по правилам HTML. Поскольку сам язык довольно сложен для новичков, то удобней всего использовать BB-коды. Например в MaxSite CMS для этого используется соответвующий плагин, а редактор markItUp, специально «заточенный» под BB-код, делает работу с текстом достаточно комфортным занятием. Если же используется визуальный редактор, то тексты оформляются по правилам браузера (причём у каждого они свои), что часто делает код сложным и запутанным. Если хотите полностью им управлять, научитесь работать в невизуальном редакторе.
- Учитывайте, что таблицы (TABLE) усложняют распознавание текста. Таблицы можно смело использовать для построения дизайна или в качестве модульной сетки, нужно лишь строго следить за тем, чтобы все тэги таблиц были на своих местах. Но будут проблемы, если используются вложенные таблицы - это сильно усложняет разбор страниц. Так что одиночные таблицы для для построения сетки/дизайна ничем не хуже DIV-ой верстки.
- Пункты меню желательно оформлять в виде UL-LI-списка с классом или id, содержащем menu или nav. Вычленить пункты меню из списка гораздо легче, чем из обычного блока. Тем более это устоявшаяся практика у верстальщиков, и скорее всего, поисковики её поддерживают в полном объёме.
Конечно все эти правила не дают 100% гарантий, что поисковики автоматом поднимут сайт в своей выдаче, но совершенно однозначно им будет легче понять о чем ваш сайт и легче его проанализировать, что в свою очередь должно благотворно сказаться на его позициях.
очень много крутых выводов.. спасибо
Отличный ликбез, как раз помогло упорядочить все то разрозненное, что у меня до этого было в голове относительно поисковой оптимизации.