Прекращение поддержки микроразметки data-vocabulary.org

+10
1.5K
Относительно недавно Google анонсировал прекращение использования микроразметки data-vocabulary.org, таким образом data-vocabulary.org теперь deprecated.
Поскольку сайты на InstantCMS 2 имеют подключенную микроразметку этого формата для breadcrumbs (хлебных крошек), владельцы сайтов уже получают предупреждение о том, что набор атрибутов data-vocabulary.org более не поддерживается и не обязателен к использованию.
Это не ошибка, однако количество этих предупреждений будет велико, и поэтому лучше сразу это исправить.

Идеальным вариантом будет замена устаревшей микроразметки data-vocabulary.org на Schema.org.

Инструкция:
Открываем файл: /templates/Ваш_Шаблон/assets/ui/breadcrumbs.tpl.php

И приводим его в соответствие с Вашим шаблоном (обратите внимание, у меня не дефолтный шаблон, поэтому он может немного отличаться).
Синтаксически разметка полностью корректная и проходящая валидацию по самым свежим требованиям.
Тем не менее, реализация вывода позиции элемента (<meta itemprop="position" content="), вероятно не самая удачная (я не кодер, поэтому сорри). Надеюсь, что сообщество внесёт коррективы и улучшит это, а Fuze в новых релизах внедрит это из коробки. Всем мир!
  1. <?php $listed = array(); ?>
  2. <?php $position="2";?>
  3. <ul itemscope itemtype="https://schema.org/BreadcrumbList">
  4.  
  5. <li class="home" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
  6. <a class="dt-i-home" itemprop="item" itemid="<?php echo $options['home_url']; ?>" href="<?php echo $options['home_url']; ?>" title="<?php echo LANG_HOME; ?>"><meta itemprop="name" content="Home" /></a>
  7. <meta itemprop="position" content="1" />
  8. </li>
  9.  
  10. <?php if ($breadcrumbs) { ?>
  11.  
  12. <li class="sep dt-i-angle-right"></li>
  13.  
  14. <?php foreach($breadcrumbs as $id=>$item){ ?>
  15.  
  16. <?php if (in_array($item['href'], $listed)){ continue; } ?>
  17.  
  18. <li <? echo $id;?> itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
  19. <?php if (!isset($item['is_last'])){ ?>
  20. <a href="<?php html($item['href']); ?>" itemprop="item"><span itemprop="name"><?php html($item['title']); ?></span></a>
  21. <?php } else { ?>
  22. <span itemscope itemtype="https://schema.org/Thing" itemprop="item" itemid="<?php html($item['href']); ?>"><span itemprop="name"><?php html($item['title']); ?></span></span>
  23. <?php } ?>
  24. <meta itemprop="position" content="<?php echo $position++;?>" />
  25. </li>
  26.  
  27. <?php if ($id < sizeof($breadcrumbs)-1){ ?>
  28. <li class="sep dt-i-angle-right"></li>
  29. <?php } ?>
  30.  
  31. <?php $listed[] = $item['href']; ?>
  32.  
  33. <?php } ?>
  34.  
  35. <?php } ?>
  36. </ul>
0
alexandr22 alexandr22 4 года назад #
Идеальным вариантом будет замена устаревшей микроразметки data-vocabulary.org на Schema.org
Schema.org
+ настройка сниппетов в 2020г новые еще вышли
+1
alexandr22 alexandr22 4 года назад #
такие настройки, если в движке будут изначально, только +++++++
+1
TTT TTT 4 года назад #
Спасибо! :)
0
Павел Павел 3 года назад #
а почему нельзя просо заменить?
Код PHP:
  1. itemtype="http://data-vocabulary.org/Breadcrumb"
на
Код PHP:
  1. itemtype="http://schema.org/BreadcrumbList"

Еще от автора

SEO предложения для InstantCMS 2
Друзья, команда разработчиков создала действительно мощнейший продукт - InstantCMS 2, потенциал которого просто огромен.
Белая страница при сохрании в InstantMaps 2
В InstantMaps для InstantCMS 2 при включении в настройках типа контента возможность задания специфических SEO title и мета-тегов, при сохрании объекта
Чуточку улучшаем "жалобы" на объекты InstantMaps
В компоненте InstantMaps есть очень нужный функционал - жалобы на объекты.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.