Cách tạo Sitemap trong Laravel

Các công cụ tìm kiếm sử dụng sitemap để tìm và lập chỉ mục các trang của bạn. Sitemap là một tệp XML. Nó cho Google và Bing biết những URL nào đang tồn tại trên trang web của bạn.

Bạn có thể xây dựng một sitemap trong Laravel bằng cách sử dụng gói Spatie Sitemap.

Hãy làm theo các bước sau để thiết lập.

  1. Cài đặt gói Chạy lệnh này trong terminal của bạn: composer require spatie/laravel-sitemap

  2. Tạo một controller Tạo một controller mới để xử lý logic: php artisan make:controller GenerateSitemap

  3. Viết logic Mở controller mới của bạn và thêm đoạn mã này:

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!');
}
}

Chức năng của đoạn mã này:

  • Nó tạo một đối tượng sitemap mới.
  • Nó thêm trang chủ của bạn với độ ưu tiên cao.
  • Nó lặp qua các bài viết trong cơ sở dữ liệu của bạn.
  • Nó thêm mọi URL bài viết vào tệp.
  • Nó lưu tệp vào thư mục public của bạn dưới tên sitemap.xml.

Sitemap của bạn sẽ nằm tại yourdomain.com/sitemap.xml.

Điều này giúp các công cụ tìm kiếm tìm thấy nội dung mới của bạn một cách nhanh chóng.

Nguồn: https://dev.to/mindwarezone/how-to-generate-a-sitemap-in-laravel-a-complete-guide-4go6