Захват ключевых слов поисковой системы в php - PullRequest
1 голос
/ 29 августа 2009

В awstats я получаю таблицу со всеми ключевыми словами и фразами, использованными для поиска моего сайта. Я хотел бы захватить это сам, однако каждый URL поисковой системы находится в другом формате. Когда Google является реферером, я могу использовать переменную q из строки запроса в качестве поискового запроса (например, google.com?q=my+keywords), однако другая поисковая система может иметь формат searchengine.com?search=my+keywords

.

Существует ли общий способ определения ключевых слов для поиска? Или мне нужно будет создать регулярное выражение / фильтр для каждой поисковой системы?

Ответы [ 2 ]

4 голосов
/ 29 августа 2009

Одна из возможностей - просто захватить ссылочный URL ($_SERVER['HTTP_REFERER']) и проанализировать ключевые слова в нем.

Например, проверьте этот URL Google (в поиске «переполнение стека»):

http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10

Значение переменной q GET содержит ключевые слова, разделенные знаками +.

0 голосов
/ 14 декабря 2010

Мне приходится добавлять к нему все время, но вот REGEX, который должен убрать ключевые слова из google, yahoo, bing, ask и MSN (так же, как Bing). Это оставляет + между ними, но это должно быть хорошее место для начала:

.*(\?p=|\?q=|&q=|\?s=)([a-zA-Z0-9 +]*)(&toggle=|&ie=utf-8|&FORM=|&aq=|&x=|&gwp).
...