0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Hướng Dẫn Tạo Sitemap Trong Next.js Với Gói next-sitemap

Đăng vào 5 tháng trước

• 3 phút đọc

Chủ đề:

Nextjs

Hướng Dẫn Tạo Sitemap Trong Next.js Với Gói next-sitemap

Trong bài viết này, tôi sẽ hướng dẫn bạn cách tự động hóa quy trình tạo sitemap cho dự án Next.js của mình bằng cách sử dụng gói next-sitemap. Việc này không chỉ giúp bạn làm cho trang web dễ dàng được lập chỉ mục hơn mà còn cải thiện đáng kể SEO.

Giới Thiệu Về Gói NPM next-sitemap

Gói next-sitemap được phát triển và duy trì bởi Vishnu Sankar, là một trong những công cụ phổ biến nhất cho việc tạo sitemap trong Next.js với hơn 3,4 nghìn sao trên GitHub. Bạn có thể tìm thấy gói này tại địa chỉ: https://github.com/iamvishnusankar/next-sitemap. Gói này giúp bạn tạo sitemap một cách dễ dàng và hiệu quả, góp phần quan trọng trong việc tối ưu hóa SEO cho trang web của bạn.

Các Bước Tạo Sitemap

Bước 1: Cài Đặt Gói next-sitemap

Đầu tiên, bạn cần cài đặt gói next-sitemap trong dự án Next.js của mình:

Copy
npm install next-sitemap

Bước 2: Tạo Tệp Cấu Hình next-sitemap.config.js

Tiếp theo, bạn tạo một tệp có tên là next-sitemap.config.js ở thư mục gốc của dự án. Đừng quên giữ nguyên tên tệp để gói hoạt động chính xác:

Copy
/** @type {import('next-sitemap').IConfig} */
module.exports = {
  siteUrl: process.env.SITE_URL || 'https://example.com',
  generateRobotsTxt: true, // (tùy chọn)
  // ...các tùy chọn khác
}

Bước 3: Thêm Script Vào package.json

Bạn cần thêm đoạn mã sau vào phần scripts trong tệp package.json:

Copy
"scripts": {
  "build": "next build",
  "postbuild": "next-sitemap"
}

Nếu bạn sử dụng pnpm, hãy tạo tệp .npmrc trong thư mục gốc hoặc thay đổi dòng build thành build: "next build && next-sitemap".

Bước 4: Chạy Lệnh Xây Dựng

Chạy lệnh sau để xây dựng dự án và tự động tạo sitemap:

Copy
npm run build

Bước 5: Kiểm Tra Tệp sitemap.xml

Sau khi quá trình xây dựng hoàn tất, bạn sẽ thấy tệp sitemap.xml và tệp robots.txt trong thư mục gốc của dự án:

Copy
| app
    | /pages
    | /public
        | /sitemap.xml
        | /robots.txt

Nếu bạn không cần tệp robots.txt, có thể thiết lập generateRobotsTxt: false trong tệp cấu hình.

Tùy Chỉnh Sitemap.xml Nâng Cao

Theo mặc định, tất cả các trang sẽ có cùng mức độ ưu tiên, nhưng bạn có thể tùy chỉnh mức độ ưu tiên cho trang chủ và các trang khác như sau:

Copy
module.exports = {
  siteUrl: process.env.SITE_URL || 'https://example.com',
  changefreq: 'daily',
  priority: 0.8,
  sitemapSize: 5000,
  generateRobotsTxt: true,
  transform: async (config, path) => {
    let priority = config.priority
    let changefreq = config.changefreq
    // Đặt mức độ ưu tiên cao hơn cho trang chủ
    if (path === '/') {
      priority = 1.0 // Mức độ ưu tiên cao nhất cho trang chủ
      changefreq = 'hourly' // Tần suất thay đổi cho trang chủ
    }

    return {
      loc: path,
      changefreq: config.changefreq,
      priority: priority,
      lastmod: config.autoLastmod ? new Date().toISOString() : undefined,
      alternateRefs: config.alternateRefs ?? [],
    }
  },
}

Cách Loại Trừ Trang Khỏi Sitemap

Nếu bạn muốn loại trừ một số trang khỏi sitemap, ví dụ như /blank/*, bạn có thể thêm đoạn mã sau vào tệp cấu hình:

Copy
module.exports = {
  siteUrl: process.env.SITE_URL || 'https://example.com',
  changefreq: 'daily',
  priority: 0.8,
  sitemapSize: 5000,
  generateRobotsTxt: true,
  transform: async (config, path) => {
    // Mã tương tự như trên
  },
  exclude: ['/blank/*'],
}

Kết Luận

Bài viết này đã hướng dẫn bạn cách tự động hóa quy trình tạo sitemap bằng cách sử dụng gói next-sitemap trong Next.js. Bạn cũng đã học cách tùy chỉnh cấu hình sitemap theo nhu cầu của mình. Hy vọng rằng hướng dẫn này sẽ giúp bạn cải thiện SEO cho trang web của mình một cách hiệu quả.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào