Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Микроразметка ддя Хлебных крошек


Recommended Posts

В свое время Г не понимал schema в ХК, ну он ее видел, говорил что ок, а в снипеты она не лезла

 

Теперь говорит

https://www.seroundtable.com/google-sunset-data-vocabulary-28868.html?fbclid=IwAR0vVbaAHfMpA1l_LDLZDvW77mivsqoslAjFXGOoLbu8yBF28hHhor_Q6l8

 

 

  • +1 2
Link to comment
Share on other sites

Цитата

This will impact the rich results report after April 6th. Google wrote "Starting April 6, 2020, Google will no longer support data-vocabulary.org structured data to enable rich results in Google Search. From January 20 until April 6, any data-vocabulary.org structured data on a web page will trigger a warning for the appropriate rich result type. After April 6, an error will be triggered

 

Шедеврально
Они в мироразметке меняют правила "игры" чуть ли не каждый месяц

Link to comment
Share on other sites

17 минут назад, chukcha сказал:

В свое время Г не понимал schema в ХК, ну он ее видел, говорил что ок, а в снипеты она не лезла

 

Теперь говорит

https://www.seroundtable.com/google-sunset-data-vocabulary-28868.html?fbclid=IwAR0vVbaAHfMpA1l_LDLZDvW77mivsqoslAjFXGOoLbu8yBF28hHhor_Q6l8

 

 

а если верстануть breadcrumb_tpl_for_google.tpl и сделать проверку на гугел бота и при необходимости подключить? он скушОет эту инфу в снипеты?

Link to comment
Share on other sites

ему разве не достаточно класса bredкрошки чтоб дергать оттуда нужное... обязательно нужно пургой во круг налепить..

Link to comment
Share on other sites


1 минуту назад, AWARO сказал:

ему разве не достаточно класса bred

Нет, т причина тому есть .. Class - это class и никаким образом блок хлебных крошек не размечается

Как по мне, самое лучшее решение json-ld
Где разметка не лезет в html код

  • +1 1
Link to comment
Share on other sites

5 минут назад, chukcha сказал:

Нет, т причина тому есть .. Class - это class и никаким образом блок хлебных крошек не размечается

Как по мне, самое лучшее решение json-ld
Где разметка не лезет в html код

Верно

image.png.ee3fe7624dd91d024694213ba72a9ad5.png

Link to comment
Share on other sites

@Exploits чтоб дважды не вставать

Рекомендуется заполнять поле aggregateRating. Укажите значение, если оно известно.

 

Что за беда? Есть ли способ с этим бороться?
 

Link to comment
Share on other sites

31 минуту назад, chukcha сказал:

@Exploits чтоб дважды не вставать

Рекомендуется заполнять поле aggregateRating. Укажите значение, если оно известно.

 

Что за беда? Есть ли способ с этим бороться?
 

Это гугл говорит о том что если есть рейтинг то его надо размечать а если нет то не надо, это необязательно.

Многие пишут по такому вопросу что так и так что за предупреждения. Главное что это не ошибка. Гугл назвал как-то страшно отсутствие данных из-за чего у всех вопросы. Хотя здесь как если нет данные то как их в разметку закинуть если нечего размечать.

Ошибка это другое дело это надо исправлять, предупреждения - это как рекомендация/подсказка

Link to comment
Share on other sites

@Exploits, здравствуйте, как раз сижу по этой ошибке свой сайт ковыряю, и возник такой вопрос: а вы могли бы как-то допилить совместимость своего модуля с модулем seo cms от @markimax?

Я понимаю, что хрен поймешь, что там другой разработчик сделает, но seo cms популярный, а микроразметка у него там своя частично и, на сколько я вижу, что-то подтягивается из вашего модуля, что-то из его. Вот сейчас буду из его шаблона выковыривать data-vocabulary как раз из хлебных крошек.

Link to comment
Share on other sites


18 часов назад, chukcha сказал:

Это я  понимаю, ну нет отзывов, не размечено, что ему еще надо, тем более параметр не обязательный

Конечно не ошибка, но ЗАЧЕМ!!!

Отож, и самое странное что назвали еще предупреждение и желтым и все смотрят и сразу паника

17 минут назад, warezliker сказал:

@Exploits, здравствуйте, как раз сижу по этой ошибке свой сайт ковыряю, и возник такой вопрос: а вы могли бы как-то допилить совместимость своего модуля с модулем seo cms от @markimax?

Я понимаю, что хрен поймешь, что там другой разработчик сделает, но seo cms популярный, а микроразметка у него там своя частично и, на сколько я вижу, что-то подтягивается из вашего модуля, что-то из его. Вот сейчас буду из его шаблона выковыривать data-vocabulary как раз из хлебных крошек.

Я это буду делать, много нюансов надо все продумать как лучше реализовать, есть пару вариантов, пока идет тестирование. Дополнений и кастомных страниц очень много - и надо сделать совместимость. пока думаю

Link to comment
Share on other sites

чем хорош json-ld
Не нужно вмешиваться в разметку кода

И... Разработчик микроразметки, в частности @Exploits , берет на себя  ответственность держать функционал в актуальности

А шаблоно писатели , увы... Достаточно чему-то измениться в микроразметке, или что- добавить, а вы добавили/изменили шаблон, а тут прибежала новая версия и.. Все начинай с начала?

Link to comment
Share on other sites

@markimax поправил вашу разметку в шаблоне записи (хз, на сколько актуально, но у меня не самая последняя вресия стоит, как и у многих):

 

		<ul class="breadcrumb" vocab="https://schema.org/" typeof="BreadcrumbList">
		    <?php $i=0; foreach ($breadcrumbs as $breadcrumb) { $i++; ?>
		    <li property="itemListElement" typeof="ListItem"><?php if (count($breadcrumbs)!= $i) {?><a property="item" typeof="WebPage" href="<?php echo $breadcrumb['href']; ?>"><?php } else {?><a property="item" typeof="WebPage" href="<?php echo $breadcrumb['href']; ?>#"><?php } ?><span property="name"><?php echo $breadcrumb['text']; ?></span></a><meta property="position" content="<?php echo $i; ?>"></li>
		    <?php } ?>
		</ul>

с json не было времени заморочиться.

Link to comment
Share on other sites


поделюсь своей
 

<div class="breadcrumb prod"  itemscope itemtype="https://schema.org/BreadcrumbList">
        <?php $i=0; $count = count($breadcrumbs);
		foreach ($breadcrumbs as $breadcrumb) { ?>
		<?php if ($i==0) $class=' class="b_home"'; else $class=' class="b_item"';?>
		<span  itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" <?php echo $class;?>>
			<?php if ($i<$count-1) { ?>
				<a href="<?php echo $breadcrumb['href']; ?>" itemprop="item"><span itemprop="name"><?php echo $breadcrumb['text']; ?></span></a>
			<?php } else { ?>
			<span   itemprop="name"><?php echo $breadcrumb['text']; ?></span>
			<meta itemprop="item" content="<?php echo $breadcrumb['href']; ?>" />
			<?php } ?>
			<meta itemprop="position" content="<?php echo $i+1; ?>" />
		</span>
		<?php if ($i <$count-1) {?>
			<span class="b_sep"></span>
		<?php } ?>

        <?php $i++; } ?>
</div>

И... раскрою маааленькую тайну

поменяйте ul на ol
Кстати в пример от Г ol

 

Link to comment
Share on other sites

3 часа назад, chukcha сказал:

поменяйте ul на ol
Кстати в пример от Г ol

Я по примеру гугла и делал. Разницы между нумерованным списком и обычным я не вижу, если честно.

Валидатор на кусок кода с крошками говорит, что все отлично, а вот если ему целиком спратницу запихнуть, почему-то ругается на rel=alternate для языков на сайте и пишет, что он относится к крошкам, хотя нет.

Валидатор яндекса хавает нормально

Link to comment
Share on other sites


11 минут назад, warezliker сказал:

Разницы между нумерованным списком и обычным я не вижу

Разница в семантике тегов, а точнее  - влиянии таких тегов на контент (не хочу углубляться)
 

Link to comment
Share on other sites

<div class="container" itemscope itemtype="http://schema.org/Product">
	<ul class="breadcrumb" prefix:v="http://rdf.data-vocabulary.org/#">
		<?php $breadcount = count($breadcrumbs) - 1; ?>
		<?php $i = 0; ?>
    <?php foreach ($breadcrumbs as $key => $breadcrumb) { ?>
		<?php $i++; ?>
		<?php if ($key != $breadcount) { ?>
		<li <?php if ($i > 1) { echo 'typeof="v:Breadcrumb"'; } ?>><a href="<?php echo $breadcrumb['href']; ?>" <?php if ($i > 1) { echo 'rel="v:url" property="v:title"'; } ?>><?php echo $breadcrumb['text']; ?></a></li>
		<?php } else {?>
		<li class="active"><?php echo $breadcrumb['text']; ?></li>
		<?php } ?>
    <?php } ?>
  </ul>

Если Вас не затруднит  - подскажите как исправить хлебные крошки ...

Заранее благодарен

Link to comment
Share on other sites


  • 2 months later...
В 23.01.2020 в 10:49, chukcha сказал:

Здесь все написано

 

В 22.01.2020 в 14:13, chukcha сказал:

поделюсь своей
 


<div class="breadcrumb prod"  itemscope itemtype="https://schema.org/BreadcrumbList">
        <?php $i=0; $count = count($breadcrumbs);
		foreach ($breadcrumbs as $breadcrumb) { ?>
		<?php if ($i==0) $class=' class="b_home"'; else $class=' class="b_item"';?>
		<span  itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" <?php echo $class;?>>
			<?php if ($i<$count-1) { ?>
				<a href="<?php echo $breadcrumb['href']; ?>" itemprop="item"><span itemprop="name"><?php echo $breadcrumb['text']; ?></span></a>
			<?php } else { ?>
			<span   itemprop="name"><?php echo $breadcrumb['text']; ?></span>
			<meta itemprop="item" content="<?php echo $breadcrumb['href']; ?>" />
			<?php } ?>
			<meta itemprop="position" content="<?php echo $i+1; ?>" />
		</span>
		<?php if ($i <$count-1) {?>
			<span class="b_sep"></span>
		<?php } ?>

        <?php $i++; } ?>
</div>

И... раскрою маааленькую тайну

поменяйте ul на ol
Кстати в пример от Г ol

 

Можно написать это в ld+json ?

попробовал так - но не работает:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList","ItemListElement":
[
<?php $breadcrumb = (count($breadcrumbs)-1); ?>
    {
    "@type":"ListItem",
    "position":<?php echo $breadcrumb; ?>,
    "item":
    "@id":"<?php echo $breadcrumbs['href']; ?>",
    "name":"<?php echo $breadcrumbs['text']; ?>"
    }
<?php } ?>
]
}
</script>

Link to comment
Share on other sites


17 часов назад, fazli сказал:

 

Можно написать это в ld+json ?

попробовал так - но не работает:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList","ItemListElement":
[
<?php $breadcrumb = (count($breadcrumbs)-1); ?>
    {
    "@type":"ListItem",
    "position":<?php echo $breadcrumb; ?>,
    "item":
    "@id":"<?php echo $breadcrumbs['href']; ?>",
    "name":"<?php echo $breadcrumbs['text']; ?>"
    }
<?php } ?>
]
}
</script>

Посмотрите информацию как сделать в ld+json https://microdata.pro/blog/breadcrumbs

 

Или лучше всего смотрите на официальную документацию от поисковых систем https://developers.google.com/search/docs/data-types/breadcrumb?hl=ru там все точно и самое главное что актуально

Link to comment
Share on other sites

  • 5 months later...

Подскажите где ошибка в коде пожалуйста. Одна ошибочка выскакивает Необходимо указать значение для поля id

<div class="content-block">
<ul class="breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList">
          {% for key,breadcrumb in breadcrumbs %}
          <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
          <a itemscope itemtype="https://schema.org/Thing" itemprop="item" href="{{ breadcrumb['href'] }}">
            <span itemprop="name">{{ breadcrumb['text'] }}</span>
          </a>
          <meta itemprop="position" content="{{ key+1 }}" />
          </li>
          {% endfor %}
        </ul>

 

Link to comment
Share on other sites


Это не ошибка, это какая-то придурь гугла. У меня тоже самое, хотя раньше проблем не было. В официальной документации вообще про "id" ничего нет.

Думаю, можно не обращать внимания, хотя гуру может меня и поправят

 

Кстати, рекомендую

itemscope itemtype="https://schema.org/Thing"

заменить на

itemscope itemtype="https://schema.org/WebPage"

или вообще удалить из кода

Edited by mistman
добавил совет
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.