Все записи автора admin

Новый геотаргетинг у Google

У статьи есть обновление и продолжение

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

Ответ Google на запрос в Москве

Выдача Google на запрос заказать пиццу в Москве

Ответ Google на запрос в Красноярске


Выдача Google на запрос заказать пиццу из Красноярска

На тот же запрос, заданный из Красноярска, начиная с четвертой позиции идет локальная выдача из Красноярска, то есть выдачи по Москве и Красноярску отличаются.

Видимо я поспешил насчет удаления блока адресов — сегодня 11 декабря я повторил эксперимент. Теперь я вижу и геозависимую выдачу и блок адресов одновременно. Я даже стал сомневаться — может так всегда и было. В любом случае привожу картинки, чтобы больше никогда не сомневаться.

Гео выдача Google в Москве + блок адресов


Выдача Google на запрос холодильники в Москве

Гео выдача Google в Красноярске + блок адресов


Выдача Google на запрос холодильники в Красноярске

Еще интересней картина получается, если задать город, отличный от автоопределяемого.

Гео выдача Google из двух городов


Двойная выдача Google по геозависимому запросу

Из всего этого напрашивается вывод, что для проверки ранжирования по гео запросам в Google, лучше просто вводить в строку поиска город.

Выдача по геозависимому запросу с названием города


Выдача Google по геозависимому запросу с городом

Кодирование символов в html

Однобайтовые кодировки

До развития Юникода, символы национальных алфавитов, в том числе и кириллицы, кодировались с помощью одного байта. Получалась так называемая расширенная таблица ASCII символов, где первая часть таблицы была неизменной и содержала буквы латинского алфавита и некоторые вспомогательные знаки, а во второй части (начиная с 128) располагались буквы национальных алфавитов.

Для кириллицы существовало несколько отображений символов на эту вторую часть таблицы, наиболее известными из которых были KOI-8, Windows 1251, cp866, ISO 8859-5.

Многобайтовые кодировки

Набор символов Unicode пришедший на смену ASCII набору изначально уже предполагал порядка 64 тыс. символов (в первых версиях). Каждый национальный символ в таком наборе имел свой индивидуальный код. Последовательность кодов кириллических символов в Unicode совпадает с последовательностью в кодировке ISO 8859-5. Диапазон кириллических символов начинается с 1024 (0400 hex), то есть сдвинут по сравнению с кодами ISO 8859-5 на 864 позиции (0360 hex).

Закодировать 64 тыс. символов в одном байте нельзя и на смену однобайтовых кодировок пришли многобайтовые. Наиболее известная многобайтовая кодировк utf-8. Правила кодирования символов в utf-8 предполагают перенесение двоичного кода Unicode символа в специальные «хвосты» многобайтовой кодировки. Для кодирования ASCII набора хватает «хвоста» одного байта. Для кодирования кириллического диапазона используются «хвосты» двух байтов. Например, русская буква п будет представлена в utf8 как последовательность байтов 11010000 10111111. То есть, взят код символа п в кодировке ISO 8859-5 — 223, затем прибавлено число — 864 и получен, таким образом, unicode для этого символа — 1087. Этот unicode переводится в двоичный вид: 10000111111 и загоняется в хвосты двух байтов 110xxxxx 10xxxxxx, начиная с конца.

Отображение символов браузерами

Современные браузеры обычно поддерживают отображение всех 64 тыс. символов начального диапазнона Unicode. При отображении символов браузер может руководствоваться либо установленной кодировкой и байтами символов, либо мнемоническим именем символа или его HTML ссылкой с уникодом символа. Последние два способа независимо от выбранной кодировки будут отображать символы одинаково.

Кодировщик html символов

Разработанный нами инструмент для кодирования html символов отличается от традиционных перекодировщиков возможностями кодировать и раскодировать символы в их мнемонические html имена и ссылки. Кроме того он определяет значение байтов в кодировках, что позволяет применять его в других местах, например, для кодирования и раскодирования URL.

Примером работы кодировщика является данный абзац, он будет выглядеть одинаково независимо от кодировки браузера.

Буду рад комментариям и замечаниям по работе кодировщика.

Продвижение сайтов — способы и перспективы

Авторское видение проблемы продвижения сайтов

В последнее время можно наблюдать интерсное противостояние между биржами продажи-покупки ссылок и поисковыми системами. С одной стороны — растут как грибы биржи ссылок, постоянно усложняя и увеличивая свой функционал, с другой — развитие алгоритмов для борьбы с seo ссылками. Если раньше основным аргументом бирж было сомнительное утверждение, что поисковики не будут бороться с seo ссылками, так как те помогают им правильно ранжировать документы (раз раскручивают значит это кому-то нужно), то теперь на первый план выходят методы мимикрии, то есть маскировки seo ссылок под обычные ссылки.

От seo ссылок к обычным ссылкам

Разница между seo ссылкой и обычной ссылкой состоит в целях их простановки. SEO ссылка ставится с целью воздейстия на алгоритм ранжирования поисковика, нормальная ссылка ставится для пользователя. Мне кажется, что под воздейстием поисковиков, биржи ссылок будут эволюционировать и переходить от методов обмана к методам сотрудничества с поисковиками (святая наивность). То есть будут продаваться ссылки, которые действительно будут полезны пользователю. В этом случае конфликт между поисковыми системами и биржами будет исчерпан.

Стратегия для оптимизаторов и раскутчиков сайтов

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

Инструмент для оптимизации ссылочой структуры сайтов

После некоторых колебаний я выложил программу — анализатора перелинковки сайта в сеть (обычно такие программы идут как shareware). Буду рад вопросам и комментариям к ней.

Назначение программы

Инструмент предназначен для проверки ссылочных весов страниц сайта или нескольких связанных между собой сайтов.
Ссылочный вес используется поисковыми системами при ранжировании страниц сайтов в поисковой выдаче.
В программе сылочный вес называется как PageRank, так как алгоритм его расчета был запатентован Google, но в целом результаты проверки могут быть отенесены и к другим поисковым системам, в частности к Яндексу.

Принцип действия

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

Техническая реализация

Программа написана в виде макросов рабочей книги excel. Для сканирования веба анализатор запускает браузер IExplorer в автоматическом режиме.

Инструкция по применению

Для запуска программы нужно открыть книгу (файл анализатора) с помощью excel и разрешить выполнение макросов в ней. После этого нужно последовательно выполнять инструкции для каждого шага работы (step1, step2…)

Возможные неполадки и их разрешение

Программа зависает при сканировании веба, сканирование неожиданно останавливается.
Так как программа сканирует веб с помощью браузера, то активное содержание страниц сайта может вызвать сбои в ее работе. Для разрешения проблем рекомендуется отключить выполнение активного содержания в браузере IExplorer (на время выполнения программы). Для этого надо открыть IExplorer, зайти на вкладку безопасности в свойствах обозревателя и поотключать все, что только возможно.
Скорость сканирования мала, картинки на страницах сайта долго грузятся.
Отключить показ картинок в браузере IExplorer. Зайти в свойствах обозревателя на вкладку «дополнительно» и убрать галочку с пункта «Показывать изображения».

Статистика запросов yandex и google в регионах

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

Определение частоты запроса в регионе для Yandex

Для определения частоты запроса в Yandex в конкретном регионе нужно зайти на вкладку «по словам» и в двойных кавычках написать требуемое ключевое сочетание или слово, например «теплые полы». Затем нужно уточнить регион. Искомая частота появится внутри фразы «Что искали со словами «теплые полы» — 2403 показа в месяц».

Определение частоты запроса в регионе для Google

Инструмент подбора ключевых слов Google не дает данных о частоте запросов по регионам РФ, но если создать акаунт adword (бесплатно), то этот инструмент дает данные по запросам в России. Для правильной оценки частоты запроса по РФ нужно выбрать целевым регионом Российскую Федерацию и русский язык, тип соответствия — «точное». Количество просмотров в РФ появится в графе целевого региона. Я думаю, что, если теперь помножить число показов Google в РФ на частное от деления показов в регионе РФ для Yandex к показам в РФ для Yandex, с большой долей вероятности мы получим оценку числа показов Google в регионе.

См. также: Сервисы анализа и подбора запросов, аналитика аудиторий поисковиков
Проверка индексации и отображения сайта поисковиками

Работа с директивами mod_rewrite в файле .htaccess

Рассмотрим пример этих директив, взятый из файла .htaccess для некоторой cms. В качестве справочника будем смотреть на официальное описание работы mod_rewrite.

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^example\.ru$ [NC]
RewriteRule ^(.*)$ http://www.example.ru/$1 [L,R=301]

RewriteBase /

RewriteRule ^\.htaccess$ [F]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(.*)$

RewriteCond %{REQUEST_URI} (.*)/$
RewriteRule ^(.*)/?$ /?$1&%{QUERY_STRING}

RewriteCond %{REQUEST_URI} !\.(.*)$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [R=301]

Options +FollowSymlinks переопределяет поведение сервера для символических ссылок. Обычно символические ссылки уже разрешены в файле конфигурации сервера httpd.conf, но если это не так, то эта директива необходима для работы mod_rewrite.

Второй строчкой идет «RewriteEngine On». Когда она включена все дальнейшие директивы тоже выполняются, установка ее в off отключает выполнение всех нижележащих директив. RewriteEngine не наследуется и поэтому ее надо включать во всех файлах httaccess, в которых имеются директивы mod_rewrite.

Следующие две директивы перенаправляют запрос с нашему сайту (example.ru), набранный без префикса «www» к нашему же сайту, но с префиксом «www». Флаг [L] в RewriteRule приводит к отказу от обработки следующих RewriteRule, а флаг [R=301] делает внешнее перенаправление с помощью 301 редиректа. «http://www.example.ru» явно указывает префикс перенаправления.

Далее в нашем примере идет директива «RewriteBase /». Такая установка отменяет базу перенаправления по умолчанию — физического адреса директории, где лежит файл htaccess. Tак как физический адрес обычно не совпадает с URL, то она обычно необходима.

Следующая одиночная директива «RewriteRule ^\.htaccess$ [F]» запрещает доступ к файлу, совпадающему с регулярным выражением «^.\htaccess$» с помощью флага [F]. Смысл регулярного выражения в скобках: ^ — начало строки; \. — символ точка, так как точка является специальным символом, то его экранируют; $ — конец строки.

Следующая цепочка из трех директив «RewriteCond» отменяет перенаправление, если в запросе набран путь к файлу или директории, или путь содержит точку.

Следующая директива «RewriteCond %{REQUEST_URI} (.*)/$» разрешает перенаправление для адресов, оканчивающихся на «/».

Следующая за ними «RewriteRule ^(.*)/?$ /?$1&%{QUERY_STRING}» помещает путь обращения, удовлетворяющий перечисленным условиям в строку запроса. То есть, если будет набран запрос «http://www.example.ru/15/?m=1», что относительно корня сайта равно «15/?m=1», мы получим «/?15&m=1».
В этой директиве представлена хитрая игра знаком вопроса. В первом случае он является специальным символом в регулярном выражении и означает «один или ноль символов». Во втором появлении он означает начало строки запроса.

Последние три директивы перенаправляют все запросы, не имеющие точки внутри и не оканчивающиеся на «/» на тот же URL, но с «/» на конце. Так как редирект здесь также внешний, то цепочка перенаправлений будет выполнена вновь уже для этого URL.
Вообще говоря, это не совсем правильно и здесь правильнее было бы явно указать вместо слэша http://www.example.ru/ — RewriteRule ^(.*)$ http://www.example.ru/$1/ [R=301].

Проверка обратных ссылок (backlinks)

Рассмотрим основные возможности определения обратных ссылок, предоставляемые поисковыми системами.

Yahoo

Операторы «linkdomain:someURL», «link:someURL». Если набрать их в строке запроса, переводят yahooo в режим «site explorer» и показывают ссылки на данный URL.

Оператор «linkdomain:someURL -site:someURL» (см. примечание в конце статьи). Если набрать его в строке запроса, выдает результат в главной выдаче Yahoo. Такой режим удобен тем, что можно опустить неважные результаты.

Google

Оператор «link:someURL» дает очень небольшое подмножество ссылок. Панель вебмастера Google также не дает всех ссылок. Значительно большего результата можно добиться, используя команду «allinanchor:someKeyword», если, например, вместо someKeyword ввести URL своего сайта.

Yandex

Единственный, хотя и довольно полный, способ получить обратные ссылки от Yandex это панель вебмастера.

AltaVista

Чтобы узнать в AltaVista обратные ссылки, нужно просто набрать URL сайта в строке запроса, можно также добавить исключение показа ссылок с самого сайта с помощью оператора «-host:SiteURL». То есть, запрос должен выглядеть как «SiteURL -host:SiteURL».

Alexa

Чтобы получить обратные ссылки с помощью Alexa, нужно в строке запроса набрать URL сайта и, после того как появится строчка с информацией о сайте, нажать на гиперссылку c числом найденых ссылок. Или можно просто набрать URL в браузере — «http://www.alexa.com/site/linksin/siteURL», где «siteURL» — это URL сайта без префиксов http и www.

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

Источник обратных ссылок Число различных ссылающихся сайтов
1. Панель вебмастера Google   8
2. Панель вебмастера Yandex  22
3. Yahoo 27
4. AltaVista 40
5. Alexa 4

Для анализа полученных ссылок использовалась операция пересечения множеств — знак «*», и объединение множеств — знак «+».

Источник обратных ссылок Число различных ссылающихся сайтов
Google + Yandex  26
Google * Yandex  4
Yahoo + AltaVista 52
Yahoo + Alexa + AlaVista 53
Google * Yahoo 4
Google * AltaVista 3
Google * Alexa 2
Google * (Yahoo + AltaVista) 5
Google * (Yahoo + Alexa + AltaVista) 5
Yandex * Yahoo 12
Yandex * AltaVista 9
Yandex * Alexa 4
Yandex * (Yahoo + AltaVista) 14
Yandex * (Yahoo + AltaVista + Alexa) 15

*Примечание от 7.01.2011. В декабре 2010 yahoo отключил API для поиска обратных ссылок. Связано это с тем, что yahoo постепенно отдает управление своей выдачей microsoft (bing). В настоящее время bing уже управляет выдачей yahoo в США и Канада. К началу 2012 года процесс перехода будет окончен и для других стран. Тем не менее для РФ выдача пока еще контролируется yahoo. Работает и оператор linkdomain, но применять его надо не на главном сайте yahoo, а на российском яхо, по адресу http://ru.yahoo.com/.

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

Выход из игры Yahoo как главного поставщика обратных ссылок освободит дорогу набирающим популярность частично (opensiteexplorer.org) или полностью платным ( majesticseo.com) сервисам получения обратных ссылок.

* Примечание от 10.03.2012. Bing все-таки вернул инструмент проверки обратных ссылок, правда доступен он только после авторизации на панели вебмастера bing.

p.s. Пользуйтесь нашим инструментом экспресс анализа сайта для доступа к сервисам обратных ссылок

Устройство индекса поисковиков

Организация индекса поисковиков на примере Google (по материалам статьи Сергея Брина и Лэрри Пейдж).

Каждый документ в глобальной сети получает свой docID.
Имеется однозначное соотвествие между контрольной суммой url документа и его docID.

Индекс поисковика может состоять из следующих частей: репозитория, индекса документов, словаря, списка вхождений, прямого и обратного индекса.

Репозиторий представляет собой файл, содержащий полный html код для каждого docID.

Индекс документов содержит указатель на код html в файле репозитория, контрольную сумму документа, статус документа и другую статистику. Для документов, которые уже проиндексированы, также записывается их title.

Словарь содержит все различные слова в Вебе, их число равно нескольким миллионам.

В списке вхождений содержится позиция каждого слова в документе, а также ряд характеристик слова. Есть две разновидности вхождений: мнимое (fancy) вхождение и явное (plain).
Мнимое вхождение используется для title, URL, анкоров и мета тегов. Явное во всех остальных случаях. Анкоры представляют собой текст ссылок на наш документ в других документах.
Для явного вхождения указывается позиция слова и начинается ли слово с заглавной буквы, а также относительный размер шрифта. Для мнимого вхождения указывается заглавная буква и позиция. Для вхождения в анкор поле позиции делится и половина используется для указания на документ, в котором стоит ссылка на наш документ.

Мне кажется, что при такой структуре поле позиции явным образом ограничивает как длину индексируемого документа, так длину анкоров и число ссылок на наш документ, содержащее данное слово. В оригинале для документа 12 бит, для анкора по 4 бита на позицию и число ссылок, для просто мнимого вхождения — 8 бит на позицию. В статье говориться, что если слово стоит в документе далее чем на позиции 4096, то используется число 4096. Также говорится, что структура базы будет меняться.

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

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

PageRank и nofollow — расчет ссылочного веса в Google

Работа алгоритма PageRank достаточно хорошо освещена в сети (см. например http://www.pagerank.dk/). Если посмотреть на результаты расчета по этому алгоритму,   то видно, что иногда небольшое «вливание» pagerank на страницу сайта может внести достаточно большое увеличение суммарного ранга сайта. При этом, если сайт достаточно хорошо перелинкован, то относительный ранг входной страницы при этом особого значения не имеет. Обратная картина получается при выставлении исходящей ссылки на другой сайт. Утечка pagerank здесь может быть также значительной и она зависит от относительного ранга страницы сайта. Наихудшая картина для сайта получается, если входящие и исходящие ссылки оказываются на одной странице с достаточно высоким относительным рангом. Чтобы избежать утечки ссылочного веса, многие вебмастеры стали применять атрибут у ссылки nofollow или использовать javasсript  код для редиректа на другие сайты. Естественно, простановка на всех ссылках атрибута nofollow привела бы в конечном счете к сведению к нулю алгоритма оченки ссылочного веса PageRank, так как он не передается по nofollow. Google, видимо, предпринял меры для поощрения ссылок на тематические ресурсы. Возможно, в случае обнаружения ссылки на тематический ресурс, который  внушает доверие, Google возвращает утекающий ранг на страницу.  Во всяком случае в моей практике, простановка ссылок на тематические и внушающие доверия ресурсы, приводила даже к некоторому увеличению pagerank страницы. Поэтому мне кажется, что бояться ссылаться на понравившиеся ресурсы не надо, в то же время, простановка каждой ссылки без атрибута nofollow нежелательна.

Транслитерация URL

Поисковые системы, в том числе Yandex и Google, отмечают нахождение ключевых слов в интернет адресе страницы. Использование кириллицы в адресах, пока еще встречается редко, обычно для передачи русских слов используют транслитерацию. На сегодняшний день существуюет несколько методов транслитерации, из которых метод с использованием буквосочетаний наиболее близок к реальности. Следующая таблица показывает некоторое отличие Госта от реального использования URL транслитерации.

 Буква   Транслитерация 
    C использованием буквосочетаний по ГОСТ 7.79-2000     Реально используемая в url  
а a a
б b b
в v v
г g g
д d d
е e e
ё jo e
ж zh zh,j
з z z
и i i
й j i,j
к k k
л l l
м m m
н n n
о o o
п p p
р r r
с s s
т t t
у u u,y
ф f f
х h h,ch,x,kh
ц cz,с c
ч ch ch
ш sh sh
щ shh sh
ъ «  
ы y’ y
ь `  
э e` e
ю yu u
я ya ia,ya

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

p.s. На самом деле распознавание в выдаче не означает распознавание индексатором поисковика. Так в выдаче Google может выделить часть URL, отделенную подчеркиванием, но индексатор Google не разделяет слова в URL, если они отделены подчеркиванием (для этой цели лучше использовать дефис). Индексатор Яндекс распознает и подчеркивание и дефис, как разделители.