Ecommerce software home
Shopping Cart Software Forum for Ecommerce Templates
 
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

Find us on Facebook Follow us on Twitter View our YouTube channel
Search our site
Forum Search
Google Site Search
 All Forums
 General
 Suggestions - NOT QUESTIONS
 missing schema data
Next Page
Author « Topic »
Page: of 2

tgorski
Ecommerce Template Expert

USA
910 Posts

Posted - 05/13/2019 :  12:33:14  
GSC shows errors if offer, review or aggregate schema code is not on the page, yet the structured testing tool does not report the error.

Any product without a review show or offer (which requires price, availability and currency schema data) is not on the page, will generate that GSC error (Note: Itemoffered, PriceValidUntil & URL are recommended schema for the page)

So the suggestion is to have the ability to take the product schema off the page if offer (which includes price, availability and currency schema), review or aggregate (reviews) data is unavailable so those GSC errors can be avoided or eliminated.

As indicated https://www.ecommercetemplates.com/support/topic.asp?TOPIC_ID=111389&SearchTerms=structured,data and https://www.ecommercetemplates.com/support/topic.asp?TOPIC_ID=111584&SearchTerms=structured,data, which includes Andy's vote, I think we're building a case for updating the scope of the micro-data in order to avoid schema errors, or the option to remove the schema code to avoid those errors.

Additionally, we thought we'd identified random warnings on the schema data for product image as measured by structured testing tool, but found out that the schema data was broken due to spaces in the image name. So here's another condition that might justify wanting to turn off the product schema instead of having to change image file names with spaces in them.

Couldn't an include statement be used to turn off the generation of product schema?

Tim Gorski

Andy
ECT Moderator

95440 Posts

Posted - 05/13/2019 :  13:08:51  
Hi Tim

I think this may be one for the Suggestions forum, shall I move it there as I can't provide a quick fix?

Andy

Please feel free to review / rate our software

tgorski
Ecommerce Template Expert

USA
910 Posts

Posted - 05/14/2019 :  07:17:51  
Please do, Andy ... I THOUGHT that was where I posted it.

Tim Gorski

DeeAnna
Advanced Member

USA
268 Posts

Pre-sales questions only
(More Details...)

Posted - 05/20/2019 :  12:43:23  
On a related note, I am also getting a similar error from Google about "Invalid value type for field 'offers' "

I don't have any offers set up, but in the page code, there's a URL (see code below) that sends me to a page of definitions. Not sure why this needs to be present.

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

I don't use the review feature and I don't do offers. I agree with this suggestion -- "...Couldn't an include statement be used to turn off the generation of product schema?..."

--DeeAnna

Classic Bells, Postville, Iowa, USA, http://classicbells.com/

Edited by - DeeAnna on 05/20/2019 12:45:37

John M
Advanced Member

459 Posts

Pre-sales questions only
(More Details...)

Posted - 05/21/2019 :  08:36:33  
Seems this is a fundamental E-Commerce issue that is as much of necessity as suggestion... there should probably be a fix much sooner rather than later since it will no doubt start counting against everyone in the algorithms.

John

EllenD
Advanced Member

United Kingdom
434 Posts

Posted - 05/28/2019 :  03:39:51  
Gets my vote as well, I'm not an expert in this which is all the more reason I'd love ECT to handle it for me as much as possible! Thank you

Vince
Administrator

42761 Posts

Posted - 06/04/2019 :  01:39:02  
Hi DeeAnna
If you have products for sale on your site then that is your "Offer", so you probably do have Offers.
quote:
there should probably be a fix much sooner rather than later since it will no doubt start counting against everyone in the algorithms
If there are errors then of course we will want to get them fixed as soon as possible. But then again I'm sure Google are going to be reasonably pragmatic about this and for instance, warnings about the lack of a Review would not for me be the cause of removing markup that could benefit in the positioning of products just in case at some point there were a penalty when this must affect millions of products in Google's index.
This looks worth following up...
quote:
On a related note, I am also getting a similar error from Google about "Invalid value type for field 'offers' "
So DeeAnna, if you could send me details to my email at vince AT ecommercetemplates DOT com that would be great. Meanwhile I'll talk to Andy about what we can change here in general.
I've been adding a parameter this morning which may be useful...
skuschemaidentifier="gtin13"
$skuschemaidentifier='gtin13';
So that if your Sku is actually an ISBN or GTIN code it will be marked up as such.

Vince

Click Here for Shopping Cart Software
Click Here to sign up for our newsletter
Click Here for the latest updater

DeeAnna
Advanced Member

USA
268 Posts

Pre-sales questions only
(More Details...)

Posted - 06/04/2019 :  07:38:39  
"...If you have products for sale on your site then that is your "Offer", so you probably do have Offers...."

It's immaterial whether I do or I don't. I personally am not seeing any problems with how my store functions for me and my customers. The problem is that Google doesn't like it, and the discussion is how to prevent Google errors.

"...So DeeAnna, if you could send me details ... that would be great...."

The details are what I described in my 5/20 post in this thread and is closely related to what is being discussed in this other thread -- https://www.ecommercetemplates.com/support/topic.asp?TOPIC_ID=111389&SearchTerms=structured,data

Classic Bells, Postville, Iowa, USA, http://classicbells.com/

Edited by - DeeAnna on 06/04/2019 07:39:50

DLSS
ECT Moderator

Canada
3956 Posts

Posted - 06/13/2019 :  10:52:28  
Tim and DeeAnna,

You may be interested in this: http://www.dlss.ca/proddetail.asp?prod=ProductSchema


Mike Beebe
President,
DataLinks Software Solutions
www.dlss.ca

Rate Me Here

ASP and PHP mods - www.dlss.ca/products.asp
A Tremendous Home - Home Decor and Design, D-I-Y Projects, Home Life, Recipes - www.ATremendousHome.com

ITZAP
Ecommerce Template Guru

Australia
1017 Posts

Posted - 06/13/2019 :  23:44:48  
quote:
... the discussion is how to prevent Google errors
I think it is very important to distinguish and understand the difference between Google Structured Data Testing Tool "errors" and "warnings".

What Ecommerce Templates users get at present on Product pages is all "warnings", which are not critical and do not effect your search engine impact or ranking whatsoever.

By the same token, it would be nice to see an update that satisfies at least some of those "warnings".
Note there are some warnings that are absolute nonsense, such as warnings about reviews when there are none entered (stupid !)
And an itemprop for "url" when there are already <canonical> and <meta property="og:url"> entries in the <head> !! Have Google lost the plot with all these structured data additions ?

My PHP v7.0.5 domain name registration page here uses all of these elements:

<?php $detailpagelayout="navigation, productname, dateadded, reviewstarslarge, productimage, description, socialmedia, options, listprice, discounts, price, quantitypricing, quantity, addtocart, checkoutbutton, manufacturer, sku, productid, reviews, previousnext" ?>

Perhaps you would like to run that through the Google Structured Data Testing Tool and check the result. There are notes on my page which explain the 5 remaining itemprop "warnings".

And if you check out the Google microdata code samples here, you will see that the JSON-LD <script> markup injected into the page <head> is far less complex and definitely, without a doubt the way to go now.

Mike Beebe's JSON-LD script sounds like a fine solution. But ECT Users would not want to have a mixture of both JSON-LD and Microdata markup running together.

JSON-LD markup alone as a stock-standard ECT feature would be the shot. And perhaps an option to disable structured data markup, if desired. Some Vince magic required
quote:
... found out that the schema data was broken due to spaces in the image name.
Tim Gorski, you are correct. Spaces in an image filename results in a Testing Tool "error". But that is a Google programming issue. Perhaps wait and see if a fix is coming.

Gary

Edited by - ITZAP on 06/14/2019 00:08:22

Vince
Administrator

42761 Posts

Posted - 06/14/2019 :  01:47:30  
quote:
Some Vince magic required
Aha, Mike's already been in touch with me about this and support is coming for a parameter...
noschemamarkup=TRUE
$noschemamarkup=TRUE;
It's all done, just waiting to see how the Beta testing goes.
I'll have a look at the warnings now.

Vince

Click Here for Shopping Cart Software
Click Here to sign up for our newsletter
Click Here for the latest updater

Vince
Administrator

42761 Posts

Posted - 06/14/2019 :  02:00:55  
Hi Gary
I think there is already a parameter that can help here...
$skuschemaidentifier='gtin8'; // isbn mpn etc
I'll have a look at the rest now.

Vince


Click Here for Shopping Cart Software
Click Here to sign up for our newsletter
Click Here for the latest updater

Vince
Administrator

42761 Posts

Posted - 06/14/2019 :  02:10:03  
Hi Gary
You have the Manufacturer set as IT ZAP, but that isn't the Brand I don't believe. For example the Manufacturer would be Apple but the Brand would be iPhone. If you do have a Brand then maybe marking it up in the description would be the way to go?

For the Availability you can set the parameter...
$setschemaavailability=TRUE;

What do you all think about priceValidUntil and url?

Vince

Click Here for Shopping Cart Software
Click Here to sign up for our newsletter
Click Here for the latest updater

ITZAP
Ecommerce Template Guru

Australia
1017 Posts

Posted - 06/14/2019 :  03:16:19  
Hi Vince, thanks for your replies and I will try those other parameters you mention.
quote:
What do you all think about priceValidUntil ?
If we had a Discount active with an Expiry Date entered, then inside “Offers” you could then include markup for itemprop “priceValidUntil”

Otherwise, without adding another Date field on the Product Admin page for that, I can’t imagine circumstances when it would be relevant. But maybe some other users think different ?

There is a good answer about when to include an itemprop entry for “priceValidUntil” on the Google Search Console Help Forum here.
Also note the advice “if you don't have an expiration date, don't be tempted to fake one just to clear a heads-up warning”.
Plenty more interesting discussion about Structured Data issues on that Forum also.
quote:
What do you all think about url ?
Because the Testing Tool recommends including an itemprop for “url”, I guess it would be not much trouble for you to add that?

Gary

Edited by - ITZAP on 06/14/2019 06:03:25

ITZAP
Ecommerce Template Guru

Australia
1017 Posts

Posted - 06/14/2019 :  19:37:03  
An update for you about these Google Structured Data Testing Tool "Warnings":

availability
Resolved by adding this parameter to includes.php:
$setschemaavailability=TRUE;
Enables the addition of this structured data snippet:
offers > availability http:// schema.org/InStock

brand
Updated 12th January 2022.
Resolved by manually editing your Product Long Description source code like this:
<span itemprop="brand" itemscope="" itemtype="https://schema.org/Brand"><span itemprop="name">Ecommerce Plus</span></span>

This product is missing a global identifier (e.g. isbn, mpn or gtin8)
Resolved by adding this parameter to includes.php:
$skuschemaidentifier="mpn";

review and aggregateRating
Ignore since these 2 "warnings" appear only if no Customer Reviews have been entered.

priceValidUntil
Ignore. Would perhaps only be relevant if there was a Discount active with an Expiry Date set.

Gary

Edited by - ITZAP on 01/11/2022 17:23:46

Vince
Administrator

42761 Posts

Posted - 06/15/2019 :  00:52:17  
quote:
brand
Resolved by manually editing source code like this: <span itemprop="brand">ECT</span>
Is optional, but results in the addition of this structured data snippet:
brand > @type Thing > name ECT
I really think in this case, ECT would be a Manufacturer not a Brand. "Ecommerce Plus" would be our Brand. Also, if you have changed your Manufacturers to Brands then I would have thought you would get a warning about not having a Manufacturer.

quote:
This product is missing a global identifier (e.g. isbn, mpn or gtin8)
Adding this parameter to includes.php: $skuschemaidentifier="mpn";
Had no effect. That "warning" was not resolved.
I think this is the problem here...
quote:
My PHP v7.0.5 domain name registration page here uses all of these elements:
Support for this parameter is only in the v7.1 line.

Vince

Click Here for Shopping Cart Software
Click Here to sign up for our newsletter
Click Here for the latest updater

tgorski
Ecommerce Template Expert

USA
910 Posts

Posted - 08/05/2019 :  13:00:41  
So, now there is a new update on Google Search Console and the microdata missing fields...

All of these "Warnings" have now been escalated to ERRORS!

This does mean that theses product detail pages will be affected in search results. I think the fix is now URGENTLY needed.

Tim Gorski

ITZAP
Ecommerce Template Guru

Australia
1017 Posts

Posted - 08/05/2019 :  19:02:10  
Hi Tim, I can see there have been some updates to the Google Search Console

If you are seeing reports of structured data ERRORS on "Product" pages that were only "Warnings" before, then I suggest you might take a look through issues posted on the Search Console Help community forum. Here is the link ...

> https://support.google.com/webmasters/community

Highly likely that you will not be the only Webmaster looking for solutions to such "Errors".

I honestly don't think the "Errors" you are experiencing are caused by the Ecommerce Templates shopping cart software. You may find the actual reason to be how Product details are entered, or perhaps required details not entered at all and are missing.

Gary

John M
Advanced Member

459 Posts

Pre-sales questions only
(More Details...)

Posted - 08/11/2019 :  13:16:39  
An update from Gary's regarding the Google Structured Data Testing Tool "Warnings":

[orange]Schema Condition[/orange]
Make sure you have this parameter in your includes file:
[blue]$setschemacondition=TRUE;[/blue]

[orange]Schema Availability[/orange]
Make sure you have this parameter in your includes file:
[blue]$setschemaavailability=TRUE;[/blue]

[orange]Brand[/orange]
Add a [blue]pddbrand[/blue] function to incproddetails.php just below the end of [red]function pddsku() {}[/red]:
[blue]
[code]function pddbrand(){
global $brand,$rs;
if((@$brand!='' || $GLOBALS['hascustomlayout'])) print '<div class="detailbrand">' . ($showbrand!=''?'<span class="prodbrandlabel detailbrandlabel">' . $brand . '</span> ':'') . ($GLOBALS['noschemamarkup']?'':'<span itemprop="' . $GLOBALS['brandschemaidentifier'] . '">') . $brand . ($GLOBALS['noschemamarkup']?'':'</span>') . '</div>';
}[/code][/blue]
Add the layout code for the brand layout just below the:
[red]elseif($layoutoption=='sku') pddsku();[/red]
[blue]elseif($layoutoption=='brand') pddbrand();[/blue]

Add these parameters to you includes file:
[blue]$brandschemaidentifier="brand";
$showbrand="none";
$brand="Your Brand Name Here";[/blue]

Add [blue]brand[/blue] to the page layout:

$detailpagelayout="navigation,productname,productimage,productid,reviewstars,sku,[blue]brand[/blue],options,instock,price,currency,quantity,checkoutbutton,previousnext,socialmedia,description,reviews,searchwords";

[orange]Global Identifier (e.g. isbn, mpn or gtin8)[/orange]

Add all of your own applicable parameters to your includes.php file:
[blue]$skuschemaidentifier="gtin13 EAN";[/blue]
Please note your SKU number should actually be valid for these formats

[orange]URL[/orange]

Add these parameters to you includes file:
[blue]$urlschemaidentifier="url";
$showdetailurl="none";[/blue]

[orange]Product URL[/orange] add the blue code as below:
[code]function pdddetailname(){
global $sstrong,$estrong,$rs,$alldiscounts,$nomarkup,$detailnameh1,$orstoreurlssl;
print $sstrong . '<div class="detailname"><'.(@$detailnameh1?'h1':'span') . ($GLOBALS['noschemamarkup']?'':' itemprop="name"') . '>' . $rs[getlangid('pName',1)] . '</'.(@$detailnameh1?'h1':'span').'>' . $GLOBALS['xxDot'];
[blue]print ($GLOBALS['noschemamarkup']?'':'<a class="detailurl" href="' . detailpageurl('') . '" itemprop="' . $GLOBALS['urlschemaidentifier'] . '">') . detailpageurl('') . ($GLOBALS['noschemamarkup']?'':'</a>');[/blue]
if($alldiscounts!='') print ' ' . (@$nomarkup?'':'<font color="#FF0000">') . '<span class="discountsapply detaildiscountsapply">' . $GLOBALS['xxDsApp'] . '</span>' . (@$nomarkup?'':'</font>');
print '</div>' . $estrong;
}[/code]

[orange]Offer URL[/orange] add the blue code as below:
[code]function pddprice(){
global $Count,$rs,$pricezeromessage,$thetax,$ssIncTax,$noprice,$countryCurrency;
if(@$noprice!=TRUE){
$separatetaxinc=@$GLOBALS['showtaxinclusive']==1 && ($rs['pExemptions'] & 2)!=2;
$displayprice=(@$GLOBALS['showtaxinclusive']===2 && ($rs['pExemptions'] & 2)!=2 ? $rs['pPrice']+($rs['pPrice']*$thetax/100.0) : $rs['pPrice']);
print '<div class="detailprice"' . ($rs['pPrice']!=0&&!$GLOBALS['noschemamarkup']?' itemprop="offers" itemscope itemtype="http://schema.org/Offer"><meta itemprop="priceCurrency" content="'.$countryCurrency.'"':'') . '><strong>' . $GLOBALS['xxPrice'].($GLOBALS['xxPrice']!=''?':':'') . '</strong> <span class="price" id="pricediv' . $Count . '"'.($rs['pPrice']!=0&&!$GLOBALS['noschemamarkup']&&!$separatetaxinc?' itemprop="price" content="' . number_format($displayprice,2,'.','') . '"':'').'>' . ($rs['pPrice']==0 && @$pricezeromessage!='' ? $pricezeromessage : FormatEuroCurrency($displayprice)) . '</span> ';
if($separatetaxinc) printf('<span class="inctax" id="taxmsg' . $Count . '"' . ($rs['pPrice']==0 ? ' style="display:none"' : '') . '>' . $ssIncTax . '</span>','<span id="pricedivti' . $Count . '"' . ($GLOBALS['noschemamarkup']?'':' itemprop="price" content="' . number_format($rs['pPrice']+($rs['pPrice']*$thetax/100.0),2,'.','') . '"') . '>' . ($rs['pPrice']==0 ? '-' : FormatEuroCurrency($rs['pPrice']+($rs['pPrice']*$thetax/100.0))) . '</span> ');
schemaconditionavail();
[blue]print ($GLOBALS['noschemamarkup']?'':'<a class="detailurl" href="' . detailpageurl('') . '" itemprop="' . $GLOBALS['urlschemaidentifier'] . '">') . detailpageurl('') . ($GLOBALS['noschemamarkup']?'':'</a>');[/blue]
print '</div>';
}
}[/code]

This should reduce the warnings down to 1 warning (priceValidUntil) except for products that have no reviews which will have 3 warnings.

John

Vince
Administrator

42761 Posts

Posted - 08/12/2019 :  02:14:11  
Hi John
It looks like the Brand set there would just be a global value that would be set for every product. Remember as I mentioned above that in the case of an Apple iPhone the Brand would not be Apple as some might assume, but rather iPhone; and many might well be setting the manufacturer name for the brand. It's probably not going to be required for the vast majority of products in the vast majority of stores. Also I would imagine that setting it correctly should be above just getting rid of the warning.

Vince

Click Here for Shopping Cart Software
Click Here to sign up for our newsletter
Click Here for the latest updater

stonewx
Starting Member

31 Posts

Pre-sales questions only
(More Details...)

Posted - 10/18/2019 :  12:50:20  
Working on our schema settings in the includes file using some of the recommendations here.

We have custom order items that are displayed without "sell" being turned on. These items show as
[code]<meta itemprop="availability" content="http://schema.org/OutOfStock">[/code]

My suggestion/question: Is it possible to have an includes trigger that could change the OutofStock content to InStock so we don't need to manually edit the incproddetail.php? We don't use stock management.

So happy the additional schema was included in the update for 7.1.6!

Thank you,
Lynne
Page: of 2 « Topic »  
Next Page
Jump To:
Shopping Cart Software Forum for Ecommerce Templates © 2002-2022 ecommercetemplates.com
This page was generated in 0.05 seconds. Snitz Forums 2000