WPSSO Core Pro (Main Plugin)

License Selection

1 x WordPress Site $49.00
2 x WordPress Sites $78.00 — Suggested for WP Engine and Hosts with Staging Sites
3 x WordPress Sites $96.00
5 x WordPress Sites $130.00
10 x WordPress Sites $220.00
15 x WordPress Sites $285.00
25 x WordPress Sites $425.00
50 x WordPress Sites $750.00
100 x WordPress Sites $1400.00

Licenses do not expire — enjoy unlimited updates and support for the lifetime of your registered WordPress site(s).

Installation and activation instructions are sent to your PayPal email address immediately following your payment.

View License Terms and Information
No Risk 30 Day Refund Policy
PayPal Acceptance Mark

FYI

Release Schedule

New versions of the plugin are released approximately every week (more or less). New features are added, tested, and released incrementally, instead of grouping them together in a major version release. When minor bugs fixes and/or code improvements are applied, new versions are also released. This release schedule keeps the code stable and reliable, at the cost of more frequent updates.

See release early, release often (RERO) software development philosophy on Wikipedia for more information on the benefits of smaller / more frequent releases.

Free / Standard Version Repositories

Version Numbering

Version components: {major}.{minor}.{bugfix}[-{stage}.{level}]

  • {major} = Major structural code changes / re-writes or incompatible API changes.
  • {minor} = New functionality was added or improved in a backwards-compatible manner.
  • {bugfix} = Backwards-compatible bug fixes or small improvements.
  • {stage}.{level} = Pre-production release: dev < a (alpha) < b (beta) < rc (release candidate).

Changelog / Release Notes

Version 3.50.0-rc.3 (2018/01/23)

  • New Features
    • Added an integration module for WP Meta SEO (Pro version).
  • Improvements
    • Updated the tooltip colors from blue to a custom green palette.
    • Added a link to the Media Library image editing page for some image related warning notices.
    • Added a check for the WP Meta SEO plugin and a warning if its "Social sharing block" option is enabled.
  • Bugfixes
    • None
  • Developer Notes
    • None

Version 3.49.1 (2018/01/14)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • Fixed non-static calls to the show_opts() method in WpssoUser (props @legacycode).
  • Developer Notes
    • None

Version 3.49.0 (2018/01/07)

  • New Features
    • None
  • Improvements
    • Added support for hidden input values in sortable columns for Quick Edit form options.
    • Minor updates for some help and notification text, along with their French translations.
  • Bugfixes
    • None
  • Developer Notes
    • Added a get_meta_cache_value() method in the WpssoPost, WpssoTerm and WpssoUser classes.
    • Added support for a new 'post_callbacks' array when getting post column content.

Version 3.48.12 (2018/01/01)

  • New Features
    • None
  • Improvements
    • Added plugin / extension name and version to the bottom of settings pages.
  • Bugfixes
    • Fixed HTML entity encoding in Twitter player card URL values for YouTube videos.
  • Developer Notes
    • Replaced esc_url() by esc_url_raw() to avoid HTML encoding the URLs.
    • Minor refactoring for PHPCS compatibility checks.

Version 3.48.11 (2017/12/29)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • Fixed getting the post URL when 'open_basedir' is defined.
  • Developer Notes
    • Minor refactoring for PHPCS compatibility checks.

Version 3.48.10 (2017/12/21)

  • New Features
    • None
  • Improvements
    • Changed the maximum "Google Search / SEO Description" length from 160 to 320 characters.
  • Bugfixes
    • None
  • Developer Notes
    • Refactored the esc_url_encode() method to decode any HTML entities found in the URL.
    • Added an SucomUtil decode_html() method to decode HTML entities and UTF8 encoding.
    • Removed old methods deprecated on 2017/09/03 from the SucomForm class.

Version 3.48.9 (2017/12/13)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • Fixed an incorrect URL variable name to clear the shortened URL cache when saving a post.
  • Developer Notes
    • None

Version 3.48.8 (2017/12/09)

  • New Features
    • None
  • Improvements
    • Use the sharing URL instead of the shortlink when checking for duplicate meta tags if PHP "open_basedir" is defined (PHP's cURL cannot follow redirects when "open_basedir" is defined).
  • Bugfixes
    • Fixed the return value from WpssoProUtilUser get_options() for an invalid user id (should be an empty array, not false).
  • Developer Notes
    • Updated the MobileDetect library from version 2.8.19 to 2.8.28.

Version 3.48.7 (2017/11/29)

  • New Features
    • None
  • Improvements
    • Updated the Pinterest crawler detection code to include the latest "Pinterestbot/" user agent string.
    • Transient cache is now automatically disabled when using the fallback server request URL, for themes and plugins that create public content and don't use the standard WordPress functions / variables and/or are not properly integrated with WordPress (don't use custom post types, taxonomies, terms, etc.).
    • Optimized the definition of cache ids when the transient cache is disabled.
  • Bugfixes
    • None
  • Developer Notes
    • Added a new SucomUtilWP wp_get_shortlink() method to handle themes / plugins (like JetPack) that purposefully break the wp_get_shortlink() function.
    • Replaced all calls to wp_get_shortlink() by SucomUtilWP wp_get_shortlink().
    • Added new filters in the WpssoUtil get_page_url() method for the fallback server request URL:
      • 'wpsso_server_request_url'
      • 'wpsso_server_request_url_disable_cache'
    • Refactoring / code improvements of the following methods:
      • WpssoUtil get_page_url()
      • WpssoPost get_sharing_shortlink()
      • WpssoPost check_post_head_duplicates()
      • WpssoProUtilShorten get_short_url()

Version 3.48.6 (2017/11/24)

  • New Features
    • None
  • Improvements
    • Added more context to the reference URL in some notification messages.
    • Added a notice on the settings page if the current language is different than the default site language. Localized option values are used for webpages and content in that language only (not for the default language, or any other language).
  • Bugfixes
    • None
  • Developer Notes
    • Renamed the WpssoSchema is_schema_type_child_of() method to is_schema_type_child().
    • Added static caching to the WpssoSchema get_mod_schema_type() and is_schema_type_child() methods.
    • Renamed a few plugin setting option keys:
      • 'plugin_cf_add_type_urls' to 'plugin_cf_addl_type_urls'
      • 'schema_organization_json' to 'schema_add_home_organization',
      • 'schema_person_json' to 'schema_add_home_person',
      • 'schema_website_json' to 'schema_add_home_website',
      • 'schema_person_id' to 'schema_home_person_id',

Version 3.48.5 (2017/11/20)

  • New Features
    • None
  • Improvements
    • Added Schema ImageObject 'alternativeHeadline' and 'caption' properties with values from the WordPress Media Library.
  • Bugfixes
    • Fixed an SQL syntax error when deleting expired transients.
    • Fixed the description value from Yoast SEO in a post loop (the Yoast SEO plugin is not compatible with post loops).
  • Developer Notes
    • Added a 'wpsso_get_event_place_id' filter for the single event place id.
    • Renamed the WpssoSchema add_image_list_data() method to add_og_image_list_data().
    • Renamed the WpssoSchema add_single_image_data() method to add_og_single_image_data().
    • Refactored the WpssoAdmin methods that retrieve the readme.txt and setup.html file contents.
    • Added a new WpssoUtil safe_apply_filters() method to apply the 'wp_title', 'the_content', and 'get_the_excerpt' filters. The safe_apply_filters() method prevents recursive loops, saves/restores the post object, and optionally shows a notice for long execution times.
    • Added a new WpssoPage get_the_excerpt() method, and renamed the get_content() method to get_the_content().
    • Refactored the Yoast SEO integration module to make it compatible with post loops.
    • Started renaming all references to the plugin lowercase acronym variable from $this->p->cf['lca'] to $this->p->lca.

Version 3.48.3 (2017/11/15)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • Fixed the JSON data cache index key for singular pages with multiple JSON-LD scripts (like the home page).
  • Developer Notes
    • None

Version 3.48.2 (2017/11/14)

  • New Features
    • None
  • Improvements
    • Updated minimum/recommended versions for PHP 5.4/5.6 and WordPress 3.8/4.8.
    • Added dashicons to all plugin menu items (plugin settings, dashboard, info, etc.).
    • Added [F] qualifiers in the Cache Status metabox for expiration values changed by a filter.
    • Added a '.specialty' suffix to medical specialty Schema type ids - the value of existing options will be updated automatically.
    • Added a new optional WPSSO_PRODUCT_PRICE_INCLUDE_VAT constant (false by default) to include VAT in WooCommerce product prices (Pro version).
    • Updated the Google URL Shortener API service option labels and help text (Pro version).
  • Bugfixes
    • Updated the "Google Project API Key" value check to allow for hyphen characters (Pro version).
    • Fixed a typo in the 'employment.agency' Schema type ID string.
  • Developer Notes
    • Renamed the WPSSO_CHECK_PRODUCT_OBJECT constant (true by default) to WPSSO_PRODUCT_OBJ_CHECK_DISABLE (false by default).
    • Changed the user agent to the Facebook crawler when checking for duplicate meta tags, for edge cases where plugins / themes only add meta tags for the Facebook crawler.
    • Added an action to remove the SNAP OG meta tags holder, to prevent incorrect / duplicate meta tags from being added to the webpage.
    • Added a new WpssoSchema get_types_cache_exp() method to apply the Schema types expiration filter once (and cache the result in a static variable).
    • Added a new WpssoSchema add_mod_opts_date_iso() method to add single event/job date/time in iso format.
    • Refactored and renamed the SucomForm get_post_type_checkboxes() method to get_checklist_post_types().
    • Added support for employment type values in the WpssoSchema add_single_job_data() method.
    • Moved the link rel HTML tags from WpssoHead to a new WpssoLinkRel class.
    • Changed the sorting of Schema Type selects from PHP_NATURAL to PHP_STRING.
    • Changed the WPSSO_SCHEMA_POSTS_PER_PAGE_MAX constant default value from 20 to 10.
    • Added a new WPSSO_SCHEMA_POSTS_PER_SEARCH constant with a default value of 3 to include only the top 3 search results in the Schema SearchResultsPage markup.
    • Added calls to WpssoJsonSchema get_mod_cache_data() and save_mod_cache_data() when creating single post json data.
    • Added a new SucomUtilWP class for static methods derived from WordPress functions.
    • Added new functions to retrieve custom meta options:
      • wpsso_get_post_event_options()
      • wpsso_get_post_job_options()
      • wpsso_get_post_organization_options()
      • wpsso_get_post_place_options()

Version 3.48.0 (2017/11/02)

  • New Features
    • Added a new "Cache Status" metabox on the SSO > Dashboard and Features Status page. The new "Cache Status" metabox is only shown if WordPress is using the database to store transients (the default for most WordPress sites). If you're using an external object cache, like APC, Memcache, Redis, Xcache, etc., this new metabox will not be displayed. Support for your chosen external object cache could be added at a later date, depending on user requests and the availability of an API to get (or count) all stored keys by prefix.
  • Improvements
    • None
  • Bugfixes
    • None
  • Developer Notes
    • Refactored the WpssoUtil get_ext_req_msg() method.
    • Refactored the WpssoUtil add_image_url_size() method.
    • Refactored the WpssoUtil delete_expired_db_transients() method.
    • Refactored the WpssoMedia get_content_images() method to skip size limit checks for invalid sizes.
    • Refactored the WpssoPost/Term/User clear_cache() methods.
    • Moved and refactored the WpssoUtil clear_cache_objects() method to WpssoMeta clear_mod_cache_types().
    • Added a new WpssoUtil get_image_url_info() method to wrap / cache the PHP getimagesize() function.
    • Added a new WpssoUtil get_db_transient_keys() method to return all (or only expired) transient keys in the database.
    • Changed the default value of WPSSO_DUPE_CHECK_CLEAR_SHORTLINK from false to true.

Version 3.47.3 (2017/10/28)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • Fixed the WooCommerce og:type value for product category and tag archive pages - should be 'website' instead of 'product' (Pro version).
  • Developer Notes
    • Renamed the e-commerce filters (Pro version):
      • 'wpsso_og_edd' to 'wpsso_og_ecom_edd'
      • 'wpsso_og_marketpress' to 'wpsso_og_ecom_marketpress'
      • 'wpsso_og_woocommerce' to 'wpsso_og_ecom_woocommerce'
      • 'wpsso_og_wpecommerce' to 'wpsso_og_ecom_wpecommerce'
    • Removed the 'wpsso_og_woocommerce_product_page' filter (Pro version).
    • Refactored the WpssoProEcomWoocommerce 'filter_og_seed' method (Pro version).

Version 3.47.2 (2017/10/28)

  • New Features
    • None
  • Improvements
    • Renamed the "Default Product Currency" option to "Default Currency".
    • The "Enable WP Excerpt for Pages" and "Enable WP Tags for Pages" options are now enabled by default.
    • Updated "WPSSO extension" description text to "WPSSO Core extension".
    • Updated the notice CSS to fit within the Gutenberg editor container.
  • Bugfixes
    • Fix to convert the currency symbol provided The Event Manager to a currency abbreviation (Pro version).
    • Fix to limit mentions in a Schema CollectionPage for a post object to only its first level / direct children.
    • Fix to prefer getting the Yoast SEO post/term/user meta from the Yoast SEO plugin, instead of directly from the post/term/user meta (Pro version).
  • Developer Notes
    • Updated the Google jQuery UI CSS from v1.11.4 to v1.12.1.
    • Added a new WpssoHead get_mt_mark() method to return begin/end meta tags and regex.
    • Added a new WpssoUtil get_ext_req_msg() method to get the required extension text message.
    • Moved the WP Recipe Maker, WP Ultimate Recipe, and WP Product Review plugin checks to the WPSSO JSON extension.
    • Added new WpssoSchema set_single_data_from_cache() and get_single_type_id_url() methods.
    • Refactored the WpssoSchema add_single_*_data methods (organization, person, place, etc.).
    • Refactored the WpssoProUtilWpseoMeta class and all its methods.
    • Added a new SucomForm get_cache() method to cache and return common arrays (schema types, organization names, etc.).
    • Added a fallback text domain when translating form option values for plugin extensions.
    • Moved the "Check for Updates" HTML button into action hooks in the WPSSO Update Manager extension.

Version 3.47.1 (2017/10/17)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • Fixed The Events Calendar module to return a 0 for an empty price field (Pro version).
  • Developer Notes
    • None

Version 3.47.0 (2017/10/15)

  • New Features
    • None
  • Improvements
    • The Block Filter Output (BFO) feature is now enabled by default when WPSSO applies the content filter.
    • Added locale support to the Profile Contact Label options (Pro version).
  • Bugfixes
    • None
  • Developer Notes
    • Changed the WPSSO_CONTENT_BLOCK_FILTER_OUTPUT constant default value from false to true.
    • Added a new WPSSO_SCHEMA_POSTS_PER_PAGE_MAX constant (default is 20) for the WPSSO JSON extension.
    • Removed the following filters (replaced by actions):
      • 'wpsso_text_filter_begin' ( $bool, $filter_name );
      • 'wpsso_text_filter_end' ( $bool, $filter_name );
    • Added the following actions (see actions.txt in the plugin folder):
      • 'wpsso_pre_apply_filters_text' ( $filter_name );
      • 'wpsso_after_apply_filters_text' ( $filter_name );
    • Added a new SucomUtil get_wp_plugins() method to minimize calls to the slower WordPress get_plugins() function.

Version 3.46.4 (2017/10/02)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • Removed the debug status check from the WpssoRegister and WpssoCheck class constructs (the WpssDebug class is loaded after these two).
  • Developer Notes
    • None

Version 3.46.3 (2017/10/02)

  • New Features
    • None
  • Improvements
    • Added a Block Filter Output (BFO) feature (disabled by default) to monitor the content filter and fix incorrectly coded filter hooks.
    • The "Apply Content Filters" option is now enabled by default.
  • Bugfixes
    • None
  • Developer Notes
    • Added a new WPSSO_CONTENT_BLOCK_FILTER_OUTPUT constant (default is false).
    • Added a new Block Filter Output (BFO) common library class as lib/com/bfo.php.

Version 3.46.2 (2017/09/25)

  • New Features
    • None
  • Improvements
    • Added "Soundcloud URL" to the user profile contact list.
    • Added Twitter player card and Open Graph text/html video meta tags for Soundclound embedded tracks (Pro version).
  • Bugfixes
    • Added a check for bp_is_activity_component() before calling bp_get_activity_action() when in a BuddyPress post loop (Pro version).
  • Developer Notes
    • None

Version 3.46.1 (2017/09/15)

The last version of WPSSO Core that shared a common code-base with NextGEN Facebook v8.46.1. New features and improvements in future versions of the WPSSO Core plugin will not be back-ported to the NextGEN Facebook plugin.

  • New Features
    • None
  • Improvements
    • Added the "Check for Embedded Media" option from the Advanced settings page to the General > Open Graph > Videos tab (Pro version).
    • Removed the default / fallback video options for archive and search result pages:
      • Default / Fallback Video URL
      • Use Default Video on Archive
      • Use Default Video on Search Results
  • Bugfixes
    • None
  • Developer Notes
    • Renamed the Advanced settings 'social' tab ID to 'custom_meta'.
    • Removed the "Maximum Images from Content" option and replaced it with a new WPSSO_CONTENT_IMAGES_MAX_LIMIT constant (defaults to 5).
    • Removed the "Maximum Videos from Content" option and replaced it with a new WPSSO_CONTENT_VIDEOS_MAX_LIMIT constant (defaults to 5).
    • Moved several Schema options in the Google / Schema settings tab to a common method the WpssoAdmin class.

Version 3.46.0 (2017/09/10)

  • New Features
    • None
  • Improvements
    • Updated the top menu icon.
    • Renamed the "Social Settings" metabox to "Social and Search Optimization".
    • Added "Social and Search Optimization" to the top of settings pages (50% transparent).
    • Added the Schema EntertainmentBusiness sub-types (AdultEntertainment, AmusementPark, etc.).
  • Bugfixes
    • Fixed fetching of YouTube video information (Pro version).
    • Excluded the Pinterest image from being added to the content of RSS feeds.
  • Developer Notes
    • Renamed the lib/profile/social-settings.php library file to your-sso.php.
    • Renamed the WpssoMeta get_social_tabs() method to get_custom_meta_tabs().
    • Renamed the following filters and added a 3rd argument for the metabox id:
      • 'wpsso_post_social_settings_tabs' to 'wpsso_post_custom_meta_tabs'.
      • 'wpsso_term_social_settings_tabs' to 'wpsso_term_custom_meta_tabs'.
      • 'wpsso_user_social_settings_tabs' to 'wpsso_user_custom_meta_tabs'.