1

在 awstats 中,我得到一个表格,其中包含用于查找我的网站的所有关键词和短语。我想自己捕获这个,但是每个搜索引擎的 url 都是不同的格式。当 google 是引用者时,我可以使用查询字符串中的变量 q 作为搜索词(例如 google.com?q=my+keywords)但是另一个搜索引擎可能具有格式 searchengine.com?search=my+keywords

是否有识别搜索关键字的通用方法?还是我必须为每个搜索引擎创建一个正则表达式/过滤器?

4

2 回答 2

4

一种可能性是只获取引用 URL ( $_SERVER['HTTP_REFERER']) 并解析其中的关键字。

例如,查看这个 Google URL(搜索“堆栈溢出”):

http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10

GET 变量的值q包含由 + 号分隔的关键字。

于 2009-08-28T23:09:20.543 回答
0

我不得不一直添加它,但这里有一个正则表达式,它应该从 google、yahoo、bing、ask 和 MSN(与 Bing 相同)中删除关键字。它在两者之间留下了 +,但它应该是您开始的好地方:

.*(\?p=|\?q=|&q=|\?s=)([a-zA-Z0-9 +]*)(&toggle=|&ie=utf-8|&FORM=|&aq=|&x=|&gwp).
于 2010-12-14T00:02:19.833 回答