6 warnings on Google Search Console

Steph_Monteiro
Tourist
7 0 2

Hi All Shopify Gurus!

Just wondered if there was an elegant solution to the following missing fields issues on my product pages. (see screenshot)

https://charactertoystore.com/collections/julia-donaldson-soft-toys/products/gruffalo-squirrel 

I have the Supply theme. Could the below issues be hurting my SEO rankings?

Appreciate your expertise.

Thanks

Stephanie 🙂

 

 

Steph_Monteiro_0-1615124619995.png

 

Replies 4 (4)

KieranR
Shopify Partner
333 27 116

Do your products actually have SKU/GTIN defined? If they are missing from shopify admin, then not surprising fields missing in schema, even if the code is there to output the fields.

aggregateRating field is for a product rating average score from reviews you collect. If you don't have reviews I mean technically there are ways to "fake" this but I would not recommend it. More robust to genuinely collect reviews and display them onsite in this field. 

priceValidUntil is really intended for discounts, but one approach to avoid the warning is to have it set to today + 1year. Depends on your overall discounting strategy and honestly not sure of any cases where this has been robustly tested in isolation, so who knows what impact this would have. I'd guess it's so Google can choose to show "$xx.xx until DD/MM/YY" in the SERP, but I haven't seen them using that.

Usually I'd recommend either:

1) Getting a good review app and then replacing your theme schema* with that from an app called "JSON-LD for SEO" by LittleStreamSoftware. That is usually "good enough" for most stores. That needs minimal config/dev work to get setup correctly.

2) Advanced: If you really need more customization than that (I doubt it), pay a dev to build a fully custom implementation of JSON-LD to fit your needs.

* most Shopify themes come with a minimal built in schema, you may want to get a dev to rip this out of the theme. Having dupe schema is not necessarily an issue for SEO if the data is the same, but it can cause issues with Shopping Feed conflicts and other edge cases.

 

 

 

Full time Shopify SEO guy, based in NZ. Sometimes freelance outside the 9-5.
Steph_Monteiro
Tourist
7 0 2

thank you Kieren

Farchance
Tourist
3 0 2

Go to your theme and edit code

Go to section -> product-template.liquid

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

Then paste this code below it:

<meta itemprop="url" content="{{ shop.url }}{{ product.url }}">
<meta itemprop="priceValidUntil" content="{{ 'now' | date: '%s' | plus: 31536000 | date: '%Y-%m-%d' | uri_encode | replace:'+','%20' }}">

This will fix url and priceValidUntil.

 

  • For review and aggregateRating, you have to go to app and install product reviews then follow their instruction. Once there is review for your product then there will be value for it.
  • For sku and global identifier, you can follow the step below:

1) Find this code at the topmost of product-template.liquid: <div itemscope itemtype="http://schema.org/Product" id="ProductSection" data-section-id="{{ section.id }}" data-section-type="product-template" data-image-zoom-type="{{ section.settings.product_image_zoom_type }}" data-show-extra-tab="{{ section.settings.show_extra_tab }}" data-extra-tab-content="{{ section.settings.extra_tab_content }}" data-cart-enable-ajax="{{ settings.cart_enable_ajax }}" data-enable-history-state="true">

2) Paste this code under the code above(1)

 {% assign fa_product_id_alpha2_code = 'US' %} 
{% assign fa_prices_with_decimal_separator = true %} 
{% assign fa_product_id = 'default' %}

{%- assign fa_current_variant = product.selected_or_first_available_variant -%}
{%- assign fa_variant_count = product.variants | size -%}
{%- assign fa_count = 0 -%}

{%- if fa_product_id == 'default' -%}
{%- capture fa_product_id_value -%}shopify_{{ fa_product_id_alpha2_code }}_{{ product.id }}_{{ fa_current_variant.id }}{%- endcapture -%}
{% elsif fa_product_id == 'product_id' %}
{%- capture fa_product_id_value -%}{{ fa_current_variant.id }}{%- endcapture -%}
{% elsif fa_product_id == 'parent_id' %}
{%- capture fa_product_id_value -%}{{product.id }}{%- endcapture -%}
{% elsif fa_product_id == 'sku' %}
{%- capture fa_product_id_value -%}{{ fa_current_variant.sku }}{%- endcapture -%}
{% endif %} 

 

3) edit the second step code: 

fa_product_id_alpha2_code Change the 'US' to your country code based on this: https://help.shopify.com/en/api/custom-storefronts/storefront-api/reference/enum/countrycode

If you’re in the US, then keep fa_prices_with_decimal_separator to true, if you are in a European country then change it to false.

The following step requires you to check the product id in Google Merchant Center > Products > List. And see what ID you are using.

  1. If it looks like shopify_US_81191654332_1055121650148, then keep fa_product_id set to default
  2. If it looks like 1055121650148 then set the value fa_product_id to product_id
  3. If it looks like the main id 81191654332 then set the value fa_product_id to parent_id
  4. If it looks like a sku then set the value fa_product_id to sku

(if you don't know then just keep it default)

4) Then paste this code under the edited second step code:

<meta itemprop="sku" content="{{fa_product_id_value}}">

{%- if product.variants.first.barcode.size == 12 -%}
<meta itemprop="gtin12" content="{{ product.variants.first.barcode }}">
{%- endif -%}
{%- if product.variants.first.barcode.size == 13 -%}
<meta itemprop="gtin13" content="{{ product.variants.first.barcode }}">
{%- endif -%}
{%- if product.variants.first.barcode.size == 14 -%}
<meta itemprop="gtin14" content="{{ product.variants.first.barcode }}">
{%- endif -%}

I hope this will help you out.

 
 
Steph_Monteiro
Tourist
7 0 2

thank you very much !