网站建设

PHP制作百度站内搜索绿色通道的网页列表数据文件

Jager · 10月26日 · 2014年 · 3379次已读

用过百度站内搜索的朋友,都知道前不久推出了一个绿色收录通道,改善站内搜索的时效性和覆盖率,说明如下:

站内搜索结果数太少?最新的页面搜不到?您可以在本页面提交数据,提升您的站内搜索收录时效性和覆盖率。
方法 1:提交一个种子页面 URL,如网站首页,搜索引擎将从这个页面进行扩散,抓取站点的其他页面。
方法 2:提交网站列表(即 sitemap),列举您站点需要抓取的所有网页,该方法收录效果更好。
注:在此提交的数据将用于改善您的站内搜索质量,同时有机会被百度网页搜索收录,但并没有收录上的优待。

虽然,说明中提到了并没有收录上的优待,但绝对增加了网页搜索收录的效率,因为这个数据的提交相当于给蜘蛛额外提供了一个爬行路线,效果应该还是有的!

先说一下方法 1 的做法:

如果使用方法 1,我们可以提交一个简版的站点地图,比如张戈博客提交的就是https://zhang.ge/blogmap/这个页面。提交后发现迟迟不能审核!

仔细查看后,发现该页面有这样一句话:

注:网站必须已安装站内搜索才能使用本功能。如果未通过审核,请检查您的网站是否已正确安装站内搜索。

原来必须要在页面上安装百度站内搜索才能审核通过!

所以,提交 URL 之后,就必须部署由百度提供的站内搜索代码:

<script type="text/javascript">document.write(unescape('%3Cdiv id="bdcs"%3E%3C/div%3E%3Cscript charset="utf-8" src="http://rp.baidu.com/rp3w/3w.js?sid=11196058821421648414') + '&t=' + (Math.ceil(new Date()/3600000)) + unescape('"%3E%3C/script%3E'));</script>

但是,我的博客已经有自己 DIY 的站内搜索了,并不想添加百度这个搜索框,最后我还是将这个搜索代码添加到了 footer,然后使用 CSS 的 display:none 属性隐藏掉了,不出几天,果真审核通过了!

PHP制作百度站内搜索绿色通道的网页列表数据文件

下面说下方法 2:

方法 2,其实就是提交一个 sitemap.xml,没什么技巧,那为什么要写这篇文章呢?

因为大部分新站都没开通百度的 sitemap 权限!所以,我写这篇文章的主要目的就是分享一个变相提交 sitemap 的方法!!当然,除了在站内搜索变相提交 sitemap 优化收录之外,咱们还可以使用百度的开放适配来变相提交 sitemap,有兴趣的可以查看张戈博客之前的文章:《移动搜索 SEO 分享:PHP 自动生成百度开放适配及 360 移动适配专用的 Sitemap 文件》。

既然,百度不给你开通 sitemap,那你就可以利用站内搜索和开放适配变相提交 sitemap 数据!!

好了,下面分享代码:

①、XML 格式:

如果想使用 xml 格式,只要使用张戈博客前几天写的《WordPress 免插件生成完整站点地图(sitemap.xml)的 php 代码》一文中的 php 代码即可,成功提交后如下显示:

PHP制作百度站内搜索绿色通道的网页列表数据文件

②、TXT 格式:

TXT 就是将博客的所有页面地址一行一行的列出即可,其实并不一定是 txt 后缀地址!

代码如下:

<?php
require('./wp-blog-header.php');
header("Content-type: text/txt");
header('HTTP/1.1 200 OK');
$posts_to_show = 1000; // 获取文章数量
?>
<?php echo 'http://'.$_SERVER['HTTP_HOST']; ?><?php echo "\n"; ?>
<?php
/* 文章页面 */
header("Content-type: text/txt");
$myposts = get_posts( "numberposts=" . $posts_to_show );
foreach( $myposts as $post ) {
    the_permalink(); 
    echo "\n"; 
}
?>
<?php
/* 单页面 */ 
$mypages = get_pages();
if(count($mypages) > 0) {
    foreach($mypages as $page) {
    echo get_page_link($page->ID);
    echo "\n";
    }
}
?>
<?php
/* 博客分类 */ 
$terms = get_terms('category', 'orderby=name&hide_empty=0' );
$count = count($terms);
if($count > 0){
foreach ($terms as $term) {
    echo get_term_link($term, $term->slug);
    echo "\n";
    }
} 
?>
<?php
 /* 标签(可选) */
	$tags = get_terms("post_tag");
	foreach ( $tags as $key => $tag ) {
			   $link = get_term_link( intval($tag->term_id), "post_tag" );
			   if ( is_wp_error( $link ) ) {
			      return false;
			      $tags[ $key ]->link = $link;
			   }
                  echo $link;
                  echo "\n";
	}          
?>

保存为 search 放到网站根目录,然后访问查看效果,比如https://zhang.ge/search.php

最后,前往站内搜索绿色通道提交即可:http://zhanzhang.baidu.com/search/greenchannelsitemap

PHP制作百度站内搜索绿色通道的网页列表数据文件

提交成功,过一会刷新就能看到数据了:

PHP制作百度站内搜索绿色通道的网页列表数据文件

3 条回应
  1. 8云资讯网 2014-10-26 · 16:28

    谢谢分享

    • 消灭星星 2014-10-26 · 17:05

      学习了,感谢分享。
      我觉得写的挺好的

  2. 咏春拳学 2015-5-8 · 22:46

    博主是个技术大牛,崇拜之致,欢迎来我的博客看看~