Микроданные родитель / ребенок

Я хочу добавить микроданные /rich-snippets на свой веб-сайт, но документация о некоторых вещах довольно неясна, предположим, у меня есть КОНЦЕПТУАЛЬНЫЙ код:

<div itemscope itemtype="http://schema.org/LocalBusiness">
    <div itemprop="name">My Business</div>
    <table itemscope itemtype="http://schema.org/PostalAddress">
        <tr><td itemprop="telephone">0612345678</td></tr>
        <tr><td itemprop="addressCountry">Netherlands</td></tr>
        <-- other postalAdress properties -->
    </table>
</div>

Эта таблица, очевидно, содержит все свойства контакта (и находится в таблице по причинам форматирования). Проблема в том, что в таблице также есть номер телефона. Тестер микроданных Google считает, что свойство "телефон" принадлежит PostalAddress, однако оно должно принадлежать LocalBusiness. Как это исправить?

1 ответ

Вытащите телефон из области почтового адреса:

<div itemscope itemtype="http://schema.org/LocalBusiness">
    <span itemprop="name">My Business</span>
    <span itemprop="telephone">0612345678</span>
    <div itemscope itemtype="http://schema.org/PostalAddress">
        <span itemprop="addressCountry">Netherlands</span>
        <-- other postalAdress properties -->
    </div>
</div

С schema.org:

Добавляя itemscope, вы указываете, что HTML- код, содержащийся в блоке

... , относится к конкретному элементу.

Изменить: Если вы не можете изменить структуру DOM, это лучшее, что я могу придумать:

<div itemscope itemtype="http://schema.org/LocalBusiness" itemref="phone">
    <div itemprop="name">My Business</div>
    <table itemscope itemtype="http://schema.org/PostalAddress">
        <tr itemscope><td itemprop="telephone" id="phone">0612345678</td></tr>
        <tr><td itemprop="addressCountry">Netherlands</td></tr>
        <-- other postalAdress properties -->
    </table>
</div>
Другие вопросы по тегам