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).
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!
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 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 add-ons.
It’s official, as I’ve just learned from Mika (aka Ipstenu) and Samuel (aka Otto) — WordPress.org will remove the description and assets from all known deprecated plugins, so users landing on the plugin’s page will be told that “This plugin has been closed for new installs” and nothing else, leaving users to wonder what happened, why the plugin is closed, and what they should do next.
I’m a strong proponent of letting users know why a plugin is deprecated, but Mika and Samuel have taken a hard-line against this, and have told me that all known deprecated plugins will be closed (except for exceptions — see below).