WordPress快速创建sitemap站点地图的几种方法。

作为站长不论小白还是经验丰富的老鸟,网站运营最重要的就是站点地图,站点地图是什么?它是一个工具,站长每天网站更新信息都被记录到网站地图(sitemap)里面,这是供搜索引擎爬虫抓取信息的页面,跟我们普通人见到的网站页面是不同的。你的站点地图优化得越好,搜索引擎搜索抓取结果越快,对于网站运营成长有很大的帮助。在这里我们也必须知道,虽然站点地图(sitemap)很重要,但是网站没有实质有用的东西,搜索引擎也是不会喜欢的,现在很多搜索引擎都偏爱原创网站,抄袭垃圾站点基本上没什么发展空间。所以说,网站运营第一是内容,第二才是优化!这里主要讲我的wordpress网站生成站点地图(sitemap)出现404错误解决办法。

我为什么要写这篇文章?实质是我在网站建设时遇到很大的问题,在用wordpress插件创建网站地图(sitemap)时候出现的是404错误,不论我是换站点地图插件还是更改固定链接,sitemap打开都是404错误。但是今天我在上班时候偶然打开我的网站地图居然打开了,搞得我高兴了一大阵子,这里就介绍一下怎么弄站点地图,避免404错误。

1.手动生成站点地图这一步其实我也不懂,但是我在张戈大神博客上看到他贴的代码实现无插件生成站点地图(sitemap),通过复制粘贴他的代码保存为php格式上传到网站根目录,可以实现打开https://域名/sitemap.php打开站点地图,但是php格式的站点地图很多搜索引擎都不支持,例如搜狗、神马搜索、360搜索。不要小看这几个搜索引擎他们占据的移动流量很大比例,毕竟现在移动为王。

把上述代码复制粘贴到txt文本,用notepad、sublime、vim等文本工具打开另存为sitemap.php上传到网站根目录,可以试试能不能打开。例如我的博客站点地图https://www.z-turns.com/sitemap.php.代码太长,可以到张戈大神网站网站上看也可以去我的小站上踩。

2.站点地图工具

a.Google-sitemap-generator

创建XML站点地图,有助于Google,Bing,Yahoo和Ask.com等搜索引擎更好地为网站建立索引。个人曾使用此插件成功创建过站点地图(sitemap),而且bing、Google国外搜索引擎收录很快,国内的话收录比较慢。插件有中文版,适合新手使用。文末openload下载地址

b.Google XML站点地图

此插件能创建与 XML 站点地图或谷歌新闻订阅源协议相兼容的订阅源。目前已与多站点、Polylang、WPML 相兼容,并且不会创建多余文件。适合文本博客类网站使用,向Google新闻提交rss源,在插件中心就能下载,如果打开慢,需要插件的可以留言我帮你下。

c.wordpress插件Jetpack神器

这个插件我此前使用就拿它来看看网站流量,看下点击,搜索来源。今天意外发现了它能自动生成站点地图(sitemap),省去了我很多功夫。插件生成了两个地图:https://www.z-turns.com/sitemap-1.xml和https://www.z-turns.com/image-sitemap-1.xml,而且不用自己在插件中心设置,相比于其他插件,我觉得这个插件更适合我这种小白。同时这个插件还有很多功能:(1.站点监控(2.拦截恶意攻击(3.可以设置使用纯文本 Markdown 语法撰写文章或编写页面(4.检查拼写、风格和语法(5.加快站点加载速度:延迟加载图片、通过服务器提供图片(6.自定义内容类型:点赞好评(7.通过发送电子邮件发布文章(8.网站统计:查看流量来源、点击量、文章点击(9.防垃圾评论

总结:Jetpack插件是wordpress官方所出的插件,使用体验很好,适合小白。对于生成站点地图出现404错误,可以轻松解决,不用反复搜索百度,寻找解决方法。wordpress网站尽可能少安装插件,因为那会拖慢网站运行速度,对SEO不友好。

d.WordPress百度网站地图生成插件:Baidu Sitemap Generator

这个插件是国人 柳城 制作的,通过它可以生成百度 Sitemap XML 文件,就相当于网站被百度搜索引擎订阅,进而为您的网站带来潜在的流量;同时生成一个静态的站点地图页面,对所有的搜索引擎都有利。

e.代码模式

在根目录新建文件sitemap.php,将以下的代码复制进去

<?php
include ( "wp-config.php" ) ;
require_once (ABSPATH.'wp-blog-header.php');
home_url();
global $wpdb;
$qianzui = $_SERVER['REQUEST_SCHEME']."://".$_SERVER['SERVER_NAME'];
$sqlcat="select taxonomy,slug from wp_term_taxonomy JOIN wp_terms on wp_terms.term_id=wp_term_taxonomy.term_id where taxonomy='category' and slug <> 'uncategorized'";
$sqltag="select taxonomy,slug from wp_term_taxonomy JOIN wp_terms on wp_terms.term_id=wp_term_taxonomy.term_id where taxonomy='post_tag'";
$myrowscat = $wpdb->get_results($sqlcat);
$myrowstag = $wpdb->get_results($sqltag);
$str = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">';
$str.="
<url>
<loc>".$qianzui."</loc>
<lastmod>".date('Y-m-d')."</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
";
foreach ($myrowscat as $b) {
$str.="<url>\r\n";
$str.="<loc>".$qianzui."/category/".$b->slug."</loc>\r\n";
$str.="<lastmod>".date("Y-m-d")."</lastmod>\r\n";
$str.="<changefreq>weekly</changefreq>\r\n";
$str.="<priority>0.9</priority>\r\n";
$str.="</url>\r\n";
}
foreach ($myrowstag as $b) {
$str.="<url>\r\n";
$str.="<loc>".$qianzui."/tag/".$b->slug."</loc>\r\n";
$str.="<lastmod>".date("Y-m-d")."</lastmod>\r\n";
$str.="<changefreq>weekly</changefreq>\r\n";
$str.="<priority>0.9</priority>\r\n";
$str.="</url>\r\n";
}
$myposts = get_posts();
foreach( $myposts as $post ) {
$str.="<url>\r\n";
$str.="<loc>".urldecode(get_permalink())."</loc>\r\n";
$str.="<lastmod>".date("Y-m-d")."</lastmod>\r\n";
$str.="<changefreq>weekly</changefreq>\r\n";
$str.="<priority>0.8</priority>\r\n";
$str.="</url>\r\n";
}
$str.="</urlset>";
file_put_contents('./sitemap.xml',$str);
echo 'update sitemap.xml success <a href="/sitemap.xml"> 查看</a>';
?>

运行http://yourdomain.com/sitemap.php

点击查看,即可查看sitemap.xml,也可以到根目录查看sitemap.xml

如不能访问请设置伪静态
nginx添加如下伪静态规则:
rewrite^/sitemap.xml$/sitemap.php last;

文章版权归原作者所有或来自互联网,未经允许请勿转载。如有侵权请联系我删除,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>