"Сначала договоримся о
терминологии",- так любил начинать разговор мой декан, преподаватель
дискретной математики. Те времена уж позади, но я с ним согласен. Итак
- о терминологии.
Любой, даже самый что ни на есть начинающий "манимейкер" понимает, что
заработать на своем сайте (блоге, форуме, портале) он сможет только при
наличии на нем посетителей, т.е. трафика. Привлечение пользователей
поисковых систем Google, Яндекс и им подобных требует манипуляций,
благодаря которым сайт манимейкера оказывается в Топе выдачи, т.е.
результатов поиска.
Основная задача оптимизатора – правильный выбор ключевых слов («кейвордов»).
ПРАВИЛЬНЫЕ кейворды должны быть релевантны, относительно высоко искабельны и относительно низкоконкурентны.
Поиск релевантных кейвордов - это отдельная тема. Есть специальные базы
данных (не бесплатные, разумеется), есть публично доступные сервисы
вроде freekeywords.wordtracker.com
– публичность подразумевает ограниченность функционала, но не всегда и
не везде. В общем, это не тема данного мастер-класса, об этом можем
поговорить в другой раз. А вот о проверке частоты запросов и количества
конкурентов – о том, к чему я и вел разговор, – читайте в следующей
части.
2. Процедура анализа запросов и необходимый для этого нструмент
Есть целый ряд программных
продуктов, позволяющих манимейкеру проверять параметры кейвордов.
Разумеется, они тоже бывают платные и бесплатные, вот об одном из
бесплатных скриптов, а именно о nTrendsMaster, мы и поговорим. Он всем хорош (подробно о нем можно почитать тут):
- позволяет получать данные по среднесуточному количеству запросов кейворда в Google
- то же самое по кейворду, взятому в кавычки (кто не знает - попробуйте
поискать длинную фразу и ее же в кавычках. Вы сразу увидите, что во
втором варианте будут более соответствующие вашему поисковому запросу
страницы, но их будет сразу ГОРАЗДО меньше – так как поиск производился
по этому кейворду с его «точным вхождением», т.е. без учета словоформ и
т.п.)
- по обоим вариантам (в кавычках и без) показывает количество конкурентов
- позволяет выводить результаты прямо в браузер или в табличной формы
файл CSV-формата, который потом легко открыть в MS Excel и поработать с
данными
- может работать практически на любом хостере, но может работать и на локальном компьютере, если у вас установлен Denwer
3. Неизбежный этап – появление капчи
Разумеется, в бочке меда не
обошлось без ложки дегтя. Дело в том, что при большом количестве
проверяемых кейвордов довольно быстро наступает момент, когда в
результатах мы видим сплошные нули или ошибки. Примерно через 200-300
запросов.
Это связано с тем, что Google, получая от одного и того же компьютера
десятки запросов в секунду, идентифицирует вас как робота. А поскольку
сервис Google не предназначен для марсиан или роботов, он прекращает
обслуживать эти запросы. На практике это выглядит так, как будто вас
предупреждают о вирусной опасности (см. скриншот), но на самом деле это
обычная капча.
Таким образом, вы даете понять,
что, прежде всего, ВИДИТЕ это сообщение, ну и что вы способны понять, о
чем там шла речь. То есть, что вы не робот
Для программных продуктов, которые собирают автоматически те или иные
данные с Google, эта страница становится непреодолимым препятствием
(есть конечно умельцы, но для большинства эта ситуация неразрешима).
Это и есть бан Google.
Применительно к конкретному скрипту nTrendsMaster, расклад такой (у меня, во всяком случае):
- запускаем скрипт и даем ему 100-200 слов - все отрабатывает без проблем…
- запускаем его еще раз с таким же количеством… и еще… если не
выдерживать между запусками паузу хотя бы в полчаса, то буквально после
3 запусков (то есть после 400-600 проверенных слов) лезут ошибки по
проверке конкурентных страниц ;-((
После того как я тут же пробую искать что-то в Googleвручную, в моем
браузере появляется капча. Скрипт запускался с Denwer’а, поэтому капча
говорит о том, что адрес моего компьютера на время попал в бан. То есть
в ручном режиме я могу ввести код этой картинки и дальше какое-то время
спокойно пользоваться Google. Но в течение еще примерно 5-6 часов эта
самая капча может рандомно появляться при любых моих обращениях к
Google (а может и не появляться). В любом случае, в это время
использовать скрипт с этого же адреса не получится, ибо он ни картинку
распознать, ни вбить код не сумеет.
И что-то с этой ситуацией надо делать. О том, какие я вижу пути решения, читайте в следующей части мастер-класса.
4. Пути обхода временного бана Google – бесплатные и недорогие
1. Увеличение пауз между запросами к Google в скрипте. Но
не просто увеличение пауз, а еще и их рандомизация. После анализа
работы нескольких десктопных приложений, занимающихся в том числе и
автоматическими запросами к Google (KRA PRO, IBP и другие) можно
сделать вывод, что их работа не вызывает бан Google именно поэтому.
Если просто ставить паузу в 5 (7, 10, 15) секунд и все паузы делать
одинаковыми, Google все равно довольно быстро обнаруживает работу
автоматической проверки и выдает капчу. Однако они делают перерыв между
каждым запросом от 7 до 30 секунд в случайном порядке выбирая интервалы
- и это позволяет им сохранять работоспособность!
Чем плох этот путь? Тем, что время на проверку скриптом становится
сопоставимым со временем на проверку вручную. Но есть и плюсы:
манимейкер в это время все равно не занимается проверкой, а делает
что-то другое, что ему нужно.
Получается "долго, но без тебя",
поэтому вариант имеет право на существование. К сожалению, иногда он
все-таки дает сбой. Возможно, потому, что в тестах я использовал
функцию curl для получения ответов от сервера Google, а, может
быть, надо больше стараться имитировать реальную работу браузера (есть
и такие функции или целые их библиотеки вроде Snoopy, которые
более-менее точно позволяют эмулировать браузер). В общем, тут есть еще
над чем подумать…
2. Использование API-ключей от Google. Есть такие программные
решения, которые поисковая система сама официально предлагает
разработчикам. Они как раз ориентированы на автоматическую работу, а не
на ручную. Казалось бы, это именно то, что нам надо! Но проблема здесь
в том, что Google официально больше не поддерживает SOAP API, а всем
рекомендует переходить на AJAX API (объяснение разницы этих подходов не
входит в рамки этого мастер-класса). Я заметил, что выдача в этом
случае сильно отличается от результатов поиска в ручном режиме (в разы,
а то и в десятки раз!!!).
Вот тут
можно видеть, что эта проблема повсеместна. Так что новый API
использовать в целях каких-либо SEO-исследований крайне не рекомендую.
Что касается старого метода, с использованием Google SOAP Search API,
то тут все хорошо: результаты расходятся “в пределах разумного” (на
разных серверах Google они также расходятся, так что все ОК). НО!
Google больше не выдает пользователям эти самые "старые" API-шные
ключи. А значит, переделать имеющийся скрипт, чтобы он при этом остался
бесплатным и публично-доступным, попросту невозможно.
Кстати, манимейкеры довольно быстро поняли разницу между старыми и
новыми ключами. И превратили старые еще в один товар ;-) Так что сейчас
"старые" API-ключи на forums.digitalpoint.com
продаются примерно по 25$ за штуку. С помощью одного такого ключа можно
сделать только 1000 запросов в день - таков их официальный лимит. То
есть, владея одним ключом и работающим с ним скриптом, на проверку базы
из 10000 кейвордов нужно потратить 10 дней. Или купить 10 ключей, но
тогда овчинка выделки не стоит. Бесплатный скрипт, который для работы
требует дополнительных 250$ на собственные ключи - это несерьезно.
Впрочем, тем, у кого есть запасы старых ключей, имеет смысл обратить
внимание на такую возможность. Но это никак не для публичного доступа.
Вообще к покупке ключей я бы рекомендовал относиться крайне осторожно.
Потому что одновременно с вами этот же самый ключ у того же самого
продавца могли купить еще пара десятков покупателей. И тогда этот ключ
становится вообще бесполезным. То есть покупать надо только у
проверенных лиц, которые могут гарантировать уникальность продажи.
3. Сочетание первого варианта с работой через прокси. Можно
создать несколько одновременных потоков (с разных прокси, т.е. с разных
IP-адресов, будут приходить на Google поисковые запросы).
Каждый из потоков будет выдерживать разумные паузы и тогда скорость
работы всего скрипта увеличится пропорционально количеству
задействованных потоков. Здесь сложность заключается в поиске
РАБОТАЮЩИХ и при этом действительно АНОНИМНЫХ прокси, которые бы точно
не светили настоящий адрес компьютера перед Google.
Среди десятков, сотен, а то и тысяч бесплатно доступных списков прокси
в интернете после проверки остаются рабочими доли процента. Вот,
например, при последней проверке специальной программой
"прокси-чекером" более 2000 прокси — работало только около сотни, а
анонимными было штук 20. Это значит, что скрипт надо еще оборудовать и
такой составляющей, как получение списков прокси-серверов с
общедоступных ресурсов и их регулярную проверку на работоспособность.
А это уже отдельный монстр получается. Я такие работающие системы знаю,
даже использую один платный скрипт, но вот интегрировать его в этот
скрипт напрямую не удастся — только через импорт-экспорт.
Впрочем, эта проблема решается, но опять же, о массовости использования
в этом случае можно забыть. К чему я это все? К тому, что сделать
скрипт "для себя" вполне реально. Только нужен свой собственный
прокси-чекер или купленные прокси. И то и другое стоит денег.
4. Вариант "для маньяков". Приобретается 5-6 хостингов с
работающими открытыми соединениями для PHP-скриптов (не каждый хостинг
это позволяет, т.е. сами скрипты на PHP сейчас повсеместно доступны, а
вот чтобы этим скриптам была открыта "дорога" на установку соединений с
внешними серверами, это далеко не у всех). Но найти таких провайдеров
вполне реально. Затем пишется скрипт, который задание, скажем, из 1000
кейвордов разбивает на 5 порций по 200 слов и раскидывает на 5
хостингов, где они спокойно в обычном режиме без всяких переделок
проверяются. Ведь по 200 слов обычно все работает и без особых пауз. А
потом эти разнесенные по сети скрипты результаты возвращают обратно в
"центральный" скрипт, который и выдает объединенную картинку.
Это как бы и прокси, и не прокси одновременно ;-) Но цена 5 хостингов -
сами понимаете… причем ежемесячно… Проще купить прокси-чекер и с
Denwer’а все запускать…
5. Использование данных от Wordtracker или другого подобного сервиса. У
них обычно количество компетиторов довольно близки к данным Google по
США. Также они выдают и количество поисков по кейвордам, но эти данные
собираются и высчитываются довольно хитрым образом, который, к тому же,
вообще не связан с данными от Google, так что эти сведения от них нам
не интересны. Данные о количестве поисков по кейвордам нам даст
обсуждаемый скрипт nTrendsMaster. То есть просто берем от такого
платного сервиса данные о компетиторах, фильтруем их по своим
требованиям (отбрасываем слишком уж высококонкурентные), а то, что
осталось, отдаем нашему скрипту на проверку, при этом в нем выключаем
проверку компетиторов и не боимся бана Google. Но, опять же, финансовая
сторона вопроса остается.
На этом бесплатные (или близкие к бесплатным) варианты закончились.
Теперь остались "платные" и "дорогие", причем это две разных категории,
но об этом в следующем разделе мастер-класса.
5. Пути обхода временного бана Google – варианты подороже
Сначала о дорогих - это
покупка готовых, собранных за вас, данных о кейвордах. Мне известны
продавцы таких баз данных объемом по 40, 60 и 180 миллионов кейвордов.
Страшно представить! И стоит это тоже не мало. Впрочем, тем, кто эти
базы покупает, они, видимо, действительно нужны. При соответствующем
походе они должны себя многократно окупать. Но у нас речь идет о
начинающих манимейкерах. Вот вы, к примеру, знаете, как окупить базу
стоимостью в 400$ за следующий месяц? К тому же, эти данные имеют
определенный срок жизни. Их могли собрать год назад, тогда к нынешнему
положению вещей эти данные могут иметь весьма опосредованное отношение.
Что же касается платных, но не таких дорогих вариантов, то в ходе дискуссии по поводу этого материала на блоге ProfitHunter'а вырисовались следующие возможности:
1. Аккаунт на Wordtracker'e стоит денег (27$ в месяц при покупке
годового абонемента), но раз уж мы занимаемся таким делом как
интернет-предпринимательство, то без вложений все равно не обойтись. От
покупки готовых баз этот вариант отличается именно свежестью информации
– вам всегда доступны обобщенные данные за последние 3 месяца. Ну и
если уж вы эту услугу купили, то ее дальнейшее использование в деле
борьбы с баном Google при работе обсуждаемого скрипта - это уже вроде
как и бесплатный вариант. Ведь услуга уже куплена, так ее
НЕИСПОЛЬЗОВАНИЕ, это потраченное время и деньги, а ИСПОЛЬЗОВАНИЕ – это
уже просто польза от произошедшей когда-то покупки ;-)
2. Есть возможность купить вместе с хостингом некоторое количество
дополнительных IP-адресов. И переписать скрипт так, чтобы он посылал
запросы к Google с этих разных адресов без использования прокси. Этот
вариант очень хорош, прежде всего, по скорости работы - так как
собранные бесплатные прокси обычно довольно медлительны. А платные
прокси-сервера стоят гораздо дороже, чем покупка дополнительных
IP-адресов. Но надо сразу сказать, что среднерыночная стоимость
дополнительных адресов колеблется от 0.5$ до 1$ в месяц. То есть для
работы, скажем, в 20 потоков вам надо тратить 20$ ежемесячно. А уже
упомянутый выигрыш в скорости в нашем случае не особо полезен - мы все
равно на каждом отдельном потоке скрипта должны выдерживать
определенные (и довольно большие!) паузы.
Плюс, для корректной работы этого подхода нужен определенным образом
подготовленный хостинг (скомпилированный с нужными параметрами
интерпретатор PHP), но это не является чем-то невозможным
3. Недорогой. Но платный. Платеж одноразовый. Покупаем скрипт
прокси-чекера. Обсуждался в бесплатных (с этим же номером) и там же был
забракован из за необходимости платить. Тут ему самое место ;-)
4. Аналогично предыдущему. Был номером 4 в бесплатных. Объясняю: у
меня, например, и так есть около десятка разных хостингов. То есть мне
для использования этого варианта нужно просто переписать скрипт. И, так
как я все-равно уже за эти хостинги плачу деньги, то для меня данный
вариант будет бесплатным. Для кого-то другого же он окажется вполне
даже платным. Со среднерыночной ценой порядка 5-6$ за один такой
сервер. То есть о работе в 20 потоков говорить, скорее всего, вообще не
придется, ибо тогда цена вопроса будет в 6 раз выше, чем при покупке
дополнительных адресов. Но как вариант - вполне возможен.
Так что среди платных лидерами становятся два варианта - номер 2 и
номер 3. По цене третий предпочтительней, но надо еще проверить их на
соотношение цена/производительность. Тут могут быть варианты, но для
долгосрочной неторопливой работы ежемесячный платеж в 10$-20$ может
вылиться в сами понимаете какие суммы.
6. Выводы
- среди бесплатных вариантов есть
два лидера - вариант "не для всех" (со старыми API-ключами от Google) и
долгий-долгий, зато абсолютно бесплатный вариант под номером 1
- среди условно-бесплатных два варианта (они же и лидеры, ибо их всего два) под номерами 2 и 4
- среди платных, но не очень дорогих, я бы в лидерах оставил только вариант с покупкой прокси-чекера
Лично для себя я этот последний вариант на данный момент считаю
безусловным лидером во всех трех категориях сразу. У меня есть еще и
довольно много старых API-ключиков, но я им, пожалуй, найду другое
применение ;-)