WPBakery Bug in Change Handler

November 5th, 2019 Update – This bug remains unfixed in WPBakery version 6.0.5 released on July 17th 2019.

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


Redirect Attachment Pages for SEO? Read This First!

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. ;-)

Continue reading


Inherit Featured and Custom Meta Images from Parents

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?

Continue reading


Add Meta Tags and Schema JSON-LD to the REST API

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, json, and parts array.

  • The html array includes the HTML formatted meta tags and Schema JSON-LD (aka LD+JSON) scripts, as they appear in the webpage head section.
  • The json array provides Schema JSON-LD (aka LD+JSON) scripts in their decoded format.
  • The parts array offers HTML meta tag attributes (aka “the parts”) as arrays, making it easier to find / use specific meta tag values.

Continue reading


Add Schema Aggregate Ratings using WPSSO

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:

  1. An aggregate rating value is calculated from several customer ratings / reviews for the current webpage content (an e-commerce product review, for example).
  2. 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).

Continue reading


[Solution] WordPress Creates Fuzzy Thumbnails

Did you know that WordPress creates thumbnails from images you upload?

You may have already known this — not everyone does, but most WordPress users are aware of this (or at least should be).

Did you also know that all resized images must be sharpened?

This is common knowledge for photography and website design professionals, but probably not for the majority of WordPress users.

And did you also know that WordPress does not sharpen resized images?

I bet that you didn’t know that one… not many people do. ;-)

WordPress creates several different thumbnail / resized images by default (see WordPress Settings > Media page for details) and potentially several more, depending on your theme and plugin settings. It’s not uncommon, for example, for WordPress to create a half-dozen (or more) images from the original image you upload. And in all cases, WordPress does not sharpen or make any adjustments to the resized image it creates!

Continue reading


Free Plugins for Organization / Local SEO Markup

Google reads a variety of structured data from webpages, including e-commerce Product details, Recipes, Reviews, etc. — along with three standard Schema types from a website’s homepage: WebSite, Organization, and Person.

In this post we’ll focus on the Organization markup — using Google’s preferred LD+JSON structured data format — which Yoast SEO, WPSSO Core, and most SEO plugins add to a WordPress site’s homepage.

Google uses the Organization markup to enrich its Knowledge Graph information for the website’s Organization (aka Business, Corporation, etc.).

See Google My Business, Your business information in the knowledge panel, and Improve your local ranking on Google for more information on Google’s Knowledge Graph and local business markup.

See Google’s About Search Features and Structured Data General Guidelines for more information about the current Schema types recognized by Google.

WPSSO Core (and its complementary add-ons) can be used by themselves, or in combination with Yoast SEO and other popular SEO plugins — WPSSO Core will warn of any conflicting plugin settings and the Pro version of WPSSO Core includes integration modules to read post / term meta from all the popular SEO plugins. The following examples were created using the Free versions of Yoast SEO, WPSSO Core, and its Free complementary add-ons.

Continue reading