diff options
| author | horus | 2021-02-11 22:57:49 +0100 |
|---|---|---|
| committer | horus | 2021-02-11 22:57:49 +0100 |
| commit | 87b5264cdc451f4268722e670a6f77d8e3d1c334 (patch) | |
| tree | c3e3c3df1fff829af4a7af13fb61571824fba556 /app/Console | |
| parent | bfcf02cff93675eb6803ed0924dee7d5f04488e4 (diff) | |
| download | curious-87b5264cdc451f4268722e670a6f77d8e3d1c334.tar.gz | |
Upgrade to Laravel 8.0 and generate sitemap.xml.
Diffstat (limited to 'app/Console')
| -rw-r--r-- | app/Console/Commands/GenerateSitemap.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/app/Console/Commands/GenerateSitemap.php b/app/Console/Commands/GenerateSitemap.php new file mode 100644 index 0000000..46bb0ac --- /dev/null +++ b/app/Console/Commands/GenerateSitemap.php @@ -0,0 +1,52 @@ +<?php + +namespace App\Console\Commands; + +use Illuminate\Console\Command; +use Spatie\Sitemap\SitemapGenerator; +use Psr\Http\Message\UriInterface; + +class GenerateSitemap extends Command +{ + /** + * The name and signature of the console command. + * + * @var string + */ + protected $signature = 'sitemap:generate'; + + /** + * The console command description. + * + * @var string + */ + protected $description = 'Generate the sitemap'; + + /** + * Create a new command instance. + * + * @return void + */ + public function __construct() + { + parent::__construct(); + } + + /** + * Execute the console command. + * + * @return int + */ + public function handle() + { + // modify this to your own needs + SitemapGenerator::create(config('app.url')) + ->shouldCrawl(function (UriInterface $url) { + /** + * Prevent the crawler from crawling the random pages. + */ + return strpos($url->getPath(), '/random') === false; + }) + ->writeToFile(public_path('sitemap.xml')); + } +} |
