Если у вас есть сайт, то было бы совсем неплохо отслеживать позиции по ключевым словам, которые могут принести трафик на ваш сайта. Особенно это касается всех оптимизаторов.
Многие пользуются платными коммерческими продуктами и сервисами для отслеживания позиций сайта по ключевым фразам. Но буквально вчера я на популярном буржуйском форуме webmastersworld.com нашел бесплатный способ снимать позиции в Google с помощью Microsoft Excel. В качестве примера был продемонстрирован съем позиций сайта webmastersworld.com по 4 запросам.
Как воспользоваться этой таблицей
1. Скачиваем файл Microsoft Excel, скриншот которого вы видите чуть выше. 2. В ячейку B2 вписываем доменное имя вашего сайта. 3. В ячейки В4, С4, D4 и так далее (столько, сколько вам нужно) вписываете ключевые слова, позиции которых собираетесь отслеживать. 4. Удаляем строки 5-12 (выделяем и жмем на кнопку Delete). 5. Чтобы обновить результаты жмем на сочетание клавиш CTRL-SHIFT-U.
Если все сделано верно, в таблице появится новая строчка с позициями сайта по введенным запросам, а также обновится график. Как по волшебству. :) (Примечаени: если макрос повторно запустить в тот же день, то он ничего не будет делать).
О реализации
Для реализации этой удобной фичи были использованы страницы выдачи стандартного размера (10 результатов на странице), а не страницы со 100 результатами выдачи, так как Google может показать несколько результатов с одного сайта рядом и если ваши конкуренты окажутся выше вас, то позиции покажутся немного не верно. Мы добились того, что в документе Excel отображается данные реального поиска.
User agent - IE7. Это сделано потому, что по умолчанию user agent WinHTTP блокируется Google’ом. Они действительно не хотят давать ботом пользоваться их сервисами и это справедливо. Это подходящий момент для того, чтобы сказать вам – используйте на свой страх и риск, хех. :)
Мы использовали настраиваемые параметры GOOGLE_WEBSERVER, так что вы сможете выбрать, какой сервер гугла использовать для сбора данных. Это полезно, если вы хотите отслеживать позиции для другого региона. К примеру, я живу в Минске, а многие мои клиенты из Москвы и мне нужно видеть результаты выдачи с их IP. Можно использовать локализованные сервера, такие как www.google.co.uk, или тестовый сервер Google Caffeine, либо любой другой конкретный IP адрес.
Как это работает
По сути, происходит извлечение результатов поиска из конкретных строк (с ссылками на наш сайт). Кстати сказать, этот подход можно использовать для других полезных целей, не только для тех, что рассмотрены в статье.
Код макроса
Основная подпрограмма макроса – AddCurrentRankingsRow, извлекает URL сайта и размещает данные в таблицу. Затем он добавляет новую строку с сегодняшней датой и дальше работает со столбцами.
Для каждого запроса подпрограмма проверяет результаты поиска и ищет позицию сайта, а затем записывает эти данные в ячейки. Подпрограмма GetCurrentRanking проверяет выдачу до тех пор, пока не найдет наш сайта и когда находит его, то вычисляет и возвращает позицию:
PHP код:
While pagenum < maxpages pagenum = pagenum + 1 url = BuildSERPURL(term, start) page = FetchPage(url) If FindRank(page, myurl, count) Then GetCurrentRanking = start + count Exit Function End If start = start + count Wend
GetCurrentRanking использует 3 удобные и простые переменные:
BuildSERPURL – генерирует URL выдачи, начиная с определенного числа результатов.
FetchPage – используя библиотеку Microsoft's WinHttp делается выборка HTML-содержимого из выдачи.
FindRank –определяет позицию вашего сайта в результатах поиска.
FindRank хорошо подстроен под результаты выдачи гугла. Он не учитывает объявления и не учитывает дополнительные результаты. Он учитывает только естественные результаты выдачи:
PHP код:
<h3 class="r"><a href="URL">...
Как сделать, чтобы макрос запускался автоматически
Можно сделать так, чтобы макрос запускался автоматически, чтобы не нужно было каждый раз нажимать Ctrl-Shift-U. Для этого необходимо добавить следующую строку в конце кода:
PHP код:
Private Sub Workbook_Open() AddCurrentRankingsRow End Sub
Эта строка позволит макросу запускаться автоматически каждый раз, когда вы будете открывать файл. Это значит, что вы всегда будете видеть только актуальные данные.
Резюме
Этот проект служит хорошим примером тому, как можно использовать Excel для извлечения позиции сайта из результатов поиска. Я уверен, что вы уже задумываетесь о том, как еще можно использовать макросы в Excel. :)
Smitter, Crasher69 не парьтесь. Снимать позиции Екселем это кощунство. Есть масса бесплатных сервисов и софта, которые специально сделаны для этого. Не стоит изобретать велосипед
grazer, дело личное, чем пользоваться...можно экселем, можно платным сервисом, можно спецпрограмой. Главное, чтобы быстро и надежно работала. PS Сам пользуюсь сайт аудитором и скриптом для автоматической трансляции данных в отчеты в эксель.