2011-12-28 22 views
13

Trong khi triển khai đánh dấu schema.org cho một trong các cửa hàng trực tuyến của tôi, tôi nhận thấy một chút khó khăn. Tôi nghĩ rằng đó là một lựa chọn thiếu trong đánh dấu. Cung cấp Neighter hoặc aggregateOffer có thể xử lý trường hợp này một cách chính xác - mặc dù tôi nghĩ nó khá phổ biến.Làm cách nào để xử lý đánh dấu schema.org cho một sản phẩm có nhiều kích cỡ/giá

  • Một trang cho một sản phẩm (giả sử đó là một cơ thể lotion)
  • Thân-lotion có 3 kích cỡ, 100, 200 và 250ml
  • Về cơ bản nó có productId nội (BL100, BL200 và BL250) cho mỗi kích thước cũng như EAN (http://en.wikipedia.org/wiki/International_Article_Number_(EAN)) cho mỗi kích thước.
  • Làm thế nào để mua: Đi trên trang sản phẩm, chọn kích thước của bạn, những thay đổi giá qua javascript, nhấn thêm vào biểu đồ

Q: Làm thế nào tôi có thể đánh dấu sản phẩm ONE với kích thước NHIỀU và giá NHIỀU một cách chính xác ?

Sự cố: http://schema.org/Product chỉ đề xuất MỘT productID sai cho tôi. Nếu tôi thêm ba phiếu mua hàng (http://schema.org/Offer), công cụ tìm kiếm có thể nghĩ, giá cả hoàn toàn lạ vì cùng một sản phẩm có ba phiếu mua hàng khác nhau.

http://schema.org/AggregateOffer dường như không phù hợp với tôi.

Cảm ơn sự giúp đỡ của bạn.

+3

Ví dụ khác là tài liệu hoặc kết thúc. Ví dụ như các vòi nước cùng đi vào, chrome, niken, đồng, và vàng tấm, mỗi với giá riêng của họ. – linuxdan

Trả lời

8

Tôi nghĩ rằng cách chính xác để đánh dấu kịch bản cụ thể này là bằng cách lồng một số Offers vào bên trong một Product. Để thêm thông tin bổ sung cho từng Ưu đãi, hãy sử dụng IndividualProduct. Tôi không chắc chắn 100%, nhưng điều này dường như hoạt động tốt trong Công cụ kiểm tra dữ liệu có cấu trúc của Google.

Dường như schema.org vẫn đang được cập nhật với các cách mới để đánh dấu sản phẩm của bạn. Dự án schema.org đã lấy rất nhiều cấu trúc từ từ vựng sản phẩm thương mại điện tử Good Relations. Xem E-commerce SEO Using Schema.org Just Got A Lot More Granular để biết thêm thông tin về các mục từ vựng mới.

Giả sử chúng tôi muốn liệt kê thông tin về hạt cà phê Sumatra để bán trên trang web. Chúng tôi muốn bán hai kích cỡ khác nhau (12 oz và 16 oz.) Với giá khác nhau cho mỗi loại.Tuy nhiên, cả hai kích thước sản phẩm phải có cùng một hình ảnh ('chỉ là một hạt cà phê) và tên. Cấu trúc sẽ trông giống như sau:

Product (name, description, and image) 
    aggregateRating 
    Offer (price and priceCurrency) 
    IndividualProduct (sku and weight) 
    Offer (price and priceCurrency) 
    IndividualProduct (sku and weight) 

Sao chép và dán nội dung sau vào Google Structured Data Testing Tool để xem cách Google sẽ dịch HTML.

jsFiddle display

<article class="product" itemscope itemtype="http://schema.org/Product"> 
    <div class="images"> 
    <a href="images/product.jpg"> 
     <img alt="Sumatra Coffee Beans" itemprop="image" src="images/product.jpg"> 
    </a> 
    </div> 
    <div class="content"> 
    <header> 
     <h1 itemprop="name">Sumatra Coffee Beans</h1> 
    </header> 
    <div class="code"> 
     <span class="label">Item Number:</span> 
     <span itemprop="productID">sumatra-coffee</span> 
    </div> 
    <div itemprop="description"> 
     <p>Error 418</p> 
    </div> 
    <div class="reviews" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> 
     <div class="details"> 
     Rated <span itemprop="ratingValue">4.5</span>/5 
     </div> 
     <div class="count"> 
     (<span itemprop="reviewCount">9</span> reviews) 
     </div> 
    </div> 
    <div class="offer" itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 
     <div itemprop="itemOffered" itemscope itemtype="http://schema.org/IndividualProduct"> 
     <span class="sku" itemprop="sku">scb-ov1</span> 
     – (<span itemprop="weight">12 oz.</span>) 
     </div> 
     <div class="price">$<span itemprop="price">14.99<span></div> 
     <meta content="USD" itemprop="priceCurrency"> 
    </div> 
    <div class="offer" itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 
     <div itemprop="itemOffered" itemscope itemtype="http://schema.org/IndividualProduct"> 
     <span class="sku" itemprop="sku">scb-ov2</span> 
     – (<span itemprop="weight">16 oz.</span>) 
     </div> 
     <div class="price">$<span itemprop="price">20.99</span></div> 
     <meta content="USD" itemprop="priceCurrency"> 
    </div> 
    </div> 
</article> 
+0

Đây là một câu trả lời tuyệt vời và thực sự đã giúp tôi cảm ơn bạn –

+0

Tôi đang xem thông số kỹ thuật schema.org cho ['IndividualProduct'] (http://schema.org/IndividualProduct) và tôi không còn chắc chắn rằng đó là loại tốt nhất cho itemscope được sử dụng để liệt kê SKU mục và giá riêng lẻ ('IndividualProduct' có nghĩa là" Một cá thể sản phẩm duy nhất, có thể nhận dạng (ví dụ: máy tính xách tay có số sê-ri cụ thể) "). Một tùy chọn khác sẽ là ['ProductModel'] (http://schema.org/ProductModel), mặc dù tôi không chắc nó có phù hợp hơn hay không. – thirdender

+0

Đây không phải là giải pháp tốt nhất vì Yandex coi đó là một microdata sản phẩm không chính xác với nhiều thuộc tính 'phiếu mua hàng'. – Finesse

2

Tôi nghĩ rằng tôi sẽ có một Product có chứa nhiều Offer s, mỗi kích thước một kích thước. Hạn chế, tất nhiên, là nó không cung cấp một phương tiện chính thức để xác định nhiều ID sản phẩm, nhưng có lẽ bạn có thể chính thức đưa những người đó vào trong tài sản Mô tả hoặc URL của Offer. Đó không phải là một sự phù hợp chính xác, nhưng có lẽ nó đủ gần.

Một tùy chọn khác là tham gia danh sách email Public Vocabs (danh sách.w3.org/Archives/Public/public-vocabs), xác nhận rằng đó là "nơi đề xuất tiện ích mở rộng, loại mới hoặc phản hồi từ trải nghiệm triển khai với từ vựng hiện tại "(danh sách.w3.org/Archives/Public/public-vocabs/2011Oct/0162.html) và đề xuất giải pháp cho vấn đề của bạn.

+0

Cảm ơn bạn. Thực hiện nó theo cách bạn mô tả nó, tuy nhiên tôi đang mong chờ một giải pháp thích hợp. –

+0

Bạn được chào đón. Khi bạn tìm thấy giải pháp thích hợp, hãy quay lại và đăng nó ở đây để tất cả chúng ta có thể học hỏi. –

+0

Tôi đồng ý với James rằng không thực sự là một giải pháp tuyệt vời. Tôi đã đặt câu hỏi cho [danh sách gửi thư] (http://lists.w3.org/Archives/Public/public-vocabs/2012Jan/0072.html), nhưng nó không nhận được bất kỳ lực kéo nào. Rắc rối là: Tôi không chắc chắn về giải pháp sẽ là gì. – nathanziarek

0

Tôi muốn giới thiệu một cách suy nghĩ hơi khác về trang web cụ thể này. Thay vì nghĩ về trang web cụ thể này dưới dạng trang 'Sản phẩm', hãy nghĩ về trang web đó dưới dạng loại 'WebPage'. 'WebPage' này sau đó thực sự chứa ba 'Sản phẩm' khác nhau, mỗi 'Sản phẩm' của riêng họ và 'sản phẩmID' của riêng họ. Khi bạn nói rằng mỗi kích thước có EAN riêng của nó, đó là một chỉ báo lớn cho tôi rằng mỗi kích thước của giá/kích thước/id nên được chứa bên trong nếu nó là 'Sản phẩm' div riêng.

+0

Vâng, điều này sẽ buộc tôi phải sử dụng rất nhiều div ẩn - những gì google không thích hoặc thẻ meta, theo schema.org, mà không phải là w3-hợp lệ. –

+0

Tôi cũng sẽ không khuyến khích tiếp cận thẻ meta. Chỉ bạn mới có thể nói với thiết kế trang web của bạn và có thể thực hiện được hay không, nhưng nếu các div sản phẩm khác sẽ được tiết lộ khi người dùng chọn các kích thước khác nhau từ menu thả xuống, thì đây là hành vi tiết lộ div thông thường của javascript và không thông tin che giấu. –

-1

Đây là những gì Google nói để làm: Sử dụng itemOffered Các mục được bán. Thông thường, điều này bao gồm một Sản phẩm lồng nhau, nhưng nó cũng có thể chứa các loại mục khác hoặc văn bản miễn phí.

+1

Bạn có thể đi sâu hơn vào chi tiết không? – Fred

0

Tất cả các biến thể khác nhau phải được thể hiện dưới dạng riêng biệt Product s với riêng biệt Offer s. Sử dụng các thuộc tính isSimilarToisRelatedTo của Product để liên kết chúng với nhau.

tham chiếu: http://schema.org/Product

Các vấn đề liên quan