2015-09-14 19 views
11

Tôi có một vấn đề: Kiểm tra dữ liệu có cấu trúc cụ của Google mang lại cho tôi một lỗi:thuộc tính "vị trí" bắt buộc đối với ItemList với các mục danh sách Sản phẩm?

Tag position doesn't exist. It's required.

Tag position doesn't exist

tôi thêm nó vào đánh dấu. Hơn tôi nhận được lỗi này:

Position property is not valid for an object of type Product

Position property is not valid for an object of type Product

Dưới đây là đánh dấu của tôi:

<table id="sale_table" itemscope="" itemtype="http://schema.org/ItemList"> 
    <tbody> 
      <tr itemprop="itemListElement" itemscope="" itemtype="http://schema.org/Product"> 
       <td class="sale_art_td" itemprop="productID">10496278</td> 
       <td class="sale_brand_td" itemprop="brand"><span itemprop="name ">--</span></td> 
       <td class="sale_name_td" itemprop="name">10496278/Крышка трамблера Daewoo Nexia,Espero DD</td> 
       <td class="sale_am_td">1.00</td> 
       <td class="sale_price_td" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer"><meta itemprop="priceCurrency" content="RUR"><span itemprop="price">341.50</span></td> 
       <td class="sale_buy_td"><a href="javascript:void(0);" class="sale_buy_link" data-id="63455914" data-query="10496278">Купить</a><!--<img src="/upload/badge/sale_cart.png" />--></td> 
       <td class="hidden"> 
        <meta itemprop="url" content="/partsearch/?q=10496278"> 
             <span itemprop="description">Распродажа: 10496278/Крышка трамблера Daewoo Nexia,Espero DD по цене 341.50</span> 
       </td> 
      </tr> 
        <tr itemprop="itemListElement" itemscope="" itemtype="http://schema.org/Product"> 
       <td class="sale_art_td" itemprop="productID">76202sx0a12</td> 
       <td class="sale_brand_td" itemprop="brand"><span itemprop="name ">HONDA</span></td> 
       <td class="sale_name_td" itemprop="name">76202SX0A12</td> 
       <td class="sale_am_td">1.00</td> 
       <td class="sale_price_td" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer"><meta itemprop="priceCurrency" content="RUR"><span itemprop="price">704.00</span></td> 
       <td class="sale_buy_td"><a href="javascript:void(0);" class="sale_buy_link" data-id="63456060" data-query="76202sx0a12">Купить</a><!--<img src="/upload/badge/sale_cart.png" />--></td> 
       <td class="hidden"> 
        <meta itemprop="url" content="/partsearch/?q=76202sx0a12"> 
             <span itemprop="description">Распродажа: 76202SX0A12 по цене 704.00</span> 
       </td> 
      </tr> 
    </tbody> 
</table> 
+0

Đó là một là một năm và chúng tôi vẫn không biết nó là gì. – OdraEncoded

Trả lời

2

Đây không phải là một lỗi với mã của bạn. Điều này chỉ có nghĩa là Google sẽ không hiển thị một đoạn mã chi tiết nhất định (hoặc một tính năng tương tự) trừ khi bạn cung cấp thuộc tính này.

Tuy nhiên, position property không được xác định cho Product type, vì vậy điều này không có ý nghĩa gì.

Dường như đây là tính năng dữ liệu có cấu trúc mới từ Google, chưa được ghi lại, vì nó liên kết đến trang 404: List Page Carousels. Có thể đó là công việc đang diễn ra và họ không có ý định xuất bản séc trong Công cụ kiểm tra của họ.

Vì vậy, tôi chỉ đơn giản là bỏ qua điều này ngay bây giờ.

+0

Từ "bắt buộc", đó là điều gây nhầm lẫn cho tôi =) – murrometz

3

Tôi đoán đây là một lỗi thực hiện bên phía Google do tài liệu không rõ ràng:

https://schema.org/itemListElement nêu rõ

Existing entities are best for a simple, unordered list of existing things in your data. ListItem is used with ordered lists when you want to provide additional context about the element in that list or when the same item might be in different places in different lists.

Note: The order of elements in your mark-up is not sufficient for indicating the order or elements. Use ListItem with a 'position' property in such cases.

Cùng lúc đó là nói giá trị dự kiến ​​sẽ là một trong những loại là:

  • ListItem
  • chữ
  • Thing

=> Điều này có nghĩa ngầm, rằng phần tử vị trí chỉ có thể được yêu cầu cho các danh sách được sắp xếp, trong đó có nhu cầu lần lượt là các yếu tố Thing được chứa bên trong một yếu tố ListItem , cung cấp itemprop vị trí.

Nó cũng có nghĩa ngầm rằng nếu ItemListElementchữ hoặc Thing, danh sách này cần được xem xét Unordered.

Đây là cách duy nhất tài liệu có ý nghĩa. Tôi cho rằng kết nối ngầm đã bị bỏ qua.

Vì vậy, tôi đoán hành động thích hợp là để nộp báo cáo lỗi cho Structured dữ liệu Công cụ kiểm tra và sống với những lời cảnh báo cho bây giờ hay tổ sản phẩm bên trong một yếu tố ListItem như một cách giải quyết.

+1

Tôi đã cố gắng giải quyết vấn đề này, nhưng dường như không hoạt động: - Nếu tôi lồng Sản phẩm trong phần tử ListItem, WMT than phiền về đối tượng sai Loại - Nếu Tôi sử dụng _Thing_ nó than phiền _Thuộc tính xyz không được Google công nhận cho một đối tượng kiểu Thing_. - Tương tự xảy ra nếu tôi thử _additionalType: \t http://schema.org/Product_ với phần tử _ListItem_ hoặc _Thing_. ==> Tôi không thể tìm thấy mã hóa hợp lệ cho danh sách _Product_. –

+0

Tôi có cùng một vấn đề. Nhưng không chắc chắn nếu nó là một lỗi trong công cụ kiểm tra hoặc cái gì khác. Nếu nó là một lỗi thì google sẽ sửa chữa nó? Tôi có thể thấy bài đăng này đã hơn một năm tuổi, nhưng vẫn còn lỗi ở đó. – Majid

+0

2017 và vẫn chưa được khắc phục ... – SublymeRick

1

thử này

'@type': 'ListItem', 
'position': 1, 
'item':{ 
    '@type': 'Product', 
... product props 
} 
1

Từ malefique thử nghiệm của tôi là vào giải pháp đúng.

Mã này hoàn toàn xác nhận bằng cách sử dụng Structured Data testing tool:

{ 
    "@context": "http://schema.org", 
    "@type": "ItemList", 
    "itemListOrder": "http://schema.org/ItemListOrderDescending", 
    "itemListElement": [ 
     { 
      "@type": "ListItem", 
      "position": 1, 
      "item": { 
       "@type": "Product", 
       "name": "My product", 
       "url": "www.example.com", 
       "offers": { 
        "@type": "Offer", 
        "availability": "http://schema.org/InStock", 
        "price": "100.00", 
        "priceCurrency": "AUD" 
       } 
      } 
     } 
    ] 
} 
Các vấn đề liên quan