Сайтов становится все больше и больше, в сферу разработки приходят новички, поэтому - котэ заново изобретает
подбор ключевых слов.
Наверняка новичку насоветуют по SEO'шным форумам, или он сам догуглится, до программы Key Collector. И наверняка новичок захочет её найти на торрентах, а обломавшись, - упрется в вопросы: "А че платно то?" и "А окупится ли у меня?"
А ведь новичку Key Collector и не нужен на самом деле. Начинать все равно нужно с начала, чтобы врубаться в суть происходящего и не видеть в этом никакой магии.
Откуда вообще ключевые слова собираются?Первоисточников два, оттуда можно брать или руками или прогами:
1.) из статистики запросов поисковых систем (за прошлые периоды)
2.) из подсказок поисковых систем (актуально прям тут прям щас)
Статистика запросов, в которой классикой для рунета стал Вордстат Яндекса -
https://wordstat.yandex.ruЗа годы существования суть не изменилась - он продолжает оставаться инструментом подбора ключевых слов. Появились некоторые плюшки, которые подстраиваются под изменения в сети:
- разделение по регионам (если вести блог про что-то информационное - можно не париться с регионами)
- разделение по устройствам (компы, смартфоны, планшеты, или все сразу)
Типичному новичку, который собрался завести "свой блог о чем-нибудь" можно вообще не париться. Пусть ходят со всего мира и со всех устройств.
Как видите, статистика кроме подбора хвостов к телу запроса предлагает и что-нибудь из той же оперы. Если подбирать iPhone, рядышком вылезет чего-нибудь про iPad. Тем не менее - начинаются ключевые слова всегда с головы подбирающего.
Безусловно, работать через прогу будет эффективнее, но прогу еще нужно выбрать. Первое время стоит сравнивать результаты в проге с результатами в первоисточнике. Зачем это нужно? Для понимания происходящего и принятия решения - какой прогой и как пользоваться.
Подбор из подсказок без искаженийЕсть персональный поиск, который на запрос "Агата Кристи" меломану поставит на первое место сайт этой музыкальной группы, а любителю книг - сайт про Эркюля Пуаро.
Раз алгоритмы подстраиваются, для чистоты эксперимента подойдет приватная вкладка браузера (исключающая "поправку на себя любимого").
Вот наглядная разница между SEOggestor и подсказками Яндекс полученными в браузере.
Под капотом происходит одно и то же - и прога и браузер отправляют запрос для подхватывания подсказок. Но в результате браузер показывает не все подсказки (я не знаю почему так, видимо дизайнеры так решили).
В чем разница между статистикой и подсказкамиЧем подсказки хороши. Если представить, что биткоин появился вчера и сегодня многие о нем узнали через сарафанное радио, тогда в подсказках за считанные часы могут появиться запросы связанные с биткоином. В подсказках нет цифр о количестве искавших, нет регионов и прочих подробностей.
Чем хороша статистика. Она обновляется не так резво, поэтому взрывной тренд появится в ней только завтра, зато появится с количеством искавших и разделением по регионам.
Подбор ключевых слов для YouTubeМожет быть я плохо искал, но для YouTube мне не попадалось первоисточников кроме подсказок в ютубовском поиске.
Возможно в мастерской ютуба есть какой-нибудь статистический инструмент типа вордстата, но как-то меня не тянет лезть в дебри той мастерской.
С подсказками ютуба прога меня подвела - показала меньше браузера.
Подбор ключевых слов GoogleЕсть у него инструмент статистики, но его многие недолюбливают за запутанность. Чтобы пользоваться - придется регистрироваться и создавать "рекламную кампанию пустышку". Даже через прогу придется входить через свой гугловский аккаунт, в котором должен быть создан аккаунт Adsense...
Как потребитель - я гуглю. А как разработчик сайтов - считаю
Планировщик ключевых слов (Google Keyword Planner) жопой.
Какой программой лучше подбирать ключевые слова для сайтаВыше я утверждал, что новичкам
Key Collector не нужен. Это по тому что: он стоит денег и дает избыточный функционал (все равно что покупать фотошоп для простой обрезки картинок).
Начинать можно с урезанной и бесплатной версии с прикольным названием
SlovoEB. Выпускают прогу те же разработчики (сеошник + кодер).
Распространяются обе на одном и том же сайте -
http://seom.info/tools/ (там же встретите и их разработку для сбора подсказок - SlovoDER).
Новичкам будет проще разбираться поэтапно, начиная с понимания "что такое глубина парсинга"... А не садиться за "платный пульт управления каким-то космическим кораблем". :smile-thumb-up:
Все три проги (Key Collector, SlovoEB, SlovoDER) продумывал SEO'шник Александр Люстик (известный в сети как MyOST), а написал сторонний программист (только под Windows).
Кроссплатфоменной альтернативой можно было бы назвать SEO Powersuite (набор прог на Java), который есть под MacOS и даже на торрентах. Но мне как-то не понравилось и я снёс пиратку после ознакомления.
P.S:Если дойдут лапы, будет настроение и свободное время, - однажды я напишу свой софт с дизайном и иконками.
Для парсинга подсказок гугла уже есть суть логики: отправить запрос и парсить ответ в любой формат.
Запрос
http://google.com/complete/search?output=toolbar&hl=ru&js=true&qu=какого%20хрена
Ответ
<toplevel>
<CompleteSuggestion>
<suggestion data="какого хрена мем"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="какого хрена так мило"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="какого хрена здесь происходит"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="какого хрена надо"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="какого хрена на английском"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="какого хрена ты ржешь"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="какого хрена синоним"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="какого хрена синонимы"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="какого хрена это"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="какого хрена нет моего размера"/>
</CompleteSuggestion>
</toplevel>
Если хочется делать в онлайне без всяких сервисов - в сети есть исходники парсеров на PHP. Например вот такой.
[code="php"]<span class="syntaxhtml"><br /><span class="syntaxdefault"><?php <br /></span><span class="syntaxcomment">########################################<br />## нужно создать файл keys.txt в нём каждый ключ на 1 строку <br />## на папку скрипта лучше поставить права 777 <br />## для каждого ключа создаётся файл с найдеными кейами <br />## файлы сохраняются в корень папки <br />######################################## <br /></span><span class="syntaxdefault">header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'Content-type: text/html; Charset=utf8'</span><span class="syntaxkeyword">); <br /></span><span class="syntaxdefault">set_time_limit</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">3000</span><span class="syntaxkeyword">); </span><span class="syntaxcomment">//время работы скрипта. <br /></span><span class="syntaxdefault">$lang </span><span class="syntaxkeyword">= </span><span class="syntaxstring">'en'</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">//ru <br /><br /></span><span class="syntaxkeyword">if(!</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'keys.txt'</span><span class="syntaxkeyword">)){ <br /> die(</span><span class="syntaxstring">'Cant find keys.txt'</span><span class="syntaxkeyword">); <br />} <br /><br /></span><span class="syntaxdefault">$keys </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">file</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'keys.txt'</span><span class="syntaxkeyword">); <br /><br />if(empty(</span><span class="syntaxdefault">$keys</span><span class="syntaxkeyword">)){ <br /> die(</span><span class="syntaxstring">'Crap! No keys in keys.txt'</span><span class="syntaxkeyword">); <br />} <br />foreach(</span><span class="syntaxdefault">$keys </span><span class="syntaxkeyword">as </span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">){ <br /></span><span class="syntaxdefault">$key </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">); <br />if(</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'.txt'</span><span class="syntaxkeyword">)){ <br /> continue; <br />} <br /></span><span class="syntaxdefault">$key </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">urlencode</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">); <br /></span><span class="syntaxdefault">$url2google </span><span class="syntaxkeyword">= </span><span class="syntaxstring">'http://google.com/complete/search?output=toolbar&hl='</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$lang</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'&js=true&qu='</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">; <br /></span><span class="syntaxdefault">$key_adds </span><span class="syntaxkeyword">= array(</span><span class="syntaxstring">'+1'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+2'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+3'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+4'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+5'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+6'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+7'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+8'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+9'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+0'</span><span class="syntaxkeyword">, <br /> </span><span class="syntaxstring">'+a'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+b'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+c'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+d'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+e'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+f'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+g'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+h'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+i'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+j'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+k'</span><span class="syntaxkeyword">, <br /> </span><span class="syntaxstring">'+l'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+m'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+n'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+o'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+p'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+q'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+r'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+s'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+t'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+u'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+v'</span><span class="syntaxkeyword">, <br /> </span><span class="syntaxstring">'+w'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+x'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+y'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'+z'</span><span class="syntaxkeyword">); <br /></span><span class="syntaxdefault">$sugg_data </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">file_get_contents</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$url2google</span><span class="syntaxkeyword">); <br />foreach (</span><span class="syntaxdefault">$key_adds </span><span class="syntaxkeyword">as </span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">){ <br /> </span><span class="syntaxdefault">$sugg_data </span><span class="syntaxkeyword">.= </span><span class="syntaxdefault">file_get_contents</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$url2google</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">); <br />} <br /></span><span class="syntaxdefault">preg_match_all</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'/(?<=\<suggestion data\=\")[\w\W]*?(?=\"\/\>)/'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$sugg_data</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$sugg_tmp</span><span class="syntaxkeyword">); <br /></span><span class="syntaxdefault">$sugg_tmp2 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">implode</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"\r\n" </span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$sugg_tmp</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]); <br /></span><span class="syntaxdefault">$sugg_tmp2 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">str_replace</span><span class="syntaxkeyword">(</span><span class="syntaxstring">''', "'", </span><span class="syntaxdefault">$sugg_tmp2</span><span class="syntaxstring">); <br />preg_match_all('/(.*)/',</span><span class="syntaxdefault">$sugg_tmp2</span><span class="syntaxstring">,</span><span class="syntaxdefault">$sugg_fin</span><span class="syntaxstring">); <br />//echo implode(</span><span class="syntaxdefault">$sugg_fin</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]</span><span class="syntaxstring">); <br />//echo implode('',</span><span class="syntaxdefault">$sugg_fin</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]</span><span class="syntaxstring">); <br /><br />file_put_contents(urldecode(</span><span class="syntaxdefault">$key</span><span class="syntaxstring">).'.txt', implode('',</span><span class="syntaxdefault">$sugg_fin</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]</span><span class="syntaxstring">)); <br />unset(</span><span class="syntaxdefault">$sugg_tmp2</span><span class="syntaxstring">); <br />unset(</span><span class="syntaxdefault">$sugg_tmp</span><span class="syntaxstring">); <br />unset(</span><span class="syntaxdefault">$sugg_fin</span><span class="syntaxstring">); <br />} <br />echo 'All Done!'; <br />?><br /></span></span>[/code]