megaads/generate-sitemap

该包自动根据数据库表生成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。(注意:配置文件中的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