roelofjan-elsinga/sitemap-generator

此包可以帮助您非常容易地为您的网站生成网站地图

0.5.1 2022-05-06 06:59 UTC

This package is auto-updated.

Last update: 2024-09-06 11:53:55 UTC


README

CI StyleCI Status Code coverage Total Downloads Latest Stable Version License

此包可以帮助您非常容易地为您的网站生成网站地图。

安装

您可以通过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):这将从网站地图中移除给定的URL
  • links():这将提供添加的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:每年、每月、每周、每日等。