Support » Plugin: YITH WooCommerce Brands Add-On » Brands Add-On problem with breadcrumb schema markup

  • Hi,
    Google Search Console is reporting the error “Missing field id” with the Breadcrumb schema markup on brand pages.

    This is the code generated in brand page:

    <script type="application/ld+json">{
    	"@context":"https:\/\/schema.org\/",
    	"@type":"BreadcrumbList",
    	"itemListElement":[{
    			"@type":"ListItem",
    			"position":1,
    			"item": {
    				"name":"Brands",
    				"@id":"https:\/\/website.com\/brands\/product-1\/"
    			}
    		},{
    			"@type":"ListItem",
    			"position":2,
    			"item":{
    				"name":"Product 1",
    				"@id":"https:\/\/website.com\/brands\/product-1\/"
    			}
    		}
    	]
    }
    </script>

    As you can see on the markup, in the first entry (brands) for the @id it uses the same url that the product.

    I have checked in product page if the markup is correct with the respective categories and it’s OK.

    I don’t know if it’s a problem with WooCommerce or Brands Add-On, but you know some way to fix this problem?

    • This topic was modified 6 months, 1 week ago by Kim Soler.
Viewing 9 replies - 1 through 9 (of 9 total)
  • Plugin Author YITHEMES

    (@yithemes)

    Hello there,

    hope you are doing well 🙂

    We will need more information about this error.
    Could you send us a page where we can do the tests on Google Search Console?

    Let us know.

    Have a great day!

    You can see this problem here.

    Hello @yithemes any update about this issue?
    Thanks

    Plugin Author YITHEMES

    (@yithemes)

    Hello there,

    hope you are doing well 🙂

    We have been checking that issue in the Structured Data Testing Tool and no errors were found by Google.

    You can check our test here.

    Let us know.

    Have a great day!

    Hi @yithemes,

    The problem is that Structured Data Testing Tool doesn’t detect this issue, but Search console does. Check this screenshot.

    This is the code in this page where you can see the problem with the markup.

    The markup added to the page is this:

    <script type="application/ld+json">{
    	"@context":"https:\/\/schema.org\/",
    	"@type":"BreadcrumbList",
    	"itemListElement":[{
    			"@type":"ListItem",
    			"position":1,
    			"item": {
    				"name":"Marcas",
    				"@id":"https:\/\/ignasiconillas.com\/sintesi-exteriors\/marcas\/fim-umbrellas\/"
    			}
    		},{
    			"@type":"ListItem",
    			"position":2,
    			"item":{
    				"name":"FIM Umbrellas",
    				"@id":"https:\/\/ignasiconillas.com\/sintesi-exteriors\/marcas\/fim-umbrellas\/"
    			}
    		}
    	]
    }
    </script>

    The problem is that it get the same url (@id) in markup for Brands page and current brand page making Structured Data testing tool show bad response (showing brand url in both “@id” elements and “Brand” page name in both “name” elements).

    Check the @id and @name from code over and this screenshot to compare it.

    In this screenshot you can see that in product page it’s working for categories and product.

    Hi @yithemes have you checked again this issue?
    Thanks

    Plugin Author YITHEMES

    (@yithemes)

    Hello there,

    hope you are doing well 🙂

    We have been analyzing the problem.
    Actually, the plugin does not anything with breadcrumbs for brands but we can give you a snippet to try to fix this issue.

    Please, add this custom code in the functions.php of your active theme:

    if (defined('YITH_WCBR') && !function_exists('remove_brands_crumb')){
        function remove_brands_crumb( $crumbs, $breadcrumb ){
            if ( (is_tax( YITH_WCBR::$brands_taxonomy )) ){
                unset($crumbs[0]);
            }
    
            return $crumbs;
        }
        add_filter( 'woocommerce_get_breadcrumb', 'remove_brands_crumb', 10, 2 );
    }

    Try it and let us know.

    Have a great day!

    • This reply was modified 5 months, 2 weeks ago by YITHEMES.

    Hi @yithemes,
    If I use the code I’m getting this errors in structured data testing tool.

    The markup generated is this:

    <script type="application/ld+json">{
    	"@context":"https:\/\/schema.org\/",
    	"@type":"BreadcrumbList",
    	"itemListElement":{
    		"1":{
    			"@type":"ListItem",
    			"position":2,
    			"item":{
    				"name":"FIM Umbrellas",
    				"@id":"https:\/\/ignasiconillas.com\/sintesi-exteriors\/marcas\/fim-umbrellas\/"
    			}
    		}
    	}
    }
    </script>
Viewing 9 replies - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.