Серверный скрипт определения позиций сайта в основных поисковых системах

Просмотрев с десяток специализированных платных и бесплатных сервисов по определению позиций сайтов в ПС, так и не нашёл идеально подходящего для себя. Пришлось потратить целый день и написть себе именно то, что хотелось бы. Человек я не жадный, поэтому выкладываю для всех желающих в паблик. Далее – несколько простых инструкций, как это заставить работать на сервере, так, чтобы вместе с утренним кофе, у вас была возможность посмотреть как изменились позиции подопытных сайтов по заданным запросам.
Скрипт написан на PHP, информация хранится в файлах, базы не требуются.
Основные настройки, которые есть на данный момент, хранятся в файле settings.php
</code> $yandex_depth = 500 ; $google_depth = 500 ; $rambler_depth = 100 ; $yandex_region = 213 ; <code>
Для Яндекса делается целых три замера: парсингом выдачи Яндекса, парсингом Мейл.ру и через запрос к XML. Глубина замера по XML – 1000 позиций, а глубина парсинга регулируется переменными указанными выше. Регион для Яндекса устанавливается добавлением к строке запроса параметра lr, величина которого берётся из переменной yandex_region.
Установка списка урлов и запросов. Немного необычно, но так как делалось для себя, пошёл по самому простому пути. Формат файла keys.tx:
site1.ru :: key1 : key2 : key3 = site2.ru :: key4 : key5 : key6 = site3 :: key7
Поисковые запросы могут состоять из любого количества слов. Сайтов может быть сколько угодно.
Воизбежание блокировки ip-адреса поисковиками или перегрузки сервера, если список запросов слишком велик, внутри скрипта имеется большое количество разгрузочных пауз. Если есть желание контролировать большое количество запросов – лучше располагать скрипт на сервере, где по соседству лежит много других сайтов.
Установка скрипта. Качаем архив, загружаем в любую папку на сервере.
Позиции определяют следующие скрипты: goxml.php, goyandex.php, gomailru.php, gogoogle.php и gorambler.php. Их ставим на исполнение по крону, с разницей в час (чтобы исполнялись по очереди). Index.php покажет таблицу с нынешними позициями и последними изменениями. Mail.ru показывает выдачу Яндекса без региональной привязки, на Яндексе парсится выдача по региону, указанному в настройках.
У меня скрипт работает на хостинге BlueHost. Работает прекрасно. Единственная тонкость, о которой нужно вспомнить при установке заданий Cron – время на сервере соответствует физическому расположению хостига.
Скачать скрипт для определения позиций
Скачать скрипт (Версия 0.65 – 12Кб от 12 мая 2010)
Скрипт немного поправлен: парсится Мейл.ру; Гуглу не мешает Адсенс; Яндекс XML учитывает регион.
Код открытый, лицензия на использование: GNU/GPL v.2
This entry was posted on Monday, May 18th, 2009 at 21:18 and is filed under SEO. You can follow any responses to this entry through the RSS 2.0 feed. Responses are currently closed, but you can trackback from your own site.


admin June 2nd, 2009 at 08:58
Владимир, у нас весь офис сидит в интернете на одном айпишнике с сайтом компании, проблем с индексацией не наблюдается. А уж чего мы только не делаем в интернете
Думаю максимум чего можно добиться – это блокировки парсинга (и Яндекс и Гугл выдают в этом случае капчу и если парсинг автоматический, естесственно результата не даст). Но дабы избежать проблем, внутри скрипта стоят гигантские паузы, их можно ещё увеличить, проверка ведь всёравно идёт ночью.