创建自己的Google Custom Engine
Step 1
访问http://www.google.com/coop/cse/?hl=zh-CN,选择”创建自定义搜索“.
Step 2
按照提示定义自己的搜索引擎语言和网站范围.由于主要使用自己Blog的搜索,所以我选择的是”仅我选择的网站“.然后在”要搜索的网站“中填入自己网站的地址.
Step 3
完成创建后就可以在”我创建的搜索引擎“中看到你刚才创建的自定义搜索了.点击”控制面板“进行下一步的配置.
Step 4
选择”编制索引“,将你网站的sitemap导入你的自定义搜索,编制索引可能需要花一些时间,所以一开始你的搜索是不会有任何结果的.
Step 5
选择”代码“,点击”在您的网站上托管搜索结果“,”iframe“.获得”搜索框代码“和”搜索结果代码“.
这样,你的自定义搜索就算创建完成了.你还可以通过”优化”,”外观”来完善你的自定义搜索.
修改Wordpress默认搜索
主要修改的就是你当前theme中的searchform.php和search.php.你可以手动修改也可以通过Appearance->Editor来修改.
Step 1 修改searchform.php.
这是我修改后的searchform.php.
<form method=”get” id=”cse-search-box” action=”<?php bloginfo(‘url’); ?>/”>
<label class=”hidden” for=”s”><?php _e(‘Search for:’); ?></label>
<div><input type=”text” value=”<?php the_search_query(); ?>” name=”q” id=”q” size=”31″ />
<input type=”submit” id=”searchsubmit” value=”Search” />
<input type=”hidden” name=”cx” value=”xxxxxxxxxxxxxxxxxxxxxxxxxxxx” />
<input type=”hidden” name=”cof” value=”FORID:xx” />
<input type=”hidden” name=”ie” value=”UTF-8″ />
<input type=”hidden” name=”s” value=”Search”/>
<input type=”hidden” name=submit” value=””/>
</div>
</form>
请注意黑色的修改部分,具体的修改根据theme也会略有不同。主要都是根据”搜索框代码“进行的修改。比较注意的是需要增加”s=Search”,”submit=”这两个hidden,这是为了让wordpress能够跳转到search.php.
Step 2 修改search.php.
我选择的是两栏式的Theme,然后希望搜索结果显示在页面的左中,所以将search.php修改成如下格式.
<?php get_header(); ?>
<div id=”main”>
<div id=”content” class=”narrowcolumn”>
<!– Google Search Result Code –>
<!– Google Search Result Code –>
</div>
<?php get_sidebar(); ?>
</div>
<?php get_footer(); ?>
将之前获得的”搜索结果代码“贴在指定的地方就可以了。如果你不想要sidebar,也可以在这个基础上作自己的修改。
Tip 1:
貌似http://www.google.com/coop/cse/和http://www.google.com/coop/cse/?hl=zh-CN的数据同步有一些问题.一开始在英文版下注册的Custom Engine在中文版里面看不到.考虑到最后需要中文效果,所以我还是选择在后者创建自己的搜索引擎.
Tip 2:
我的”搜索框代码”不知道为什么缺少下面这段JS调用,一开始尝试了半天也没有办法起作用.创建其他新的自定义搜索就没有问题,真实奇怪.Anyway,如果你的搜索框无法正常跳转,看看是不是这个问题.
<script type=”text/javascript” src=”http://www.google.com/coop/cse/brand?form=cse-search-box&lang=zh-Hans”></script>
Tip 3:
通过”控制面板“->”赚钱“.你可以通过到你的Adsense帐户创建”搜索广告”,在你搜索结果页中显示Google Adsense广告,赚点小钱.
具体就不细说了,有问题可以联系我.
admin Reply:
May 19th, 2009 at 5:55 pm
用Firefox的Http Header查一下Request.我估计是你有一个hidden没有写全.
[Reply]