Можно ли скрывать микроданные с помощью CSS? - PullRequest
21 голосов
/ 18 января 2012

скажем, у меня есть HTML-документ с большим количеством текста.«Хорошо» (~ не плохо :)) иметь элементы, которые содержат микроданные, и скрывать эти элементы, чтобы пользователь не мог их увидеть?

Допустим, у меня есть это:

<div style="display:none" itemscope...>some microdata describing div below</div>
<div> There is actual text that is described by microdata</div>

Дело в том, что таким образом может быть проще описать 2-й див.Вам не нужно вносить изменения во весь текст, просто добавьте некоторые элементы и скройте их.Я хочу создать простой HTML-редактор, который бы поддерживал создание микроданных, и этот способ кажется более простым в реализации и личном использовании (сначала создайте реальный контент, а затем аннотируйте его).

Ответы [ 6 ]

33 голосов
/ 25 августа 2012

schema.org имеет фактический метод для «сокрытия» микроданных:

http://schema.org/docs/gs.html#advanced_missing

Если вы пытаетесь повлиять на SEO, тогда «скрываете» данные семантической разметки от пользователя, носохранение его машиночитаемым (для роботов / пауков) не отменяет цели вообще.

Если ваша разметка schema.org правильно отформатирована, Google не собирается наказывать ваши рейтинги индекса, если вы «скрываете» значения.

7 голосов
/ 13 февраля 2014

schema.org и, таким образом, Google официально заявляет в [1], что вы не должны размечать скрытый контент:

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

Вы можете использовать html-теги link и meta также в теле для разметки контента, который должен быть невидим для пользователя:

Вы хотите скрыть микроданные, используя метатег.

Например,

<div itemscope itemtype="http://schema.org/Product">
    <span itemprop="name">Funky Skirt</span>
    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <meta itemprop="price" content="100.00" />
        <link itemprop="availability" href="http://schema.org/InStock" />In stock
    </div>
</div>

[1] http://schema.org/docs/gs.html

7 голосов
/ 18 января 2012

Сокрытие содержимого, помеченного микроданными, лишает его смысла, оно предназначено для добавления дополнительной информации о материалах, которые уже видны на странице.Основным аргументом для этого является то, что люди всегда забывают обновить видимый контент, но часто забывают обновить контент, который они не видят, поэтому скрытый «мета» контент часто устарел и неточен.Вместо этого микроданные используют подход, описывающий видимое содержимое , равное , поэтому при изменении содержимого производимые данные изменяются.Возьмите этот пример из спецификации :

<h1 itemprop="fn">
  <span itemprop="n" itemscope>
    <span itemprop="given-name">Jack</span>
    <span itemprop="family-name">Bauer</span>
  </span>
</h1>

Если вы измените видимое содержимое, ни одна из разметки микроданных фактически не изменится:

<h1 itemprop="fn">
  <span itemprop="n" itemscope>
    <span itemprop="given-name">Tim</span>
    <span itemprop="family-name">Berners-Lee</span>
  </span>
</h1>

Таким образом, микроданные почти навернякане то, что вы хотите использовать в вашей ситуации.То, что вы действительно должны использовать, зависит от того, для чего именно вы хотите эту информацию.Если вы хотите добавить скрытые данные для обработки с помощью сценариев на своем сайте, вместо этого используйте data-* атрибуты .Если вы хотите добавить дополнительную описательную информацию, которую должны видеть не все пользователи, рассмотрите возможность использования ARIA .В частности, в вашем случае, aria-describedby.

5 голосов
/ 21 декабря 2015

Вы можете использовать метатеги, например:

<meta itemprop="VALUE" content="CONTENT" />

<meta itemprop="priceCurrency" content="USD" />

https://schema.org/docs/gs.html#advanced_missing

1 голос
/ 18 января 2012

Собираетесь ли вы что-нибудь делать со скрытыми данными? Я бы использовал комментарии HTML или атрибут заголовка.

HTML Комментарии:

<!-- This is an HTML Comment -->
<div>Content</div>

Атрибут заголовка:

<div title="some information describing div">Content of div</div>

HTML-комментарии, конечно же, похожи на комментарии в языках программирования, за исключением того, что они передаются клиенту. Стандартный атрибут элемента title (доступен для всех элементов html) содержит дополнительную информацию об элементе и используется как подсказка при наведении на элемент.

Например, HTML для вашей скорости принятия там:

<div class="accept-rate cool" title="this user has accepted an answer for 4 of 6 eligible questions">67% accept rate</div>

На что, если вы наведите указатель мыши на него, написано, что «этот пользователь принял ответ на 4 из 6 приемлемых вопросов».

0 голосов
/ 11 сентября 2014

Если мы говорим о штрафах Google , вы должны внимательно прочитать документацию с типом фрагментов, над которыми вы работаете.

Например, если я возьму фрагменты продукта, следуя документации (https://support.google.com/webmasters/answer/146750?hl=en#offer_properties) только указанные поля: Google распознает определенные машиночитаемые значения для следующих тегов продукта, которые не игнорируются Google при скрытии:

  • категория
  • priceValidUntil
  • priceCurrency
  • цена
  • идентификатор
  • состояние

Итак, лучший способ для этих полей - использовать их в метатегах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...