Действительно ли возможно получить критерий поиска от поиска Google?

В «Тестовом проводнике» -> щелкните правой кнопкой мыши на конкретном тестовом примере, который вы хотите отладить -> В контекстном меню выберите «Отладка выбранного варианта тестового набора».

17
задан Juha Syrjälä 2 June 2009 в 21:17
поделиться

4 ответа

Да, это возможно. См. Заголовок HTTP Referer . Заголовок Referer будет содержать URL-адрес страницы результатов поиска Google.

Когда пользователь щелкает ссылку на странице результатов поиска Google, браузер делает запрос на ваш сайт с таким заголовком HTTP:

Referer: http://www.google.fi/search?hl=en&q=http+header+referer&btnG=Google-search&meta=&aq=f&oq=

Просто проанализируйте URL-адрес из заголовок запроса, поисковый запрос, используемый пользователем, будет в параметре q . В примере выше используется термин « http header referer ».

Такой же подход обычно работает и для других поисковых систем, просто у них другой тип URL в заголовке Referer.

Этот ответ показывает, как реализовать это в PHP.


Referer header. доступен только с HTTP 1.1, но это касается практически любого современного браузера.

12
ответ дан 30 November 2019 в 10:21
поделиться

Я бы сделал это так

$referringPage = parse_url( $_SERVER['HTTP_REFERER'] );
if ( stristr( $referringPage['host'], 'google.' ) )
{
  parse_str( $referringPage['query'], $queryVars );
  echo $queryVars['q']; // This is the search term used
}
24
ответ дан 30 November 2019 в 10:21
поделиться

Да, это идет по URL:

http://www.google.com/search?hl=es&q=hot+dog&lr=&aq=f&oq=

вот пример:

Google отправляет много посетителей на ваш сайт, если вы хотите получить ключевые слова они раньше заходили на ваш сайт, возможно, чтобы произвести на них впечатление, показывая его вернуться на страницу или просто сохранить ключевое слово в базе данных, вот PHP-код, который я использую:

// take the referer
$thereferer = strtolower($_SERVER['HTTP_REFERER']);
// see if it comes from google
if (strpos($thereferer,"google")) {
    // delete all before q=
    $a = substr($thereferer, strpos($thereferer,"q="));     
    // delete q=
    $a = substr($a,2);
    // delete all FROM the next & onwards
    if (strpos($a,"&")) {
        $a = substr($a, 0,strpos($a,"&"));
    }   
    // we have the results.
    $mygooglekeyword = urldecode($a);
}

and we can use <?= $mygooglekeywords ?> when we want to output the
keywords.
1
ответ дан 30 November 2019 в 10:21
поделиться

Вы можете захватить ссылающийся URL-адрес и получить поисковый запрос из строки запроса. Поиск будет выполняться по запросу q = searchTerm, где searchTerm - это нужный текст.

0
ответ дан 30 November 2019 в 10:21
поделиться