Dữ liệu có cấu trúc loại Bài viết (Article, NewsArticle, BlogPosting)

Việc thêm dữ liệu có cấu trúc Article vào các trang tin tức, blog và tin thể thao có thể giúp Google hiểu rõ hơn về trang web của bạn để thể hiện văn bản tiêu đề, hình ảnh và thông tin ngày theo cách hiệu quả hơn cho bài viết đó trong kết quả của Google Tìm kiếm và các sản phẩm khác (ví dụ: Google News và Trợ lý Google). Tuy không bắt buộc phải dùng mã đánh dấu để đủ điều kiện sử dụng các tính năng của Google News (chẳng hạn như Tin bài hàng đầu), nhưng bạn có thể thêm Article để cho Google biết rõ hơn về nội dung của bạn (ví dụ: nội dung đó là tin bài, tác giả là ai hoặc tiêu đề của bài viết là gì).

Kết quả nhiều định dạng Article

Ví dụ

Sau đây là ví dụ về trang có dữ liệu có cấu trúc Article.

JSON-LD


<html>
  <head>
    <title>Title of a News Article</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "NewsArticle",
      "headline": "Title of a News Article",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "datePublished": "2024-01-05T08:00:00+08:00",
      "dateModified": "2024-02-05T09:20:00+08:00",
      "author": [{
          "@type": "Person",
          "name": "Jane Doe",
          "url": "https://example.com/profile/janedoe123"
        },{
          "@type": "Person",
          "name": "John Doe",
          "url": "https://example.com/profile/johndoe123"
      }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Vi dữ liệu


<html>
  <head>
    <title>Title of a News Article</title>
  </head>
  <body>
    <div itemscope itemtype="https://schema.org/NewsArticle">
      <div itemprop="headline">Title of News Article</div>
      <meta itemprop="image" content="https://example.com/photos/1x1/photo.jpg" />
      <meta itemprop="image" content="https://example.com/photos/4x3/photo.jpg" />
      <img itemprop="image" src="https://example.com/photos/16x9/photo.jpg" />
      <div>
        <span itemprop="datePublished" content="2024-01-05T08:00:00+08:00">
          January 5, 2024 at 8:00am
        </span>
        (last modified
        <span itemprop="dateModified" content="2024-02-05T09:20:00+08:00">
          February 5, 2024 at 9:20am
        </span>
        )
      </div>
      <div>
        by
        <span itemprop="author" itemscope itemtype="https://schema.org/Person">
          <a itemprop="url" href="https://example.com/profile/janedoe123">
            <span itemprop="name">Jane Doe</span>
          </a>
        </span>
        and
        <span itemprop="author" itemscope itemtype="https://schema.org/Person">
          <a itemprop="url" href="https://example.com/profile/johndoe123">
            <span itemprop="name">John Doe</span>
          </a>
        </span>
      </div>
    </div>
  </body>
</html>

Cách thêm dữ liệu có cấu trúc

Dữ liệu có cấu trúc là một định dạng chuẩn để cung cấp thông tin về một trang và phân loại nội dung trên trang. Nếu mới làm quen với dữ liệu có cấu trúc, bạn có thể tìm hiểu thêm về cách thức hoạt động của dữ liệu có cấu trúc.

Sau đây là thông tin tổng quan về cách xây dựng, kiểm tra và phát hành dữ liệu có cấu trúc.

  1. Thêm càng nhiều thuộc tính đề xuất áp dụng cho trang web của bạn càng tốt. Không có thuộc tính nào là bắt buộc; hãy thêm những thuộc tính phù hợp với nội dung của bạn. Tuỳ theo định dạng bạn đang sử dụng, hãy tìm hiểu nơi chèn dữ liệu có cấu trúc trên trang.
  2. Tuân theo các nguyên tắc.
  3. Xác thực mã của bạn bằng công cụ Kiểm tra kết quả nhiều định dạng rồi sửa mọi lỗi nghiêm trọng. Bạn cũng nên cân nhắc việc khắc phục mọi vấn đề không nghiêm trọng có thể bị gắn cờ trong công cụ này, vì những vấn đề này có thể giúp cải thiện chất lượng của dữ liệu có cấu trúc của bạn (tuy nhiên, bạn không nhất thiết thực hiện việc này để nội dung đủ điều kiện xuất hiện dưới dạng kết quả nhiều định dạng).
  4. Triển khai một vài trang có chứa dữ liệu có cấu trúc và sử dụng Công cụ kiểm tra URL để kiểm tra xem Google nhìn thấy trang đó như thế nào. Hãy đảm bảo rằng Google có thể truy cập trang của bạn và bạn không chặn trang bằng tệp robots.txt, thẻ noindex hoặc yêu cầu đăng nhập. Nếu có vẻ như trang không gặp vấn đề nào, bạn có thể yêu cầu Google thu thập lại dữ liệu các URL của mình.
  5. Để thông báo cho Google về các thay đổi sau này, bạn nên gửi một sơ đồ trang web. Bạn có thể tự động hoá quy trình này bằng Search Console Sitemap API.

Nguyên tắc

Bạn phải tuân thủ những nguyên tắc này để dữ liệu có cấu trúc của bạn đủ điều kiện xuất hiện trong kết quả tìm kiếm trên Google.

Nguyên tắc kỹ thuật

  • Đối với bài viết có nhiều phần, hãy đảm bảo rel=canonical trỏ đến từng trang riêng lẻ hoặc đến một trang "view-all" (xem toàn bộ) thay vì đến trang 1 của một loạt nội dung gồm nhiều phần. Tìm hiểu thêm về quy trình chuẩn hoá.
  • Nếu bạn cung cấp quyền truy cập vào nội dung trang web dựa trên gói thuê bao hoặc nếu người dùng phải đăng ký để truy cập, hãy cân nhắc việc thêm dữ liệu có cấu trúc cho nội dung thuê bao và nội dung có tường phí.

Định nghĩa các loại dữ liệu có cấu trúc

Để giúp Google hiểu rõ hơn về trang của bạn, hãy đưa nhiều thuộc tính nên có nhất có thể vào trang web. Không có thuộc tính nào là bắt buộc; hãy thêm những thuộc tính phù hợp với nội dung của bạn.

Đối tượng Article

Các đối tượng Article phải dựa trên một trong những loại mã schema.org sau đây: Article, NewsArticle, BlogPosting.

Sau đây là các thuộc tính được Google hỗ trợ:

Thuộc tính nên có
author

Person hoặc Organization

Tác giả của bài viết. Để giúp Google hiểu rõ về tác giả trên nhiều khía cạnh, bạn nên làm theo các phương pháp hay nhất về mã đánh dấu cho tác giả.

author.name

Text

Tên của tác giả.

author.url

URL

Đường liên kết đến một trang web xác định duy nhất tác giả của bài viết. Ví dụ: trang mạng xã hội, trang "giới thiệu về bản thân" hoặc trang tiểu sử của tác giả.

Nếu URL là một trang hồ sơ nội bộ, bạn nên đánh dấu tác giả đó bằng dữ liệu có cấu trúc loại trang hồ sơ.

dateModified

DateTime

Ngày giờ sửa đổi bài viết lần gần đây nhất, ở định dạng ISO 8601. Bạn nên cung cấp thông tin múi giờ; nếu không, chế độ mặc định sẽ là múi giờ mà Googlebot sử dụng.

Hãy thêm thuộc tính dateModified nếu bạn muốn cung cấp cho Google thông tin ngày chính xác hơn. Công cụ Kiểm tra kết quả nhiều định dạng không cho thấy cảnh báo cho thuộc tính này vì bạn chỉ nên cung cấp thuộc tính nếu bạn cho rằng thuộc tính đó phù hợp với trang web của mình.

datePublished

DateTime

Ngày giờ xuất bản bài viết lần đầu, ở định dạng ISO 8601. Bạn nên cung cấp thông tin múi giờ; nếu không, chế độ mặc định sẽ là múi giờ mà Googlebot sử dụng.

Hãy thêm thuộc tính datePublished nếu bạn muốn cung cấp cho Google thông tin ngày chính xác hơn. Công cụ Kiểm tra kết quả nhiều định dạng không cho thấy cảnh báo cho thuộc tính này vì bạn chỉ nên cung cấp thuộc tính nếu bạn cho rằng thuộc tính đó phù hợp với trang web của mình.

headline

Text

Tiêu đề của bài viết. Hãy cân nhắc việc sử dụng tiêu đề ngắn gọn, vì tiêu đề dài có thể bị cắt bớt trên một số thiết bị.

image

ImageObject hoặc URL trùng lặp

URL đến một hình ảnh đại diện cho bài viết. Hãy dùng hình ảnh có liên quan đến bài viết, thay vì biểu trưng hoặc chú thích.

Nguyên tắc bổ sung về hình ảnh:

  • Mỗi trang phải chứa ít nhất một hình ảnh (cho dù bạn có đánh dấu hình ảnh đó hay không). Google sẽ chọn hình ảnh tốt nhất để hiển thị trong kết quả tìm kiếm trên Google dựa trên tỷ lệ khung hình và độ phân giải.
  • URL của hình ảnh phải cho phép Google thu thập dữ liệu và lập chỉ mục. Để kiểm tra xem Google truy cập được URL của bạn hay không, hãy dùng Công cụ kiểm tra URL.
  • Hình ảnh phải mang tính đại diện cho nội dung được đánh dấu.
  • Tệp hình ảnh phải thuộc một định dạng mà Google Hình ảnh hỗ trợ.
  • Để có kết quả tốt nhất, bạn nên cung cấp nhiều hình ảnh có độ phân giải cao (tối thiểu 50.000 pixel khi nhân chiều rộng với chiều cao) và theo tỷ lệ khung hình 16x9, 4x3 hoặc 1x1.

Ví dụ:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]

Các phương pháp hay nhất về mã đánh dấu tác giả

Để giúp Google hiểu rõ và trình bày tác giả của nội dung, bạn nên làm theo các phương pháp hay nhất sau đây khi chỉ định tác giả trong mã đánh dấu:

Các phương pháp hay nhất về mã đánh dấu tác giả

Đưa tất cả tác giả vào mã đánh dấu

Đảm bảo tất cả những người được giới thiệu là tác giả đều được đưa vào mã đánh dấu trên trang web.

Chỉ định nhiều tác giả

Khi chỉ định nhiều tác giả, hãy liệt kê từng tác giả trong trường author của riêng họ:

"author": [
  {"name": "Willow Lane"},
  {"name": "Regula Felix"}
]

Đừng hợp nhất nhiều tác giả trong cùng một trường author:

"author": {
  "name": "Willow Lane, Regula Felix"
}

Sử dụng các trường bổ sung

Để giúp Google hiểu rõ hơn về tác giả, bạn nên dùng các thuộc tính typeurl (hoặc sameAs). Sử dụng URL hợp lệ cho các thuộc tính url hoặc sameAs.

Ví dụ: nếu tác giả là một người, bạn có thể liên kết đến trang của tác giả nhằm cung cấp thêm thông tin:

"author": [
  {
    "@type": "Person",
    "name": "Willow Lane",
    "url": "https://www.example.com/staff/willow_lane"
  }
]

Nếu tác giả là một tổ chức, bạn có thể liên kết đến trang chủ của tổ chức đó.

"author":
  [
    {
      "@type":"Organization",
      "name": "Some News Agency",
      "url": "https://www.example.com/"
  }
]

Chỉ nêu tên tác giả trong thuộc tính author.name

Trong thuộc tính author.name, bạn chỉ cần chỉ định tên tác giả. Đừng thêm thông tin nào khác. Cụ thể, đừng thêm những thông tin sau:

  • Tên của nhà xuất bản. Thay vào đó, hãy sử dụng thuộc tính publisher cho thông tin này.
  • Chức danh của tác giả. Thay vào đó, hãy sử dụng thuộc tính thích hợp nếu bạn muốn chỉ định thông tin đó (jobTitle).
  • Kính ngữ dạng tiền tố hoặc hậu tố. Thay vào đó, hãy sử dụng thuộc tính thích hợp nếu bạn muốn chỉ định thông tin đó (honorificPrefix hoặc honorificSuffix).
  • Từ giới thiệu (ví dụ: không thêm những từ như "đăng bởi").
"author":
  [
    {
      "name": "Echidna Jones",
      "honorificPrefix": "Dr",
      "jobTitle": "Editor in Chief"
    }
  ],
"publisher":
  [
    {
      "name": "Bugs Daily"
    }
  ]
}

Sử dụng Type phù hợp

Sử dụng kiểu Person cho người và kiểu Organization cho tổ chức. Đừng dùng kiểu Thing và đừng dùng sai kiểu (ví dụ: dùng kiểu Organization cho người).

Sau đây là ví dụ về cách áp dụng các phương pháp hay nhất về mã đánh dấu tác giả:

"author":
  [
    {
      "@type": "Person",
      "name": "Willow Lane",
      "jobTitle": "Journalist",
      "url": "https://www.example.com/staff/willow-lane"
    },
    {
      "@type": "Person",
      "name": "Echidna Jones",
      "jobTitle": "Editor in Chief",
      "url": "https://www.example.com/staff/echidna-jones"
    }
  ],
"publisher":
  {
    "name": "The Daily Bug",
    "url": "https://www.example.com"
  },
  // + Other fields related to the article...
}

Troubleshooting

If you're having trouble implementing or debugging structured data, here are some resources that may help you.

  • If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
  • Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
  • You might have an error in your structured data. Check the list of structured data errors and the Unparsable structured data report.
  • If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
  • Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
  • Troubleshoot missing rich results / drop in total rich results.
  • Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
  • Post a question in the Google Search Central forum.