Рефакторинг структурированных данных/microdata в ItemLists для превращения в «простые» ListItem

Discourse использует микроданные ItemLists с элементами ListItem в различных местах.

Некоторые из этих элементов ListItem являются лишь ссылками/ссылками на фактический объект и сами по себе не представляют объект. См. ItemLists:

  • Представление для краулера: представление категории → “topic-list”
  • Представление для краулера: представление темы → первый пост → “crawler-linkback-list”

Поскольку эти элементы ListItem являются лишь ссылками, мы можем называть окружающие их ItemLists “сводкой”.
Для “сводки” Google рекомендует использовать “простой” список:

См.: Carousel (ItemList) Structured Data | Google Search Central  |  Documentation  |  Google for Developers

Google может воспринять “сложный” элемент ListItem с установленными дополнительными свойствами как отдельный объект, тем самым создавая новые объекты на странице списка вместо простого ссылки на исходный объект (URL).


Например: Представление для краулера: представление категории → “topic-list”

“Сложный” список — текущее состояние

<div itemscope="" itemtype="http://schema.org/ItemList">
  <meta itemprop="itemListOrder" content="http://schema.org/ItemListOrderDescending">
  <table class="topic-list">
    [...]
    <tbody class="topic-list-body">
        [...]
        <tr class="topic-list-item">
          <td class="main-link topic-list-data" itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
            <meta itemprop="name" content="Удалить неверные структурированные данные со всех подстраниц — добавить &quot;Sitelinks Search Box&quot; только на главную страницу">
            <meta itemprop="url" content="https://meta.discourse.org/t/remove-wrong-structured-data-from-every-subpage-add-sitelinks-search-box-to-the-homepage-only/219299">
              <meta itemprop="image" content="https://global.discourse-cdn.com/meta/optimized/3X/6/8/68d84f5836ecc992fe21d08e05225eb57e47da38_2_1024x778.png">
            <meta itemprop="position" content="2">
            [...]
        </tr>
        [...]
    </tbody>
  </table>
</div>

“Простой” список — псевдокод

<div itemscope="" itemtype="http://schema.org/ItemList">
  <table class="topic-list">
    [...]
    <tbody class="topic-list-body">
        [...]
        <tr class="topic-list-item">
          <td class="main-link topic-list-data" itemscope="" itemtype="http://schema.org/ListItem">
            <meta itemprop="url" content="https://meta.discourse.org/t/remove-wrong-structured-data-from-every-subpage-add-sitelinks-search-box-to-the-homepage-only/219299">
            <meta itemprop="position" content="2">
            [...]
        </tr>
        [...]
    </tbody>
  </table>
</div>

Я определенно открыт к улучшению всего здесь, мне было бы интересно посмотреть на PR.

PR для Crawler-View: Category-View → «topic-list»

PR для Crawler-View: Topic-View → первое сообщение → «crawler-linkback-list»


Текущее состояние — см. https://search.google.com/test/rich-results/result?id=rZ2rScT4qsLi5K8uwJDtUQ&hl=en

После реализации PR — см. https://search.google.com/test/rich-results/result?id=lJrsyBggKH6Cx5FPH65rXg&hl=en

Google относит фактический тип DiscussionForumPosting - Schema.org Type к его родительскому типу Article:
ThingCreativeWorkArticleSocialMediaPostingDiscussionForumPosting

«Отсутствующие» 18 Articles на самом деле являются ссылками только на Articles и теперь отображаются в новом Carousel.
Например, см. Kanban Board