Подтвердить что ты не робот

Можно ли скрывать микроданные с помощью CSS?

скажем, у меня есть html-документ с большим количеством текста. Это "хорошо" (~ не плохо:)), чтобы иметь элементы, содержащие микроданные, и скрывать эти элементы, чтобы пользователь не видел их на самом деле?

Скажем, у меня есть это:

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

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

4b9b3361

Ответ 1

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

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

Если вы измените видимый контент, ни одна из разметки Microdata не изменится:

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

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

Вы хотите скрыть микроданные с помощью метатега.

Например,

<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

Ответ 5

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

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

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

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

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

Комментарии HTML, конечно, точно так же, как комментарии на языках программирования, за исключением того, что они передаются клиенту. Стандартный атрибут элемента заголовка (доступен для всех элементов 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 подходящих вопросов".

Ответ 6

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

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

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

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