Не удается разобрать новые URL-адреса Google - HTTP_REFERER больше не содержит параметров - PullRequest
0 голосов
/ 06 апреля 2011

Это немного странно для меня, но, хотя все знают о новых URL-адресах поиска в Google (см. Google использует # вместо поиска? В URL. Почему? ), ни у кого нет проблем с HTTP_REFERER.

Я использую реферер для анализа строки Google для поискового запроса (& q =), но, поскольку все это в хеш-теге, оно не будет отправлено на сервер, и все, что я получу, это "http://www.google.de/".

Итак, знаете ли вы способ получения запроса, который искал пользователь, перед тем как попасть на мой сайт?

Ответы [ 2 ]

1 голос
/ 23 января 2012

Из-за изменений безопасности Google, произошедших в конце 2011 года, это больше невозможно, если поиск был выполнен зарегистрированным пользователем Google. См:

1 голос
/ 26 июля 2011

Так как в строке запроса есть несколько q, вы должны глобально соответствовать параметру "q" и принять последний:

/[?|&|#]q=([^&|^#]+)/ig

Избавьтесь от "site:"поиски (есть и другие, но я их не делал)

/[\+|?|&]?site:([^&|^#])+/g, '');

Затем проанализируйте результаты.

/[\w^'\(\)\{\}]+|"[^"]+"/g

Этоработал хорошо для меня.

...