keasy9/laravel-sitemap-generator

提供自动生成网站地图的包。

1.0 2024-09-01 04:16 UTC

This package is auto-updated.

Last update: 2024-10-01 04:34:07 UTC


README

安装

composer require keasy9/laravel-sitemap-generator

使用

php artisan sitemap:generate

生成网站地图。默认文件结构如下

/public/sitemap.xml - индексная карта сайта
/public/sitemaps/sitemap-{N}.xml - карта сайта для конкретной модели

包含过多记录的模型将被分成多个文件。文件中的记录限制由配置确定,默认与sitemap.xml标准相同 - 每个文件50000个链接

可以在配置中更改路径和文件名。

php artisan sitemap:clear

删除生成的网站地图。使用配置中的路径和文件名。

为了让你的模型出现在网站地图中,它们应该

  • 实现 Keasy9\SitemapGenerator\Interfaces\SitemapSourceInterface 接口

  • 在 App\Providers\AppServiceProvider::boot() 中注册

      $this->app->make(SitemapGeneratorService::class)->registerSource(MOdel::class)
    
  • 可选 - 使用 Keasy9\SitemapGenerator\Traits\SitemapSource 特性,它实现了接口的大部分方法

此外,包提供了一个用于手动通过数据库填充网站地图的预安装模型 - Keasy9\SitemapGenerator\Models\SitemapUrl。可以通过以下方式获取此模型的迁移

php artisan vendor:publish --tag=sitemap-generator-migrations

配置和模板可供重写

php artisan vendor:publish --tag=sitemap-generator

服务器的其他方法

  • Keasy9\SitemapGenerator\Services\SitemapGeneratorService::isSitemapExists(): bool - 检查网站地图是否存在
  • Keasy9\SitemapGenerator\Services\SitemapGeneratorService::getSitemapUrl(): string - 返回索引网站地图的url
  • Keasy9\SitemapGenerator\Services\SitemapGeneratorService::getSitemapDate(): Carbon - 返回索引网站地图文件的创建时间