AMP-страницы с VideoObject, возвращающими «Ошибка в обязательном элементе структурированных данных» в Google Search Console - PullRequest
1 голос
/ 18 июня 2019

Резюме

У нас есть каноническая версия веб-сайта и AMP-версия веб-сайта. Структурированные данные в канонической версии соответствуют структурированным данным в версии AMP.

Консоль поиска Google сообщает, что все страницы действительны как в канонической, так и в AMP-версиях сайта, кроме двух страниц AMP.

На двух страницах AMP отображается предупреждение: «Ошибка в обязательном элементе структурированных данных».

Когда мы тестируем эти страницы в инструменте тестирования структурированных данных Google, они не показывают ошибку.

Две затронутые страницы AMP также являются единственными страницами AMP, которые имеют встроенное видео (через Vimeo) и содержат дополнительную разметку VideoObject, связанную с этим видео.

Точно такое же встроенное видео и разметка присутствуют в канонических (не AMP) версиях страниц, но не выдают эту ошибку.

Что мы пробовали

Подобная проблема помечена как решенная в официальном репозитории git Project AMP: https://github.com/ampproject/amphtml/issues/18227

Эта проблема связана с объектом Article, который отображал ту же ошибку в поисковой консоли и аналогично не отображал ошибку в инструменте тестирования структурированных данных.

В этом случае была проблема со структурированными данными, и хотя инструмент тестирования не выдавал ошибку, отсутствие зеленой кнопки «Предварительный просмотр» указывало, что что-то не так.

При реализации в качестве независимого свойства VideoObject не создает кнопку предварительного просмотра. В качестве возможного решения мы попытались вложить свойство VideoObject в наше общее свойство AutomotiveBusiness. При этом появляется зеленая кнопка «Предварительный просмотр», но она не устраняет ошибку консоли поиска.

Наш код

Наши структурированные данные выглядят следующим образом:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "AutomotiveBusiness",
  "@id": "https://www.example.com",
  "url": "https://www.example.com",
  "name": "example.com",
  "sameAs": [
    "https://www.facebook.com/example/",
    "https://twitter.com/example/"
  ],
  "priceRange": "$-$$",
  "logo": "https://amp.example.com/assets/media/logo.png",
  "image": "https://amp.example.com/assets/media/feature.jpg",
  "telephone": "+1 888-888-8888",
  "email": "help@example.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1234 ABC Ln Suite 1",
    "addressLocality": "Beverly Hills",
    "addressRegion": "CA",
    "postalCode": "90210",
    "addressCountry": "US"
  },
  "areaServed": {
    "@type": "Country",
    "name": "United States",
    "sameAs": "https://en.wikipedia.org/wiki/United_States"
  },
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday",
      "Saturday",
      "Sunday"
    ],
    "opens": "00:00:00",
    "closes": "23:59:59"
  },
  "paymentAccepted": [
    "Credit Card",
    "Debit Card"
  ],
  "makesOffer": {
    "@type": "Offer",
    "itemOffered": {
      "@type": "Service",
      "name": "Tire Change",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "url": "https://amp.example.com/services/tire-change/index.html",
        "video": {
          "@type": "VideoObject",
          "name": "How to change a tire",
          "description": "Learn how to change a flat tire",
          "thumbnailUrl": "https://amp.example.com/assets/media/thumbnail.jpg",
          "embedUrl": "https://vimeo.com/51768781",
          "uploadDate": "Thu, 13 Jun 2019 10:31:57 -0400"
        }

      },
      "description": "We offer a 24/7 flat tire change service"
    },
    "areaServed": {
      "@type": "Country",
      "name": "United States",
      "sameAs": "https://en.wikipedia.org/wiki/United_States"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "5",
    "ratingCount": "3"
  },
  "review": [

    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "John Smith"
      },
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5",
        "worstRating": "1"
      },
      "name": "A really great review",
      "reviewBody": "A really great review"
    },

    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Jane Doe"
      },
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5",
        "worstRating": "1"
      },
      "name": "Another great review",
      "reviewBody": "Another great review"
    },

    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "J. Citizen"
      },
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5",
        "worstRating": "1"
      },
      "name": "The best review",
      "reviewBody": "The best review"
    }

  ]
}
</script>

Результаты

Мы ожидаем, что страницы AMP с указанным кодом будут отображаться как действительные в Google Search Console.

Консоль поиска Google вместо этого отображает страницы как недействительные с предупреждением «Ошибка в обязательном элементе структурированных данных».

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