OurJS网站之前一直使用Bing实现站内搜索,基本原理是搜索时添加关键字 site:ourjs.com 即可限定只搜索 ourjs.com 网站内的内容。因此在实现时需要通过JavaScript改变最终的搜索词。
但有用户反应对中文支持不太友好,并且提交 Sitemap 后,百度收录速度明显快于Bing。现在已经换成了百度搜索。
Bing站内搜索
搜索引擎相关模板,存放在 mod\ourjs\web\ourjs.nav.part
Bing的搜索引擎关键字为 q,这里使用query存放用户输入的关键字,q存放拼接site:ourjs.com之后的关键字。
<form class="navbar-form navbar-right site-search" action="http://cn.bing.com/search" target="_blank">
<div class="form-group">
<input type="text" name="query" class="form-control" placeholder="搜索" value="{{=it.query || ''}}">
<input type="hidden" class="realQuery" name="q" value=" site:ourjs.com">
</div>
<button type="submit" class="btn btn-default">搜索</button>
</form>
然后添加一点JS代码即可。
var OurJS = window.OurJS = window.OurJS || {};
OurJS.Search = (function() {
var $siteSearchForm = $('.site-search')
var $inputQuery = $siteSearchForm.find('input')
var $realQuery = $siteSearchForm.find('.realQuery')
var $btnSubmit = $siteSearchForm.find('.btn')
var updateQuery = function(e) {
var query = $inputQuery.val()
$realQuery.val(query + ' site:ourjs.com')
}
$inputQuery.on('keyup', updateQuery)
$btnSubmit.on('click', updateQuery)
updateQuery()
})();
百度站内搜索
百度与Bing类似,搜索关键字为 wd,搜索网址为 https://www.baidu.com/s
<form class="navbar-form navbar-right site-search" action="https://www.baidu.com/s" target="_blank">
<div class="form-group">
<input type="text" name="query" class="form-control" placeholder="搜索" value="{{=it.query || ''}}">
<input type="hidden" class="realQuery" name="wd" value=" site:ourjs.com">
</div>
<button type="submit" class="btn btn-default">搜索</button>
</form>
这样搜索引擎集成完成。
回复 (0)
微信扫码 立即评论