2015-11-13 4 views
2

Я использую структурированные данные для моей дорожки панировочных сухарей. Я ссылаюсь на эту документацию:Как разметить последний не связующий элемент в списке панировочных сундуков с помощью JSON-LD

https://developers.google.com/structured-data/breadcrumbs

Я создал список хлебных крошек. Я также показываю последний элемент, который ссылается на текущую страницу, но это не ссылка, а простой текст. Это то, что мой HTML разметка выглядит следующим образом:

<ol class="breadcrumb"> 
    <li><a href="http://www.example.com/">Home</a></li> 
    <li><a href="http://www.example.com/brands">Brands</a></li> 
    <li class="active">My Brand</li> 
</ol> 

Я решил использовать JSON-LD для разметки моих хлебных крошек след. Я не уверен, как разметить последний элемент в моем списке панировочных сундуков, увидев, что это не ссылка? Должен ли я оставить его? Это то, что я в настоящее время:

<script type="application/ld+json"> 
{ 
    "@context": "http://schema.org", 
    "@type": "BreadcrumbList", 
    "itemListElement": [{ 
      "@type": "ListItem", 
      "position": 1, 
      "item": { 
       "@id": "http://www.example.com/", 
       "name": "Home" 
      } 
    }, { 
      "@type": "ListItem", 
      "position": 2, 
      "item": { 
       "@id": "http://www.example.com/brands", 
       "name": "Brands" 
      } 
    }] 
} 
</script> 

Мне нужно добавить последний пункт, как я сделал с 2-х другими элементами ли, или мне нужно оставить? Это только для предметов, имеющих ссылки на него?

ответ

6

Конечно, вы можете просто обеспечить ListItem для последнего элемента и опустить @id:

<script type="application/ld+json"> 
{ 
    "@context": "http://schema.org", 
    "@type": "BreadcrumbList", 
    "itemListElement": [{ 
      "@type": "ListItem", 
      "position": 1, 
      "item": { 
       "@id": "http://www.example.com/", 
       "name": "Home" 
      } 
    }, { 
      "@type": "ListItem", 
      "position": 2, 
      "item": { 
       "@id": "http://www.example.com/brands", 
       "name": "Brands" 
      } 
    }, { 
      "@type": "ListItem", 
      "position": 3, 
      "item": { 
       "name": "My Brand" 
      } 
    }] 
} 
</script> 

То есть действительный JSON-LD и штраф в соответствии с Schema.org.

Однако в любом случае я бы добавил URL-адрес последнего/текущего элемента. В случае RDFa или Microdata я бы использовал элемент link для URL-адреса последнего элемента (так что URL-адрес не доступен для посетителей, но у ботов больше данных), но в случае JSON-LD эта проблема не в первую очередь, поскольку посетители-люди обычно не взаимодействуют с ним.

Единственный возможный недостаток может заключаться в том, что потребитель путается, если содержимое в HTML не соответствует содержимому в JSON-LD (т. Е. Отсутствует URL-адрес для последнего элемента). Но я считаю этот риск довольно низким, так как должно быть хорошо известно, что существуют разные способы обработки последнего элемента палитры.


Что касается документации идет, Schema.org только говорит, что BreadcrumbList является «обычно заканчивается с текущей страницы».

И в качестве примера для потребителя, Google говорит, что то же самое для своих Breadcrumbs feature:

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

Но они ничего не говорят о случае, когда последний элемент включен без его URL-адреса.

+0

Добавление URL к последней паре не будет отображаться в трейле в результате поиска Google? –

+0

@BrendanVogt: Я не мог себе представить, почему он должен появиться. Google в порядке с обоими вариантами (включая или не включая последний/текущий элемент), и я предполагаю, что они обрабатывают эти случаи одинаково: не показывая его в своей SERP (потому что он будет избыточным). – unor

+0

Можете ли вы указать некоторую разметку на предложение элемента ссылки с использованием микроданных? –

0

Я не эксперт по SEO или не знаю точно, какова ваша цель, но чтение связанного api не указывает, является ли ссылка (@id) обязательной в JSON-LD, но из официальной документации JSON-LD documentation кажется, что они могут быть опущены, но с возможными недостижимыми эффектами.

6.14 Идентификация Пустые Узлы

Время от времени, становится необходимым, чтобы иметь возможность выразить информацию, не будучи в состоянии однозначно идентифицировать узел с IRI. Этот тип узла называется пустым узлом. JSON-LD не требует идентификации всех узлов с помощью @id. Однако для некоторых топологий графов могут потребоваться сериализуемые идентификаторы. Графы, содержащие циклы, например, не могут быть сериализованы с использованием только встраивания, @id необходимо использовать для соединения узлов. В этих ситуациях можно использовать идентификаторы пустых узлов, которые выглядят как IRI, используя символ подчеркивания (_) в качестве схемы. Это позволяет ссылаться на узел локально внутри документа, но не позволяет ссылаться на узел из внешнего документа. Идентификатор пустого узла привязан к документу, в котором он используется.

в этом случае конкретный случай я оставлю пустой последний элемент или попытаюсь добавить его и пропущу URL.

Если вы хотите быть уверены в предварительном просмотре фактической страницы (как в связанной документации) на странице поиска google, так что в списке breadcrumb появится страница cuttent, я предлагаю добавить скрытый элемент в ol со ссылкой на текущую страницу, и добавьте его в список JSON-LD breadcumb со ссылкой.

<ol class="breadcrumb"> 
<li><a href="http://www.example.com/">Home</a></li> 
<li><a href="http://www.example.com/brands">Brands</a></li> 
<li class="hidden"><a href="http://www.example.com/My_Brand">My Brand</a></li> 
<li class="active">My Brand</li> 
</ol>