The latest version of the AMP plugin for WordPress has just been released. This version is full of new features, with the work carried from the last three months, it contains new functionalities and in-product tools for content creators. In this version, experimental support is also added for Bento, a library of components designed from the ground up with page experience in mind.
Some features that come with this release include the below:
- An integrated AMP-compatible directory of themes and plugins.
- A Site Scanner tool to check compatibility issues with plugins and themes.
- Support for more flexible pages using Bento AMP.
- A new support based feature that facilitates users to submit site information privately, with a UUID to reference in a support topic.
- The removal of plugin-specific data during uninstallation.
If you prefer you can keep reading the post or watch a quick video about this version:
Integrated AMP-compatible directory of themes and plugins
When you install a new plugin or theme, you can check directly from your WordPress dashboard what plugins and themes are known to be compatible with AMP. They will be highlighted by an AMP icon as an indicator that they won’t output any invalid AMP markup or cause validation errors.
As seen in the image above, the plugins compatible with AMP will display an icon on the top left corner; the same behavior will also be present on the add themes screen:
In both situations, you can browse with the regular filters or filter only the AMP-compatible items.
Site scan was introduced to check for any potential compatibility issues. The feature scans seven different URLs across your website, using the standard WordPress templates. These include your homepage, a single post, an archive page, an author page, and a search URL. The feature also checks theme and plugin-related issues. The site scan wizard will provide recommendations based on any of its identified issues.
Once the scan process is completed a panel will list the issues on your website as seen below:
The site scan can be manually run any time, while scans are automatic upon new plugin activations. It also automatically re-scans your site weekly. This functionality can help keep your AMP version running without issues.
AMP ❤️ Bento
This new version introduces experimental support for Bento, the next generation of AMP, which enables the use of AMP’s high-performance web components on non-AMP pages or pages that aren’t intended to be valid AMP.
- AMP has always been about making it easier to achieve great page experiences by providing a web components library that packs a punch in terms of performance best practices and optimizations. But achieving full AMP compatibility can be very hard depending on the markup content of our pages. Bento components address those challenges users have to face while developing a site; users can now use high performant bento components without compromising on other features.
- The AMP Project’s goal has always been to help developers create great user-first experiences. AMP’s highly performant and user-centric components are a vital part of this value proposition. Now with Bento, you can use these high-performance web components, which were formerly restricted to AMP, with your favorite WordPress AMP plugin.
Experimental support for Bento is provided via a Sandboxing feature, you can opt-out of how the AMP plugin’s sanitization can behave, in other words, how much AMP restrictions can be enforced on a Page
You can control the Sanitation behavior using the following three Sandboxing levels:
Loose: the components will be applied only when they are AMP compatible, the custom script is allowed and the CSS processing will be disabled.
Moderate: it removes anything AMP invalid, except for POST Forms, excessive CSS, and other PX-verified markups. This mode should perform almost as well as pages in Strict, but they won’t be valid AMP and so they won’t be eligible for AMP Cache.
Strict: Require valid AMP, removing all markup that causes validation errors (except for excessive CSS). This is how the plugin has previously behaved by default.
The chosen Sandboxing level is the minimum you want to enforce on your site, If you decide on Loose Mode but a page has nothing on it which is AMP-incompatible, it will be served as in the Strict level to be valid AMP. In this way, you could have a site in Loose mode with 99% of the pages being served as valid AMP, but just one being in loose. The goal is for it to be safer to enable Standard mode in the Loose level by default as pages will not be initially broken if there is anything AMP-incompatible. If there are AMP incompatibilities, you can progressively swap out plugins and themes until all pages can be served at the Moderate or Strict level.
The image above illustrates the Sandboxing Modes and the different levels. The critical point about this feature is that the plugin provides more flexibility in terms of options but has less control over the performance improvements. If you select the Loose level and all your content is valid, your page will be upgraded to Strict mode. The ideal scenario is using the Strict mode but the sandboxing feature will allow you to make your website AMP compatible progressively or choose the best level that suits you.
New Support Screen
Our support team is doing its best to help your site succeed, and now you will have a new tool to speed up the support process. With the new Support screen, you can provide valuable information for our support team more effectively, and the essential information is privately shared.
The image above is an example of the information sent:
- Site Information: Site URL, PHP version, MySQL version, and WordPress Version
- Site Health: HTTPS Status, Object cache status
- AMP Information: AMP mode, AMP version, AMP plugin configuration
- Themes Installed
- Plugins Installed
- Raw Data: all the information above is in a JSON format
Once you have sent the data, you open a new support topic, describe your issue and share your Support UUID in the blue box that will appear. This is not a requirement to open a support topic, but this tool helps with providing some essential information.
Version 2.2 now recommends users review their site, To verify if there are any missing or underlying features affected, users should check any interactive features, like mobile nav menus, forms, carousels, and other features to ensure they still work.
The site scanning feature will reduce the amount of manual checking required, but still, the user needs to understand what to expect and what to look for. eventually, the onboarding wizard could have an interactive means of taking the user around the site and have a checklist of things to verify.
Uninstallation removes all plugin-specific data
Now you can choose to remove all plugin-specific data during the uninstallation. This option is enabled by default. If you would like to uninstall the plugin temporarily, disable this option to keep plugin data for settings, validated URLs, and transients used to store image dimensions and parsed stylesheets:
Under the Hood
Some of the AMP plugin changes are not visual but are performance optimization and bug fixes, additionally, some small enhancements are included in version 2.2
Here are a few important changes included in 2.2
- Retain YouTube URL parameters when converting to amp-youtube, including the seek time (#4518, #6423)
- Add overflow buttons to Twitter, Facebook, and Instagram embeds. This is necessary since the Bento components no longer cause layout shifts to resize. (#6502)
- Eliminate static emoji handling since most browsers now support natively.(#6717)
- Scans plugin upon activated for any invalidations (#5101, #6685, #6758)
- Run garbage collection to remove old validation data. (#4779, #6763)
- Removed AMP-to-AMP linking attribute to fix structured data issue with breadcrumb.(#6599, #6661)
- Detect available object caching backend(s) to guide users toward persistent object caching plugins (#5780, #6493)
Those are the main new features. Let us know what you think in the comments. There are many other improvements and small features that will be covered in our documentation. For the full list of changes in this release, please see the 2.2 milestone on the plugin’s GitHub repository, or read over the GitHub release notes.