SEO Plugin Performance Report for Q4 2021

In June of 2021 an SEO plugin for WordPress boasted they were “one of the fastest SEO plugins” available, so using the Query Monitor plugin, we tested the performance of several SEO plugins to see if their claim was true (spoiler alert, it wasn’t).

In the months since that article, there has been a new version of WordPress and new versions of several SEO plugins, so we were curious to see if the SEO plugin performance results had changed for Q4 2021. The WPSSO Core plugin, for example, has integrated their Schema JSON-LD add-on into their Core plugin, so the features of WPSSO Core have increased significantly – would it also affect its performance?

Continue reading


Shipping Delivery Time for Google Rich Results

WPSSO + WooCommerce logos.

In September 2020, Google announced support for shipping details in Schema Product Offers and how shipping details would be presented in search results. Adding the new shippingDetails property to your Schema Product markup is especially important if you offer free or low-cost shipping, as this will make your products more appealing in search results.

In October, Surnia Ulula announced support for shipping details in the WPSSO Core Premium plugin, to provide both the Google recommended Schema OfferShippingDetails shippingDestination and shippingRate properties for WooCommerce products. Although these two properties are enough to satisfy Google’s recommended shipping details markup, the Google validator now warns that an additional deliveryTime property is recommended.

The deliveryTime property should be a Schema ShippingDeliveryTime type that includes businessDays, cutoffTime, handlingTime, and transitTime properties. The data for these four properties can be managed with a new WPSSO Shipping Delivery Time for WooCommerce add-on.

Continue reading


A Better ‘pre_get_posts’ Search for WooCommerce

WPSSO + WooCommerce logos.

I recently wrote a plugin to provide missing GTIN, GTIN-8, GTIN-12 (UPC), GTIN-13 (EAN), GTIN-14, ISBN, MPN, Depth, and Volume values for WooCommerce Products and Variations. As part of that plugin, I extended the WordPress search feature to search metadata from WooCommerce products (and their variations). The standard way to extend the WordPress search feature is to hook the “pre_get_posts” action and modify the WP_Query to include additional posts / products in search results. There are some serious drawbacks to doing this – with or without WooCommerce – but especially with WooCommerce.

Continue reading


LinkedIn Now Prefers oEmbed Data Instead of Open Graph

When you share a URL on a social site like Facebook, Twitter, LinkedIn, etc., that social site crawls the webpage in background to read the meta tags and structured data markup (aka Open Graph meta tags, Twitter Card meta tags, Schema JSON-LD, Schema microdata, etc.).

Social sites like LinkedIn generally require an image, a title, and a description to display a share. A few social sites like Pinterest and Twitter can also display additional information for products, recipes, mobile apps, videos, and more.

Until recently, the LinkedIn crawler read only Open Graph meta tags to get the webpage image, title, and description, but recently they’ve started reading oEmbed data as well, and if oEmbed data is available, LinkedIn prefers those values over the Open Graph values.

Continue reading


[Solution] Sharper Thumbnails for Facebook, Google, Open Graph, Pinterest, Schema, SEO, Twitter, etc.

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?

Continue reading


Why WordPress Image Sizes for Social Sharing and SEO?

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. og:image, twitter:image, etc.), and/or adding images to Schema JSON-LD markup for the webpage. This can be problematic for several reasons…

  1. The image resolution may be too small.
  2. The image resolution may be too large and the file size too big.
  3. The aspect ratio (width or height) may exceed a maximum value.
  4. The image displayed on the social / search site is center cropped.

Continue reading


WPBakery Bug in Change Handler

February 17th, 2020 UpdateAlthough 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.

Continue reading


Social and SEO Plugins with Quality Assurance Features

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.

Continue reading