𝗟𝗮𝗿𝗮𝘃𝗲𝗹 میں Sitemap کیسے جنریٹ کریں
سرچ انجن آپ کے صفحات کو تلاش کرنے اور انڈیکس کرنے کے لیے sitemaps کا استعمال کرتے ہیں۔ Sitemap ایک XML فائل ہوتی ہے۔ یہ Google اور Bing کو بتاتی ہے کہ آپ کی سائٹ پر کون سے URLs موجود ہیں۔
آپ 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