绑定FireFox右上角搜索区域到“google搜索联盟”

作者: 嘎嘎 2010-01-30,01:56 下午 周六

  用过Google Adsense的朋友都知道,当在个人网站放置搜索的时候,搜索到的内容如果用户点击广告是会给一部分佣金的,但是一般用户没有去你网站搜索的习惯,而火狐的搜索框却可以通过修改链接,为你自己提供报酬,下来就让我们开始看看怎么做到的!
  找到FireFox安装路径,打开文件夹:\searchplugins\,有个google.xml,这就是右上角的google搜索配置文件了。
前面几行不重要,标签里的内容是搜索框前的图标,是base64编码后的内容。再往后就是两个标签,这就是我们要改的内容了。
  先说一下从google搜索联盟里搜索时实际的Url,比如搜索的关键字是“soli”,如下:

1
http://www.google.cn/search?q=5ga&sa=%E6%90%9C%C2%A0%E7%B4%A2&&prog=aff&client=pub-1829154508072593&channel=7568265393&&hl=zh-CN&source=sdo_sb&sdo_rt=ChBLY60dAAEI9QpvwxI83DSSEg5fX1JMX0RFRkFVTFRfXxoImY5lcW_gcLooAViCq7WsgdbLkLsB

  “http://www.google.cn/search?”后面的是一系列的参数,每个等号的左边是参数名,右边是参数的值,比如“q=soli”的意思就是参数q的值是“soli”,也就是我们要搜索的内容。各个参数之间用“&”隔开。其他参数的意义可以在网上搜一下,google提供了很丰富的参数。比如:
client:Google Adsense客户唯一ID,我的是pub-1829154508072593,Google就是通过它把搜索算在我的账户下。
channel:搜索渠道,获取google广告代码的时候可以选择的,为每个广告设置一个渠道,以后就能清楚地知道自己在哪投放的广告为自己挣钱了。
  到FireFox的google.xml,先看第一个标签,内容如下:

1
<Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&amp;client=firefox&amp;hl={moz:locale}&amp;q={searchTerms}"/>

  其中,template变量的值很像我们上面提到的Url,也有个“q=……”,这就是要搜索的关键字的变量了,后面的“{searchTerms}”是什么意思呢?这是个firefox的内部变量,代表你在firefox右上角的搜索框里输入的内容,也就是你想要搜索的关键字。开始搜索的时候这个东东就替换成了你要搜索的内容,比如“soli”。
  这里我们应该注意,把各个参数隔开的不是“&”了,而变成了“&”好了,我们把这个template换成我们自己的URL,如下:

1
<Url type="application/x-suggestions+json" method="GET" template="http://www.google.cn/search?q={searchTerms}&amp;sa=%E6%90%9C%C2%A0%E7%B4%A2&amp;prog=aff&amp;client=pub-1829154508072593&amp;channel=3831976903&amp;domains=www.5ga.cn&amp;hl=zh-CN&amp;source=sdo_sb&amp;sdo_rt=ChBLY7T5AAvH3Ap6axHrlmacEg5fX1JMX0RFRkFVTFRfXxoIYll_rxXllscoAViCq7WsgdbLkLsB"/>

  再看第二个Url标签的内容:

1
2
3
4
5
6
7
8
9
<Url type="text/html" method="GET" template="http://www.google.com/search">
  <Param name="q" value="{searchTerms}"/>
  <Param name="ie" value="utf-8"/>
  <Param name="oe" value="utf-8"/>
  <Param name="aq" value="t"/>
  <!-- Dynamic parameters -->
  <Param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}"/>
  <MozParam name="client" condition="defaultEngine" trueValue="firefox-a" falseValue="firefox"/>
</Url>

  一看到有个“q”和“{searchTerms}”我们立马明白了,这个Url其实就是把第一个Url拆开来写罢了。经过分析,倒数第二和三行似乎没用,直接删除,把我们的Url各个参数拆开来,填到标签里,如下:

1
2
3
4
5
6
7
8
9
10
11
12
<Url type="text/html" method="GET" template="http://www.google.cn/search">
  <Param name="q" value="{searchTerms}"/>
  <Param name="sa" value="%E6%90%9C%C2%A0%E7%B4%A2"/>
  <Param name="prog" value="aff"/>
  <Param name="client" value="pub-1829154508072593"/>
  <Param name="channel" value="3831976903"/>
  <Param name="domains" value="www.5ga.cn"/>
  <Param name="hl" value="zh-CN"/>
  <Param name="ie" value="utf-8"/>
  <Param name="source" value="sdo_sb"/>
  <Param name="sdo_rt" value="ChBLY7T5AAvH3Ap6axHrlmacEg5fX1JMX0RFRkFVTFRfXxoIYll_rxXllscoAViCq7WsgdbLkLsB"/>
</Url>

  其中,“ie”是InputEncoding,是输入的字符编码必须有,要不会出现乱码,为什么是“UTF-8”呢?因为google.xml的第四行是“UTF-8”。
  上传个我改的吧:google.xml
  把修改过后的google.xml覆盖原来的文件(如果不放心可先备份一下),然后重启FireFox,随便输入点什么搜索一下吧。

相关文章

分类 : 网络生活 (阅览:486 次) Tags : , ,

评论

还没有任何评论。


留下评论


|:victory:| |:tongue:| |:titter:| |:time:| |:sweat:| |:smile:| |:shy:| |:shocked:| |:sad:| |:mad:| |:lol:| |:kiss:| |:hug:| |:huffy:| |:handshake:| |:cry:| |:call:| |:biggrin:|