问候,
我正在尝试找出用于将人们转发到我的网站的查询。如果有人能告诉我我应该调查什么api,我会很感激。我确信这可以使用javascript以及ruby和php,所以任何技术都可以。
为了学习,我不介意知道我应该为所有三个人使用:)
答案 0 :(得分:26)
使用搜索引擎超过5年,我可以告诉你,没有标准的方法来检索查询值。
正如其他答案已经告诉你的那样,第一步是检查HTTP_REFERER
标题。假设您正在使用Rails,您可以从请求中获取
request.referrer
否则,您需要以其他方式从请求标头中提取它。
一旦你有推荐人,那么你就有三种主要可能性:
第一种选择很简单。您想知道的是推荐人是否是搜索引擎。如果是这样,那么您需要提取查询。
最常见的方法是使用清单。核对表通常是键/值列表,其中键是搜索引擎域,值是包含查询值的查询字符串参数的名称。
google.com,q
yahoo.com,p
...
这与Google Analytics使用的方法相同。来自ga.js文件
g.T=l("daum:q,eniro:search_word,naver:query,images.google:q,google:q,yahoo:p,msn:q,bing:q,aol:query,aol:encquery,lycos:query,ask:q,altavista:q,netscape:query,cnn:query,about:terms,mamma:query,alltheweb:q,voila:rdata,virgilio:qs,live:q,baidu:wd,alice:qs,yandex:text,najdi:q,aol:q,mama:query,seznam:q,search:q,wp:szukaj,onet:qt,szukacz:q,yam:k,pchome:q,kvasir:q,sesam:q,ozu:q,terra:query,mynet:q,ekolay:q,rambler:words");
第一个主机同时匹配键和值,首先获胜。
答案 1 :(得分:6)
检查访问者的HTTP请求标头Referer
(PHP中的$_SERVER['HTTP_REFERER']
)。在所有情况下,这将为您提供访问者来自的页面。如果它是搜索引擎页面,则需要解析引用查询字符串并从中解析数据(请注意查询字符串格式可能会更改)。
这比谷歌分析工作更多,而我给出的简单示例并没有给你带来那么多数据;但如果你不熟悉谷歌为你做数据收集,可以这样做。
答案 2 :(得分:3)
在ruby中,您可以通过
获取引荐来源request.referrer
您的视图和控制器中提供了请求参数。如果您想查看request
上提供的其他选项,请添加
<%= request.inspect %>
在您的一个视图中访问该页面以查看它们。
答案 3 :(得分:2)
我认为这对你来说非常有用。它详细解释了如何完成您要做的事情:
答案 4 :(得分:1)
试试Google Analytics。它将为您提供大量详细信息的搜索引擎,搜索条件和引用网站。