百度普通收录不支持sitemap的索引类型,提示索引型不予处理的问题和解决方案

百度不支持sitemap的索引类型,提示索引型不予处理的问题。附解决方案!

有些天没登录百度站长平台了,今天本想上去看收录情况和有些什么是需要调整的,果然,百度没让我失望,直接我就发现如下图的sitemap地图索引错误,我网站地图使用的是wordpress著名的地图生成插件Google XML Sitemaps,我想应该不会有什么问题啊,因为包括谷歌在内的大部分搜索引擎都可以良好支持!百度之前也是OK的,为毛今天就不行了,于是删除了地图,又添加了一次,结果,错误提示一样。

于是马上谷歌了一下,发现有此问题的不是我一个,原来,百度悄悄调整了提交地图的规则,百度发布过通知,但通知更多的时候是些垃圾信息,所以也没留意,翻了一下,果然有,通知如下:

那什么是索引型 xml 站点地图?

典型就是利用wordpress Google XML Sitemaps这样的插件生成出来的网站地址就是,简单的说就是sitemap里面还有子sitemap网址。如下图:

解决方案:

一、等待Google XML Sitemaps插件更新,以适应百毒。

二、利用宝塔面板创建支持百度的xml地图文件。(PS:不包含自定义文章,系统环境: Nginx)

1、将以下代码添加到 sitemap.php 文件(文件名可自定义),并将该文件上传到站点根目录中。

<?php
require('./wp-blog-header.php');
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
$posts_to_show = 1000;
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">'
?>
<!-- generated-on=<?php echo get_lastpostdate('blog'); ?> Diy By 张戈博客(https://zhang.ge)-->
<url>
<loc><?php echo get_home_url(); ?></loc>
<lastmod><?php $ltime = get_lastpostmodified('GMT');$ltime = gmdate('Y-m-d\TH:i:s+00:00', strtotime($ltime)); echo $ltime; ?></lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<?php
/* 输出普通文章 POST */
$myposts = get_posts("numberposts=" . $posts_to_show );
foreach( $myposts as $post ) { ?>
<url>
<loc><?php the_permalink(); ?></loc>
<lastmod><?php the_time('c') ?></lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<?php } /* 普通文章循环结束 */ ?>
<?php
/* 输出页面 */
$mypages = get_pages();
if(count($mypages) > 0) {
foreach($mypages as $page) { ?>
<url>
<loc><?php echo get_page_link($page->ID); ?></loc>
<lastmod><?php echo str_replace(" ","T",get_page($page->ID)->post_modified); ?>+00:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<?php }} /* 页面循环结束 */ ?>
<?php
/* 输出普通文章分类 */
$terms = get_terms('category', 'orderby=name&hide_empty=0' );
$count = count($terms);
if($count > 0){
foreach ($terms as $term) { ?>
<url>
<loc><?php echo get_term_link($term, $term->slug); ?></loc>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<?php }} /* 普通文章分类循环结束 */?>
<?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;
?>
<url>
<loc><?php echo $link ?></loc>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<?php } /* 普通文章标签循环结束 */ ?>
</urlset>

2、登录宝塔 Linux 面板 >> 计划任务 >> 任务类型选择 Shell 脚本 >> 任务名称可随意 >> 执行周期建议每天凌晨执行 1 次即可 >> 脚本内容输入以下代码(PS:记得修改代码中的名称及路径哦) >> 点击【添加任务】按钮即可。

http 则添加以下代码:

wget -O /www/wwwroot/wp.tzzme.com/sitemap.xml http://wp.tzzme.com/sitemap.php

https 则添加以下代码:

wget -O /www/wwwroot/wp.tzzme.com/sitemap.xml --no-check-certificate http://wp.tzzme.com/sitemap.php

然后到宝塔面板里去添加定时执行任务。

如果你希望这个地图包含自定义文章内容请参考:

WordPress纯代码生成百度支持的XML站点地图(含自定义文章)

写在最后:

不管百度搜索基于什么考虑会取消支持索引型 sitemap 文件(即 xml 文档嵌套 xml 文档),毕竟这种类型的站点地图索引在谷歌、必应等搜索引擎都是支持的。不过作为百毒来说,目前来讲在国内没有谷歌这个对手,倒是还可以任性几回,只是不知道,这种任性能坚持多久!

人已赞赏
资源分享

保时捷和大众的关系在那里,是一家车企吗?

2020-7-12 1:24:05

资源分享

Mozilla为什么要宣布暂停Firefox Send文件共享服务

2020-7-13 23:41:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索