- 广场
-
- 搜索中...
- 本文档内搜索
zxf/tools 使用手册
创建站点地图 sitemap.xml
引入
use zxf\Tools\SiteMapGenerator;
调用
// 创建 SitemapGenerator 实例
$sitemapDir = __DIR__.'/sitemaps'; // 存储 Sitemap 的目录
$baseUrl = 'https://www.example.com'; // 网站的基础 URL
$sitemapGenerator = new SiteMapGenerator($sitemapDir, $baseUrl, 'site_maps');
// 设置自定义 XML 头部(可选)
$sitemapGenerator->setHeader('<?xml version="1.0" encoding="UTF-8"?>');
// 添加 URL
$sitemapGenerator->addUrl('/page1', '2024-09-24', 'daily', 0.8); // 页面 1
$sitemapGenerator->addUrl('/page2', '2024-09-23', 'weekly', 0.5); // 页面 2
$sitemapGenerator->addUrl('/page3', null, 'monthly', 0.3); // 页面 3(没有最后修改时间)
// 动态添加 URL
$sitemapGenerator->addDynamicUrls(function ($generator) {
for ($i = 4; $i <= 60; $i++) {
$generator->addUrl("/page$i", date('Y-m-d'), 'weekly', 0.5);
}
});
// 添加新闻条目(可选)
$sitemapGenerator->addNewsEntry('/news1', '2024-09-24', '新闻标题1', '关键词1, 关键词2');
$sitemapGenerator->addNewsEntry('/news2', '2024-09-24', '新闻标题2', '关键词3, 关键词4');
// 为指定 URL 添加图像信息(可选)
$sitemapGenerator->addImageToUrl('/page1', 'https://www.example.com/images/image1.jpg', '图像标题1', '图像说明1');
// 为指定 URL 添加视频信息(可选)
$sitemapGenerator->addVideoToUrl('/page2', 'https://www.example.com/videos/video1.mp4', '视频标题1', '视频描述1', 'https://www.example.com/videos/video1_thumbnail.jpg', 120);
// 生成 Sitemap
$sitemapGenerator->generateFile();
// 打印成功信息
echo "Sitemap 生成成功,文件存储在: $sitemapDir\n";
生成结果文件
索引文件 sitemap.xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap-image/1.1">
<sitemap>
<loc>https://www.example.com/site_maps/2024-09-24/sitemap_1.xml</loc>
<lastmod>2024-09-24</lastmod>
</sitemap>
</sitemapindex>
Sitemap 文件
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://www.example.com/page1</loc>
<lastmod>2024-09-24</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.example.com/page2</loc>
<lastmod>2024-09-23</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>...</url>
<url>
<loc>https://www.example.com/news2</loc>
</url>
</urlset>