Intereting Posts
отправить изображение и вернуть его с помощью json? Создание экземпляра класса поставщика в конструкторе класса проверка электронной почты, а затем действие сценария для реагирования на sms-сообщение Довольно URL-адреса с .htaccess Как получить долготу широты нескольких адресов геолокации Неустранимая ошибка: Не удалось OAuthException – Неавторизованный IP-адрес источника PHP REGEX preg_match_all каждую строку после определенной строки Добавление внешнего сервера в Aptana Studio 3 как предотвратить неправильный идентификатор Как проверить, существует ли идентификатор электронной почты? Может ли HTML быть встроен внутри инструкции PHP «if»? array_intersect выдает ошибки, когда массивы имеют подматрицы jQuery Ajax – не может получить ответ Подключить данные приложения Android к базе данных веб-сайта Propel: как удалить ссылку, сделанную через отношение «многие ко многим»

Захват поисковых ключевых слов в php

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

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

Одна из возможностей – просто захватить ссылочный 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 содержит ключевые слова, разделенные символами +.

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

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