Я строю дом портфолио для моего друга. Он художник, и его домашняя страница должна содержать много интерактивных элементов, поэтому я решил создать ее с помощью React. Однако это означает, что общая разметка страницы будет почти пустой при загрузке, и я хотел бы включить данные в формате JSON-LD, чтобы привлечь внимание поисковых систем.
Итак, в файле index.html
у меня есть это:
<script type = "application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebPage",
"author": { … }
…
}
</script>
Но правильно ли это @type
, будет ли здесь Person
точнее? Я даже наткнулся на схему EntryPoint
, которая тоже кажется хорошей, потому что основной индекс действительно является «точкой входа» с точки зрения программ.
прямо сейчас из файла…
Я имею в виду свойство imprint
, которое вы использовали в своем JSON-LD. Учитывая @context, это должно быть http://schema.org/imprint
, но это не свойство Schema.org (ошибка 404).
Это то, о чем я прошу. imprint
— это ссылка на «дочернюю страницу», например пункт меню на веб-странице. Как я могу это разметить? это должно быть как 'imprint': { '@type': 'WebPage', '@id': '<some url'' }
??
В принципе, каждый объект может быть представлен в Schema.org, а не только один. Вам не нужно решать, использовать ли WebPage
илиPerson
, вы можете использовать оба.
Но это то, что в любом случае показывает ваш фрагмент, поскольку значением свойства author
(в идеале) будет элемент Person
. Это Person
также может быть значением других свойств, таких как about
/mainEntity
, publisher
и т. д.
Для семантики данных не имеет значения, какая сущность является элементом верхнего уровня в JSON-LD, если это то, о чем вы спрашиваете.
Тип EntryPoint
не подходит, так как он предназначен для протоколов/API/и т. д., а не просто для любой веб-страницы/веб-сайта.
Откуда
imprint
?