为WordPress 网站创建一个纯文本网站地图(Sitemap)

它的主要作用是为您的 WordPress 网站创建一个简单的、供搜索引擎使用的 URL 列表。搜索引擎(如谷歌、百度、必应等)会抓取这个文本文件,从而更快速、更全面地发现您网站上的所有页面。

这个脚本具体做了以下几件事:

  1. 加载 WordPress 环境: 通过 require('./wp-blog-header.php'); 加载 WordPress 的核心文件,这样脚本就能使用所有 WordPress 的内置函数。
  1. 设置内容类型: header("Content-type: text/txt"); 告诉浏览器或搜索引擎蜘蛛,这个页面的内容是纯文本(.txt),而不是一个网页(HTML)。
  1. 输出 URL 列表: 它会依次获取并输出以下几类页面的 URL:
  • 网站首页
  • 最新的 1000 篇文章
  • 所有的独立页面(比如"关于我们"、"联系我们"等)
  • 所有的文章分类页面
  • 所有的标签页面

下面是代码

复制代码
<?php
// 加载 WordPress 环境
require_once('./wp-blog-header.php');

// 设置一次性的 header,A5资源声明内容为纯文本
header("Content-Type: text/plain; charset=utf-8");
header("HTTP/1.1 200 OK");

// 定义要获取的最新文章数量
$posts_to_show = 1000;

// 1. 输出首页 URL (使用 WordPress 函数,能自动判断 http/https)
echo home_url('/') . "\n";

// 2. 输出文章页面的 URL 如:a5.org.cn
$posts = get_posts(['numberposts' => $posts_to_show, 'post_status' => 'publish']);
if ($posts) {
    foreach ($posts as $post) {
        // 使用 get_permalink() 获取文章链接
        echo get_permalink($post->ID) . "\n";
    }
}

// 3. 输出所有独立页面的 URL
$pages = get_pages();
if ($pages) {
    foreach ($pages as $page) {
        echo get_page_link($page->ID) . "\n";
    }
}

// 4. 输出所有分类页面的 URL
$categories = get_terms(['taxonomy' => 'category', 'hide_empty' => false]);
if ($categories && !is_wp_error($categories)) {
    foreach ($categories as $term) {
        echo get_term_link($term) . "\n";
    }
}

// 5. 输出所有标签页面的 URL
$tags = get_terms(['taxonomy' => 'post_tag', 'hide_empty' => false]);
if ($tags && !is_wp_error($tags)) {
    foreach ($tags as $tag) {
        echo get_term_link($tag) . "\n";
    }
}

// 脚本执行完毕
exit;

使用方法

  1. 创建一个名为 sitemap.php (或者其他你喜欢的名字) 的文件。
  1. 将上面这段修正后的代码复制并粘贴到文件中。
  1. 将这个文件上传到您 WordPress 网站的根目录(和 wp-config.php 文件在同一个地方)。
  1. 然后您就可以通过访问 https://a5.org.cn/sitemap.php 来查看这个纯文本网站地图了。
  1. 最后,将这个 URL 提交到各大搜索引擎的站长平台即可。
相关推荐
u01110267528 分钟前
图片处理接口如何统一错误信息 前端提示与后端错误码设计
前端·状态模式
福兮说42 分钟前
浏览器里把 iPhone 的 HEIC 转成 JPG:Chrome 解不开、转完大了七成、拍摄时间全丢,六个坑实测
前端·javascript·图像处理·chrome·ios·iphone·heic
libokaifa1 小时前
把语音模型塞进手机:sherpa-onnx 在 Android 上的 ASR / TTS
前端
deli0071 小时前
DLA 枝晶生长实测:5000 个粒子集体停摆之后,分形维数收敛到 1.70
前端
IT_陈寒1 小时前
Redis卡顿的锅,这次真不是大key的错
前端·人工智能·后端
可乐鸡翅yeah_2 小时前
video.js 集成 hls.js 开发 M3U8 播放器,新手高频踩坑
开发语言·前端·javascript·后端·ecmascript·m3u8·音视频在线播放
程序猿追2 小时前
HarmonyOS 6 上做个极简浏览器:Web 组件 + 前进后退 + 加载进度
前端·华为·harmonyos
wuyk5552 小时前
《WiFi 嵌入式物联网开发全套实战》| 第 31 章 休眠唤醒 WiFi 断连、时间同步、网络恢复机制
网络·物联网·php
沐沐师2 小时前
Mybatis 框架教程
前端
三天不学习2 小时前
Tailwind CSS 快速入门(2026 版):从 v4 零配置上手,到「该不该用、怎么用好」的选型实战
前端·css·tailwind