Смущен тем, как работает @id в структурированных данных - PullRequest
0 голосов
/ 12 июня 2019

В основном я пытаюсь добавить BlogPosting, TechArticle и WebPage структурированные типы данных к своим сообщениям, но я получаю ошибки в инструменте тестирования структурированных данных Google.Похоже, они сосредоточены вокруг, когда я возвращаюсь к структурированному типу данных Organization, который я определил на своей домашней странице, чтобы избавить меня от необходимости повторять один и тот же код на нескольких страницах.

Вот тестирование структурированных данныхэкземпляр инструмента.Кто-нибудь может объяснить, как я могу правильно ссылаться на тип данных Organization (который находится на моей домашней странице) в свойствах author, creator и publisher?

https://search.google.com/structured-data/testing-tool#url=https%3A%2F%2Fwww.lukeharrison.dev%2Farticles%2Fmike-brewer-motors-wins-best-online-experience-at-autotraders-2018-retailer-awards%2F

Мне кажется, что это может быть связано с тем, что я не полностью понимаю свойство @id и то, как правильно его использовать, чтобы связать структурированные данные вместе, чтобы уменьшить количество повторяющихся данных.

Вот этот код:

  • BlogPosting
  • Связано Organisation
  • Получаемые ошибки

Пример BlogPosting

{
    "@context": "http://schema.org",
    "@type": "BlogPosting",
    "about": "Great news! Mike Brewer Motors - a project I've been heavily involved in over the past few years - has won the 'Best Online Experience' at the Autotrader 2018 Retailer Awards.",
    "articleSection": "Blog Posts",
    "author": {
        "id": "https://www.lukeharrison.dev#organization"
    },
    "copyrightHolder": {
        "id": "https://www.lukeharrison.dev#person"
    },
    "copyrightYear": "2019",
    "creator": {
        "id": "https://www.lukeharrison.dev#organization"
    },
    "dateCreated": "2018-07-20",
    "dateModified": "2018-07-20",
    "datePublished": "2018-07-20",
    "description": "Great news! Mike Brewer Motors - a project I've been heavily involved in over the past few years - has won the 'Best Online Experience' at the Autotrader 2018 Retailer Awards.",
    "genre": "Web Design & Front-End Development",
    "headline": "Mike Brewer Motors wins 'Best Online Experience' at Autotrader's 2018 Retailer Awards - Luke Harrison",
    "image": {
        "@type": "ImageObject",
        "height": 512,
        "url": "https://s.gravatar.com/avatar/c34b34964896ad0552a5b342ae08c1e2?s=512",
        "width": 512
    },
    "inLanguage": "en-GB",
    "isFamilyFriendly": "true",
    "keywords": [
        "news"
    ],
    "mainEntityOfPage": "https://www.lukeharrison.dev/articles/mike-brewer-motors-wins-best-online-experience-at-autotraders-2018-retailer-awards",
    "publisher": {
        "id": "https://www.lukeharrison.dev#organization"
    }
}

Пример связан Organization, который находится на другой странице

{
    "@context": "http://schema.org",
    "@id": "https://www.lukeharrison.dev#organization",
    "@type": "Organization",
    "additionalType": [
        "http://www.productontology.org/id/Web_design",
        "http://www.productontology.org/doc/Search_engine_optimization",
        "http://www.productontology.org/doc/Web_development"
    ],
    "foundingDate": "2013",
    "legalName": "Luke Harrison - UX / Web Developer",
    "logo": "https://www.lukeharrison.dev/img/share-26bfb69f23.png",
    "name": "Luke Harrison - UX / Web Developer",
    "sameAs": [
        "https://twitter.com/webdevluke?lang=en-gb",
        "https://www.linkedin.com/in/lukedidit/",
        "https://github.com/WebDevLuke",
        "https://codepen.io/lukedidit/"
    ],
    "url": "https://www.lukeharrison.dev"
}

Ошибки, которые я получаю в моей BlogPosting структуре

author, creator и publisher:

  • Атрибут publisher.itemtype имеет недопустимое значение.

  • Требуется ввести значение для поля имени.

1 Ответ

1 голос
/ 23 июня 2019

Ошибки касаются богатого результата статьи Google (если вы не хотите получать этот богатый результат, вы можете игнорировать эти ошибки).

Для страниц AMP author и publisher являются обязательными свойствами. Они требуют фактических элементов в качестве значения, @id ссылки не поддерживаются. Вы все еще можете указать @id, но вам нужно дополнительно указать @type и необходимые свойства.

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