WPSSO Core Pro and its WPSSO Schema JSON-LD Markup Pro add-on include a variety of additional product information in its Schema markup for WooCommerce products, 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.
WooCommerce itself already manages information on product Availability (aka Stock), Prices, SKU, etc., but other WooCommerce product attributes must be created to provide additional product information.
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.
WPSSO Core Pro and the WPSSO JSON Pro add-on provide complete Schema markup (aka Google’s Product Rich Card) for WooCommerce products, including all variations and extensive product information (size, weight, sale prices / dates, color, condition, etc.) – far beyond the basic Schema markup provided by the WooCommerce plugin itself.
WPSSO Core Pro can also read several custom WooCommerce product attributes, if / when you create them in your WooCommerce store:
The WPBakery (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 (for example) will trip this bug, and the post editing page will fail to load properly.
I’ve posted the 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.
The unminified WPBakery code looks like this. Note that
data("vc.accordion") is being used here without first checking if the attribute 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.
The WPSSO Core plugin and its WPSSO Schema JSON-LD Markup add-on do an outstanding job of analyzing your content and pulling out information about images, videos, authors, publishers, locations, events, recipes, e-commerce products, SEO customizations, and much, much more — not just from WordPress, but from many 3rd party plugins and services as well. ;-)
The following modules are included with the Pro version of WPSSO Core, and are automatically loaded if/when the supported plugins and/or services are required.
There are several ways to add aggregate ratings — as I’ll explain below — but first, before we dive into the “How”, let’s talk about what an “aggregate rating” 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:
- An aggregate rating value is calculated from several customer ratings / reviews for the current webpage content (an e-commerce product review, 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/or reviews also appear in your webpage content (ie. the ratings and reviews are visible).