Я бы хотел показать свою страницу по-разному для посетителя, основываясь на том, пришли ли они из поисковой системы или нет. Думаю, я обнаруживаю рефералы поисковых систем? Я также хотел бы знать условия поиска, которые использовались для моего сайта.Является посетителем моего сайта, исходящим из поисковой системы? Каковы были их условия поиска?
Мое решение до сих пор это:
1) Фильтр по Referers запроса HTTP, которые содержат общий поиск адреса двигателя, т.е. http://www.google.com/search, http://www.bing.com/search или http://search.yahoo.com/search
2) Разбираем параметр строки запроса из референт для поисковых запросов, например «q = поиск + термины + для + мой + сайт + пойти + здесь»
Я считаю, что это не самое надежное решение, поскольку оно пропускает менее известные поисковые системы, и каждая поисковая система может иметь собственный параметр строки запроса для поисковых запросов. Например, параметр поискового запроса Google и Bing является «q», но Yahoo является «p», насколько я могу судить. А как насчет специальных операторов вроде +, - и т. Д.?
Есть ли более общий способ сделать это? Или есть библиотека, которая поможет мне обрабатывать больше поисковых систем? Я работаю с Java на Tomcat, но идеи с любого языка и настройки сервера приветствуются.