איך ליצור Sitemap ב-Laravel

מנועי חיפוש משתמשים ב-Sitemaps כדי למצוא ולאנדקס את הדפים שלך. Sitemap הוא קובץ XML. הוא אומר ל-Google ו-Bing אילו כתובות URL קיימות באתר שלך.

ניתן לבנות Sitemap ב-Laravel באמצעות חבילת Spatie Sitemap.

בצע את השלבים הבאים כדי להגדיר זאת.

  1. התקנת החבילה הרץ את הפקודה הזו בטרמינל שלך: composer require spatie/laravel-sitemap

  2. יצירת Controller צור Controller חדש כדי לנהל את הלוגיקה: php artisan make:controller GenerateSitemap

  3. כתיבת הלוגיקה פתח את ה-Controller החדש שלך והוסף את הקוד הבא:

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 חדש.
  • הוא מוסיף את דף הבית שלך בעדיפות גבוהה.
  • הוא עובר בלולאה על הפוסטים במסד הנתונים שלך.
  • הוא מוסיף כל כתובת URL של פוסט לקובץ.
  • הוא שומר את הקובץ בתיקיית ה-public שלך בשם sitemap.xml.

ה-Sitemap שלך יהיה זמין בכתובת yourdomain.com/sitemap.xml.

זה עוזר למנועי חיפוש למצוא את התוכן החדש שלך במהירות.

מקור: https://dev.to/mindwarezone/how-to-generate-a-sitemap-in-laravel-a-complete-guide-4go6