Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
avgaz

Разметка страницы itemListElement

Recommended Posts

В консоли гугла вдруг стали появляться страницы с ошибками, ругается на "Отсутствует поле "itemListElement" " типа в "type BreadcrumbList" ссылается на код разметки

<script type='application/ld+json'>
{
   "@context": "http://schema.org",
   "@type": "BreadcrumbList",
   "itemListElement": []
}	
</script>

Ошибки на страницах категорий форума, посмотрел в исходном коде действительно во всех категориях эти данные отсутствуют, в разделах уже присутствуют и там идет название категории, посмотрел на офсайте напрмиер у этой категории https://invisioncommunity.com/forums/forum/307-community-led-resources/ там разметка присутвует и ссылается на главную страницу(Forums) то есть в исходном коде вот так

<script type='application/ld+json'>
{
   "@context": "http://schema.org",
   "@type": "BreadcrumbList",
   "itemListElement": [
       {
           "@type": "ListItem",
           "position": 1,
           "item": {
               "@id": "https://invisioncommunity.com/forums/",
               "name": "Forums"
           }
       }
   ]
}	
</script>

Тут возникает вопрос почему отсутствует и как поправить?

Share this post


Link to post
Share on other sites

system/Output/Output.php

 

Было

 

		if( \count( $this->breadcrumb ) )
	{
		$jsonLd['breadcrumbs'] = array(
			'@context'	=> "http://schema.org",
			'@type'		=> "BreadcrumbList",
			'itemListElement'	=> array(),
		);

		$position	= 1;

		foreach( $this->breadcrumb as $breadcrumb )
		{
			if( $breadcrumb[0] )
			{
				$jsonLd['breadcrumbs']['itemListElement'][] = array(
					'@type'		=> "ListItem",
					'position'	=> $position,
					'item'		=> array(
						'@id'	=> (string) $breadcrumb[0],
						'name'	=> $breadcrumb[1],
					)
				);

				$position++;
			}
		}
	}

 

Стало

 

		if( \count( $this->breadcrumb ) )
	{

		$position	= 1;
		$elements	= [];

		foreach( $this->breadcrumb as $breadcrumb )
		{
			if( $breadcrumb[0] )
			{
				$elements[] = array(
					'@type'		=> "ListItem",
					'position'	=> $position,
					'item'		=> array(
						'@id'	=> (string) $breadcrumb[0],
						'name'	=> $breadcrumb[1],
					)
				);

				$position++;
			}
		}

		if( \count( $elements ) )
		{
			$jsonLd['breadcrumbs'] = array(
				'@context'	=> "http://schema.org",
				'@type'		=> "BreadcrumbList",
				'itemListElement'	=> $elements,
			);
		}
	}

 

  • Upvote 1

Share this post


Link to post
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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...