Update
This commit is contained in:
79
app/Console/Commands/GenerateStaticSitemap.php
Normal file
79
app/Console/Commands/GenerateStaticSitemap.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use Spatie\Sitemap\Sitemap;
|
||||
use Spatie\Sitemap\Tags\Url;
|
||||
|
||||
class GenerateStaticSitemap extends Command
|
||||
{
|
||||
protected $signature = 'sitemap:generate:static';
|
||||
protected $description = 'Generate sitemap for static pages (home, privacy, terms, dmca, meme library)';
|
||||
|
||||
public function handle(): int
|
||||
{
|
||||
$this->info('Starting static sitemap generation...');
|
||||
|
||||
$sitemap = Sitemap::create();
|
||||
|
||||
// Get the base URL from config
|
||||
$baseUrl = config('app.url');
|
||||
|
||||
// Add static pages
|
||||
$staticPages = [
|
||||
[
|
||||
'url' => $baseUrl,
|
||||
'priority' => 1.0,
|
||||
'changeFrequency' => Url::CHANGE_FREQUENCY_WEEKLY,
|
||||
'lastModificationDate' => now(),
|
||||
],
|
||||
[
|
||||
'url' => $baseUrl . '/meme-library',
|
||||
'priority' => 0.9,
|
||||
'changeFrequency' => Url::CHANGE_FREQUENCY_DAILY,
|
||||
'lastModificationDate' => now(),
|
||||
],
|
||||
[
|
||||
'url' => $baseUrl . '/privacy',
|
||||
'priority' => 0.3,
|
||||
'changeFrequency' => Url::CHANGE_FREQUENCY_YEARLY,
|
||||
'lastModificationDate' => now()->subMonths(6), // Adjust based on when you last updated
|
||||
],
|
||||
[
|
||||
'url' => $baseUrl . '/terms',
|
||||
'priority' => 0.3,
|
||||
'changeFrequency' => Url::CHANGE_FREQUENCY_YEARLY,
|
||||
'lastModificationDate' => now()->subMonths(6), // Adjust based on when you last updated
|
||||
],
|
||||
[
|
||||
'url' => $baseUrl . '/dmca-copyright',
|
||||
'priority' => 0.2,
|
||||
'changeFrequency' => Url::CHANGE_FREQUENCY_YEARLY,
|
||||
'lastModificationDate' => now()->subMonths(6), // Adjust based on when you last updated
|
||||
],
|
||||
];
|
||||
|
||||
// Add each static page to the sitemap
|
||||
foreach ($staticPages as $page) {
|
||||
$url = Url::create($page['url'])
|
||||
->setPriority($page['priority'])
|
||||
->setChangeFrequency($page['changeFrequency'])
|
||||
->setLastModificationDate($page['lastModificationDate']);
|
||||
|
||||
$sitemap->add($url);
|
||||
|
||||
$this->info("Added: {$page['url']}");
|
||||
}
|
||||
|
||||
// Save the sitemap
|
||||
$sitemapPath = public_path('sitemap_static.xml');
|
||||
$sitemap->writeToFile($sitemapPath);
|
||||
|
||||
$this->info("Static sitemap generated successfully!");
|
||||
$this->info("Sitemap saved to: {$sitemapPath}");
|
||||
$this->info("Total URLs: " . count($staticPages));
|
||||
|
||||
return Command::SUCCESS;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user