Можно ли реализовать микроданные в метатегах?

12

Пожалуйста, рассмотрите следующий код, помеченный атрибутами для предоставления микроданных:

<!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>

Использование инструмента тестирования структурированных данных Google дает положительные результаты.

Это хорошо в тестовом примере, однако мы хотим внедрить микроданные на различных сайтах, структура HTML которых сильно различается. Для реализации атрибутов таким способом потребуется, чтобы кто-то вручную редактировал разметку HTML на каждом из сайтов в отдельности.

Предпочтительно, мы хотели бы иметь возможность вызывать одну функцию, которая упаковывает все микроданные в одном месте; технически это возможно с помощью мета-тегов следующим образом:

<!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>

Использование инструмента тестирования структурированных данных Google дает те же положительные результаты, что и первый тест.

Для справки (мы бы никогда не сделали этого на реальном сайте) Инструмент тестирования структурированных данных Google возвращает ошибку, если вы пытаетесь передать микроданные, скрытые с помощью CSS.

Итак, и нормальная разметка, и разметка мета-тегов дают одинаковые результаты, однако у меня есть некоторые опасения из-за следующих утверждений от Google и Schema.org:

https://support.google.com/webmasters/answer/146750 гласит:

В общем, Google будет использовать только размеченные данные, которые видны пользователю. Скрытые данные будут игнорироваться. Однако в некоторых случаях может быть полезно предоставить как машиночитаемую, так и читаемую человеком версию вашего контента. Например, хотя текстовая строка «День рождения Элвиса» важна для многих читателей, она не так значима для поисковых систем, как 1935-01-08. Точно так же читатели могут определить значение символа $, но может быть полезно конкретно указать поисковым системам, указаны ли ваши цены в песо или в долларах.

http://schema.org/docs/gs.html утверждает (в связи с использованием мета-тегов):

Эту технику следует использовать с осторожностью. Используйте мета с содержанием только для информации, которая не может быть размечена иначе.

http://schema.org/docs/faq.html#13 гласит:

Как правило, вы должны размечать только контент, который виден людям, посещающим веб-страницу, а не контент в скрытых элементах div или других скрытых элементах страницы.

Мои вопросы:

  1. Хотя ошибки не возвращаются, будут ли мы наказаны поисковыми системами за использование мета-тегов таким образом (т. Е. Дублирующийся контент, сокрытие информации и т. Д.)?
  2. Если это не подходит, можете ли вы предложить какой-либо способ отделения микроданных от фактических данных, или нам придется кусать маркеры и внедрять их в HTML в каждом конкретном случае?
Стивен Остермиллер
источник
2
Такие вещи представляют собой довольно сложный баланс для Google. Даже если сегодня проблем нет, Google может легко изменить свою политику. Google зарабатывает деньги, имея поисковую систему, которая приводит своих пользователей к наиболее подходящему контенту лучше, чем его конкуренты. Скрытый контент любым способом может подорвать это, поэтому всегда будет безопаснее разметить видимый контент.
@Alohci Да, это то, чего я боюсь, и я не могу сказать, пока не стало слишком поздно! Спасибо за комментарии, я думаю, что нам, возможно, придется просто укусить пулю и сделать это обычным способом.

Ответы:

6

Ваш план использования метаданных для микроданных нежизнеспособен. Вот часто задаваемые вопросы Google о том, почему ваши данные не отображаются в результатах поиска :

Ваш размеченный контент скрыт от пользователей?

В общем, Google не будет отображать контент в богатых фрагментах, который не виден пользователю. Не скрывать содержимое , которое вы размеченный для богатых фрагментов с использованием таких методов , как display:none, value-titleили CSS. Google будет игнорировать контент, который не виден пользователям, поэтому вы должны пометить текст, который посетители увидят на ваших веб-страницах.

Единственный способ заставить Google использовать предоставленные вами микроданные - это пометить их там, где они находятся на странице, видимой для пользователя.

На данный момент Google не наказывает за попытку злоупотребления расширенными фрагментами, а не просто отключает расширенные фрагменты для этого сайта. Меня не удивит, если Google начнет полностью исключать сайты из результатов поиска, когда Google обнаружит, что сайт пытается использовать микроданные способом, не соответствующим рекомендациям.

Пока ваши метаданные, которые вы отмечаете, также видны где-то на странице, Google вряд ли накажет ваш сайт как вредоносный. Однако их автоматические инструменты обнаруживают, когда вы размечаете данные в невидимом месте, и не показывают их в результатах поиска.

Стивен Остермиллер
источник
Спасибо за ответ. Вы поднимаете некоторые интересные моменты; кажется немного бессмысленным внедрение микроданных в метатеги, если данные не будут использованы!
4

Использование metalink) элементов для микроданных нормально. Иногда даже нет разумной альтернативы этому, например, если нужно предоставить конкретные коды, где не имеет смысла показывать их своим пользователям.

Google даже использует metaв некоторых своих примерах Rich Snippets:

  • Продукты и программные приложения :

    <meta itemprop="priceCurrency" content="USD" />
  • Отзывы :

    <meta itemprop="datePublished" content="2006-05-04">
    <meta itemprop="bestRating" content="10"/>
    <meta itemprop="worstRating" content="1"/>
    
  • Видео :

    <meta itemprop="uploadDate" content="2015-02-05T08:00:00+08:00"/>
    <meta itemprop="duration" content="PT1M33S" />
    <meta itemprop="interactionCount" content="2347" />
    
  • Статьи :

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

Так что вопрос в том, сколько это слишком много (если есть предел вообще)? И я думаю, можно с уверенностью предположить, что жесткого ограничения нет, скорее всего, оно зависит от различных дополнительных факторов.

Однако для Google имеет смысл не отклонять разметку микроданных, если используется только meta/ link. Почему? Потому что они также поддерживают (а иногда даже рекомендуют ) JSON-LD для предоставления данных Schema.org, и это состоит только из «скрытого» содержимого (а именно, скрытого scriptэлемента, используемого в качестве блока данных ).

И это было бы то, что я бы предложил в вашем случае: если вы не хотите добавлять структурированные данные, отмечая существующие элементы, используйте JSON-LD .

ОООНР
источник
Спасибо за предложения. Я посмотрю на JSON-LD.
1

Я не могу комментировать, будет ли это работать во всех ситуациях, но мы используем Schema.org так, как вы описываете, - как мета-контент на страницах продукта. Почему? Это намного более переносимо и не портит темы. Это также позволяет более детально контролировать форматирование данных и получать соответствующие данные сразу после <body>(намного выше сгиба). Вспоминаются платформы, основанные на хуках (или даже основанные на F & R, такие как vQmod): нет способа плавно переписать все директивы в структуру без жесткого кодирования их всех в поле зрения.

Мы не заметили каких-либо штрафов, Google все еще использует данные, все еще помещает их в виджеты SERP. У нас все еще есть большая часть данных где-то на странице, но, как и большая часть разметки, она находится в одном иерархическом метаконтейнере, использующем, content=""как в вашем нижнем примере, только его завернутую внутри организацию в качестве «внесения предложения». Не забирайте это слишком далеко - структурные вещи, такие как петли рецензирования, панировочные сухари, основное описание или спецификации, лучше всего исключать из этого мета контейнера. Попробуйте жестко закодировать их в поле зрения.

Большинство людей скажут «не используйте content=""метас», но опять же, большинство из этих людей никогда не пробовали это. То же самое касается таких вещей, как богатая разметка в списках продуктов в категориях ... да, мы тоже нарушаем это правило :) Просто помните, что Google - не единственная рыба в пруду RDF. То, что говорит G, не означает «сделать или сломать» в этом случае использования стандартных форматов данных способом, который является совершенно приемлемым для остальной части водоема. Возможно, даже потому, что сама G изменит свое мнение в будущем. Он хочет данные выше / выше всего, но он заставляет вас кодировать данные ниже / ниже, в то время как мета-атрибуты помещают их вперед и в центр на машинно-доступном языке.

dhaupin
источник
Примечание к Flaggellum, OpenGraph (OG) и т. Д. Работают аналогичным способом: как метас с содержимым в <head>или <body>. Pinterest любит данные в первую очередь из схемы. Твиттер-карты работают аналогично. И не бойтесь использовать словарь данных для панировочных сухарей и частей цикла отзывов, это действительно так.
дхаупин
Спасибо за ответ, интересно знать, что метод метатега был успешно реализован без каких-либо очевидных штрафов.