roelofjan-elsinga / sitemap-generator
此包可以帮助您非常容易地为您的网站生成网站地图
0.5.1
2022-05-06 06:59 UTC
Requires
- php: ^8.1
Requires (Dev)
- ext-dom: *
- ext-libxml: *
- friendsofphp/php-cs-fixer: ^3.8
- phpunit/phpunit: ^9.5
README
此包可以帮助您非常容易地为您的网站生成网站地图。
安装
您可以通过Composer使用此包
composer require roelofjan-elsinga/sitemap-generator
使用
use SitemapGenerator\SitemapGenerator; $generator = new SitemapGenerator(); $generator->add('https://test-url.com/'); $xml_string = (string)$generator; // OR $xml_string = $generator->toXML(); print $xml_string;
如果您不想每次都提供域名,您可以执行以下任何步骤
$generator = new SitemapGenerator('https://test-url.com'); // or $generator = new SitemapGenerator(); $generator->setDomain('https://test-url.com'); // or $generator = SiteMapGenerator::boot('https://test-url.com');
现在您已经设置了域名,您可以简单地这样做
$generator->add('/');
这将产生
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://test-url.com/</loc> <priority>1</priority> <lastmod>2019-03-26</lastmod> <changefreq>weekly</changefreq> </url> </urlset>
可用方法
boot():这为SitemapGenerator类提供了一个命名构造函数remove(string $url):这将从网站地图中移除给定的URLlinks():这将提供添加的URL数组
无重复
add()方法将过滤掉任何重复的链接,因此添加链接两次不会在网站地图中产生额外的链接。
自定义
您可以通过向add()方法提供更多信息来自定义优先级、lastmod和changefreq值
public function add( string $url, $priority = 1, string $last_modified = null, string $change_frequency = 'weekly' ): SitemapGenerator
这意味着您可以这样做
$generator->add('https://test-url.com/blog', 0.9, date('Y-m-d'), 'monthly'); // Or if you've set the domain earlier, this is even simpler: $generator = SitemapGenerator::boot()->setDomain('https://test-url.com'); $generator->add('/blog', 0.9, date('Y-m-d'), 'monthly');
有效值
priority:介于0和1之间的数字,1是最重要的页面,0是最不重要的。
last_modified:格式为"Y-m-d"的任何日期
change_frequency:每年、每月、每周、每日等。