适用人群
这篇教程适合以下两类朋友:一是刚刚接触Z-Blog,想给自己的网站加上网站地图,但完全不知道从哪里下手的新手;二是已经用Z-Blog建好了站,但发现搜索引擎收录慢、抓取不全面,想通过优化网站地图来提升SEO效果的个人站长或中小企业运营者,只要你会基本的后台操作、能看懂文件路径,跟着下面的步骤走,就能把网站地图完整搭建起来。
准备工作:先搞懂Z-Blog网站地图的两种形态
在动手之前,你要知道Z-Blog网站地图通常指两种文件:一种是给搜索引擎看的sitemap.xml(XML格式,列出所有文章和页面URL);另一种是给访客看的map或archives页面(HTML格式,方便用户浏览全站内容),本教程会同时教会你生成这两种,并且让它们协同工作。
完整搭建步骤(新手照做即可)
第一步:登录Z-Blog后台,确认版本和权限
进入你的网站后台(通常是你的域名/zb_system/login.php),用管理员账号登录,点击左侧菜单的“网站设置”,确认你的Z-Blog版本(建议使用最新版,老版本可能不支持某些插件),同时确认你的主机支持伪静态(Apache/IIS/Nginx均可),如果不支持,后面生成的地图URL会带参数,虽然能用但不够美观。

Z-Blog网站地图从零到一,手把手教你构建SEO友好的站点地图
第二步:安装“网站地图”插件(最省事的方式)
Z-Blog官方应用中心有一款免费插件叫做“Sitemap”,这是绝大多数站长首选的方案,操作路径:后台左侧菜单点击“应用中心” -> “搜索” -> 输入“sitemap” -> 找到“Sitemap”插件(作者通常标记为ZBlogger官方或知名开发者) -> 点击“安装”,安装完成后,在“插件管理”里启用它。
启用后,插件会自动在根目录生成一个sitemap.xml文件,此时你只需访问你的域名/sitemap.xml,如果能看到类似<urlset>标签的XML代码,说明基本功能已生效。
第三步:手动生成动态网站地图(不依赖插件的备选方案)
如果你不想用插件,或者插件因兼容性问题无法启用,那就手动写一个PHP文件,用记事本或任何代码编辑器,在Z-Blog根目录新建一个mymap.php文件,输入以下代码:
<?php
require_once('zb_system/function/c_system_base.php');
$zbp->Load();
header('Content-Type: application/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
// 输出首页
echo '<url><loc>' . $zbp->host . '</loc><changefreq>daily</changefreq><priority>1.0</priority></url>' . "\n";
// 输出所有文章
$articles = $zbp->GetArticleList('', '', null, null, '');
foreach ($articles as $article) {
echo '<url><loc>' . $article->Url . '</loc><lastmod>' . $article->PostTime->format('Y-m-d') . '</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>' . "\n";
}
// 输出所有页面
$pages = $zbp->GetPageList('', '', null, null, '');
foreach ($pages as $page) {
echo '<url><loc>' . $page->Url . '</loc><lastmod>' . $page->PostTime->format('Y-m-d') . '</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>' . "\n";
}
echo '</urlset>';
?>
保存后,访问你的域名/mymap.php即可看到动态生成的XML,这种方式的好处是无需插件,每次有文章更新时,URL会实时变化,搜索引擎每次爬取都能拿到最新列表。
第四步:生成HTML形式的访客地图(面包屑导航)
除了XML,你还需要一个用户能点击的页面,去后台“分类管理”里新建一个分类,取名“网站地图”,别名设为map,然后创建一篇新文章,在正文编辑器里切换到HTML源码模式,插入如下代码:
<ul>
<?php
$articles = $zbp->GetArticleList('', '', null, null, '');
foreach ($articles as $article) {
echo '<li><a href="' . $article->Url . '">' . $article->Title . '</a></li>';
}
?>
</ul>
不过普通文章不支持PHP代码,所以更简单的办法是直接用“自定义页面”功能,或者安装“页面地图”类插件,这里推荐一个技巧:你可以在主题的page.php模板里加入循环输出所有文章的代码,但新手操作模板容易出错,所以最稳妥的还是在后台新建一个静态页面,然后用插件“文章列表调用”来展示全部文章链接,如果你不想再装插件,就手动把文章链接复制粘贴到页面里——文章少时可行,文章多了不推荐。
第五步:配置伪静态规则,让地图URL更简洁
如果你希望sitemap.xml这个文件名不是动态生成的,而是真正的静态文件,可以在后台“网站设置” -> “伪静态配置”里,把“静态文件后缀”设为.xml,并确保服务器重写规则包含了xml后缀,以Apache为例,你的.htaccess文件里需要有:
RewriteRule ^sitemap\.xml$ mymap.php [L]
这样用户访问sitemap.xml时,实际调用的是mymap.php,但URL是静态的,更利于搜索引擎识别。
配置要点(决定成败的细节)
- 更新频率和优先级要合理:首页优先级设为1.0,最新文章0.8,旧文章0.5,页面0.3左右,不要把所有URL都写成1.0,会让搜索引擎认为你在作弊。
- 必须使用绝对URL:地图里的每个链接都要以
https://你的域名开头,不能使用相对路径/post/1.html,否则搜索引擎无法正确解析。 - URL大小写标准化:Z-Blog的链接默认区分大小写,如果你的文章别名是大写,地图里也保持大写,不要混用。
- 排除无价值的页面:比如标签页面、作者页面、登录页、搜索结果页,如果插件提供“排除指定分类”或“排除指定URL”的功能,务必开启,避免垃圾链接充斥地图。
- XML文件编码必须是UTF-8:任何中文字符(如文章标题)在XML中都会被转义,但文件本身的编码必须是UTF-8无BOM,否则报错。
- 主动推送搜索引擎:生成好地图后,去百度搜索资源平台、Google Search Console里提交你的
sitemap.xml地址,并开启“自动推送”功能(Z-Blog有对应插件),这样新文章发布后能秒级通知搜索引擎。
常见踩坑提醒(新手最容易犯的错)
坑1:使用插件后sitemap.xml一直404
多数原因是插件生成了XML文件,但你的服务器没有将.xml后缀解析为PHP,或者插件写入文件时因权限不足失败了,解决方法:检查根目录是否有sitemap.xml文件,如果没有,手动创建一个空白文件并设置权限为777;如果是动态生成但404,检查伪静态规则是否误删了xml后缀的转发。
坑2:地图里包含大量重复URL
比如同一篇文章既出现在文章列表,又出现在“首页分页”/page/2里,解决方法是关闭Z-Blog的“分页生成静态HTML”功能,只保留伪静态分页,并在插件设置里勾选“排除分页URL”。
坑3:更新文章后地图不更新
如果你用的是静态文件型的插件,每次发布文章后需要手动更新一次地图,建议改用动态地图(如上面的mymap.php),或者在后台插件设置里开启“发布文章时自动重建”,对于动态地图,则要确认服务器缓存插件没有缓存XML文件,否则更新不实时。
坑4:地图文件过大
当文章超过1万篇时,sitemap.xml会变得很大,超过10MB会被搜索引擎拒绝,解决办法是把地图按月份拆分成多个文件,比如sitemap-2024.xml、sitemap-2025.xml,然后用一个sitemapindex.xml索引文件指向它们,Z-Blog的付费插件“高级Sitemap”支持自动拆分,免费版则手动写一个循环切分函数。
坑5:HTML地图页和XML地图页互相冲突
有的新手把map这个别名同时用在了HTML页面和XML文件名上,导致访问你的域名/map时,浏览器不知道该返回网页还是XML文件,HTML地图页用map.html或map目录,XML地图用sitemap.xml,两者完全独立,避免混用。
坑6:删除了插件但地图文件还在
当你停用并删除Sitemap插件时,它生成的sitemap.xml不会自动删除,旧文件会一直存在于根目录,下次如果你用其他方式生成地图,可能会出现新旧两个文件,搜索引擎会同时抓取,造成混乱,所以删除插件后,务必手动删除根目录下的sitemap.xml。
效果检查清单
搭建完成后,按以下步骤验证:
- 浏览器访问
你的域名/sitemap.xml,确认返回的是标准XML结构。 - 在Google Search Console里测试URL,点击“测试”看是否报错。
- 查看你网站的HTML地图页,随机点击几个链接,确认能正常打开文章。
- 发布一篇新文章,再访问
sitemap.xml,看新文章URL是否出现(动态地图即时出现,静态地图需更新)。 - 确认服务器日志里没有
500或404报错。
最后的建议
网站地图不是一次建好就永远不管了,随着你发布新内容、修改旧文章、删除分类,地图都要跟着调整,建议每篇文章发布后都手动刷新一次XML地图(或在后台“更新缓存”时一并触发),如果网站内容超过几千篇,建议从纯插件方案迁移到动态PHP方案,并在服务器层面开启gzip压缩,这样可以大大减轻带宽压力。
按照以上步骤操作,你的Z-Blog网站会在24小时内被搜索引擎更频繁地抓取,收录量和收录速度都会有明显改善,现在就去试试吧。
发表评论