Pop quiz! Did you know?
1) WordPress creates thumbnails automatically?
WordPress uses the larger / full-size image you upload to create smaller thumbnail images (see your WordPress Settings > Media page for the complete list of sizes).
For example: A photo gallery page will show small thumbnails of the larger / full-size images you uploaded. Themes will often include the featured image you selected in a predefined image size and location in the webpage.
2) All images must be sharpened after resizing?
This is such a standard process that Photoshop, for example, automatically applies a default amount of sharpening when resizing any image — you must specifically uncheck an option in Photoshop to avoid sharpenning an image during the resize process!
3) WordPress does not sharpen resized images?
Google’s Structured Data Testing Tool and/or Google’s Search Console for site owners may report the following errors for the default Schema JSON-LD markup offered by WooCommerce:
- The aggregateRating field is recommended.
- The brand field is recommended.
- The review field is recommended.
- This Product is missing a global identifier (e.g. isbn, mpn or gtin8).
I’ve written a simple Step-by-step Guide for WooCommerce and WPSSO that explains these issues, and offers a quick and easy solution.
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.
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.
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 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).