WordPress.org

Plugin Directory

Test out the new Plugin Directory and let us know what you think.

WPSSO - Complete Meta Tags and Schema Markup for Social Sharing Optimization & SEO

Automatically create complete and accurate meta tags and Schema markup for Social Sharing Optimization (SSO) and SEO.

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 / Basic Version Repository

Version Numbering Scheme

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

  • {major} = Major code changes / re-writes or significant feature changes.
  • {minor} = New features / options were added or improved.
  • {bugfix} = Bugfixes or minor improvements.
  • {stage}{level} = dev < a (alpha) < b (beta) < rc (release candidate) < # (production).

Note that the production stage level can be incremented on occasion for simple text revisions and/or translation updates. See PHP's version_compare() documentation for additional information on "PHP-standardized" version numbering.

Changelog / Release Notes

Version 3.39.1-dev1 (TBD)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • None
  • Developer Notes
    • Added a new is_force_regen() method in the WpssoUtil class to check for the forced regen of all social image sizes, along with set_force_regen() to set the transient, and get_force_regen_id() to return the transient key.
    • Added a new is_post_exists() static method in the SucomUtil class to check if a post ID exists or not.
    • Added support for post ID checking in the is_post_page() method in the SucomUtil class.

Version 3.39.0-1 (2017/01/13)

  • New Features
    • Added a new "Add SSO Schema Column in" option (for posts / pages, terms, and users) in the SSO Advanced settings page (enabled by default).
  • Improvements
    • None
  • Bugfixes
    • None
  • Developer Notes
    • Added a new SucomUtil get_dashicons() static method to retrieve a sorted/unsorted dashicons array for the WPSSO UL extension.
    • Re-added code to support the Yoast_Notification_Center class from older Yoast SEO versions.
    • Added new filters for the new "SSO Schema" edit table column:
      • 'wpsso_schema_id_post_column_content' ( $value, $column_name, $mod );
      • 'wpsso_schema_id_term_column_content' ( $value, $column_name, $mod );
      • 'wpsso_schema_id_user_column_content' ( $value, $column_name, $mod );

Version 3.38.3-1 (2017/01/08)

  • New Features
    • None
  • Improvements
    • Added both parent and child theme header template files to the head HTML element attributes check.
    • The extensions listed on the "Extension Plugins and Pro Licenses" settings page are now sorted by name.
    • Added the "WPSSO User Locale (WPSSO UL)" plugin to the list of available WPSSO extensions.
  • Bugfixes
    • None
  • Developer Notes
    • Refactored the SucomUtil is_https() method and added a check for proxy / load-balancing 'HTTP_X_FORWARDED_PROTO' and 'HTTP_X_FORWARDED_SSL' web server variables.
    • Refactored the SucomUtil get_prot() method to support the FORCE_SSL and FORCE_SSL_ADMIN constants.

Version 3.38.2-1 (2017/01/02)

  • New Features
    • None
  • Improvements
    • Added a new "Honor the FORCE_SSL Constant" option on the Advanced settings page.
  • Bugfixes
    • None
  • Developer Notes
    • Added a check and action hook to honor the FORCE_SSL constant on the front-end.

Version 3.38.1-1 (2016/12/28)

  • New Features
    • None
  • Improvements
    • The "Read Yoast SEO Custom Meta" option is now enabled by default, if the Yoast SEO plugin is active or its settings are found in the database, otherwise it is disabled by default (Pro version).
  • Bugfixes
    • None
  • Developer Notes
    • Added a new WpssoFilters class to centralize 3rd party plugin filter hooks.
    • Added a new WpssoUtil get_canonical_url() method specifically for the canonical meta tag.
    • Added a new 'wpsso_canonical_url' filter to allow filtering of canonical and sharing URLs separately.

Version 3.38.0-1 (2016/12/24)

  • New Features
    • Added a new "Read Yoast SEO Social Meta" option for Yoast SEO users under the NGFB > Advanced > Social / Custom Meta tab (Pro version).
    • Added a new "Custom Facebook Locale" option in the NGFB > General settings page to customize the WordPress locale value for Facebook.
  • Improvements
  • Bugfixes
    • Fixed fetching of image size for a custom Schema image URL.
  • Developer Notes
    • Added a check for positive numbers when adding Schema image size properties.
    • Removed the share/curl/ca-bundle.crt file to use the WordPress wp-includes/certificates/ca-bundle.crt file instead.
    • Added an example filter to Read / Import Yoast SEO Social Meta when Yoast SEO is not active.

Version 3.37.8-1 (2016/12/12)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • None
  • Developer Notes
    • Renamed the WPSSO_OPTIONS_#_* multisite single-option constants to WPSSO_ID_#_OPT_* and optimized their checks.
    • Added a new SucomUtil explode_csv() static method to explode and trim CSV strings.

Version 3.37.7-1 (2016/12/08)

  • New Features
    • None
  • Improvements
    • Added support for the new get_user_locale() function in WordPress v4.7.
    • Removed the Facebook "Default Content Language" option from the Essential and General settings pages (not required for the og:locale value).
  • Bugfixes
    • Fixed the "Click here update header templates automatically" URL in the notice message.
  • Developer Notes
    • None

Version 3.37.6-3 (2016/12/05)

  • New Features
    • None
  • Improvements
    • Optimized wp_cache and transient caching for multilingual sites.
    • Added new Schema meta tags:
      • alternatename
      • email
      • telephone
      • currenciesaccepted
      • paymentaccepted
      • pricerange
      • preptime
      • cooktime
  • Bugfixes
    • Fixed the sharing URL value for BuddyPress users (Pro version).
  • Developer Notes
    • Added an SucomUtil update_transient_array() method to update transient arrays and keep the original transient expiration time.
    • Added a new 'wpsso_json_prop_https_schema_org_potentialaction' filter.
    • Removed $locale argument from SucomUtil get_mod_salt() calls.

Version 3.37.5-1 (2016/11/28)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • Fixed BuddyPress user page detection when current object is a post (Pro version).
  • Developer Notes
    • Added extra debugging messages in the BuddyPress user class methods (Pro version).

Version 3.37.4-1 (2016/11/25)

  • New Features
    • None
  • Improvements
    • Added a new "WPSSO Tweet a Quote (WPSSO TAQ)" extension to the Extension Plugins and Pro Licenses settings page.
  • Bugfixes
    • None
  • Developer Notes
    • Added a check for 'manage_options' permission before checking for outdated WP / PHP versions and duplicate post meta tags.
    • Removed a call to stripslashes() when saving HTML / CSS / JS code.

Version 3.37.3-1 (2016/11/17)

  • New Features
    • None
  • Improvements
    • Updated the "Plugin Setup Guide and Notes".
    • Updated hard minimum and recommended minimum WordPress and PHP versions.
    • Added a "Reference URL" link to notice messages when generating the head meta tag array.
  • Bugfixes
    • None
  • Developer Notes
    • Added a sharing URL argument to the SucomUtil get_mod_salt() method for cases where the $mod id is false.
    • Renamed the 'wpsso_json_array_schema_type_ids' filter to 'wpsso_json_array_schema_page_type_ids' to emulate the $page_type_id variable name.
    • Removed the deprecated $use_post argument from the get_array() methods for the Open Graph, Twitter Card, and Weibo classes.

Version 3.37.2-1 (2016/11/12)

  • New Features
    • None
  • Improvements
    • Added an "Item Type for Blog Home Page" option for non-static home pages.
    • Simplified the Schema mainEntityOfPage markup property by using a URL instead of an @id.
  • Bugfixes
    • None
  • Developer Notes
    • Refactored the WpssoSchema class to provide a public get_json_data() method for the WPSSO JSON extension.
    • Added WpssoPost get_posts(), WpssoTerm get_posts(), and WpssoUser get_posts() methods.
    • Added a WpssoMeta get_posts_mods() method to return $mod arrays for all posts in the current archive page.
    • Added a WpssoSchema get_json_data() method used by get_json_array() in the same class.
    • Renamed the WpssoSchema get_head_item_type() method to get_mod_schema_type().
    • Renamed the WpssoSchema get_item_type_context() method to get_schema_type_context().

Version 3.37.0-1 (2016/11/04)

  • New Features
    • Replaced the Object Cache Expiry option with new options for finer control of caching features.
      • Head Markup Array Cache Expiry (default 3 days).
      • Shortened URL Cache Expiry (default 1 week).
      • List Column Content Cache Expiry (default 1 week).
      • Filtered Content Text Cache Expiry (default 1 hour).
      • Get Image (URL) Size Cache Expiry (default 1 day).
      • Article Topics Array Cache Expiry (default 4 weeks).
      • Schema Types Array Cache Expiry (default 4 weeks).
  • Improvements
    • None
  • Bugfixes
    • Fixed the SucomUtil get_first_last_next_nums() method, which was not returning a correct 'next' number for single element arrays.
  • Developer Notes
    • Refactored the WpssoSchema get_json_array() method for a slight performance improvement.
    • Added https://schema.org/Thing to the Schema Types array (as top-level parent for all other Schema types).
    • Replaced the $user_id argument in all JSON data and property filters by the Schema $type_id.
    • Renamed the 'wpsso_json_data_https_schema_org' filter to 'wpsso_json_data_https_schema_org_thing'.
    • Renamed the 'wpsso_json_array_type_ids' filter to 'wpsso_json_array_schema_type_ids'.
    • Removed the 'wpsso_add_json_https_schema_org' filter.
    • Renamed the WPSSO_META_TAGS_DISABLE contant to WPSSO_HEAD_HTML_DISABLE.
    • Removed the WPSSO_TRANSIENT_CACHE_DISABLE, WPSSO_OBJECT_CACHE_DISABLE, and WPSSO_FILE_CACHE_DISABLE constants.
    • Added several new filters to adjust transient / object cache expiration:
      • 'wpsso_cache_expire_article_topics' ( $secs );
      • 'wpsso_cache_expire_column_content' ( $secs );
      • 'wpsso_cache_expire_content_text' ( $secs );
      • 'wpsso_cache_expire_head_array' ( $secs );
      • 'wpsso_cache_expire_image_url_size' ( $secs );
      • 'wpsso_cache_expire_schema_types' ( $secs );
      • 'wpsso_cache_expire_shorten_url' ( $secs ); // Pro version

Version 3.36.3-2 (2016/10/23)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • None
  • Developer Notes
    • Minimum requirements updated to WP v3.5 and PHP v5.4.
    • Renamed the Social Settings 'header' index name to 'text'.
    • Renamed the 'wpsso_admin_post_header' filter to 'wpsso_admin_post_head'.
    • Renamed the WpssoHead get_header_array() method to get_head_array().
    • Added a new WpssoHead get_head_index() method to cache meta tags as array elements. This optimizes the head meta transient cache for Pinterest by storing 1 transient instead of 2.

Version 3.36.2-1 (2016/10/17)

  • New Features
    • None
  • Improvements
    • Changed all http://wpsso.com/ URLs to https.
    • Added transient caching of results when fetching size information for image URLs.
    • Added a new WPSSO SSM extension to the "Extension Plugins and Pro Licenses" settings page.
  • Bugfixes
    • None
  • Developer Notes
    • None

Version 3.36.0-1 (2016/10/15)

  • New Features
    • Added new Item Type options under the Google / Schema tab in the General settings page:
    • Added a "Validate AMP Markup" button under the Social Settings metabox Validate tab for the AMP Validator.
    • Added a "Validate HTML Markup" button under the Social Settings metabox Validate tab for the W3C Markup Validation service.
    • Added a configurable length warning to the Open Graph description textarea (defaults is 300 characters hard limit, and 200 characters soft limit).
  • Improvements
    • Added the https://schema.org/WebPage sub-types in the plugin config schema_type array (AboutPage, CheckoutPage, CollectionPage, ContactPage, ItemPage, ProfilePage, QAPage, and SearchResultsPage).
  • Bugfixes
    • Fixed getting the term object (category and tags) when no term ID is provided to the SucomUtil get_term_object() method.
    • Removed the Open Graph namespace from the HTML tag attributes when using the AMP plugin.
  • Developer Notes
    • Removed the WPSSO_DEFAULT_AUTHOR_OPTIONS constant and all associated default author options.
    • Renamed all http://schema.org URLs to https://schema.org and all http_schema_org filters to https_schema_org.

Requires: 3.7 or higher
Compatible up to: 4.7.1
Last Updated: 3 days ago
Active Installs: 10,000+

Ratings

4.4 out of 5 stars

Support

12 of 12 support threads in the last two months have been marked resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

1 person says it works.
0 people say it's broken.

100,1,1 50,2,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1 100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 50,2,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1
100,1,1
100,1,1 100,1,1 100,1,1 100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1 67,3,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 50,2,1 67,3,2 50,2,1 100,1,1 50,2,1 50,2,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 50,2,1 50,2,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 50,2,1 100,1,1 50,2,1 0,1,0 50,2,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 50,2,1 100,1,1 50,2,1 50,2,1 33,3,1 100,1,1 100,1,1 50,2,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1
100,1,1
100,1,1 100,1,1 100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,1,1
100,2,2 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,3,3 100,1,1 50,2,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 50,2,1 25,4,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1
100,1,1 100,1,1
100,1,1
100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 50,2,1 100,1,1 100,4,4 100,2,2 100,1,1 100,1,1
100,1,1 100,1,1 100,2,2 100,2,2 100,1,1 100,3,3 100,2,2 100,1,1 100,2,2 100,1,1 100,1,1 100,3,3 100,4,4 100,2,2 100,2,2 100,1,1 100,2,2
100,1,1
100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 50,2,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1
100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1