Я пытаюсь получить строку запроса от поисковых систем, таких как Google, Bing и Yahoo, чтобы сохранить их в моей базе данных и показать ключевое слово, используемое для получения моего сайта в поисковой системе на этой конкретной странице.
Я проверил все глобальные переменные PHP ($ _SERVER, $ _REQUEST, $ _POST, $ _GET, $ _GLOBAL и $ _COOKIE), но не смог найти необходимые данные.
Я хочу "Билл + Хикс + Спорт + товары + оптом" в "https://www.bing.com/search?q=bill+hicks+sporting+goods+wholesale&qs=n&form=QBLH&sp=-1&pq=bill+hicks+sporting+goods+wholesale&sc=2-35&sk=&cvid=9E5D9E7C0B5B4740A42B5758CCE510D0"
Раньше работал следующий код, но теперь все поисковые системы перестали отправлять строку запроса в HTTP_REFERER.
function get_search_query() {
$ref_keywords = '';
// Get the referrer to the page
$referrer = $_SERVER['HTTP_REFERER'];
if (!empty($referrer))
{
//Parse the referrer URL
$parts_url = parse_url($referrer);
// Check if a query string exists
$query = isset($parts_url['query']) ? $parts_url['query'] : '';
if($query)
{
// Convert the query string into array
parse_str($query, $parts_query);
// Check if the parameters 'q' or 'query' exists, and if exists that is our search query terms.
$ref_keywords = isset($parts_query['q']) ? $parts_query['q'] : (isset($parts_query['query']) ? $parts_query['query'] : '' );
}
}
return $ref_keywords;
}
код от https://www.virendrachandak.com/techtalk/get-search-query-string-from-search-engines-using-php/