Microdata có thể được thực hiện trong thẻ meta?


12

Vui lòng xem xét các mã sau được đánh dấu bằng các thuộc tính để cung cấp microdata:

<!DOCTYPE html>
<html>
    <head>
        <title>Micro data test - Normal version</title>
    </head>
    <body>
        <div itemscope itemtype="http://schema.org/Product">
            <h1 itemprop="name">Product name</h1>
            <img alt="" itemprop="image" src="http://placehold.it/200x200" />
            <div itemprop="description">This is the product description.</div>
            <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
                <meta content="in_stock" itemprop="availability" />
                <span content="GBP" itemprop="priceCurrency">£</span><span itemprop="price">100.00</span>
            </div>
        </div>
    </body>
</html>

Sử dụng Công cụ kiểm tra dữ liệu có cấu trúc của Google cho kết quả khả quan.

Điều này tốt trong ví dụ thử nghiệm, tuy nhiên, chúng tôi muốn triển khai microdata trên nhiều trang web có cấu trúc HTML khác nhau rất nhiều. Để triển khai các thuộc tính theo cách này sẽ yêu cầu ai đó chỉnh sửa đánh dấu HTML theo cách thủ công trên từng trang web riêng lẻ.

Tốt hơn là, chúng tôi muốn có thể gọi một hàm duy nhất đóng gói tất cả các microdata ở một nơi; về mặt kỹ thuật điều này là có thể bằng cách sử dụng thẻ meta theo cách sau:

<!DOCTYPE html>
<html>
    <head>
        <title>Micro data test - Meta tag version</title>
    </head>
    <body>
        <meta itemscope itemtype="http://schema.org/Product" itemref="microName microImage microDescription microOffer" />
        <meta id="microName" itemprop="name" content="Product name" />
        <link id="microImage" itemprop="image" href="http://placehold.it/200x200" />
        <meta id="microDescription" itemprop="description" content="This is the product description." />
        <meta id="microOffer" itemprop="offers" itemscope itemtype="http://schema.org/Offer" itemref="microCurrency microPrice microAvail" />
        <meta id="microAvail" itemprop="availability" content="in_stock" />
        <meta id="microCurrency" itemprop="priceCurrency" content="GBP" />
        <meta id="microPrice" itemprop="price" content="100.00" />
        <div>
            <h1>Product name</h1>
            <img alt="" src="http://placehold.it/200x200" />
            <div>This is the product description.</div>
            <div>£100.00</div>
        </div>
    </body>
</html>

Sử dụng Công cụ kiểm tra dữ liệu có cấu trúc của Google mang lại kết quả tích cực như thử nghiệm đầu tiên.

Để tham khảo (chúng tôi sẽ không bao giờ thực hiện việc này trên một trang web thực tế) Công cụ kiểm tra dữ liệu có cấu trúc của Google trả về lỗi nếu bạn cố gắng vượt qua microdata bị ẩn bởi CSS.

Vì vậy, cả đánh dấu thẻ meta thông thường và thẻ meta đều cho cùng một kết quả, tuy nhiên, tôi có một số lo ngại do các tuyên bố sau từ Google và Schema.org:

https://support.google.com/webmasters đá / 1/750750:

Nói chung, Google sẽ chỉ sử dụng dữ liệu được đánh dấu hiển thị cho người dùng. Dữ liệu ẩn sẽ bị bỏ qua. Tuy nhiên, trong một số trường hợp, có thể hữu ích khi cung cấp cả phiên bản có thể đọc bằng máy và phiên bản có thể đọc được của con người. Ví dụ: trong khi chuỗi văn bản "Sinh nhật của Elvis" có ý nghĩa đối với nhiều độc giả lớn của con người, thì nó không có ý nghĩa đối với các công cụ tìm kiếm như 1935-01-08. Tương tự, độc giả của con người có thể suy ra ý nghĩa của biểu tượng $, nhưng nó có thể hữu ích để nói cụ thể cho các công cụ tìm kiếm xem giá của bạn bằng peso hay đô la.

http://schema.org/docs/gs.html state (liên quan đến việc sử dụng thẻ meta):

Kỹ thuật này nên được sử dụng một cách tiết kiệm. Chỉ sử dụng meta với nội dung cho thông tin không thể được đánh dấu.

http://schema.org/docs/faq.html#13 tiểu bang:

Theo nguyên tắc chung, bạn chỉ nên đánh dấu nội dung hiển thị cho những người truy cập trang web chứ không phải nội dung trong các phần tử trang ẩn hoặc các phần tử ẩn khác.

Câu hỏi của tôi là:

  1. Mặc dù không có lỗi nào được trả về, liệu chúng ta có bị các công cụ tìm kiếm phạt vì sử dụng thẻ meta theo cách này (nghĩa là trùng lặp nội dung, ẩn thông tin, v.v.) không?
  2. Nếu điều này không phù hợp, bạn có thể đề xuất bất kỳ cách nào để tách microdata khỏi dữ liệu thực tế hay chúng ta sẽ phải cắn viên đạn và thực hiện điều này trong HTML trong từng trường hợp?

2
Loại công cụ này đại diện cho một hành động cân bằng khá phức tạp đối với Google. Ngay cả khi không có vấn đề gì ngày hôm nay, Google có thể dễ dàng thay đổi chính sách của họ. Google kiếm tiền bằng cách có một công cụ tìm kiếm dẫn người dùng đến nội dung phù hợp nhất tốt hơn so với đối thủ cạnh tranh. Nội dung ẩn bằng bất kỳ phương tiện nào có thể làm suy yếu điều đó, vì vậy sẽ luôn an toàn hơn để đánh dấu nội dung hiển thị.

@Alohci Vâng, đây là điều tôi lo sợ và không có cách nào để nói cho đến khi quá muộn! Cảm ơn các ý kiến, tôi nghĩ rằng chúng ta có thể phải cắn viên đạn này và làm theo cách thông thường.

Câu trả lời:


6

Kế hoạch sử dụng dữ liệu meta cho microdata của bạn là không khả thi. Dưới đây là Câu hỏi thường gặp của Google về lý do tại sao nó không hiển thị dữ liệu của bạn trong kết quả tìm kiếm :

Là nội dung đánh dấu của bạn bị ẩn khỏi người dùng?

Nói chung, Google sẽ không hiển thị bất kỳ nội dung nào trong các đoạn nội dung phong phú mà người dùng không nhìn thấy được. Đừng che giấu nội dung mà bạn đã đánh dấu lên để đoạn mã sử dụng các kỹ thuật như display:none, value-titlehoặc css. Google sẽ bỏ qua nội dung không hiển thị cho người dùng, vì vậy bạn nên đánh dấu văn bản mà khách truy cập sẽ thấy trên các trang web của bạn.

Cách duy nhất để khiến Google sử dụng microdata mà bạn cung cấp là đánh dấu nó ở nơi nó nằm trong trang, hiển thị cho người dùng.

Tại thời điểm này, Google sẽ không phạt vì cố gắng lạm dụng các đoạn mã phong phú ngoài việc chỉ tắt các đoạn trích phong phú cho trang web đó. Tôi sẽ không ngạc nhiên nếu Google bắt đầu loại trừ hoàn toàn các trang web khỏi kết quả tìm kiếm khi Google tìm thấy trang web đang cố gắng sử dụng microdata theo cách không tuân thủ các nguyên tắc.

Miễn là dữ liệu meta của bạn mà bạn đang đánh dấu cũng hiển thị ở đâu đó trên trang, Google không có khả năng xử phạt trang web của bạn là độc hại. Tuy nhiên, các công cụ tự động của họ phát hiện khi bạn đánh dấu dữ liệu ở một vị trí không nhìn thấy và họ sẽ không hiển thị nó trong kết quả tìm kiếm.


Cảm ơn câu trả lời. Bạn nêu lên một số điểm thú vị; có vẻ hơi vô nghĩa khi triển khai microdata trong thẻ meta nếu dữ liệu sẽ không được sử dụng!

4

Sử dụng các yếu tố meta(và link) cho Microdata là tốt. Đôi khi thậm chí không có sự thay thế hợp lý nào cho nó, ví dụ, nếu các mã cụ thể phải được cung cấp ở nơi sẽ không có ý nghĩa để hiển thị chúng cho người dùng của bạn.

Google thậm chí còn sử dụng metatrong một số ví dụ về Rich Snippets của họ:

  • Sản phẩmứng dụng phần mềm :

    <meta itemprop="priceCurrency" content="USD" />
  • Nhận xét :

    <meta itemprop="datePublished" content="2006-05-04">
    <meta itemprop="bestRating" content="10"/>
    <meta itemprop="worstRating" content="1"/>
  • Video :

    <meta itemprop="uploadDate" content="2015-02-05T08:00:00+08:00"/>
    <meta itemprop="duration" content="PT1M33S" />
    <meta itemprop="interactionCount" content="2347" />
  • Bài viết :

    <meta itemprop="datePublished" content="2015-02-05T08:00:00+08:00"/>

Vì vậy, câu hỏi là, bao nhiêu là quá nhiều (nếu có một giới hạn nào cả)? Và tôi nghĩ thật an toàn khi cho rằng không có giới hạn cứng , rất có thể nó phụ thuộc vào nhiều yếu tố khác nhau.

Tuy nhiên, sẽ hợp lý khi Google không loại bỏ đánh dấu Microdata nếu chỉ meta/ linkđược sử dụng. Tại sao? Bởi vì họ cũng hỗ trợ (và đôi khi thậm chí khuyến nghị ) JSON-LD để cung cấp dữ liệu Schema.org và điều này chỉ bao gồm nội dung "ẩn" (cụ thể là một scriptyếu tố ẩn được sử dụng làm khối dữ liệu ).

Và đây sẽ là những gì tôi đề xuất trong trường hợp của bạn: Nếu bạn không muốn thêm dữ liệu có cấu trúc bằng cách đánh dấu các yếu tố hiện có của mình, hãy sử dụng JSON-LD .


Cảm ơn những lời đề nghị. Tôi sẽ xem JSON-LD.

1

Tôi không thể nhận xét về việc liệu điều này có hoạt động cho tất cả các tình huống hay không, nhưng chúng tôi sử dụng Schema.org theo cách bạn mô tả - dưới dạng meta "nội dung" trên các trang sản phẩm. Tại sao? Nó chỉ mang tính di động nhiều hơn và không phá hỏng chủ đề. Nó cũng cho phép kiểm soát chi tiết hơn về định dạng dữ liệu và nó nhận được dữ liệu có liên quan ngay sau đó <body>(vượt xa mức gấp). Các nền tảng dựa trên hook (hoặc thậm chí dựa trên F & R như vQmod) xuất hiện trong tâm trí: không có cách nào để F & R trôi chảy tất cả các chỉ thị vào cấu trúc mà không mã hóa tất cả.

Chúng tôi chưa nhận thấy bất kỳ hình phạt nào, Google vẫn sử dụng dữ liệu, vẫn đưa dữ liệu đó vào các widget SERP. Chúng tôi vẫn có hầu hết dữ liệu trên trang ở đâu đó, nhưng theo như hầu hết các đánh dấu, nó nằm trong 1 thùng chứa meta phân cấp duy nhất sử dụng content=""như ví dụ dưới cùng của bạn chỉ có tổ chức bao bọc của nó là "đưa ra đề nghị". Bây giờ đừng đi quá xa - những thứ có cấu trúc như vòng đánh giá, mẩu bánh mì, mô tả chính hoặc thông số kỹ thuật tốt nhất nên rời khỏi meta container này. Cố gắng để mã cứng chúng vào xem.

Hầu hết mọi người sẽ nói "không sử dụng content=""metas" nhưng sau đó, hầu hết những người đó chưa bao giờ thử nó. Điều tương tự cũng xảy ra với những thứ như đánh dấu phong phú trong danh sách sản phẩm trong các danh mục ... vâng, chúng tôi cũng phá vỡ quy tắc đó :) Chỉ cần nhớ rằng Google không phải là loài cá duy nhất trong ao RDF. Những gì G nói không phải là "tạo ra hoặc phá vỡ" trong trường hợp sử dụng các định dạng dữ liệu vấn đề tiêu chuẩn theo cách hoàn toàn chấp nhận được với phần còn lại của ao. Có lẽ ngay cả khi G tự thay đổi suy nghĩ của mình trong tương lai. Nó muốn dữ liệu trên / trên tất cả, nhưng nó làm cho bạn mã trong dữ liệu bên dưới / bên dưới, trong khi các meta meta đặt nó ở phía trước và trung tâm, bằng ngôn ngữ có thể truy cập bằng máy.


Flaggellum lưu ý, OpenGraph (OG) và nhiều công việc khác trong một phương thức tương tự: như các metas có nội dung trong <head>hoặc <body>. Pinterest thích dữ liệu đầu tiên từ Schema. Thẻ Twitter hoạt động tương tự. Và đừng ngại sử dụng từ vựng dữ liệu cho mẩu bánh mì và các phần của vòng đánh giá, nó hợp lệ.
dhaupin

Cảm ơn câu trả lời, thật thú vị khi biết rằng phương pháp thẻ meta đã được triển khai thành công mà không có bất kỳ hình phạt rõ ràng nào.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.