Следующая схема Answer
выдает предупреждение в SDTT Google:
Missing a QAPage markup item on page to which this item should be associated.
Микроданные:
<div itemscope itemtype = "http://schema.org/Question">
<h1 itemprop = "name">What is attr_accessor in Ruby?</h1>
<div itemprop = "upvoteCount">196</div>
<div itemprop = "text">I am having difficulty understanding Ruby attr_accessors, can someone explain them?</div>
<div>asked <time itemprop = "dateCreated" datetime = "2010-11-04T20:07Z">Nov 11 '10 at 20:07</time></div>
<div itemprop = "author" itemscope itemtype = "http://schema.org/Person">
<span itemprop = "name">someuser</span>
</div>
<div><span itemprop = "answerCount">4</span> answers</div>
<div itemprop = "suggestedAnswer acceptedAnswer" itemscope itemtype = "http://schema.org/Answer">
<div itemprop = "upvoteCount">1337</div>
<div itemprop = "text">
(The text of the accepted answer goes here...).
</div>
<div>answered <time itemprop = "dateCreated" datetime = "2010-12-01T22:01Z">Dec 1 '10 at 22:01</time></div>
<div itemprop = "author" itemscope itemtype = "http://schema.org/Person"><span itemprop = "name">anotheruser</span></div>
</div>
<div itemprop = "suggestedAnswer" itemscope itemtype = "http://schema.org/Answer">
<div itemprop = "upvoteCount">39</div>
<div itemprop = "text">
(Another explanation would go here).
</div>
<div>answered <time itemprop = "dateCreated" datetime = "2010-12-06T21:11Z">Dec 6 '10 at 21:11</time></div>
<div itemprop = "author" itemscope itemtype = "http://schema.org/Person"><span itemprop = "name">lonelyuser1234</span></div>
</div>
</div>
Разве эта разметка не актуальна для Google в настоящее время?
Как сказано в предупреждении, Google рекомендует предоставить элемент QAPage
, вероятно, для использования одной из функций результатов поиска Google.
Вы можете связать свой Question
с QAPage
через свойство mainEntity
:
<div itemscope itemtype = "http://schema.org/QAPage">
<div itemprop = "mainEntity" itemscope itemtype = "http://schema.org/Question">
<!-- … -->
</div>
</div>
Вы также должны принять во внимание, является ли это QAPage
(который обрабатывает только отдельный вопрос, как указано) или FAQPage
(с одним или несколькими вопросами и ответами, как указано также). Последний по-прежнему находится в ожидающем расширении, но похоже, что он близок к включению в спецификацию схемы, согласно https://searchengineland.com/google-confirms-new-faqs-qa-and-how-tos-for-search-results-snippets-303116.
В любом случае вы должны иметь возможность обернуть всю разметку схемы Question
и Answer
в разметку этих других спецификаций, по крайней мере, для QAPage
и FAQPage
, которые оба являются продолжением WebPage
(уже установленного внутри спецификации схемы).
Вы можете посмотреть, как SO это делает внутри тега <html>
, по крайней мере, для спецификации QAPage
, которая больше похожа на то, что вам нужно:
Кроме того, это некоторые SO-вопросы, которые могут быть связаны с вашим:
2019-05-08 - Обновлено:FAQPage
теперь является официальным расширением:
В этот день я искал что-то подобное, в прошлом мой html-код был в порядке, но shcema.org всегда меняется. Я проверил ваш код, и ошибки и требования были такими же для моего кода. Я самостоятельно переписываю код и у меня есть ответ.
Теперь, если вы хотите решить проблему (вероятно, через несколько месяцев я ошибаюсь в том, что я пишу), попробуйте это
itemscope = "" itemtype = "http://schema.org/FAQPage" itemprop = "mainEntity" itemscope = "" itemtype = "http://schema.org/Question"
УДАЛИТЬ itemscope itemtype = "http://schema.org/Question" и добавить в конце еще один div (У меня проблемы с копированием полного кода, добавьте правильные начальные и конечные div
<div itemscope = "" itemtype = "schema.org/FAQPage"> <div itemprop = "mainEntity" itemscope = "" itemtype = "schema.org/Question"> <h1 itemprop = "name"> Что такое attr_accessor в Ruby? </h1> ... . </div> </div> </div>