Laravel-இல் Sitemap உருவாக்குவது எப்படி

தேடுபொறிகள் (Search engines) உங்கள் பக்கங்களைக் கண்டறியவும் அவற்றை வரிசைப்படுத்தவும் (index) sitemaps-களைப் பயன்படுத்துகின்றன. Sitemap என்பது ஒரு XML கோப்பாகும். உங்கள் தளத்தில் எந்தெந்த URL-கள் உள்ளன என்பதை இது Google மற்றும் Bing-க்குத் தெரிவிக்கும்.

Spatie Sitemap package-ஐப் பயன்படுத்தி Laravel-இல் நீங்கள் ஒரு sitemap-ஐ உருவாக்கலாம்.

இதை அமைப்பதற்குப் பின்வரும் படிகளைப் பின்பற்றவும்.

  1. Package-ஐ நிறுவுதல் உங்கள் terminal-இல் இந்த கட்டளையை (command) இயக்கவும்: composer require spatie/laravel-sitemap

  2. Controller உருவாக்குதல் லாஜிக்கைக் கையாள ஒரு புதிய controller-ஐ உருவாக்கவும்: php artisan make:controller GenerateSitemap

  3. லாஜிக்கை எழுதுதல் உங்கள் புதிய controller-ஐத் திறந்து இந்த குறியீட்டைச் (code) சேர்க்கவும்:

namespace App\Http\Controllers;

use Spatie\Sitemap\Sitemap;
use Spatie\Sitemap\Tags\Url;
use App\Models\Post;

class GenerateSitemap extends Controller
{
public function index()
{
$sitemap = Sitemap::create();

$sitemap->add(
Url::create('/')
->setPriority(1.0)
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
);

Post::with('category')
->where('status', 1)
->latest()
->get()
->each(function ($post) use ($sitemap) {
$sitemap->add(
Url::create($post->category->slug . '/' . $post->slug)
->setLastModificationDate($post->updated_at)
->setPriority(0.9)
->setChangeFrequency(Url::CHANGE_FREQUENCY_WEEKLY)
);
});

$sitemap->writeToFile(public_path('sitemap.xml'));

return back()->with('success', 'Sitemap Generated!');
}
}

இந்த குறியீடு என்ன செய்கிறது:

  • இது ஒரு புதிய sitemap object-ஐ உருவாக்குகிறது.
  • இது உங்கள் முகப்புப் பக்கத்தை (homepage) அதிக முன்னுரிமையுடன் (high priority) சேர்க்கிறது.
  • இது உங்கள் தரவுத்தளத்தில் (database) உள்ள பதிவுகளை (posts) ஒவ்வொன்றாகச் சரிபார்க்கிறது.
  • இது ஒவ்வொரு பதிவின் URL-யையும் கோப்பில் சேர்க்கிறது.
  • இது கோப்பை உங்கள் public folder-இல் sitemap.xml எனச் சேமிக்கிறது.

உங்கள் sitemap yourdomain.com/sitemap.xml என்ற முகவரியில் இருக்கும்.

இது தேடுபொறிகள் உங்கள் புதிய உள்ளடக்கத்தை விரைவாகக் கண்டறிய உதவுகிறது.

ஆதாரம்: https://dev.to/mindwarezone/how-to-generate-a-sitemap-in-laravel-a-complete-guide-4go6