Laravel ਵਿੱਚ 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