yurcrm/sitemap-generator

XML 网站地图生成

v2.0.0 2024-05-03 20:18 UTC

This package is auto-updated.

Last update: 2024-09-03 20:56:33 UTC


README

为无限数量的链接集生成 XML 网站地图文件

什么是 XML 网站地图?

XML 网站地图是一个文本文件,包含指向网站页面的链接。搜索引擎如 Google 或 Yandex 使用网站地图文件来发现网页。您可以通过在网站的根目录中添加网站地图文件来帮助您的网站更快地被爬取。

按照标准,每个网站地图文件可以包含最多 50,000 个链接。如果您有一个包含数千页面的大型网站怎么办?只需创建几个网站地图并将它们链接在一起即可!

此软件包可帮助您为网站上的任意数量的页面创建网站地图文件。

它是如何工作的?

我的解决方案接受您提供的任意数量的链接,并将它们打包成最多 50,000 个链接和每个 10 MB 的 XML 文件(sitemap_1.xml、sitemap_2.xml 等)。这些限制是可以配置的。它还会创建一个索引网站地图文件 sitemap.xml。

在生成网站地图文件后,您可以使用如 Google Webmaster 之类的工具将索引网站地图添加到搜索引擎。您也可以将其添加到您的 robots.txt 文件中

Sitemap: https://yoursite.com/sitemap.xml 

要求

PHP 7.4+ 且启用 mb_string 扩展

安装

您可以使用 Composer 安装此软件包。

composer require yurcrm/sitemap-generator

使用示例

$sitemapGenerator = new SitemapGenerator();
// your website URL
$siteUrl = 'https://example.com';

/*
*   You should generate this array of links according to your website content
*/
$links = [
    new SitemapUrl(
        'https://www.100yuristov.com/123',
        '2018-12-07',
        'weekly',
        0.5,
    ),
    new SitemapUrl(
        'https://www.100yuristov.com/123456',
        '2018-12-07',
        'weekly',
        0.5,
    ),
];

$sitemapGenerator->setSiteUrl($siteUrl)
->setLinks($links)
->setFileSizeLimit(5*1024*1024)
->setLinksPerFileLimit(30_000)
->createSitemaps();

// save files to the folder (use absolute path) 
$sitemapGenerator->saveAsFiles('/var/www/site');

使用生成器

对于大型网站地图,使用此方法以限制内存使用

// $linksGenerator - PHP generator which returns SitemapUrl objects

$sitemapsCount = $sitemapGenerator->setSiteUrl('https://www.100yuristov.com')
    ->setFileSizeLimit(5*1024*1024)
    ->setLinksPerFileLimit(30_000)
    ->createFilesFromLinksGenerator($linksGenerator, self::TMP_SITEMAPS_FOLDER);

有任何问题吗?

请随时通过发送电子邮件给我关于我的解决方案或报告错误:misha.sunsetboy@gmail.com