Laravel मध्ये Sitemap कसा तयार करायचा
सर्च इंजिन्स तुमच्या पेजेस शोधण्यासाठी आणि इंडेक्स करण्यासाठी sitemaps चा वापर करतात. Sitemap ही एक XML फाईल असते. तुमच्या साइटवर कोणते URLs उपलब्ध आहेत हे ती Google आणि Bing ला सांगते.
तुम्ही Spatie Sitemap पॅकेज वापरून Laravel मध्ये sitemap तयार करू शकता.
ते सेट करण्यासाठी या स्टेप्स फॉलो करा.
पॅकेज इंस्टॉल करा तुमच्या टर्मिनलमध्ये ही कमांड रन करा:
composer require spatie/laravel-sitemapकंट्रोलर तयार करा लॉजिक हाताळण्यासाठी एक नवीन कंट्रोलर जनरेट करा:
php artisan make:controller GenerateSitemapलॉजिक लिहा तुमचा नवीन कंट्रोलर उघडा आणि हा कोड जोडा:
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 ऑब्जेक्ट तयार करतो.
- तो तुमच्या होमपेजला हाय प्रायोरिटीसह (high priority) जोडतो.
- तो तुमच्या डेटाबेस मधील पोस्ट्समधून लूप फिरवतो.
- तो प्रत्येक पोस्टचा URL फाईलमध्ये जोडतो.
- तो ही फाईल तुमच्या public फोल्डरमध्ये sitemap.xml म्हणून सेव्ह करतो.
तुमचा sitemap yourdomain.com/sitemap.xml वर उपलब्ध असेल.
यामुळे सर्च इंजिन्सना तुमचे नवीन कंटेंट वेगाने शोधण्यास मदत होते.
स्त्रोत: https://dev.to/mindwarezone/how-to-generate-a-sitemap-in-laravel-a-complete-guide-4go6