我想根据访问者是否来自搜索引擎以不同的方式显示我的页面。我想我正在检测搜索引擎推荐?我还想知道用于访问我的网站的搜索字词。
到目前为止我的解决方案是这样的:
1) 过滤包含常见搜索引擎 URL 的 HTTP 请求引用,即 http://www.google.com/search , http://www.bing.com/search ,或http://search.yahoo.com/search
2) 解析搜索词的referer的查询字符串参数,例如“q=搜索+术语+for+我的+网站+转到+此处”
我觉得这不是最强大的解决方案,因为它错过了鲜为人知的搜索引擎,并且每个搜索引擎可能有自己的搜索词查询字符串参数。例如,据我所知,Google 和 Bing 的搜索词参数都是“q”,但 Yahoo 的搜索词参数是“p”。那么像 +、- 等特殊运算符呢?
有更通用的方法吗?或者是否有一个库可以帮助我处理更多搜索引擎?我正在使用在 Tomcat 上运行的 Java,但欢迎来自任何语言和服务器设置的想法。
最佳答案
看这里: http://www.gdargaud.net/Hack/Searches.html
这里: http://search.cpan.org/perldoc?URI::ParseSearchString
两种略有不同的方法,但它们涵盖了更广泛的搜索引擎及其引用字符串。
关于java - 我网站的访问者来自搜索引擎吗?他们的搜索词是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1280589/