megaads/sitemap-generator

此包根据数据库表自动生成sitemap.xml文件。

1.5.21 2024-08-12 03:56 UTC

README

此包基于数据库表和路由自动生成sitemap.xml文件。

安装和配置

使用composer命令

 composer require megaads/sitemap-generator

composer安装包完成后,打开文件app.php,将以下行添加到providers

 Megaads\Generatesitemap\GeneratesitemapServiceProvider::class

然后运行此命令将包配置发布到应用配置文件夹(注意:添加选项--force以覆盖配置文件。在运行带有--force选项之前,请务必备份您的配置文件)

php artisan vendor:publish --provider="Megaads\Generatesitemap\GeneratesitemapServiceProvider"

运行发布命令后,打开文件generate-sitemap.php。如果没有,可以使用命令来复制。

cp vendor/megaads/generate-sitemap/config/generate-sitemap.php config/generate-sitemap.php

它看起来像这样


return [
 'multiplesitemap' => false,
 'defaultlocale' => '',
 'sitemaptype' => [
     'categories' => 'category', 
     'stores' => 'store', 
     'blogs' => 'blog'
 ],
 'locales' => [
     'us' => 'United States',
     'uk' => 'United Kingdom',
     'ca' => 'Canada',
     'fr' => 'France',
     'vn' => 'Vietnam',
 ],
 'routes' => [ // Add route name from routes.php for generate sitemap url automatically
     'store' => 'frontend::store::listByStore', // Show all stores
     'category' => 'frontend::category::listByCategory', // Show all categories
     'blog' => 'frontend::blog::detail', // Detail a blog
     'coupon' => 'frontend::coupon::detail', // Detail a coupon
     'store_n_keyword' =>  '/'
 ]
];

默认参数multiplesitemap将设置为false,意味着已生成单个sitemap.xml文件。如果将其设置为true,则sitemap文件将生成到名为locales参数配置的文件夹中。在public文件夹中创建名为sitemap的文件夹,并为此文件夹设置chmod 775权限以创建多个区域设置文件夹。

将此行添加到app\config\app的底部

'domain' => 'http://example.com'

最后,访问以下URL以生成sitemap。sitemap.xml文件将自动生成并保存到public路径。如果multiplesitemapfalse:当调用它时,使用参数is_multiple=true将多个sitemap分开到多个文件中。(注意:在配置文件中配置sitemaptype

//example.com/sitemap-generator
//example.com/sitemap-generator?is_multiple=true

或者multiplesitemaptrue。此选项允许生成多语言sitemap。

//example.com/generator-all-sitemap

或者调用以下URL生成所有sitemap类型(博客、分类...)按区域分组

//example.com/sitemap/generator-by-locale

并可以通过以下URL查看结果文件//example.com/sitemap.xml