Sitemap với Laravel

Chào mọi người, với những SEOer, Sitemap cho website là điều rất cần thiết, tuy không giúp tăng thứ hạng của web lên nhưng bù lại, nó giúp điều hướng và hỗ trợ rất tốt con bot của công cụ tìm kiếm. Bài viết này mình sẽ hướng dẫn các bạn cách tạo một sitemap đơn giản sử dụng thư viện spatie/laravel-sitemap.

1. Cài đặt thư viện.
  • Việc đầu tiên chúng ta cần phải làm, không gì khác ngoài việc cài đặt thư viện. Bạn mở terminal lên và gõ lệnh:

    composer require spatie/laravel-sitemap

  • Tiếp theo, mở file app.php , thêm vào service providers: Laravelium\Sitemap\SitemapServiceProvider::class,

  • Và cuối cùng, public những file config bằng dòng lệnh: php artisan vendor:publish --provider="Spatie\Sitemap\SitemapServiceProvider" --tag=config

Việc cài đặt thư viện đã xong, tiếp theo chúng ta sẽ tìm cách sử dụng nó như thế nào.

2. Genenata sitemap với command.
  • Tạo file CreateSitemap: php artisan make:command CreateSiteMap --command=sitemap:create

    • Lưu ý, lệnh này sẽ tạo một file CreateSiteMap.php ở thư mục App/Console/Commands.
  • Tiếp theo, cùng custom lại hàm Handle trong file CreateSitemap:

$sitemap = \App::make('sitemap');
        $sitemap->add(URL::to('/'), Carbon::now(), '1.0', 'daily');
        $products = \DB::table('products')
            ->orderBy('created_at', 'desc')
            ->get();
        foreach ($products as $product) {
            $sitemap->add(route('product.show'), $product->created_at, '0.9', 'daily');
        }
        $sitemap->store('xml', 'sitemap');
  • Bước cuối cùng, chỉ cần chạy lệnh php artisan sitemap:create, vậy là sitemap của bạn đã hoàn thành.

Và đây là thành quả

P/s:
Nếu có vẫn gặp vướng mắc trong khi thực hành hoặc có bất kì thắc mắc về PHP, Laravel hay muốn tìm hiểu thêm các thông tin hữu ích, các bạn hãy tham gia group Laravel VietNam để được các admin và thành viên support trực tiếp vấn đề mà bạn gặp phải nhé.

Related article