AMP Project

This plugin adds support for the Accelerated Mobile Pages (AMP) Project, which is an an open source initiative that aims to provide mobile optimized content that can load instantly everywhere.

With the plugin active, all posts on your site will have dynamically generated AMP-compatible versions, accessible by appending /amp/ to the end your post URLs. For example, if your post URL is, you can access the AMP version at If you do not have pretty permalinks enabled, you can do the same thing by appending ?amp=1, i.e.

Note #1: that Pages and archives are not currently supported. Pages support is being worked on.

Note #2: this plugin only creates AMP content but does not automatically display it to your users when they visit from a mobile device. That is handled by AMP consumers such as Google Search. For more details, see the AMP Project FAQ.

Follow along with or contribute to the development of this plugin at


WP SEO is designed for professionals who want to build a solid foundation for an SEO-friendly website.

It allows you to create templates for the title tag, meta description, and meta keywords on your posts, pages, custom post types, archives, and more. The templates can be populated dynamically with built-in formatting tags like #title# or #author_name#. You can even allow authors to create custom title and meta values for individual entries.

Meanwhile, it leaves other features like Open Graph metadata and XML sitemaps to more-specialized plugins.

For developers, WP SEO is welcoming. It applies filters all over the place, and extending the plugin with your own custom formatting tags is a cinch.


WordPress SEO allows you to customize the default format of <title> tags, <meta> descriptions, and <meta> keywords for your home page, single posts and custom post types, taxonomy and date archives, and more.

Most of this customization happens on the WP SEO settings page, which you can access in the Dashboard at Settings > SEO.

Basic usage

The settings page has headings for each group of fields you can customize. Groups are hidden by default; click the heading to expand it.

For example, to customize the defaults for your Posts, use the fields under the heading “Single Post Defaults.” To customize the default for author archives, use the fields under the heading “Author Archives.”

When you’re done editing fields, save your changes using the button at the bottom of the page.

A “format” can be regular text. For example, you could set the <title> tag of all date archives to be “Posts from our time machine.”

Formatting tags

The power of formats, though, is in formatting tags, which create dynamic text that responds to the content of the page.

A formatting tag looks like #site_name# or #author# or #archive_date#.

With formatting tags, setting the <title> tag format of your date archive to “Time machine set to #archive_date#” would display something like “Time machine set to September 2014” — and the date would change automatically based on the archive the user looked at.

Some more examples:

  • If you wanted to include the author name and tags by default in your <meta> keywords for all Posts, you could go to “Single Post Defaults” and, under “Meta Keywords Format,” use “#author#, #tags#.”
  • If you wanted to use category descriptions in the <meta> description field, you could go to “Category Archives” and, under “Meta Description Format”, use #term_description#.”
  • If you had a custom “Review” post type and wanted the <title> tag to include the date each review was last updated, you could go to “Single Review Defaults” and, under “Title Tag Format,” use “#title# Review (Updated #date_modified#).

These formatting tags are available out-of-the-box:

  • #archive_date#
  • #author#
  • #categories#
  • #date_modified#
  • #date_published#
  • #excerpt#
  • #post_type_plural_name#
  • #post_type_singular_name#
  • #search_term#
  • #site_description#
  • #site_name#
  • #tags#
  • #term_description#
  • #term_name#
  • #title#

More details about each tag are available under the “Help” button in the upper-right corner of the settings page.

Per-entry and per-term fields

The WP SEO Settings page allows you to set global defaults. But WP SEO also supports setting custom title, description, and keyword values for your site’s individual entries and taxonomy terms.

You can enable these fields on a per-post type basis under the “Post Types” heading on the WP SEO Settings page. Check the box next to a post type to enable the fields, and the fields will appear on the “Edit” page for each post type.

You can enable the fields on a per-taxonomy basis under the “Taxonomies” heading on the WP SEO Settings page. Check the box next to a taxonomy to enable the fields, and the fields will appear in the “Add New” form for each taxonomy and the “Edit” page for each taxonomy term.

Custom meta tags

In addition to the core support for <meta> description and keywords, WP SEO allows you to set custom <meta> tags that are used throughout your site. These are managed under the “Other Meta Tags” heading on the WP SEO Settings page.

For example, if you wanted to add a Google Verification <meta> tag for your site, you could go to “Other Meta Tags,” add “google-site-verification” under the “Name” field, and the value under the “Content” field.

Use the “Add another” button to add as many custom <meta> tags as you need.

Use the “Remove group” button, or just remove the field content, to remove a custom <meta> tag.

Apple News

Features include:

  • Convert Your WordPress content into Apple News Format content.
  • Configure Your Apple News Channel Credentials for Upload.
  • Automatically or Manually Publish Posts from WP to Apple News.
  • Control Individual Posts with Options to Publish, Update, or Delete.
  • Use Bulk Publishing Controls.
  • Handle Banners and Image Galleries.
  • Toggle Advertisements On or Off.

To enable content from your WordPress site to be published to your Apple News channel, you must obtain and enter Apple News API credentials from Apple.

Please see the Apple Developer and Apple News Publisher documentation and terms on Apple’s website for complete information.


Information in this section are not a complete walkthrough of the plugin’s configuration. For the complete overview of configuration, please refer to the plugin’s

Automatically Publish to Apple News

Please note that the “Automatically Publish to Apple News” option, applies to administrators only (more specifically to users with manage_options capability) by default.

All posts published or updated by other users (editors, authors, and custom roles without manage_options capability) don’t get published automatically. Administrator, or any other user with manage_options capability, has to publish those manually from Apple News listing screen ( /wp-admin/admin.php?page=apple_news_index ).

In case you’d like the auto-publish feature being applied to other users as well, take advantage of the apple_news_publish_capability filter and select an appropriate capability.

 * Apple News: allow authors and above to automatically
 * publish their posts on Apple News.
add_filter( 'apple_news_publish_capability', function() {
    return 'publish_posts';
}, 10, 0 );

Allow editors to view Apple News listing screen

Similar to auto-publish feature, the Apple News listing screen( /wp-admin/admin.php?page=apple_news_index ) is available for administrators only by default.

In order to allow other users to see the status of posts and publish those to your Apple News channel, you have to take advantage of apple_news_list_capability filter:

 * Apple News: allow editors and above to see the Apple News
 * listing screen.
 * Users with this capability will be able to push any posts
 * to the Apple News channel
add_filter( 'apple_news_list_capability', function(){
    return 'edit_others_posts';
}, 10, 0 );

Please note that the capability does not apply to viewing the listing only, but also allows users with given capability to publish any posts listed on the screen to your Apple News channel.


CheezTest lets you create and run Batcache-compatible server-side A/B tests in your theme. Learn more about how it works in the readme. There are also some examples you can follow.

The plugin makes use of Batcache’s support for vary_cache_on_function, which saves page variants in a page’s cache and then evaluates which one to serve when the page loads.

IMPORTANT: Since the tests run before Batcache, which in turn runs very early (before theme code is included), only built-in PHP functions and jetpack_is_mobile() can be used when defining tests. Any theme-specific functions will not be available.

The plugin was a joint collaboration between the team at I Can Has Cheezburger and VIP.

Cache Nav Menus

Cache your Core Navigation Menus with’s Advanced Post Cache.

Ready to get started?

Drop us a note.

No matter where you are in the planning process, we’re happy to help, and we’re actual humans here on the other side of the form. 👋 We’re here to discuss your challenges and plans, evaluate your existing resources or a potential partner, or even make some initial recommendations. And, of course, we’re here to help any time you’re in the market for some robust WordPress awesomeness.