Зависимость CTR сниппета от позиции сайта

В статье об исследовании сниппетов специалисты yandex приводят интересные данные о «кликабельности» позиций сайтов в серпе. В следующей таблице приводится моя интерпретация этих данных.

Параметр Величина в процентах
Просмотр без кликов 40
Общий процент отказов 26
CTR 1 позиции 31,3
CTR 2 позиции 16,4
CTR 9 позиции 3,43
CTR 10 позиции 4,22

Под «Просмотром без кликов» понимается отсутствие интереса (и соответственно кликов) пользователя ко всем десяти сниппетам серпа. Под «Общим процентом отказов» понимается сходная величина yandex метрики. По-моему, сейчас она означает время просмотра сайта менее 10 секунд.

Полученные точки CTR и их аппроксимация степенной функцией показана на следующем графике:
зависимость CTR сниппета от позиции в Серпе

Проверка внешних ссылок на сайте

Достаточно долго искал вчера программу для проверки исходящих ссылок со списка urls. «Юмор заключался в том», что после 3 часового поиска я использовал свою собственную программу.

Проверка исходящих ссылок из списка urls страниц сайта с помощью анализатора перелинковки

Последовательность действий следующая:

  • Открываем владку безопасности Internet Explorer и выбираем наивысшей уровень безопасности, чтобы работало быстрее и надежнее, можем также и картинки отключить
  • На листе setting ставим 0 (вместо 1) в Проверять редиректы во внутренних ссылках и в Выдавать сообщения о редиректах во внутренних ссылках — работать будет быстрее
  • На листе step1 вводим url нашего сайта без www и http
  • В лист step2 копируем список наших URL, нажимаем на кнопку Check the page List
  • Ждем когда проверятся все URL из списка и перходим на лист pages, где видим все внешние ссылки для введенных страниц

Если список URL содержит больше 200 позиций проверку надо делать по частям.

См. также: Проверка битых ссылок на сайте и Сетевой анализ сайта

Установка кнопок социальных сервисов на сайт

Установка социальных кнопок позволяет резко увеличить популярность сайта в социальных сервисах, которая скорее всего будет рассматриваться поисковиками как один из сигналов для повышения позиций сайта в поисковой выдачи.

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

Установка кнопки Google+ в общем несложная. Я использовал режимы обтекания для элемента div кнопки для отображения ее в одну строчку с другими кнопками социальных сервисов:

<div style="float:left"><g:plusone></g:plusone></div>

и не использовал обтекания, когда хотел ее отделить от других, наверное, можно использовать и другие css стили.

p.s. от 25.08.2012. Времена меняются — у Google теперь две кнопки: Google+1 и Google+ Badge. Последняя предназначена для связки вашего профиля Google с сайтом и позволяет добавлять новых пользователей в круги вашего профиля.

Описание установки кнопки «Поделиться» Яндекс (Yandex Share) не блещет дидактическими приемами. При получении этого кода с помощью конструктора формируются одни и те же кнопки как стоящие отдельно, так и находящиеся в меню.
пример неправильной установки социальных кнопок на сайте

Пример неправильной установки социальных кнопок на сайте (пример взят с сайта htmlbook.ru)

Установка кнопки «Поделиться» Яндекс

Пример кода для установки кнопки «Поделиться» представлен ниже:
<script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script> <script type="text/javascript"> new Ya.share({ ‘element’: ‘ya_share1’, ‘elementStyle’: { ‘type’: ‘button’, ‘linkIcon’: true, ‘border’: false, ‘quickServices’: [‘yaru’, ‘vkontakte’, ‘facebook’, ‘twitter’, ‘odnoklassniki’] }, ‘popupStyle’: {blocks: {"Поделитесь с друзьями": [‘lj’, ‘moimir’, ‘friendfeed’,’linkedin’,’moikrug’,’yazakladki’] },’copyPasteField’: true } }); </script> <span id="ya_share1"></span>

В фигурных скобках после elementStyle перечисляются кнопки, стоящие отдельно, а в фигурных скобках, стоящих после popupStyle, — пункты в выскакивающем меню поделиться. Как видно, здесь никакого дублирования нет (пример взят с сайта design-sites.ru;).

При установке социальных кнопок с помощью «Поделиться» нужно стараться кнопки ведущих социальных сетей выделить как отдельные, для менее важных сетей — поставить в выскакивающее меню.

p.s. Когда я вставлял код поделиться в блог у меня почему-то слово «Поделиться» получилось в неправильной кодировке. Честно говоря я не стал разбираться, а просто воспользовался html кодировщиком и вставил html коды этого слова.

SEO плагин для IE

Убрал сегодня все ограничения в программе SEO плагина. Буду рад комментариям и вопросам по работе плагина.

Пример разработки скрипта для плагина

Цель — добавить скрипт, показывающий все ссылки на странице с заданным классом и копирующий этот список в буфер обмена.

Открываем блокнот и копируем туда строчки для обрамления скрипта и получения объекта документа:

<SCRIPT LANGUAGE="JavaScript" defer>
var parentwin = xternal.menuArguments;
 var doc = parentwin.document;
</SCRIPT>

Добавляем строчки выделения ссылок с заданным классом ‘###’:

<SCRIPT LANGUAGE="JavaScript" defer>
 var parentwin=external.menuArguments;
 var doc = parentwin.document;
 var alllinks=""
 for(i=0;i<doc.links.length; i++)
  {   
if(doc.links[i].className.indexOf('###') != -1)  
   alllinks += doc.links[i].href + "\n";
  }
 alert(alllinks); 
parentwin.clipboardData.setData("Text",alllinks); </SCRIPT>

Плагин заменит строчку ‘###’ на дополнительное свойсто меню, добавляемое при инсталляции данного пункта.

Удаляем все знаки возврата каретки в скрипте — в результате должна получиться одна строчка.
Открываем файл filerec.ini и дописываем в него 4 строчки:
1) IEClassLinks — заголовок пункта меню
2) 1 — признак того, что пункт меню будет использовать параметр, который задается в поле ‘Дополнительное свойство меню’
3) Строчка с кодом, созданного нами скрипта — то есть то, что мы делали
4) выводит все ссылки с заданным классом — это строчка будет выводиться в поле ‘Описание меню’

Скачать полученный файл filerec.ini

При копировании filerec.ini в директорию плагина и перезапуске программы плагина мы увидим, что новый пункт появится в списке пунктов контекстного меню доступных для установки. Если выбрать этот пункт и в поле дополнительные параметры записать, например, b-serp-item__title-link, то при активации пункта меню будут выводиться все ссылки с этим классом, находящиеся на веб странице (в настоящее время этот класс используется в выдаче Яндекс :).

Языки запросов поисковиков

см. также операторы поисковиков

Yandex

Сильные стороны языка запросов

Язык запросов Yandex выгодно отличается мощным аппаратом для работы с контекстом документа: операторы [&] для поиска в одном предложении и [&&] для поиска в пределах одного документа, практически не имеют аналогов у других крупных поисковиков. При этом оператор кавычки ["] также присутствует. Возможность использовать скобки для группировки отдельных частей запроса, также сильная сторона Yandex.

К логическим операторам Yandex относится или с двумя эквивалентными формами: [OR] и [|], с некоторой натяжкой можно отнести знак минус [-] или двойной тильды c последующим пробелом [~~ ], которые ставятся впереди слова (или группы в скобках) для исключения слова или группы слов из поиска.

С точки зрения документных операторов присутствует оператор [title] для поиска в заголовках и оператор [inurl] для поиска во фрагментах url. Все перечисленные операторы могут использоваться совместно с другими операторами. Пример: title:(разработка & сайта) перечислит страницы веб сайтов, которые имеют сочетание разработка сайта в одном предложении в заголовке документа.

Одним из интереснейших операторов Яндекса считается оператор неранжирующего и (<<). Этот оператор позволяет ограничивать выборку не изменяя базового запроса, что позволяет проводить анализ Серпа на предмет аффилированных сайтов или определения региона для сайта.

Отсутствующие операторы

В Яндексе отсутствует оператор проверки ссылок на сайт [link] и проверки наличия слов в анкоре ссылок [inanchor]. Отсутствие последнего видимо сделано для борьбы с seo, вообще говоря, оператор полезный и для простого пользователя.

Недокументированные операторы

К недокументированным возможностям следует отнеси использование оператора исключения слов в контексте к сайту, например: Запрос ~~ site:mysite. Интересен также оператор проверки последней индексации документов idate, например, запрос site:mysite.ru idate:<20150103 покажет все документы с сайта mysite.ru, проиндексированные Яндексом после 3 января 2015 года.

Google

Специфика использования операторов языка запросов

Google, в отличие от Yandex, любит «навевать тень на плетень». Оператор [link] присутствует, но годится только для относительной оценки популярности сайта или страницы сайта. Число показываемых ссылок в нем сильно ограничено, кроме того непонятно по какому принципу эти ссылки выбираются.

Единственным документированным оператором для работы с контекстом в Google является звездочка — [*], которую можно вставлять на месте пропущенного слова, и кавычки ["] для обозначения фразы целиком.

Из документных операторов в Google представлены [intitle], [allintitle]. Справка google (http://www.google.com/intl/en/help/operators.html — уже нет :) объясняет, что [allintitle] для ряда слов эквивалентен простановке [intitle] перед каждым словом.

К логическим операторам в Google можно отнести логическое или, записываемое любым из двух способов: [OR]; [|], и оператор исключения минус [-], который должен ставиться непосредственно перед словом.

Пример: -intitle:seo intitle:оптимизация сайта
как ни странно запрос работает и показывает выдачу документов, со словом оптимизация и без слова seo в заголовке.

Недокументированные операторы Google

Операторы [inacnhor] и [allinanchor], похоже, ищут как в заголовках документов, так и в url и анкорах (скорее они просто высвечивают эти документы, так как акорный текст становится их частью). Пример: allinanchor:раскрутка сайтов.
p.s. На сегодняшний день (2.05.2012) оператор inanchor:»фраза в кавычках» работает и позволяет найти документ, на который есть ссылка с анкором «фраза в кавычках».

Операторы [allintext], [intext] ищут вхождения ключевых слов в тексте документов. Пример: allintext:продвижение сайтов.

Оператор AROUND(n) позволяет искать слова, которые находятся на заданном числе слов друг от друга. Например, день AROUND(4) радио. AROUND должен быть написан прописными буквами.

Bing

Перечень операторов Bing находится в постоянном развитии (как в прочем и все у Microsoft :), охват российского интернета пока еще мал. Интересным представляется недокументированный оператор [linkfromdomain], позволяющий посмотреть все внешние ссылки с данного домена. Примеры: linkfromdomain:design-sites.ru, linkfromdomain:design-sites.ru site:dotorg.ru.

Оптимальная топология сайта для сосредоточения веса на внутренних страницах

Это копия моей статьи, опубликованной на конкурсе для веб-мастеров:

http://webmasters.ru/forum/f85/organizaciya-topologii-saita-s-cel%60yu-sosredotocheniya-vesa-na-vnutrennei-stranice-dlya-vch-zaprosa-primery-keisy-14560/

PageRank

PageRank является запатентованным Google алгоритмом для расчета ссылочного веса веб страниц и обычно используется как синоним этого сочетания. Популярность PageRank объясняется простотой его вычисления — итеративная формула для расчета записывается одной строчкой:

Pr(A)[i] = 1 — d + d*(Pr(B1)[i-1]/C(B1) + …+ Pr(Bj)[i-1]/C(Bj) + … + Pr(Bk)(i-1)/C(Bk) , где (1)

Pr(A)[i] — PageRank для веб страницы A на i шаге расчета;
d — демпфирующий фактор, обычно принимается равным 0.85;
Bj — веб страницы, ссылающиеся на страницу A;
Pr(Bj)[i-1] — PageRank страниц, ссылающихся на A в момент расчета;
C(Bj) — число исходящих ссылок на странице Bj;

Итеративная процедура расчета PageRank для страниц сайта (сайтов) включает применение формулы 1 ко всем страницам рассматриваемого множества (сайт, сайты) в любой последовательности по одному разу для каждой страницы для одной итерации. Начальное значение PageRank для страницы не имеет большого значения (результат сходится к одной величине) и обычно принимается равным единице

Если внимательно изучить формулу 1, то можно сделать следующие интересные выводы, применительно к замкнутому множеству страниц:

Выводы 1

  1. PageRank страницы не может быть меньше 0.15.
  2. Если страница не имеет исходящих ссылок на другие страницы сайта, то ее PageRank не участвует в дальнейших расчетах и мы получаем утечку общего PagePank сайта.
  3. При отсутствии утечек каждая страница передает 0.85 своего PageRank другим страницам (ссылки сами на себя не рассматриваем).
  4. Независимо от внутренней ссылочной структуры сайта, при отсутствии утечек, суммарный PageRank сайта равен числу его страниц.

Оптимальная топология сайта для сосредоточения веса на внутренней странице для ВЧ запроса

Критерием оптимальности топологии сайта для сосредоточения веса на K внутренних страницах сайта, предназначенных для ВЧ запросов, выберем максимум отношения суммарного PageRank этих страниц к общему числу страниц сайта M, стремящемуся к бесконечности, при заданном ограничении на отношение отдельных PageRank между собой.

I = max(PR(1) + … + PR(K))/M, при PR(1) = е2*PR(2) = e3*PR(3) =…=ek*PR(K), M -> &infin;, где (2)

I — критерий оптимальности;
e2…ek — заданные пропорции между PageRank ВЧ страниц;
M — общее число страниц сайта;
PR(1)…PR(K) — PageRank ВЧ страниц;
Максимум ищется по всем возможным топологиям для сайта.

Правдоподобные утверждения для выбора оптимальной топологии

Рассмотрим следующие утверждения, вытекающие из Выводов 1

Утверждения 1

  1. Максимум суммы PageRank ВЧ страниц при заданных ограничениях будет достигаться при минимуме суммарного PageRank остальных страниц сайта (во всяком случае верно для одной ВЧ страницы и для глобального максимума для нескольких ВЧ страниц).
  2. Максимум PageRank ВЧ страницы сайта с одной ВЧ страницей не может больше чем половина общего PageRank сайта.
  3. Глобальный максимум для суммы PageRank ВЧ страниц не может быть больше чем М — 0.15* (M — K), где М и К — общее число страниц сайта и число ВЧ страниц.

Из пункта 2 Утверждений 1 следует, что оптимальная топология для сайта с одной внутренней ВЧ станицей — это простая иерархия, отображенная на следующем рисунке.

Для сайта с несколькими внутренними ВЧ страницами представляется перспективной топология со связанными между собой "сквозняком" ВЧ страницами и одной Hub страницей, представленная на следующем рисунке:

С ростом числа ВЧ страниц для этой топологии суммарный PageRank будет достаточно быстро стремиться к глобальному максимуму.

Проверка топологий на калькуляторе PageRank

Для проверки предложенных математических выкладок воспользуемся программой для расчета внутренних весов страниц сайта. Кроме предложенных топологий проверим еще два примера: топологию несвязанных между собой ВЧ страниц без Hub страниц и топологию связанных между собой ВЧ страниц без Hub страниц. Результаты расчетов приведены в следующей таблице. Общее число страниц M во всех экспериментах равнялась 13.

Топология Суммарный PageRank ВЧ страниц
Простая иерархия с одной ВЧ страницей 6.05
Несколько связанных ВЧ и одна Hub страница 9.77
Несколько связанных ВЧ без Hub страниц 7.61
Несколько несвязанных ВЧ без Hub страниц 6.21

Также можно загрузить лист excel с результатами расчета для всех приведенных топологий.

Как видно из приведенной таблицы теоретические выкладки хорошо подтверждаются результатами расчета.

Голосовой ввод — прорыв технологии

Распознавание речи — предыдущие попытки

Первые попытки создания общедоступных программ для распознавания речи на моей памяти относятся к середине 90-x годов. С периодом в три — черыре года я возращался и смотрел прогресс в этом направлении. Одна из последних попыток — возможности распознавания речи Windows 7 — не сильно меня впечатлила. Необходимость обучения, так же не прибавляла оптимизма.

Google и распознавание речи

В отличие от предыдущих попыток, «Стартап» голосового ввода и поиска от Google мне сразу понравился. Google не требует предварительного обучения и качественного оборудования. При нормальной дикции и не очень редких словах — распознавание почти 99%.

Распознавание речи и теория поиска

Особенно хорошо и я бы сказал подозрительно, Google распознает отрывки из стихов. Проверить это можно, например, на — речевом блокноте (speechpad.ru). Попробуйте ввести нечто подобное «Однажны в студеную зимнюю пору…» — Google с радостью распознает вашу речь. По всей видимости успех технологии от Google заключается не только в качественном звуковом анализе, но и в семантических возможностях поисковика.

Создание обучающих роликов для подкастинга

Два бесплатных инструмента CamStudio и VirtualDub прекрасная альтернатива дорогим коммерческим продуктам для создания видео записи действий пользователя на экране (Screencasting).

Самая большая сложность в использовании CamStidio — это зловещее сообщение — «Unable to merge audio and video steam», на практике означает неумение программы писать в директории, название которых содержит кириллицу. Вторая проблема с сообщением «Unable to create AVI file» — может воникать при изменение настроек программы. В этом случае программу нужно просто перезапустить. В остальном процесс создания обучающего видео абсолютно прозрачен — включаем опцию «Record audio from microfon» и запускаем запись. При создании презентации лучше двигаться маленькими шажками и каждый раз сохранять результаты в AVI файлах.

Для объединения файлов в один прекрасно подходит VirtualDub. Вся последовательность действий по слиянию файлов элементарна. Открываем первый AVI файл — двигаем ползунок кадров в конец, выбираем команду «Append AVI segment», снова двигаем в конец, и.т.д. Единственная тонкость — перед сохранением результата нужно отметить в меню «Video» опцию «Direct stream copy» — иначе размер выходного файла будет ужасающим.

Иногда при сборке конечного AVI из нескольких частей в VirtualDub у меня получалась либо обрезка ролика, либо, наоборот, многократное его повторение. Опытным путем я установил следующий способ борьбы с этими негативными явлениями: в меню выбирал пункт Video->Frame Rate->Change so video and audio duration match. Затем прогонял ролик и, если, он начинал повторяться, то обрезал его по времени установкой начала повтора в окошке Video->Select Range->Length. Наверное, лучше было бы разобраться, но это не наш метод :).

Создание файла robots.txt на примере wordpress блога

Назначение файла robots.txt

К основным функциям выполняемым файлом robots относятся:

  1. закрытие служебного и конфиденциального контента от индексирования в поисковиках
  2. закрытие страниц с похожим или дублированным контентом от индексации

Закрытие страниц от индексации естественно не означает, что она закрыта для просмотра, кроме того, это не означает даже, что страница не появится в поисковой выдаче, так как может быть найдена по ссылкам. Просто робот не будет загружать содержание этой страницы и в кэше поисковика ее тоже не будет.

Закрытие служебной информации для wordpress

WordPress 3.0 имеет три служебных каталога и в соответствии с первой функцией файла robots их надо закрыть от индексации:

Disallow: /blog/wp-admin/
Disallow: /blog/wp-includes/
Disallow: /blog/wp-content/

В представленном примере блог располагается в каталоге «blog» сайта.

Кроме перечисленных служебных каталогов в недрах страниц блога запрятаны ссылки еще на два служебных файла, расположенных в корневой директории блога — xmlrpc.php и wp-login.php, их тоже надо закрыть:

Disallow: /blog/wp-login.php
Disallow: /blog/xmlrpc.php

Теперь служебная информации закрыта.

Борьба с дублированнием контента

Практически на каждой страницы блога есть ссылка на trackback URL для данной страницы — url_страницы/trackback/. Этот URL в конечном итоге с помощью временного перенаправления 302 указывает на url_страницы. Есть небольшая вероятность, что поисковик может связать содержание с этим url, поэтому раньше я закрывал эти url:

Disallow: /blog/*/trackback

Теперь же я это делать перестал — результат я скоро проверю.

При включенном режиме постоянных ссылок при задании удобного URL wordpress все равно генерирует также стандартную ссылку с «?p=». Я перестал закрывать эти ссылки, так как они перенаправляются постоянным редиректом 301 на удобный URL и, кроме того, wordpress указывает атрибут сanonical в ссылке на читаемый URL.

WordPress группирует посты по датам, категориям и меткам и при этом создается дублирование контента. В случае ценности таких группировок, закрывать их в роботе не надо, поисковик разбирется сам. В маленьком и не очень часто обновляемом блоге вреда от этого больше чем пользы. Поэтому я закрываю все группировки роботом:

Disallow: /blog/2009/
Disallow: /blog/2010/
Disallow: /blog/2011/
Disallow: /blog/tag/
Disallow: /blog/category/

RSS ленты и комментарии

RSS ленты (фиды) закрывать не надо, так как они способствуют быстрейшей индексации блога и не создают дублированного контента. Комментарии это дело вкуса — я не закрываю.

Созданный файл robots.txt

User-agent: *
Disallow: /blog/wp-login.php
Disallow: /blog/wp-admin/
Disallow: /blog/wp-includes/
Disallow: /blog/wp-content/
Disallow: /blog/xmlrpc.php
Disallow: /blog/2009/
Disallow: /blog/2010/
Disallow: /blog/2011/
Disallow: /blog/category/
Disallow: /blog/tag/

p.s. 1.04.2012
нашел еще группировку которую можно закрыть, если есть только один блоггер: /blog/author/

Перевод и дублированный контент в технологии Google и Yandex

Технологии машинного перевода ведущих поисковиков

В последнее время на многих сайтах появилась ссылка: «просмотреть английскую версию», которая пользуясь технологией переводов Google осуществляет дословный перевод текста. Yandex сейчас использует технологию Promt. Для английской версии моего сайта, перевод Google выглядел лучше. Сравнить результаты работы технологий можно, набив в поисковых системах адрес страницы www.design-sites.ru/en/.

Дублированный контент и переводные тексты

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

Перспективы поиска на разных языках

По всей видимости, развитие технологий приведет к отделению семантического содержания от языковой оболочки. Этот процесс уже запущен и набирает обороты.

Рекомендации Google по созданию многоязычных сайтов

Сегодня (15.03.2011) проверил официальную информацию по отношению Google к многоязычности на сайте.
В настоящее время Google рекомендует следующее:

  • Использовать для навигации и контента один язык
  • Блокировать страницы, полученные с помощью машинного перевода в robots.txt
  • Делать перекресные ссылки со страницы на одном языке на соответствующую страницу на другом
    языке
  • Использовать в url признак языка (ru, en, и.т.д.)

Статьи и новости по SEO