Jump to content

Google Analytics Error - either "offers", "review", or aggregaterating should be specified


mattwilkie

Recommended Posts

Hello again,

I have both modules, they do work well togeather. The search and clean module is good for finding indivual issues, and allows you to click and clean any microdata issues.

For the issue to hand I would use the Json-LD microdata module. Once installed it automatically replaces all the affected partials, product pages etc etc. It then backs files that have been changed. Then you can edit options regarding the product page, open graph, breadcrum, etc and it also works with richsnippets.

So yeah, go for the Json-LD Microdata module.

Link to comment
Share on other sites

  • 1 month later...
On 9/28/2020 at 5:01 AM, Yulia Vitun said:

also, if I am not mistaken, meta tags need to be closed:


  <div itemprop="offers" itemtype="http://schema.org/Offer" itemscope>

     <meta itemprop="price" content="{$product.price_amount}"/>
     <meta itemprop="description" content="{$product.name}"/>
     <meta itemprop="url" content="{$product.url}"/>
     <meta itemprop="priceCurrency" content="{$currency.iso_code}"/>
     <meta itemprop="review" content="{$product}"/>
     <meta itemprop="name" content="{$product.name}"/>
  </div>

 

First of all i want to thank you Very Much for the code provided which worked for me but with a slight difference (actually 2) and i want to share it here.

1. i edited the product file located in

....../themes/classic/templates/catalog/_partials/miniatures

and added the code in line 106 and downwards.

i used the rich result test by google and it found everything fine.

But after validating the errors i did not worked for all the products that had the error. I guess that the 1. remedy fixes the problem for the products found in front page.

 

Then the second thing that i did

2. i entered the same code provided above at the product file found at the following directory

..../themes/classic/templates/catalog

 

between the {/block} and </div> i will not add a line as i know i have added other things in the past and it is not the original file

                  {block name='product_additional_info'}
                    {include file='catalog/_partials/product-additional-info.tpl'}
                  {/block}

                  {* Input to refresh product HTML removed, block kept for compatibility with themes *}
                  {block name='product_refresh'}{/block}
                </form>

              {/block}
  <div itemprop="offers" itemtype="http://schema.org/Offer" itemscope>

     <meta itemprop="price" content="{$product.price_amount}"/>
     <meta itemprop="description" content="{$product.name}"/>
     <meta itemprop="url" content="{$product.url}"/>
     <meta itemprop="priceCurrency" content="{$currency.iso_code}"/>
     <meta itemprop="review" content="{$product}"/>
     <meta itemprop="name" content="{$product.name}"/>
  </div>
            </div>

I am waiting for the validation results which i believe they will be fine.

Thank you again. ;)

P.s Any1 has the code needed to fix the other errors 

missing field description, image, sku, aggregaterating, review, brand, 

Link to comment
Share on other sites

To solve this "Google Webmaster problem" it will be better (for all of you) to have a look at PrestaShop GitHub Classic theme, where most of these problems have been already solved.

The most important thing is here (around line 80):

https://github.com/PrestaShop/PrestaShop/blob/develop/themes/classic/templates/catalog/_partials/miniatures/product.tpl

<div itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="invisible">
	<meta itemprop="priceCurrency" content="{$currency.iso_code}" />
	<meta itemprop="price" content="{$product.price_amount}" />
</div>

You can add url and avaibilty too:

<div itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="invisible">
	<meta itemprop="priceCurrency" content="{$currency.iso_code}" />
	<meta itemprop="price" content="{$product.price_amount}" />
  
	<meta itemprop="url" content="{$product.url}" />
	<link itemprop="availability" href="{$product.seo_availability}" />
</div>

Here is my pull request for this: https://github.com/PrestaShop/PrestaShop/pull/21786/files

 

Search for the "itemprop" in the latest classic theme and you can find more of these and where to add them. 

I do NOT recommend add this in offers: 

<meta itemprop="review" content="{$product}"/>
<meta itemprop="name" content="{$product.name}"/>

review - A review of the item!

Offers are described here: https://schema.org/Offer

name - is already specified in product.tpl file:

{block name='product_name'}
	{if $page.page_name == 'index'}
	<h3 class="h3 product-title" itemprop="name"><a href="{$product.url}" itemprop="url" content="{$product.url}">{$product.name|truncate:30:'...'}</a></h3>
	{else}
	<h2 class="h3 product-title" itemprop="name"><a href="{$product.url}" itemprop="url" content="{$product.url}">{$product.name|truncate:30:'...'}</a></h2>
	{/if}
{/block}

 

Edited by Peter Liska (see edit history)
Link to comment
Share on other sites

On 11/4/2019 at 8:21 PM, ltd said:

Hi PS members,

I could managed to make the corrections "by hand" following the github info above, on my prod site.

I checked with the PS 1.7.6.0 (testing with classic theme) but the error is still there...

Is there a plan to finally correct the PS core code in the next versions ?? or is it left to template/add-ons providers ?

Hello I have version 1.7.6.9 and I still have not been able to solve the problem. Could you?

Link to comment
Share on other sites

Hi guys,

I think I have the solution! 🤣

After we had changed all kinds of tpl files according to various ideas here from the forum and no change helped, I let the topic "rest" for a few days. Then today I went back to the test page of the google search console and tested some articles of our webshop again. Again 190 errors came out, except for one single article. So I compared the settings and data of this 1 article exactly with the data and settings of the other articles.

The result was so simple and logical!

We had - unconsciously - set for the articles with errors that the orders should NOT be accepted if there is no stock on hand. This setting inevitably means that Prestashop will NOT display the "offers" information. 

If you now go to the 2nd tab (Combinations) of the items and scroll down to the bottom you will see the "Availability preferences". There instead of "Deny orders", switch to "Allow orders" or like us, switch to "Use default behaviour". Then the "offers" option is active again and Prestashop displays all the required information!

Enclosed are also the 2 screenshots where you can find the settings at the articles.

I hope that helps of you!

Good luck and stay healthy!

 

We are using PS 1.7.6

Bildschirmfoto 2020-11-26 um 10.33.56.png

Bildschirmfoto 2020-11-26 um 10.34.03.png

Link to comment
Share on other sites

1 hour ago, loveps said:

Thank you very much Michi for sharing the solution!

But what if we do not want to allow orders if out of stock?

Hi Loveps,

I must correct myself. 😖  This solution takes only effect at the produts details page. Now we have no errors but already 4 warnings on the details page. The grid- or list view already show the error and 5 Warnings.

I have to install a complete fresh installation of PS 1.7.6.9 and made some categories and 1 product. After this i have tested this in google search console. The result is the same. 1 Error and 5 Warnings. So it seams the Prestashop Team don´t solve this problem yet with the newest Version. 

I find it a great pity, because the problem has been known for months. Despite the many great features, this is the last point to be solved as a problem. Of course you usually only deal with it after you have worked on the store for months. This is very annoying!

Link to comment
Share on other sites

Thanks for the update Michi.

I am hoping that this issue is resolved in Prestashop 1.7.7.

The Prestashop 1.7.7 Beta 2 has been released but not sure whether this issue is resolved in that version. Hopefully the developer or someone that knows can answer this.

Thanks.

Link to comment
Share on other sites

13 minutes ago, loveps said:

Thanks for the update Michi.

I am hoping that this issue is resolved in Prestashop 1.7.7.

OK, now it seams for me i have the solution. Google search console shows NO errors, only 8 warnings but this can be solved step by step.

I have try everything to edit the _partials/miniature/product.tpl File. This not helps.. 😰

Then i try to edit the _partials/miniature/product-listgrid.tpl file the same way Peter Liska show us in this topic. 

and the result you can see in the attached Screenshot 😃

Bildschirmfoto 2020-11-26 um 14.41.26.png

Link to comment
Share on other sites

19 minutes ago, Michi001 said:

Then i try to edit the _partials/miniature/product-listgrid.tpl file the same way Peter Liska show us in this topic.

This is true. (but NOT for latest actualized theme versions)

You have to edit this. I forgot to mention it.

 

But this file does not  longer exist in latest Github repository. There is only this (productlist.tpl):

https://github.com/PrestaShop/PrestaShop/blob/develop/themes/classic/templates/catalog/_partials/productlist.tpl

Containing only this:

<div class="products{if !empty($cssClass)} {$cssClass}{/if}" itemscope itemtype="http://schema.org/ItemList">
    {foreach from=$products item="product" key="position"}
        {include file="catalog/_partials/miniatures/product.tpl" product=$product position=$position}
    {/foreach}
</div>

... include file="catalog/_partials/miniatures/product.tpl ...

Edited by Peter Liska (see edit history)
Link to comment
Share on other sites

6 minutes ago, Peter Liska said:

This is true. (but NOT for latest actualized theme versions)

You have to edit this. I forgot to mention it.

 

 

Hi Peter,

thanks for your kind information and help! It seams i have an old version of template. I do not have the file _partials/productlist.tpl in my template folder. So i need to edit the product-listgrid.tpl file with additional informations... 

Attached the Screenshot from google with the Warnings. Maybe can you help me where i need to place the Code in the product-listgrid.tpl to solve the warnings?

I´m not a coder just a simple user 😃

Attached also my product_listgrid.tpl File.

Bildschirmfoto 2020-11-26 um 15.18.09.png

product-listgrid.tpl

Link to comment
Share on other sites

18 hours ago, Michi001 said:

Maybe can you help me where i need to place the Code in the product-listgrid.tpl to solve the warnings?

That is a lot of problems.

1.) itemprop="image

You can get inspiration from here: product-cover-thumbnails.tpl

        <img
          class="js-qv-product-cover"
          src="{$product.default_image.bySize.large_default.url}"
          {if !empty($product.default_image.legend)}
            alt="{$product.default_image.legend}"
            title="{$product.default_image.legend}"
          {else}
            alt="{$product.name}"
          {/if}
          style="width:100%;"
          itemprop="image"
          loading="lazy"
        >

2.) itemprop="description

You can get inspiration from here: product.tpl

{block name='product_description_short'}
  <div id="product-description-short-{$product.id}" class="product-description" itemprop="description">{$product.description_short nofilter}</div>
{/block}

Rest you have to try find or try to figure it out by yourself.

Good luck!

Product schema: product Offer schema: offer

Edited by Peter Liska (see edit history)
Link to comment
Share on other sites

Hi Guys,

now we have reduced the Warnings from 8 to 3...

As we have tested with the code we have noted that we need to work with both files "product.tpl" and "product-listgrid.tpl". Depends on the information you need to edit different files.

Attached the Screenshot...

 

Bildschirmfoto 2020-11-27 um 15.59.37.png

Link to comment
Share on other sites

On 11/26/2020 at 3:21 PM, Michi001 said:

Attached also my product_listgrid.tpl File.

One small note:

It would be best not to forget to give Google robots complete texts.

Because I can see these truncate (for example) in your code (but it is there for good design - except img alt )

<img
  src = "{$product.cover.bySize.home_default.url}"
  alt = "{if !empty($product.cover.legend)}{$product.cover.legend}{else}{$product.name|truncate:30:'...'}{/if}"
  data-full-size-image-url = "{$product.cover.large.url}"
>

{block name='product_name'}
  <h3 class="h3 product-title" itemprop="name">
    <a href="{$product.url}">{$product.name|truncate:46:'...'}</a>
  </h3><p>{$product.description_short|strip_tags:'htmlall':'UTF-8'|truncate:100:'...'}</p>
{/block}

 

Edited by Peter Liska (see edit history)
Link to comment
Share on other sites

14 hours ago, Peter Liska said:

You can test your url here: Google Test Rich Results

Hi,

i have tested our Shop in the google Test and it seams we have solved most of our Problems. There are only 2 Warnings left: "aggregateRating" and "review" . This is not dangerous and as i understand we need to install a review Module for Prestashop to get these informations. But we will wait for that now.

But for all users who have the same Problem to solve: We need to edit 3 different Files:

  1. <your template>/templates/catalog/_partials/productlist.tpl
  2. <your template>/templates/catalog/_partials/miniatures/product_listgrid.tpl
  3. <your template>/templates/catalog/_partials/product-prices.tpl

about truncate: i Know this is nice for our Template but not perfect for google. We will change this also in the next days.

If anyone has questions, please ask.

Bildschirmfoto 2020-12-02 um 10.02.38.png

Edited by Michi001 (see edit history)
Link to comment
Share on other sites

  • 1 month later...

Hello,

I have this problem as well, very annoying.
I use the default classic theme, as I understand it I need to change the 3 files you mentioned, but could you complete your last post to also contain the changes you need to  make?

Thanks a lot!

With kind regards,

On 12/2/2020 at 10:03 AM, Michi001 said:

Hi,

i have tested our Shop in the google Test and it seams we have solved most of our Problems. There are only 2 Warnings left: "aggregateRating" and "review" . This is not dangerous and as i understand we need to install a review Module for Prestashop to get these informations. But we will wait for that now.

But for all users who have the same Problem to solve: We need to edit 3 different Files:

  1. <your template>/templates/catalog/_partials/productlist.tpl
  2. <your template>/templates/catalog/_partials/miniatures/product_listgrid.tpl
  3. <your template>/templates/catalog/_partials/product-prices.tpl

about truncate: i Know this is nice for our Template but not perfect for google. We will change this also in the next days.

If anyone has questions, please ask.

Bildschirmfoto 2020-12-02 um 10.02.38.png

 

Link to comment
Share on other sites

On 1/14/2021 at 10:24 AM, Jonker TechSupport said:

Hello,

I have this problem as well, very annoying.
I use the default classic theme, as I understand it I need to change the 3 files you mentioned, but could you complete your last post to also contain the changes you need to  make?

Thanks a lot!

With kind regards,

 

Hi Jonker,

the changes are a bit complicated to describe, as it depends on the specifications of the .tpl files.

Please upload the following files from you, then I will look at them and change them.

  • <your template>/templates/catalog/_partials/productlist.tpl
  • <your template>/templates/catalog/_partials/miniatures/product_listgrid.tpl
  • <your template>/templates/catalog/_partials/product-prices.tpl
  • <your template>/templates/catalog/product.tpl

which Version of PS are you using?

Link to comment
Share on other sites

  • 3 weeks later...

Hello people,

I'm from Brazil, I followed this topic for a while trying to resolve errors and warnings and I was 100% successful.

As I used the help of many here, I will contribute to help everyone in need.

Changes are only in "product.tpl"

Way:

themes / classic / templates / catalog / _partials / miniatures / product.tpl

Full code:

{**
 * Copyright since 2007 PrestaShop SA and Contributors
 * PrestaShop is an International Registered Trademark & Property of PrestaShop SA
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
 * that is bundled with this package in the file LICENSE.md.
 * It is also available through the world-wide-web at this URL:
 * https://opensource.org/licenses/AFL-3.0
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to [email protected] so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
 * versions in the future. If you wish to customize PrestaShop for your
 * needs please refer to https://devdocs.prestashop.com/ for more information.
 *
 * @author    PrestaShop SA and Contributors <contact@prestashop.com>
 * @copyright Since 2007 PrestaShop SA and Contributors
 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
 *}
{block name='product_miniature_item'}
<div itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
  {if isset($position)}<meta itemprop="position" content="{$position}" />{/if}
  <article class="product-miniature js-product-miniature" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemprop="item" itemscope itemtype="https://schema.org/Product">
  
	  <meta itemprop="mpn" content="{$product->reference}" />
      <meta itemprop="name" content="{$product.manufacturer_name}" />
      <link itemprop="image" href="{$product.cover.large.url}" />      
      <meta itemprop="description" content="{$page.meta.description}" />
      <div itemprop="offers" itemtype="http://schema.org/AggregateOffer" itemscope>
		<link itemprop="url" href="{$product.url}" />		
        <meta itemprop="availability" content="{$product.seo_availability}" />	
		<meta itemprop="itemCondition" content="Novo" />        
        <meta itemprop="price" content="{$product.price_amount}" />
        <meta itemprop="lowPrice" content="{$product.price_amount}" />
        <meta itemprop="highPrice" content="{$product.regular_price_amount}" />
		<meta itemprop="offerCount" content="6" />
        
        <meta itemprop="priceCurrency" content="{$currency.iso_code}" />
		<meta itemprop="priceValidUntil" content="{'Y'|date+1}-12-31" />
		<meta itemprop="gtin13" content="{$product->ean13}" />
      </div>
      <div itemprop="aggregateRating" itemtype="http://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="3" />
        <meta itemprop="ratingValue" content="5" />
      </div>
      <div itemprop="review" itemtype="http://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="http://schema.org/Person" itemscope>
          <meta itemprop="name" content="{$customer_name}" />
        </div>
        <div itemprop="reviewRating" itemtype="http://schema.org/Rating" itemscope>
          <meta itemprop="ratingValue" content="3" />
          <meta itemprop="bestRating" content="5" />
        </div>
      </div>
      <meta itemprop="sku" content="{$product.reference_to_display}" />
      <div itemprop="brand" itemtype="http://schema.org/Brand" itemscope>
        <meta itemprop="name" content="{$product.manufacturer_name}" />
      </div>
  
    <div class="thumbnail-container">
      {block name='product_thumbnail'}
        {if $product.cover}
          <a href="{$product.url}" class="thumbnail product-thumbnail">
            <img
              src="{$product.cover.bySize.home_default.url}"
              alt="{if !empty($product.cover.legend)}{$product.cover.legend}{else}{$product.name|truncate:30:'...'}{/if}"
              data-full-size-image-url="{$product.cover.large.url}"
              />
          </a>
        {else}
          <a href="{$product.url}" class="thumbnail product-thumbnail">
            <img src="{$urls.no_picture_image.bySize.home_default.url}" />
          </a>
        {/if}
      {/block}

      <div class="product-description">
        {block name='product_name'}
          {if $page.page_name == 'index'}
            <h3 class="h3 product-title" itemprop="name"><a href="{$product.url}" itemprop="url" content="{$product.url}">{$product.name|truncate:60:'...'}</a></h3>
          {else}
            <h2 class="h3 product-title" itemprop="name"><a href="{$product.url}" itemprop="url" content="{$product.url}">{$product.name|truncate:60:'...'}</a></h2>
          {/if}
        {/block}

        {block name='product_price_and_shipping'}
          {if $product.show_price}
            <div class="product-price-and-shipping">
              {if $product.has_discount}
                {hook h='displayProductPriceBlock' product=$product type="old_price"}

                <span class="regular-price" aria-label="{l s='Regular price' d='Shop.Theme.Catalog'}">{$product.regular_price}</span>
                {if $product.discount_type === 'percentage'}
                  <span class="discount-percentage discount-product">{$product.discount_percentage}</span>
                {elseif $product.discount_type === 'amount'}
                  <span class="discount-amount discount-product">{$product.discount_amount_to_display}</span>
                {/if}
              {/if}

              {hook h='displayProductPriceBlock' product=$product type="before_price"}

              <span class="price" aria-label="{l s='Price' d='Shop.Theme.Catalog'}">{$product.price}</span>
              <div itemprop="offers" itemscope itemtype="https://schema.org/Offer" class="invisible">
                <meta itemprop="priceCurrency" content="{$currency.iso_code}" />
                <meta itemprop="price" content="{$product.price_amount}" />
				<link itemprop="url" href="{$product.url}" />		
				<meta itemprop="availability" content="{$product.seo_availability}" />
				<meta itemprop="priceValidUntil" content="{'Y'|date+1}-12-31" />
              </div>

              {hook h='displayProductPriceBlock' product=$product type='unit_price'}

              {hook h='displayProductPriceBlock' product=$product type='weight'}
            </div>
          {/if}
        {/block}

        {block name='product_reviews'}
          {hook h='displayProductListReviews' product=$product}
        {/block}
      </div>

      {include file='catalog/_partials/product-flags.tpl'}

      <div class="highlighted-informations{if !$product.main_variants} no-variants{/if} hidden-sm-down">
        {block name='quick_view'}
          <a class="quick-view" href="#" data-link-action="quickview">
            <i class="material-icons search">&#xE8B6;</i> {l s='Quick view' d='Shop.Theme.Actions'}
          </a>
        {/block}

        {block name='product_variants'}
          {if $product.main_variants}
            {include file='catalog/_partials/variant-links.tpl' variants=$product.main_variants}
          {/if}
        {/block}
      </div>
    </div>
  </article>
</div>
{/block}

The only thing I would like to automatically leave would be the evaluations:

<div itemprop = "aggregateRating" itemtype = "http://schema.org/AggregateRating" itemscope>
        <meta itemprop = "reviewCount" content = "3" />
        <meta itemprop = "ratingValue" content = "5" />
      </div>

Does anyone know which path we can put in the "content" field to make it automatic and not write manually?

 

Edited by Mauricio Molina (see edit history)
  • Like 1
Link to comment
Share on other sites

Hello,

You can buy this module: https://addons.prestashop.com/en/seo-natural-search-engine-optimization/41418-seo-schema-markup-structured-data-tool-rich-snippets.html

This module adds schema markup with the type "Store" to improve the presentation of your store in Google search results. 

The markup for the products is individual for almost every theme. But if you will buy this module we will fix your errors on product page for free in the shortest time. Just contact with me.

So, you will improve the presentation of your store in Google search results and will fix errors in search console:)

Best regard

Link to comment
Share on other sites

  • 2 months later...
On 2/28/2019 at 12:33 PM, Jaep said:

Yes, your programmer is correct. It looks good, but apparently the searchconsole's crawler is a little more strict than the testing tool.

I seem to have solved it for my site with a theme based on the Classic theme. Basically, I added an offers entry along with a valid price to the product miniature. Ask your programmer to add something like this (the important part is the "offers" div):


	<meta itemprop="image" content="https://shop.example.com/imageURL.jpg" />
	<meta itemprop="description" content="Description text" />
	<meta itemprop="sku" content="123456789" />
	<div itemprop="offers" itemtype="http://schema.org/Offer" itemscope>
		<meta itemprop="url" content="https://shop.example.com/link_to_product.html" />
		<meta itemprop="availability" content="https://schema.org/InStock" />
		<meta itemprop="priceCurrency" content="USD" />
		<meta itemprop="itemCondition" content="New" />
		<meta itemprop="price" content="73077" />
		<div itemprop="seller" itemtype="http://schema.org/Organization" itemscope>
			<meta itemprop="name" content="Example PrestaShop" />
		</div>
	</div>
	<div itemprop="brand" itemtype="http://schema.org/Thing" itemscope>
		<meta itemprop="name" content="BrandOfProduct" />
	</div>

In my template markup there was an itemprop="price" entry which was a string including the currency symbol. Google Products does not like that, it has to be as above.

I still have a few optional fields missing, some I cannot easily solve in my setup. For example: The priceValidUntil field is recommended

 

Hope this helps

 

Would you please tell me where should I place these codes I mean within the product.tpl file. I would like to make you more clear in between the existing codes where should I place your recommended codes. I would be grateful to see a response. Thanks

 

  • Like 1
Link to comment
Share on other sites

  • 7 months later...

ive got this problem. Looked at my combinations and everything looks correct. I only get the red warning error if i have

Display the "On sale!" flag on the product page, and on product listings

Im using a template Juno- im i correct in reading that i have to add code to the product.tpl file or buy a module and get the dev to mod it for me??

Edited by bnadauld (see edit history)
Link to comment
Share on other sites

  • 1 month later...
On 27/2/2020 at 9:15 PM, goldies dice:

Questo è product.tpl che ho usato e google ha accettato... Ho cambiato in classico e il mio tema personalizzato. Aggiunte solo 2 righe; NON DIMENTICARE DI ELIMINARE "FISSO" e lasciato solo "prodotto"

<div itemprop="offers" itemtype="http://schema.org/Offer" itemscope>

              <meta itemprop="price" content="{$product.price_amount}">
              
              </div>

productFIXED.tpl 4,89 kB · 120 download

it works fine, it removed the requests, but now if I check a product the request is: missing field "price". do you have any idea?

Link to comment
Share on other sites

  • 7 months later...

I get all green in google search console with this code, please feedback if it works for you as well any changes you make to improve it such as not hard coding values for aggregateRating.

Edit: /home/<YOUR WEBSITE>/public_html/shop/themes/classic/templates/catalog/_partials/miniatures/product.tpl

Add in the missing code required based on the warning(s) you get

              {hook h='displayProductPriceBlock' product=$product type="before_price"}

 

              <span class="price" aria-label="{l s='Price' d='Shop.Theme.Catalog'}">{$product.price}</span>

              <div itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="invisible">

                <link itemprop="availability" href="http://schema.org/InStock">

                <meta itemprop="priceValidUntil" content="2039-12-31">

                <meta itemprop="priceCurrency" content="{$currency.iso_code}" />

                <meta itemprop="price" content="{$product.price_amount}" />

              </div>

 

              <meta itemprop="description" content="{$product.name}"/>

 

              <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>   

//HOW CAN THIS UPDATED SO NO HARD CODING OF VALUES for aggregateRating?

                  <meta itemprop="reviewCount" content="89" />

                  <meta itemprop="ratingValue" content="4.4" />

              </div>

 

              <meta itemprop="review" content="{$product}"/>

              <meta itemprop="sku" content="{$product.id_product}" />

              <meta itemprop="mpn" content="{$product.reference_to_display}" />

              <meta itemprop="gtin14" content="{$product.reference_to_display}" />

 

              <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>

                <meta itemprop="name" content="Torag" />

              </div>

 

              {hook h='displayProductPriceBlock' product=$product type='unit_price'}

  • Thanks 1
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
×
×
  • Create New...