我想根据访问者是否来自搜索引擎,以不同的方式显示我的页面。我想我正在检测搜索引擎推荐?我还想知道用于到达我的网站的搜索词。
到目前为止,我的解决方案是:
1) 过滤包含常见搜索引擎 URL 的 HTTP 请求引用,即http://www.google.com/search、http://www.bing.com/search或http://search.yahoo.com /搜索
2) 为搜索词解析referer的查询字符串参数,例如“q=search+terms+for+my+website+go+here”
我觉得这不是最强大的解决方案,因为它错过了鲜为人知的搜索引擎,并且每个搜索引擎可能都有自己的搜索词查询字符串参数。例如,据我所知,Google 和 Bing 的搜索词参数都是“q”,但 Yahoo 是“p”。那么像 +、- 等特殊运算符呢?
有没有更通用的方法来做到这一点?或者是否有一个图书馆可以帮助我处理更多的搜索引擎?我正在使用在 Tomcat 上运行的 Java,但欢迎来自任何语言和服务器设置的想法。