Thứ năm, 12/12/2019 | 00:00 GMT+7

Cách tạo Sơ đồ trang web Tùy chỉnh cho Trang web Gatsby.js của bạn


Khi bạn yêu cầu cài đặt dễ triển khai, bạn có thể xây dựng các trang web tĩnh với React bằng cách sử dụng Gatsby.js. Những điều này cung cấp tốc độ tốt và trải nghiệm mượt mà cho nhà phát triển. Gatsby đã liên tục phát triển với các nhà phát triển sử dụng nó cho các trang blog, tiếp thị và thương mại điện tử.

Mỗi lần, bạn xây dựng một trang web, bạn có thể giúp trình thu thập thông tin của công cụ tìm kiếm cải thiện thứ hạng tìm kiếm không phải trả tiền. Bạn phải đảm bảo các công cụ tìm kiếm như Google có thể hiểu kiến trúc trang web và lập index nó một cách thông minh. Bạn có thể làm tất cả những điều đó bằng cách bao gồm file sitemap.xml ở folder root của trang web .

Trang chủ Gatsby

Với sự phổ biến ngày càng tăng của các trang web Gatsby.js và JAMstack, trong hướng dẫn này, bạn sẽ tự động tạo file sơ đồ trang XML tùy chỉnh trong các trang web được hỗ trợ bởi Gatsby của bạn .

Sơ đồ trang web XML

Một trang web bao gồm một số trang web như Giới thiệu , Liên hệ , Blog , Đăng ký , v.v. Tệp sơ đồ trang web duy trì danh sách tất cả các trang này để cho các công cụ tìm kiếm như Google biết về tổ chức nội dung trang web . Trình thu thập dữ liệu web của công cụ tìm kiếm như Googlebot đọc qua file này và thu thập dữ liệu trang web một cách thông minh.

Trở lại những ngày đầu của web, sơ đồ trang web HTML vốn là một danh sách dấu đầu dòng được tạo thủ công đang là xu hướng. Tuy nhiên, do sự phổ biến và tầm quan trọng của chúng, các sơ đồ trang web được xuất bản ở định dạng XML thay vì HTML vì đối tượng mục tiêu của chúng là các công cụ tìm kiếm chứ không phải con người.

Vì vậy, một file sơ đồ trang XML giao tiếp với các công cụ tìm kiếm về tất cả các trang tồn tại trên trang web .

Tầm quan trọng của việc thêm file sơ đồ trang web

Xem xét Tối ưu hóa Công cụ Tìm kiếm (SEO), sơ đồ trang web là rất quan trọng. Tuy nhiên, chúng không ảnh hưởng đến thứ hạng tìm kiếm của bạn. Thay vào đó, nếu có một trang web chưa được lập index , thì sơ đồ trang web sẽ thông báo cho các công cụ tìm kiếm về trang đó để nó được lập index một cách thích hợp.

Sơ đồ trang web đều quan trọng như nhau đối với cả các trang web mới và cũ. Đặc biệt nếu trang web tương đối mới thì bạn nên thêm một trang vì rất khó để các công cụ tìm kiếm tìm thấy các bài đăng và trang của một trang web mới. Bạn muốn làm cho công việc của công cụ tìm kiếm dễ dàng nhất có thể để tận dụng tối đa nó.

Bạn sẽ tìm thấy các file sitemap.xml trên hầu hết các trang web. Điều này giúp các bot của công cụ tìm kiếm giữ một tab về các bản cập nhật khác nhau và về cơ bản là mọi thứ diễn ra trên một trang web cần được lập index .

Thêm Sơ đồ trang web trong Gatsby

Một điểm nổi bật chính của Gatsby là bộ sưu tập ngày càng tăng của các plugin triển khai API Gatsby thông qua các gói NPM đơn giản.

Bây giờ, để tạo sơ đồ trang web, bạn không cần phải viết nhiều dòng mã. Có một plugin Gatsby để tạo file sơ đồ trang web được gọi là gatsby-plugin-sitemap .

Bạn cần cài đặt và chạy trang web Gatsby trước khi tiếp tục với hướng dẫn này.

Cài đặt

Để cài đặt gói gatsby-plugin-sitemap , hãy chạy lệnh sau trong folder root :

  • npm install --save gatsby-plugin-sitemap

Sử dụng Plugin: gatsby-plugin-sitemap

Bây giờ plugin đã được cài đặt thành công, đã đến lúc thêm plugin này vào file gatsby-config.js . Một dấu nhắc nhanh cho những người mới sử dụng Gatsby; rằng bên trong file gatsby-config.js bạn sẽ tìm thấy tất cả các tùy chọn cấu hình trang web được đặt trong folder root .

Một trong những tùy chọn cấu hình này là dành cho các plugin. Tại đây, bạn sẽ tìm thấy một loạt các plugin triển khai các API Gatsby. Một số plugin được liệt kê theo tên, trong khi những plugin khác cũng có thể có tùy chọn - và gatsby-plugin-sitemap cũng có các tùy chọn.

Vì vậy, hãy thêm các dòng mã sau vào file gatsby-config.js của bạn:

gatsby-config.js
module.exports = {   siteMetadata: {     title: 'Your Site Title',     siteUrl: 'https://yoursite.com',   },   plugins: ['gatsby-plugin-sitemap'], } 

Đảm bảo rằng bên trong siteMetadata bạn thay đổi titlesiteUrl theo chi tiết dự án của bạn.

Tạo Tệp Sơ đồ trang web

Để tạo sơ đồ trang web, bạn cần tạo một bản dựng production và khởi động server . Trong terminal của bạn, nhập lệnh sau và nhấn ENTER .

  • npm run build

Chờ một vài giây và bạn sẽ nhận được sơ đồ trang web hoạt động với Gatsby.

Gif của  kết quả  từ lệnh `npm run build`

Theo mặc định, sơ đồ trang web được tạo trong folder root của trang web , đây là một folder được gọi là public . Khi bạn triển khai trang web của bạn , bạn có thể truy cập nó thông qua /sitemap.xml và nó sẽ hiển thị tất cả các trang trên trang web mà user hiện có thể truy cập được.

Bạn có thể truy cập sơ đồ trang web của bạn bằng URL sau:

https://your-domain/sitemap.xml 

gatsby-plugin-sitemap hỗ trợ các tùy chọn tùy chỉnh nâng cao để chức năng mặc định này có thể được thay đổi cho phù hợp. Hãy đào sâu một chút với các tùy chọn này.

Tùy chọn nâng cao cho gatsby-plugin-sitemap

gatsby-plugin-sitemap hỗ trợ các tùy chọn nâng cao khác nhau mà bạn có thể tùy chỉnh để kiểm soát nhiều hơn các file sitemap.xml của bạn . Ta hãy xem xét một số trong số này:

  • output : Tên file mặc định là sitemap.xml bạn có thể sử dụng tùy chọn output để thay đổi tên của file kết quả . Ví dụ: với output: '/some-other-sitemap.xml', URL bây giờ trở thành https:// your-domain /some-other-sitemap.xml .
  • exclude : Tùy chọn này có thể giúp bạn loại trừ bất kỳ liên kết nào khỏi sơ đồ trang web vì bất kỳ lý do gì.
  • query : query GraphQL tùy chỉnh để tìm nạp thông tin như siteMetadata , siteURL , allSitePage , v.v.

Có một số tùy chọn tiện dụng khác cũng dành cho sitemapSizesitemap index . Bạn có thể truy cập kho plugin chính thức để biết thêm thông tin tại đây .

Ví dụ về các tùy chọn tùy chỉnh

Ví dụ: trong hướng dẫn này, ta đang tùy chỉnh các tùy chọn của plugin để tạo dữ liệu theo lựa chọn của ta . Tại đây, ta đã tùy chỉnh truy vấn GraphQL:

 {       resolve: `gatsby-plugin-sitemap`,       options: {         query: `{           site {             siteMetadata {               siteUrlNoSlash             }           }           allSitePage {             edges {               node {                 path               }             }           }           allMarkdownRemark {             edges {               node {                 fields {                   slug                 }               }             }           }         }`,         serialize: ({ site, allSitePage, allMarkdownRemark }) => {           let pages = []           allSitePage.edges.map(edge => {             pages.push({               url: site.siteMetadata.siteUrlNoSlash + edge.node.path,               changefreq: `daily`,               priority: 0.7,             })           })           allMarkdownRemark.edges.map(edge => {             pages.push({               url: `${site.siteMetadata.siteUrlNoSlash}/${                 edge.node.fields.slug               }`,               changefreq: `daily`,               priority: 0.7,             })           })            return pages         },       },     }, 

Tại đây, ta sử dụng tùy chọn query để tìm nạp dữ liệu cho site của ta , bao gồm thông tin về siteMetadatasiteUrlNoSlash . Hơn nữa, ta truy vấn allSitePage để lấy tất cả các đường dẫn URL của các trang web để truy xuất thuộc tính path cho mỗi node đồ thị qua tất cả edges . Và cuối cùng, ta sử dụng allMarkdownRemark để đọc các file được viết bằng markdown và sau đó chuyển đổi chúng thành các trang HTML. Ở đây, ta nhận được thông tin slug cho mỗi bài đăng markdown từ bên trong thuộc tính field .

Cuối cùng, ta đã gọi hàm serialize để ánh xạ dữ liệu được tìm nạp cho allSitePageallMarkdownRemark . Mỗi URL trả về một URL trang với changefreq: 'daily'priority: 0.7 .

Đây là một minh chứng về việc thử nghiệm với các tùy chọn tùy chỉnh cho gatsby-plugin-sitemap , bạn có thể thực hiện theo yêu cầu của dự án của bạn .

Bạn có thể truy cập bản trình diễn sơ đồ trang web trực tiếp cho Gatsby.js tại đây .

Gif hiển thị sitemap.xml

Kết luận

Việc tạo sơ đồ trang web có thể dễ quản lý hơn với Gatsby.js. Kết quả của việc tạo file sitemap.xml với gatsby-plugin-sitemap cho thấy trải nghiệm sử dụng Gatsby.js của nhà phát triển đang được cải thiện.


Tags:

Các tin liên quan