Google自定义搜索代码替换wp博客站内搜索

作者 FarLee 2010年2月28日 18:18:37   ‖浏览(13,490)

WordPress博客模板一般都有站内搜索功能,wp博客的站内搜索框可以将博客文章标题和正文内容中含有关键词的文章提取出来,引擎功能也很强大。不过wp博客站内搜索,每搜索一次都会发送数据库查询,消耗服务器资源。我想博客网站虚拟主机的服务器性能肯定不会好到哪里去的,最好尽量减少php语句和数据库查询,所以今天决定把将它替换成Google自定义搜索引擎。

Google是全球搜索引擎的老大,那么它的引擎功能和性能想必是最强大的了。如果只是想在网页中简单地加入一个Google搜索框,有很多的免费Google搜索代码可以使用;另外也可以设置Google搜索结果只显示自己网站上的网页,这样Google就成了自己网站的站内搜索了,前提是谷歌收录了自己网站的页面。Google网站上就提供了这样简单的免费Google搜索代码Google自定义搜索引擎代码,直接将代码复制下来粘贴到自己的HTML网页代码中就可以了。

Google自定义搜索引擎

Google 自定义搜索引擎

Google自定义搜索不仅能在网站网页上放置一个Google 搜索框,还能指定搜索结果显示来自自己网站或者更多网站的页面;也可以自定义搜索结果页面的显示样式,使它和你网站的风格一致;如果申请了Google Adsense 广告,还可以通过 AdSense 搜索广告获得收入。所以建议大家都将Google自定义搜索引擎替换WordPress博客默认自带的站内搜索吧 :)。

创建Google自定义搜索引擎

创建Goolge自定义搜索的步骤也很简单,下面的步骤很详细地抄一遍:

  • 点击进入 Google自定义搜索 ,点击“创建自定义搜索引擎”,以后管理Google自定义搜索也可以从这里进入。
  • 设置基本信息,包括对自定搜索引擎的描述,选择搜索语言等选项,填写网站列表,选择版本(免费的展示广告的标准版本)。
  • 点击下一步-完成,进入邮箱或者直接在跳转到的控制面板做进一步自定义。
  • 控制面板中设置:搜索引擎关键字-编制索引(可以使用站点地图)-创建优化标签-设置置顶。
  • 设置外观:选择托管选项为iframe

1. 获得WordPress 固定页面的地址

进入WP管理后台创建一个新页面,使用默认模板中的archives.php创建一个模板文件,如何在WordPress中使用archives.php添加新建页面请参考:wordpress 模板archives.php。(新建一个页面在编辑框中不能直接支持JavaScript代码,因此要使用在模板文件中加入含有JavaScript代码的Google自定义搜索代码的方式)。比如新创建的模板名称为archives_google_cse.php,选择使用这个模版创建一个新的页面,新页面名称随便,slug别名随便假设为googlecustomsearch,获得该页面的地址。这个页面用来当做Google 自定义搜索的结果页面模板。

注意:archives_google_cse.php文件开头的php注释中,要将Template Name: Archives 改成其他的,不然在选择模板时会出现只有一个Archives模板供选择的情况。

2. 在后台设置页面导航中不显示该页

打开WordPress中正在使用的主题header.php文件,修改<?php wp_list_pages(‘title_li=&depth=1&exclude=123‘); ?>,将exclude=后面的id 数字123替换为这个新建页面的id,新建页面的id号就是你在管理后台编辑这个新建页面时,地址栏里显示的post=123中的那几个数字。如果你提交过网站地图Sitemap,那么最好在网站地图(插件)中也设置这个新建页面不编入索引。如果是固定链接,还要重新加一条url 重写规则。

3. 获取Google自定义搜索代码

再回到Google自定义搜索控制面板,点击获取代码,填写新建页面网址作为显示搜索结果的网址。然后分别将自动生成的Google搜索框代码放在任何你想放置的地方;Google搜索结果代码放在上面创建的archives_google_cse.php模板文件中。代码中var googleSearchFrameWidth = 600; 设置frame宽度,调整为适合自己的WordPress博客的宽度。

4. 关联 Google AdSense 帐户:点击赚钱,依次填写adsense 邮箱帐户 即可。

最后将添加了Google 自定义搜索代码的archives_google_cse.php文件重新上传到正在使用的主题文件夹中。这样就可以了,原来WordPress博客的站内搜索框,可以直接去掉,也可以留着,随便选择。

提示:如果你觉得上面WordPress中添加和设置新建页面,还要新建模板文件之类的很麻烦。那么还有更简单的方法。不用新建页面,也不用创建模板文件。就是在WordPress主题文件夹中的自带的搜索框(searchform.php)文件中加入Google自定义搜索框代码,在搜索结果(search.php)中的适当位置加入Google显示搜索结果代码。这样就将原来WordPress默认自带的站内搜索框完全取代了,想偷懒的用这个步骤就更简单了。

WordPress根目录的Google自定义搜索结果显示页面

用上面套用模板新建页面,或直接替换searchform.php和search.php的方法创建的google自定义搜索,在有的WordPress博客中进行搜索的时候,会跳到404页面,而不是预想中的显示搜索结果的页面。这可能和不同博客的IIS 404页面设置、新建页面的url重写规则、固定链接结构不同有关。

如果在你的博客自定义搜索也跳转到404页面的话,还有一个最最简单的方法:在根目录下新建一个html文件或者php文件,在这个文件中加入Google搜索结果页面的代码,显示搜索结果页面的地址写成这个根目录下的文件的地址,如:http://h.farll.com/google_custom_search.php。其他设置都一样。

Update/2011/11/08

现在我们可以直接在Google网站管理员工具后台创建自定义搜索了。在labs实验室中点击“Custom Search”链接,会自动创建默认的cse,然后做一些基本的设置,高级设置还是要到cse后台设置。如果你之前已经创建了自定义搜索,网站管理员工具中也会显示这个已经创建的Google cse。


“Google自定义搜索代码替换wp博客站内搜索”文章评论(14)

  1. 太晚了,这个帖子明天一早仔细看下,也给我的站做个google搜索。

  2. google好像最近在使劲推广他的关键字广告

    • 是的,看来是Google广告客户少了!

  3. 我的站,使用这个方法 …
    OMG,实在是控制不好那个搜索框,总是达不到楼主的效果…
    干脆去掉了 – –
    以后再加好了.

    • google广告外面加div,多试几次就ok,嘿嘿

      • 没啊,我的WP博客左边的那个DIV广告是加出来的。
        可是顶部的搜索框。
        实在是太难搞了,我都在想是不是不要用那个。
        反正我的站里的某些词都做过互链的。

  4. 很实用的教程,支持一下。

  5. 自定义搜索在IE浏览器中出现“该页无法显示”的错误,FF 和chrome 没有问题,原因在于google cse搜索引擎语言设置为简体中文,需设置为English才能使用:http://drupalpark.com/forums/drupal-google-custom-search

  6. 大神,我的网站出现了两个google CSE 框,上面那个怎么也去不了,这是为什么? 如果去了代码,两个都没有了,苦脑了一个晚上了.请指点...

  7. My spouse and I stumbled over here different website and
    thought I might as well check things out.

    I like what I see so i am just following you. Look
    forward to going over yyour web page repeatedly.

  8. Hi! This post couldn’t bee written any better! Reading through thhis post reminds me
    off my previous room mate! He always kept talking about this.
    I will forward this page to him. Pretty sure hee will have a good read.Thanks for sharing!

Trackbacks/Pingbacks

  1. Joomla安装设置及SEO优化教程 – 远方博客
  2. 基于wordpress的Joomla安装设置教程 | 博客赚钱联盟
  3. 【转】Joomla安装设置教程 » ℃ K.Seniors >小。居<

来说兩句