Я занят добавлением микроданных (schema.org) на сайт о программном приложении.schema.org itemref questions
Вместо того, чтобы повторять себя с точки зрения дублирования кода, я пытаюсь добавить метаданные один раз (когда это возможно) и ссылаться на него.
Это где я все еще возникают вопросы:
Как вы правильно ссылаться на другие метаданные без метаданных добавляемый к самой странице? Позвольте мне привести пример: первый я попытался это:
<!DOCTYPE html>
<html itemscope itemtype="http://schema.org/WebSite" lang="en">
<body itemprop="mainEntity" itemscope itemtype="http://schema.org/WebPage">
<div class="main">
<div class="container">
<div class="row">
<div class="col-md-12">
<!-- info about product and reference to the metadata -->
<div itemscope itemtype="http://schema.org/SoftwareApplication" itemref="microdataMyProduct1">
<!-- product info on website -->
</div>
</div>
</div>
</div>
</div>
<!-- this metadata gets also added to the WebPage -->
<div id="microdataMyProduct1">
<meta itemprop="name" content="My Product 1" />
</div>
</body>
</html>
Но этот код выше добавляет также микроданное itemprop по данному продукту в рамки «WebPage». (Где Google инструмент тестирования жалуется, потому что некоторые itemprop от «SoftwareApplication» не действительны для «WebPage»)
Так я думал, чтобы добавить объем элемента и заменить эти строки:
<div itemscope itemtype="http://schema.org/SoftwareApplication" itemref="microdataMyProduct1">
<!-- ... -->
<div id="microdataMyProduct1">
<!-- ... -->
с этими линиями :
<div itemscope itemtype="http://schema.org/SoftwareApplication" itemref="microdataMyProduct1">
<!-- ... -->
<div itemscope itemtype="http://schema.org/SoftwareApplication" id="microdataMyProduct1">
<!-- ... -->
Проблема в том, что у меня теперь есть два предмета/предметы. Это верно? В другом столбце stackoverflow я читал, что вы не должны использовать itemref в комбинации с идентификаторами, а ссылаться на внешний url. Я смущен.
Вот пример, который я сейчас (ссылки на несколько других метаданных с использованием itemref (внутри головы и в микроданных себя):
<!DOCTYPE html>
<html itemscope itemtype="http://schema.org/WebSite" lang="en">
<head>
<meta name="author" content="Company 1">
<meta itemprop="author" itemscope itemtype="http://schema.org/LocalBusiness" itemref="microdataCompany1">
<meta itemprop="about" itemscope itemtype="http://schema.org/SoftwareApplication" itemref="microdataMyProduct1">
<!-- ... -->
</head>
<body itemprop="mainEntity" itemscope itemtype="http://schema.org/WebPage">
<div itemprop="hasPart" itemscope itemtype="http://schema.org/WPHeader">
<nav class="navbar" itemprop="hasPart" itemscope itemtype="http://schema.org/SiteNavigationElement">
<!-- ... -->
</nav>
</div>
<div class="main">
<div class="container">
<div class="row">
<div class="col-md-12">
<!-- another second product on the page -->
<div itemscope itemtype="http://schema.org/SoftwareApplication">
<h3 itemprop="name">Second Product</h3>
<meta itemprop="applicationCategory" content="BusinessApplication" />
<meta itemprop="creator" itemscope itemtype="http://schema.org/LocalBusiness" itemref="microdataCompany1" />
<meta itemprop="producer" itemscope itemtype="http://schema.org/LocalBusiness" itemref="microdataCompany1" />
<meta itemprop="provider" itemscope itemtype="http://schema.org/LocalBusiness" itemref="microdataOtherCompany" />
<!-- ... -->
</div>
</div>
</div>
</div>
</div>
<div class="footer" itemprop="hasPart" itemscope itemtype="http://schema.org/WPFooter">
</div>
<!-- Product 1 microdata -->
<!-- ##################### -->
<div hidden class="hidden" itemscope itemtype="http://schema.org/SoftwareApplication" id="microdataMyProduct1">
<meta itemprop="name" content="My Product 1" />
<meta itemprop="applicationCategory" content="BusinessApplication" />
<meta itemprop="creator" itemscope itemtype="http://schema.org/LocalBusiness" itemref="microdataCompany1" />
<meta itemprop="producer" itemscope itemtype="http://schema.org/LocalBusiness" itemref="microdataCompany1" />
<meta itemprop="provider" itemscope itemtype="http://schema.org/LocalBusiness" itemref="microdataOtherCompany" />
</div>
<!-- Company 1 microdata -->
<!-- ################### -->
<div hidden class="hidden" itemscope itemtype="http://schema.org/LocalBusiness" id="microdataCompany1">
<meta itemprop="name" content="Company 1">
<!-- ... -->
<div itemprop="openingHoursSpecification" itemscope itemtype="http://schema.org/OpeningHoursSpecification">
<link itemprop="dayOfWeek" href="http://schema.org/Monday" />
<time itemprop="opens" content="8:00:00" />
<time itemprop="closes" content="12:30:00" />
<time itemprop="opens" content="13:30:00" />
<time itemprop="closes" content="18:00:00" />
</div>
<div itemprop="openingHoursSpecification" itemscope itemtype="http://schema.org/OpeningHoursSpecification">
<link itemprop="dayOfWeek" href="http://schema.org/Tuesday" />
<time itemprop="opens" content="8:00:00" />
<time itemprop="closes" content="12:30:00" />
<time itemprop="opens" content="13:30:00" />
<time itemprop="closes" content="18:0:00" />
</div>
</div>
<!-- Other Company microdata -->
<!-- ######################## -->
<div hidden class="hidden" itemscope itemtype="http://schema.org/LocalBusiness" id="microdataOtherCompany">
<meta itemprop="name" content="Other Company">
<meta itemprop="legalName" content="Other Company Ltd.">
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<meta itemprop="streetAddress" content="FooStreet">
<!-- ... -->
</div>
</div>
</body>
</html>
Является ли это правильное использование микроданных для страницы на сайте ? о продукте ли itemref = «» атрибуты используются правильно
Связанный: [? Как разбить itemscope на несколько элементов HTML] (http://stackoverflow.com/q/29135360/1591669) – unor