WooCommerce manages information on product Availability (aka Stock), Prices, SKU, etc., but additional WooCommerce product attributes must be created to provide more product information for Google.
The WPSSO Core Pro plugin (and its WPSSO Schema JSON-LD Markup Pro add-on), for example, include a variety of WooCommerce product attribute values in its Schema markup, including the product Brand, Color, Condition, EAN, GTIN-8, GTIN-12, GTIN-13, GTIN-14, ISBN, Material, MPN (aka Manufacturer Part Number), Size, and Gender.
All social and SEO plugins – except one that I know of – use the full size image URL from the WordPress media library when adding image meta tags to the webpage (ie.
twitter:image, etc.), and/or adding images to Schema JSON-LD markup for the webpage. This can be problematic for several reasons…
- The image resolution may be too small.
- The image resolution may be too large and the file size too big.
- The aspect ratio (width or height) may exceed a maximum value.
- The image displayed on the social / search site is center cropped.
February 17th, 2020 Update – Although no specific entry was added in the WP Bakery changelog, it has been reported that this bug is now fixed in the current WPBakery version 6.1.0 release.
The WPBakery (aka Visual Composer) changeHandler function uses the “vc.accordion” data attribute without first checking for it’s existence. Any plugin or theme using a jQuery show / hide event trigger will trip this bug, and the post editing page will fail to load properly.
I’ve posted a bug report to the Visual Composer channel on Slack, but the channel does not seem to be read by WPBakery employees, so this bug may continue to go unfixed. If you are a WPBakery customer affected by this issue, you may want to report the bug to WPBakery.
The unminified WPBakery code looks like this – notice that the
data("vc.accordion") attribute is being used here without first checking if the attribute actually exists or not.
Most social and SEO plugins can use a post’s featured image, or offer a way to select a custom social image, but do little else to make sure an image is suitable for social sharing – they assume the article author / editor is aware of each social site’s image requirements (minimum and maximum image resolution, aspect ratio, and maximum image file size) and has selected an appropriate image. For example, Facebook requires that all images be larger than 200x200px, preferably 600x315px, or (even better) 1200x630px for high-resolution displays like retina laptops and phones, have an aspect ratio no wider / taller than 3:1, and less than 8 MB in size. Twitter and Google also have their own requirements, which are different than Facebook’s.
Using a social or SEO plugin that creates resized images from the originals you upload, and checks those resized images to make sure they conform to the requirements of each social site, is only part of a complete Quality Assurance solution. All too often, themes also include a few basic social meta tags in their templates (they shouldn’t, but they often do), that prevent social crawlers from reading your webpage meta tags correctly – some meta tags should never be duplicated (Facebook, for example, can reject all meta tags because of a single duplicate), or the theme may include the full size featured image before all other meta tags, so the wrong image will be used for social shares (this is fairly common). If your social or SEO plugin does not check for duplicate meta tags, you may never realize that you have a problem.
Last month Yoast added a feature to their Yoast SEO (aka WordPress SEO) plugin to allow redirecting attachment pages to the media itself (image, video, PDF, etc). For example, an attachment page with an image would be redirected to the full size image. The reason given by Yoast is that attachment pages are simply an HTML wrapper around an image, and provide little to no value for SEO.
This may be true IF the attachment page does not include any Schema markup — either as JSON-LD or microdata — to provide Google (Bing and Pinterest too) with information about the media, AND you’ve not entered a title, caption, alternative text, and description for your media in the WordPress Media library (if you haven’t, you really should).
And if you’re using the WPSSO Core plugin with its WPSSO Schema JSON-LD Markup add-on, for example, you probably would NOT want to redirect attachment pages to the media file — you’ll just be throwing away all that awesome SEO markup about the media. ;-)
Does your website use parent pages and/or categories? Unless you have a very simple site, you’ve probably organized your WordPress pages and categories as parents with child pages / categories.
And have you defined a featured image for a parent page and wished its children used the same featured image automatically?
How about social and search optimization images? If you’re using the WPSSO Core plugin — and have selected a custom image for Facebook, Google, Twitter, and/or Pinterest — would you like the children of that page and/or category to inherit those custom images automatically?
A new Free add-on for the WPSSO Core plugin has been released. The WPSSO REST API (aka WPSSO REST) add-on includes a head element in the WordPress REST API query result to provide an
html array includes the HTML formatted meta tags and Schema JSON-LD (aka LD+JSON) scripts, as they appear in the webpage head section.
json array provides Schema JSON-LD (aka LD+JSON) scripts in their decoded format.
parts array offers HTML meta tag attributes (aka “the parts”) as arrays, making it easier to find / use specific meta tag values.
There are several ways to add Schema aggregate rating markup, but before we discuss the “How”, let’s review what a Schema aggregate rating value actually is. ;-)
The Schema.org website defines the Schema aggregateRating property value as:
The overall rating, based on a collection of reviews or ratings, of the item.
Two things to keep in mind about this:
- That an aggregate rating value is calculated from several customer ratings / reviews for the current webpage content — WooCommerce product reviews, for example.
- Google prefers, and often double-checks, that Schema markup reflects the current content of the webpage. So, if you want to manually set aggregate rating and/or review values in your Schema markup, make sure that these customer ratings and reviews also appear in your webpage content (ie. that these ratings and reviews are visible).