用Google的自定义搜索引擎替代站内的搜索

2008年03月25日 - 14 条留言 - 资源共享 - 浏览:9,995 | 大小:   | 繁體 | English | Short URL:http://bit.ly/8XMHeL

很早以前就发现WordPress自带的搜索功能很不好用。所以用了Google自定义搜索引擎替代站内的搜索。本来想用Google AJAX Search API的,但是太复杂了。后来就决定使用Google自定义搜索引擎了!

要使用Google自定义搜索引擎。首先得有个Google的账户。点这里:创建 Google 帐户。然后访问Google自定义搜索引擎。再点“创建自定义搜索引擎”,输入相关信息之后,就可以开始使用了。

首先在自定义搜索引擎的控制面板上,先制定搜索的网站是自己的网站,然后获取到代码,在代码页面的搜索结果托管选项中,我选择的是“一个网页提供搜索框,另一个提供结果”的形式。然后在页面的下面有个搜索结果代码的文本框,把文本框内的代码拷贝下来,然后在WordPress使用的主题目录下,拷贝一个page.php的副本,重命名一下。我这里是重命名为googlesearch.php。然后用编辑器打开googlesearch.php(这里我个人推荐使用Notepad++!),在其顶部代码

<?php get_header(); ?>

之前添加以下代码:

<?php
 /*
Template Name: googlesearch
*/
?>

此段代码的作用是把这个页面定义一个模板名称,以下会用到。

然后把刚才我们从Google的自定义搜索引擎的控制面板上的搜索结果代码的文本框内的拷贝下来的代码,替换到

<div id="content">

</div>

中间的那些内容。其他的地方不需要修改了。然后保存一下,记得一定要按照utf8格式保存。

然后登录到WordPress的后台,撰写一个新页面,页面的标题由自己填写了。重要的两个地方,一个是页面模板必须选择googlesearch。页面缩略名一定要用英文(我这里也是用googlesearch)。保存之后。就可以用http://您的站点/googlesearch访问了。拷贝下这个地址。

返回google的自定义搜索引擎的控制面板,在指定搜索结果详情下面的文本栏里把http://您的站点/googlesearch粘帖进去。至于那个广告位置,随意选择了。以上操作之后,可以看到搜索框代码的文本框内的代码有所变动(其实就是把我们制定的网址加入搜索框代码),然后我们拷贝这个搜索框代码。然后再到WordPress的中,修改主题,放置这段搜索框代码替换掉原来的站内搜索代码。这样就可以让Google的搜索来替代原始的搜索了,而且搜索结果显示在自己的网站上了。

然后我自己是修改了搜索框代码的内容,主要是一些样式的修改,好适应我目前使用的主题。不知道会不会违反Google自定义搜索引擎服务条款。服务条款内全是英文,我的英文能力不好,只能看个大概,差不多是搜索的结果那边是不能动的,至于这个搜索框,好像没啥要求???

本文作者:施炜煜
原文链接:http://firefore.com/2008/03/google-cse.html
发布于:2008年03月25号   最后修订在:2009年04月17号
版权声明:转载时请以超链接形式标明文章原始出处和作者信息。
读过这篇日志的读者同时也读了:

>欢迎您的来访。喜欢这篇文章么? 发表一下您的看法 好让我们能交流交流一下。
>建议您 订阅这里的RSS,这样您及时地获取更多精彩内容!
>Permalink:http://firefore.com/2008/03/google-cse.html
>Trackback Address:http://firefore.com/2008/03/google-cse.html/trackback

  1. 呵呵,估计在博客里面用到搜索的时候不多。。。。

    回复该留言
  2. 嘿嘿,不错,虽然效果相对于Ajax Google Search API来讲简陋了点。

    回复该留言
  3. 嘿嘿~俺还从来没有试过去别人的Blog搜索什么东东呢:-)

    回复该留言
  4. :)
    下一步的计划就是使用Google AJAX Search API。在当前页面的侧边栏显示搜索结果,并且带关闭按钮。这样就可以在不离开当前页面的前提下得到搜索结果。学习对象是GOOGLE推荐的一个例子
    http://www.google.com/uds/samples/blog.html

    回复该留言
  5. 我倒觉得你目前在用的google自定义搜索比ajax搜索效果要好。 :)
    我站上用的是ajax搜索。

    回复该留言
    • 真的吗?可惜不能实现AJAX的效果啊。我看了GOOGLE上的那个演示。可以在当前页出现搜索结果,并且带关闭按钮。对用户来说,很方便啊。因为可以在不离开当前页面的前提下得到搜索结果。

      回复该留言
      • 最近忙了。所以這個AJAX的一直沒空去弄。呵呵~

        回复该留言
  6. 其实不用改模板,在页面内容里在html编辑格式下把代码加进去就好了。
    刚开始学用wordpress,有不对的地方请博客指点

    我有个问题就是搜索结果里改不了宽度,我把 googleSearchFrameWidth 已经设成了100,比我的sidebar还小也还是没用。

    回复该留言
    • 我修改模版是因为我的搜索结果页不调用侧边栏。只调用头部和尾部而已。
      搜索结果的宽度好象是有个最小值,我忘记是多少了。你修改为100应该是小于最小值从而变成了无效了好象…

      回复该留言
  7. gg不是固定不允许修改代码的么?

    回复该留言
    • 是GG广告代码不允许修改。这个自定义搜索的框是可以修改的。但是搜索结果页里面不能有欺骗用户点击广告的嫌疑。在GOOGLE的自定义搜索的网站上可以看到很多例子,都是像我这么修改过的。

      回复该留言
  8. 最近也想使用这个模板,你的修改很有参考价值!

    回复该留言
  9. 新建的页面怎么选择我刚建立的googlesearch.php这个页面呢?我在后台找遍了也没找到这个玩意儿

    回复该留言
    • 建立新页面的时候。右边会有一个“模板”下拉框,里面选择googlesearch就可以了啊。前提是你的那个googlesearch.php文件里要有
      < ?php
      /*
      Template Name: googlesearch
      */
      ?>
      这样的字眼。看看我的文件:您可以下载后另存为googlesearch.php到您的主题目录下:
      http://firefore.com/wp-content/themes/PureCSS/googlesearch.php.txt

      回复该留言

2 Trackbacks/Pingbacks:


您也可以使用微博账号登陆