网站的地图要怎么做?3步搞定免费工具

网站的地图要怎么做?3步搞定免费工具

网站做好了没人访问,多半是因为搜索引擎爬虫根本“迷路”了。

很多新手站长花大价钱把网站做漂亮了,上线后却对着后台发呆:为什么百度搜不到?为什么谷歌排名靠后?

其实问题往往出在一个极其基础却容易被忽视的文件上:Sitemap(站点地图)。

别被这个词吓到,它不是让你画图纸,而是一份给机器人看的“目录”。

今天不整虚的,直接带你用免费工具,从零开始把这份“地图”做出来,让搜索引擎一眼看穿你的网站结构。

概念速懂:什么是Sitemap,它和robots.txt有啥区别

先破个谣:Sitemap 不是给用户看的。

用户点导航栏就能逛,不需要地图。Sitemap 是给 Googlebot、Baiduspider 这些爬虫看的。

你可以把网站想象成一栋巨大的迷宫。

  • robots.txt 是门口的告示牌,写着“这里不能进”、“那里随便进”。它管的是权限。
  • Sitemap.xml 是迷宫的导览图,上面标明了所有房间的编号、名字和最后更新时间。它管的是发现。

如果你的网站结构很深,比如文章藏在 /blog/category/subcategory/post-id/ 这种三级目录下,爬虫可能爬着爬着就“懒”了,懒得再往下翻。

这时候,一份标准的 sitemap.xml 就能直接告诉爬虫:“嘿,这里有个新文章,叫《XX技巧》,昨天刚更新,快去收录!”

关键点来了:

  1. 格式必须是 XML:浏览器打开是一堆代码,别慌,这是机器语言。
  2. 包含 URL 列表:只放你希望被收录的页面,垃圾页、感谢页、登录页统统别放。
  3. 要有时间戳:lastmod 字段非常重要,告诉爬虫“这页变了,优先抓”。

很多人问:“我网站才 10 个页面,需要做 Sitemap 吗?”

做,必须做。

小网站靠爬虫慢慢爬,效率极低。有了 Sitemap,收录速度能提升 30%-50%,尤其是新站,冷启动阶段这玩意儿就是救命稻草。

注册与购买:你不需要买,但需要确认环境

这里有个巨大的误区:很多新手以为 Sitemap 是个收费服务,或者需要买什么“SEO 插件 Pro 版”。

错。Sitemap 本身是免费的,生成工具也是免费的。

你不需要去阿里云、腾讯云买专门的 Sitemap 服务。你只需要你的网站能正常访问,且服务器支持 XML 文件解析。

你需要确认的三件事:

  1. 域名解析正常:你的域名 www.example.com 能打开,且没有 SSL 证书错误(HTTPS 警告)。如果爬虫被证书错误挡在门外,Sitemap 写得再好也没用。参考 Cloudflare 文档 中关于 SSL 配置的部分,确保你的域名已经启用了“Full (Strict)”或“Full”模式,避免混合内容警告。
  2. 服务器目录可写:你需要在网站的根目录(通常是 public/ 或 htdocs/)下放一个 sitemap.xml 文件。
  3. URL 结构规范:如果你的网站是动态生成的(如 WordPress、ThinkPHP、Laravel),确保你的 URL 是静态友好的。

关于“免费工具”的选择:

  • 静态站点(HTML 手写):直接用文本编辑器写 XML。
  • CMS 系统(WordPress、帝国、织梦):大多数都有内置功能或免费插件。
  • 动态站点(自定义代码):需要写后端代码生成 XML 响应头。

今天重点讲通用方法,无论你用什么技术栈,这套逻辑都通。

配置与部署:手把手写出第一份 Sitemap

别被代码吓跑,Sitemap 的 XML 结构非常固定,就像填表格一样。

第一步:准备 URL 列表

拿出你的笔记本,列出所有你想让搜索引擎收录的页面。

  • 首页:https://www.example.com/
  • 关于我们:https://www.example.com/about.html
  • 博客文章1:https://www.example.com/blog/post-1.html
  • 博客文章2:https://www.example.com/blog/post-2.html

注意:

  • 必须是完整 URL,包含 https://。
  • 结尾的 / 要统一,有的系统首页要加,有的不加,看你服务器配置。
  • 去重:同一个页面不要出现两次。

第二步:编写 XML 内容

打开记事本(Windows)或 TextEdit(Mac,切换纯文本模式),输入以下代码。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://www.example.com/</loc><lastmod>2023-10-27</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url><url><loc>https://www.example.com/about.html</loc><lastmod>2023-10-20</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.example.com/blog/post-1.html</loc><lastmod>2023-10-25</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
</urlset>

字段解释(划重点):

  • <loc>:页面完整地址。
  • <lastmod>:最后修改日期,格式 YYYY-MM-DD。这个字段爬虫很看重,越新越优先抓。
  • <changefreq>:更新频率。别填 always,那是骗人的,填 daily、weekly、monthly 比较诚实。
  • <priority>:优先级。1.0 最高,0.1 最低。首页给 1.0,核心栏目 0.8-0.9,普通文章 0.5-0.7。

常见错误:

  • 忘了写 <?xml version="1.0" encoding="UTF-8"?>,导致中文路径乱码或解析失败。
  • 标签没闭合,比如 <loc> 后面没跟 </loc>。
  • 日期格式错误,比如写成 10/27/2023,必须写成 2023-10-27。

第三步:上传文件

  1. 将上面的内容保存为 sitemap.xml。
  2. 通过 FTP 或宝塔面板文件管理,上传到网站根目录。
    • 如果你的网站是 https://www.example.com/,文件就放在 /public/ 或 /htdocs/ 下。
  3. 在浏览器输入 https://www.example.com/sitemap.xml,如果能看到上面那段代码,恭喜,部署成功。

第四步:提交给搜索引擎(关键一步)

做了不提交,等于白做。

谷歌:

  1. 登录 Google Search Console。
  2. 左侧菜单点“站点地图”。
  3. 输入 sitemap.xml 或完整 URL,点击提交。
  4. 如果显示“成功”,过 24 小时就能看到“已发现网址”数量。

百度:

  1. 登录百度站长平台。
  2. 左侧菜单“普通收录” -> “API 快速收录” 或 “Sitemap 抓取”。
  3. 添加 Sitemap URL。
  4. 注意:百度对 Sitemap 的支持不如谷歌好,建议配合“主动推送”代码使用。

常见问题:为什么我的 Sitemap 没生效?

做完了,收录还是没动静?别急,排查这三个坑。

1. robots.txt 里禁用了 Sitemap

打开你的 robots.txt,看看有没有这一行:

Disallow: /sitemap.xml

如果有,赶紧删掉!或者改成:

Allow: /sitemap.xml

原因:你告诉爬虫“别去这里”,然后又说“地图在这里”,爬虫当然懵。

对策:检查 robots.txt,确保没有禁止抓取 sitemap 路径。

2. 页面 404 或 301 重定向

Sitemap 里的 URL 必须是 200 OK 状态。

  • 如果页面 404,爬虫抓不到,直接标记为无效。
  • 如果页面 301 跳转到另一个地址,Sitemap 里的地址就是错的。

对策:用工具(如 Ahrefs、SEMrush 免费版)批量检测 Sitemap 里的 URL 状态码。确保所有 URL 直接访问都是 200。

3. 网站结构太深,Sitemap 太大

XML 文件有大小限制。

  • 谷歌:单个 Sitemap 最大 50MB,最多 50,000 个 URL。
  • 百度:建议更小,不超过 10,000 个 URL。

如果你的网站有 10 万篇文章,一个文件装不下。

对策:使用 Sitemap Index。

创建一个 sitemap-index.xml,里面只包含其他 sitemap 的链接:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://www.example.com/sitemap-1.xml</loc><lastmod>2023-10-27</lastmod></sitemap><sitemap><loc>https://www.example.com/sitemap-2.xml</loc><lastmod>2023-10-27</lastmod></sitemap>
</sitemapindex>

然后把 sitemap-index.xml 提交给搜索引擎。

优化建议:从“能用”到“好用”的细节

Sitemap 做好了,怎么让它发挥最大价值?

1. 动态生成,别手动维护

如果你的网站每天更新文章,手动改 XML 是不可能的。

WordPress 用户: 安装免费插件 Yoast SEO 或 Rank Math。

  • 设置 -> 高级 -> 站点地图:勾选“启用站点地图”。
  • 自动生成的地址通常是 https://www.example.com/sitemap_index.xml。
  • 插件会自动根据文章更新 lastmod。

自定义开发用户: 写一个后端接口。

  • PHP 示例:

    <?php
    header('Content-Type: application/xml; charset=UTF-8');
    echo '<?xml version="1.0" encoding="UTF-8"?>';
    echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';// 从数据库查询最新文章
    $articles = $db->query("SELECT id, url, update_time FROM articles ORDER BY update_time DESC LIMIT 100");
    foreach ($articles as $row) {echo '  <url>';echo '    <loc>' . $row['url'] . '</loc>';echo '    <lastmod>' . date('Y-m-d', strtotime($row['update_time'])) . '</lastmod>';echo '    <changefreq>weekly</changefreq>';echo '    <priority>0.9</priority>';echo '  </url>';
    }echo '</urlset>';
    ?>
    
  • Node.js 示例: 使用 express 框架,创建一个路由 /sitemap.xml,查询数据库后返回 XML 字符串。

核心逻辑:Sitemap 必须是动态的,或者至少是定期自动更新的。静态文件过两天就过时了。

2. 过滤垃圾页面

不是所有 URL 都要进 Sitemap。

  • 登录页:/login、/admin —— 爬虫进去也干不了啥,浪费配额。
  • 搜索页:/search?q=keyword —— 动态参数页面,收录价值极低,且容易重复。
  • 标签页:/tag/php —— 如果标签页内容太少,建议屏蔽。
  • 分页:/page/2 —— 如果第 2 页内容少于 3 段,建议只收录第 1 页。

对策:在生成 Sitemap 时,加白名单/黑名单机制。只收录“有独立价值”的页面。

3. 监控收录率

做完 Sitemap 不是结束,要定期看数据。

  • Google Search Console:看“站点地图”页面的“已发现的网址”和“已编入索引的网址”。如果发现很多但收录很少,说明内容质量或内链结构有问题。
  • 百度站长平台:看“普通收录”里的抓取量。如果抓取量突然下降,检查 Sitemap 是否被 robots.txt 误禁。

数据指标:

指标 健康范围 异常处理
收录率 > 30% 检查内容质量、内链
抓取频率 稳定 检查服务器响应速度
Sitemap 状态 成功 检查 XML 格式、URL 有效性

4. 多语言网站怎么做?

如果你的网站有中文和英文版:

  • 生成两个 Sitemap:sitemap-zh.xml 和 sitemap-en.xml。
  • 或者在一个 Sitemap 里用 <xhtml:link> 标签声明语言版本(Hreflang)。
  • 建议:分开提交更清晰。在 Search Console 里,中文站提交 sitemap-zh.xml,英文站提交 sitemap-en.xml。

结尾:聊聊那些“隐形”成本

Sitemap 本身免费,但围绕它的维护成本和时间成本,往往被新手低估。

你花时间整理 URL、写代码、调试 XML、提交后台……这些时间花得值吗?

值。

因为这是 SEO 的“地基”。地基不牢,上面盖的 SEO 技巧、外链建设、内容优化,都是空中楼阁。

很多站长抱怨“网站没人访问”,其实是因为他们连最基础的“门牌号和地图”都没给搜索引擎准备好。

最后问大家一个问题:

你的网站做了 Sitemap 吗?

如果做了,你是手动维护还是自动生成?

建站花了多少钱?留言说说真实价格。

(别藏着掖着,咱们同行互相交流,看看谁花的冤枉钱最多,谁的工具用得最溜。你的真实案例,可能就是下一个新手的救命稻草。)