WordPress通用站点+老薛主机创建百度支持的xml地图文件

时在中春,阳和方起。阳和:春天的暖气。有时候,所有风景只为一个路人,或一个路过的人。一如那最初的爱情。

使用谷歌地图插件生成的 sitemap.xml 文件在百度搜索资源平台中显示“索引型不予处理”,所以我们非常有必要生成一个百度支持(符合百度要求)的 xml 地图文件。如果你的 WordPress 站点没有任何的自定义文章类型,而且使用老薛主机建站,那么创建百度支持的 xml 地图文件将会变得非常简单,仅需要两个步骤即可(PS:如果使用服务器的话,请参考『WordPress 通用站点+宝塔面板创建百度支持的 xml 地图文件』)。

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>

代码特别说明:

  • 代码来自张戈博客分享的『WordPress 免插件生成完整站点地图(sitemap.xml)的 php 代码』,并改正 GMT 错误。
  • 第 5 行代码中的$posts_to_show 就是显示多少篇文章,如果想要全部显示完,直接将其改为 10000 甚至更大的值。
  • 第 9 行代码意义不大,只是说明这个代码来自张戈博客。

2、登录老薛主机 cPanel 面板(PS:不懂?请参考『如何通过老薛主机后台一键登录 cPanel 面板?』)>> 在“高级”找到并点击“Cron 作业” >> 在“添加新 Cron 作业”的“常用设置”中按下图选择日期及时间(PS:可根据实际情况修改)>> 在“命令”中添加以下代码并点击【添加Cron 作业】按钮即可。

如果站点是 http 则添加以下代码:

wget -O /home/yourname/public_html/sitemap.xml https://laoxuezhujiyouhuima.com/sitemap.php

如果站点是 https 则添加以下代码:

wget -O /home/yourname/public_html/sitemap.xml --no-check-certificate https://laoxuezhujiyouhuima.com/sitemap.php

特别说明:

1)以上命令中的 yourname 就是你的面板/FTP 账号名,可以在产品信息中查看,使用时记得替换为自己的名字哦,同时还要修改laoxuezhujiyouhuima.com为自己的域名地址哦(PS:sitemap.php 为完整地址,可以现在浏览器中打开再复制粘贴)。

2)“常用设置”中的时间可以设置当前时间几分钟后,到时候可以观察是否成功在根目录中生成 sitemap.xml。如果成功再编辑该Cron 作业的时间为凌晨时间。

3)如果使用老薛主机建立多个网站,想要为附加域站点添加 Cron 作业,只需要将/home/yourname/public_html/sitemap.xml 改为/home/yourname/public_html/附加域域名/sitemap.xml 即可。

经过老古的测试,根据以上两个步骤操作是可以自动生成 sitemap.xml 文件的,而且该文件格式是符合百度搜索资源平台中的普通收录和死链提交的 xml 文件。如果你的站点还没有符合百度要求的 xml 站点地图文件而且使用的是老薛主机建站,建议参考本文折腾。如果你的 WordPress 站点有自定义文章,而且想让自定义文章出现在 xml 文件中,建议参考『WordPress 纯代码生成百度支持的 XML 站点地图(含自定义文章)』这篇文章操作。

以上就是WordPress通用站点+老薛主机创建百度支持的xml地图文件。企业强大难,保持长盛不衰更难;重要的不是个别人,一部分人,而是全体人员,即每一个细胞都充满活力才行。更多关于WordPress通用站点+老薛主机创建百度支持的xml地图文件请关注haodaima.com其它相关文章!

标签: WordPress xml