java - 我网站的访问者来自搜索引擎吗?他们的搜索词是什么?

标签 java tomcat search-engine referrals

我想根据访问者是否来自搜索引擎以不同的方式显示我的页面。我想我正在检测搜索引擎推荐?我还想知道用于访问我的网站的搜索字词。

到目前为止我的解决方案是这样的:

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/

相关文章:

Django 干草堆 : search for a term with and without accents

frameworks - 文档相似度框架

java - REALM 术语在安全方面的确切用途是什么?

java - 使用 JavaBrains 中的代码时出现异常

java - Gradle - 将项目依赖项共享为 jar

java - java中的排序方法

java - 在异常 : Cannot find operation isServiced 的 tomcat 中部署

java - 似乎无法让 RemoteIpFilter (https) 与 spring webflow 正确交互

java - 当我尝试将Maven项目部署到tomcat时出现套接字写入错误

search-engine - Lucene:未存储的字段