Description
The Complete Structured Data Plugin for WordPress
Present your content at its best on social sites and in search results – no matter how URLs are shared, reshared, messaged, posted, embedded, or crawled.
Provides structured data markup for:
- Facebook / Open Graph
- Google Knowledge Graph
- Google Merchant Feeds (Premium Edition)
- Google Rich Results / Rich Snippets
- Image and Video SEO
- Mobile Web Browsers
- oEmbed for LinkedIn, Discord, and Drupal
- Pinterest Rich Pins
- Twitter Cards
- Schema JSON-LD Markup
- Slack
- WhatsApp and Messaging Apps
- WordPress REST API
- WordPress Sitemaps XML
Reads data from WordPress, plugins, and service APIs.
Supports over 500 different Schema types and sub-types.
Optimized image sizes for social sites and search engines:
- Google Merchant Feeds
- Open Graph (Facebook and oEmbed)
- Pinterest Pin It
- Schema 1:1 (Google Rich Results)
- Schema 4:3 (Google Rich Results)
- Schema 16:9 (Google Rich Results)
- Schema Thumbnail
- Twitter Summary Card
- Twitter Summary Card Large Image
- Video Preview Images
Fixes Google Search and Schema Markup Validator errors:
- A value for the headline field is required.
- A value for the image field is required.
- A value for the logo field is required.
- A value for the publisher field is required.
- The aggregateRating field is recommended.
- The brand field is recommended.
- The headline field is recommended.
- The image field is recommended.
- The review field is recommended.
- No global identifier provided (e.g. gtin mpn isbn).
- Not a known valid target type for the itemReviewed property.
Users Love the WPSSO Core Plugin
★★★★★ – “Unlike competitors, you can literally customize just about every aspect of SEO and Social SEO if you desire to. […] This plugin has the most complete JSON-LD markup out of any of them, so you won’t have any errors and warnings in search console for WordPress or WooCommerce sites. You can go crazy customizing everything, or you can just set and forget. There aren’t many plugins that allow the best of both worlds.” – kw11
★★★★★ – “This plugin makes getting sites structured data ready extremely easy, and it works flawlessly without any issues. It shows messages on the top bar every step of the way to alert you of any issues until everything is set up correctly. It made all my ecommerce products pass Google’s validation tests. Great work.” – marguy1
★★★★★ – “This plugin saves me so much time, and it has really lifted my SERP rankings. Most of my keywords I now rank 1-3 position. I also noticed after about a week that my impressions have gone up at least 75%. I upgraded to the pro version which gave me even more options.” – playnstocks
Premium Edition Features
Additional options in the SSO > Advanced Settings page and Document SSO metabox.
Google Merchant Feed XML for WooCommerce, Easy Digital Downloads, and custom products.
Reads data from active plugins, including:
- All in One SEO Pack
- Co-Authors Plus
- Easy Digital Downloads
- Elementor Website Builder
- Gravity Forms + GravityView
- Perfect WooCommerce Brands
- Polylang
- Product GTIN (EAN, UPC, ISBN) for WooCommerce
- Rate my Post
- SEOPress
- Simple Job Board
- The Events Calendar
- The SEO Framework
- WooCommerce
- WooCommerce Brands
- WooCommerce Currency Switcher
- WooCommerce UPC, EAN, and ISBN
- WooCommerce Show Single Variations
- WP Job Manager
- WP Meta SEO
- WP-PostRatings
- WP Product Review
- WP Recipe Maker
- WPML
- YITH WooCommerce Brands Add-on
- Yoast SEO
- Yotpo Social Reviews for WooCommerce
Reads plugin metadata and blocks, including:
- All in One SEO Pack Metadata
- Rank Math SEO Metadata
- The SEO Framework Metadata
- Yoast SEO Metadata
- Yoast SEO Block Attributes
Reads data from remote service APIs, including:
- Bitly
- DLMY.App
- Facebook Embedded Videos
- Gravatar (Author Image)
- Ow.ly
- Shopper Approved (Ratings and Reviews)
- Slideshare Presentations
- Soundcloud Tracks (for the Twitter Player Card)
- Stamped.io (Ratings and Reviews)
- TinyURL
- Vimeo Videos
- Wistia Videos
- WordPress Video Shortcode (and Self-Hosted Videos)
- Your Own URL Shortener (YOURLS)
- YouTube Videos and Playlists
Screenshots
Installation
Install and Uninstall
Plugin Setup
FAQ
Frequently Asked Questions
- Does LinkedIn read Facebook / Open Graph meta tags?
- How can I fix a ERR_TOO_MANY_REDIRECTS error?
- How can I fix a generic HTTP 500 error?
- How can I fix a PHP fatal “out of memory” error?
- How can I fix an HTTP error when uploading images?
- How can I have smaller dimensions for the default image?
- How can I see what the Facebook crawler sees?
- How do I create a Schema FAQPage?
- How do I enable WordPress WP_DEBUG?
- How do I fix Google Structured Data > hatom errors?
- How do I remove duplicate meta tags?
- How does WPSSO Core find and select images?
- How does WPSSO Core find and select videos?
- W3C says “there is no attribute ‘property'”
- Why are some HTML elements missing or misaligned?
- Why does Facebook show the wrong image / text?
- Why does the Schema Markup Validator show errors?
- Why shouldn’t I upload small images to the media library?
Notes and Documentation
Reviews
Contributors & Developers
“WPSSO Core – The Complete Structured Data Plugin” is open source software. The following people have contributed to this plugin.
Contributors“WPSSO Core – The Complete Structured Data Plugin” has been translated into 3 locales. Thank you to the translators for their contributions.
Translate “WPSSO Core – The Complete Structured Data Plugin” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
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.
Version Numbering
Version components: {major}.{minor}.{bugfix}[-{stage}.{level}]
- {major} = Major structural code changes and/or incompatible API changes (ie. breaking changes).hanges).
- {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).
Standard Edition Repositories
Development Version Updates
WPSSO Core Premium customers have access to development, alpha, beta, and release candidate version updates:
Under the SSO > Update Manager settings page, select the “Development and Up” (for example) version filter for the WPSSO Core plugin and/or its add-ons. Save the plugin settings and click the “Check for Plugin Updates” button to fetch the latest version information. When new development versions are available, they will automatically appear under your WordPress Dashboard > Updates page. You can always reselect the “Stable / Production” version filter at any time to reinstall the latest stable version.
Changelog / Release Notes
Version 12.4.0 (2022/07/31)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- None.
- Developer Notes
- Added a new ‘wpsso_product_price’ filter for EDD and WooCommerce (Premium edition).
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 12.3.3 (2022/07/18)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- Fixed extra step when importing a Yoast How-To block.
- Developer Notes
- None.
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 12.3.2 (2022/06/27)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- Fixed a few deprecated method arguments in the SucomForm class.
- Developer Notes
- None.
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 12.3.1 (2022/06/20)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- Fixed an incorrect variable name in the AIOSEO integration module (Premium edition).
- Developer Notes
- None.
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 12.3.0 (2022/05/17)
- New Features
- None.
- Improvements
- Optimized the saving of images to avoid duplicate thumbnail files.
- Bugfixes
- None.
- Developer Notes
- Added a new
SucomUtil::sanitize_twitter_name()
method. - Refactored
SucomUtil::get_url()
to replace$_SERVER[ 'SERVER_NAME' ]
bySucomUtil::get_home_url()
.
- Added a new
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 12.2.2 (2022/05/10)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- None.
- Developer Notes
- Added more debug messages to the WPML integration module (Premium edition).
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 12.2.0 (2022/04/25)
- New Features
- None.
- Improvements
- Added a new “Product Min Advert Price” option in the Document SSO metabox.
- Added a new “Product Min Advert Price Custom Field” option in the SSO > Advanced Settings page.
- Bugfixes
- None.
- Developer Notes
- Added a call to
WpssoAbstractWpMeta->get_inherited_md_opts()
inWpssoProEcomWoocommerce->add_mt_product()
. - Refactored the
WpssoAbstractWpMeta->get_inherited_md_opts()
method.
- Added a call to
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 12.1.1 (2022/04/09)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- None.
- Developer Notes
- Added new filters when getting post/term/user public IDs:
'wpsso_post_public_ids' ( array $public_ids, array $posts_args )
'wpsso_term_public_ids' ( array $public_ids, array $tax_names )
'wpsso_user_public_ids' ( array $public_ids, array $roles )
- Added new filters when getting post/term/user public IDs:
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 12.1.0 (2022/04/04)
- New Features
- None.
- Improvements
- Added a check for any active multilingual plugin to disable the unnecessary custom Schema Language option.
- Updated the PolyLang and WPML integration modules to provide post/term alternate languages for sitemaps (Premium edition).
- Bugfixes
- Fixed a possible PHP error in a cron job for required Schema properties.
- Developer Notes
- Added a new
WpssoSchema->get_lang()
method. - Added a new
WpssoUtil->get_link_rel_alternates()
method. - Added a new ‘wpsso_link_rel_alternates’ filter.
- Added a new
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 12.0.0 (2022/03/26)
Removed support for NextGEN Gallery, NextCellent Gallery, bbPress, BuddyPress, and BuddyBlog.
- New Features
- None.
- Improvements
- None.
- Bugfixes
- None.
- Developer Notes
- None.
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.8.0 (2022/03/24)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- Fixed the appearance of the Validators menu to users without editing capability.
- Developer Notes
- Added a
current_user_can()
check before showing the Validators menu. - Added
$md_pre
to theWpssoOpengraph->get_array()
method arguments. - Removed
$check_dupes
from all methods arguments.
- Added a
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.7.2 (2022/03/23)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- Fixed detection of json scripts with unencoded characters in the post content.
- Fixed missing download information for add-ons in the config array.
- Fixed clearing the locale cache when switching locales.
- Fixed active WPML language when WordPress switches locales.
- Developer Notes
- Updated
SucomUtil::get_json_scripts()
to return the CSS id or md5 of json scripts. - Updated
WpssoJsonFiltersPropHasPart->maybe_comment_json_scripts()
to comment json scripts using the CSS id or md5. - Added a new ‘posts_args’ array in the
$mod
variable for the WPSSO FAQ add-on. - Added a
$mod
argument to theWpssoMedia->get_video_details()
method forWpssoUtil->is_uniq_url()
. - Added a
$mod
argument toWpssoUtil
methods:clear_uniq_urls()
is_dupe_url()
is_uniq_url()
- Updated
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.7.1 (2022/03/18)
- New Features
- None.
- Improvements
- Added a new SSO > General Settings > Site Information > WebSite Home URL option.
- Bugfixes
- Fixed a missing trailing slash for the home page URL provided by WordPress.
- Developer Notes
- Added a $path argument when calling the WordPress
get_home_url()
andget_site_url()
functions.
- Added a $path argument when calling the WordPress
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.7.0 (2022/03/14)
- New Features
- None.
- Improvements
- Added support for image and video properties in Schema comment and review markup.
- Added a new SSO > Advanced Settings > Default Text options:
- Reply Comment Title
- Review Comment Title
- Improved duplicate image checks across all Schema image sizes (1:1, 4:3, and 16:9).
- Bugfixes
- Fixed Schema Headline metadata dependency.
- Developer Notes
- Added a new WPSSO_META_RATING_NAME constant.
- Added new methods in the
WpssoComment
class:get_options()
save_options()
delete_options()
user_can_save()
- Removed the
$mt_prefix
argument from:WpssoPost->get_mt_reviews()
WpssoAbstractWpMeta->get_mt_reviews()
WpssoAbstractWpMeta->get_mt_comment_review()
- Removed deprecated functions and methods from 2020.
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.6.0 (2022/03/10)
- New Features
- None.
- Improvements
- Added dynamic placeholders to Document SSO metabox title and description options.
- Bugfixes
- None.
- Developer Notes
- Refactored the
WpssoPage->sanitize_md_key()
method. - Added a new
WpssoConfig::get_md_keys_fallback()
method. - Added new ‘wpsso_md_keys_fallback_{option_key}’ filters.
- Added a new
SucomForm->get_input_dep()
method. - Added a new
SucomForm->get_textarea_dep()
method. - Added a new
sucomPlaceholderDep()
function in js/com/jquery-metabox.js. - Added a new
sucomSanitizeHookname()
function in js/com/jquery-admin-page.js. - Added a new
sucomSanitizeKey()
function in js/com/jquery-admin-page.js.
- Refactored the
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.5.0 (2022/03/07)
- New Features
- Added a new SSO > Advanced Settings > Plugin Settings > Interface > Show SSO Menu Items option.
- Improvements
- Removed dashicons from the SSO menu items.
- Bugfixes
- None.
- Developer Notes
- Added new filters for menus, limits, and tabs:
- ‘wpsso_add_menu_submenu_item_{menu_id}’ ( $bool )
- ‘wpsso_input_limits_{option_key}’ ( $limits )
- ‘wpsso_menu_title’ ( $title )
- ‘wpsso_menu_your_sso_title’ ( $title )
- ‘wpsso_metabox_tabs_layout_{metabox_id}’ ( $tabs_layout = ‘horizontal’ )
- Added a new ‘wpsso_url_query_cache_disable’ filter.
- Renamed the ‘wpsso_show_validate_toolbar’ filter to ‘wpsso_add_toolbar_validate’.
- Renamed the ‘wpsso_head_disabled’ filter to ‘wpsso_head_disable’.
- Added new filters for menus, limits, and tabs:
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.4.0 (2022/03/02)
- New Features
- None.
- Improvements
- Updated the default Twitter Card image dimensions.
- Bugfixes
- Fixed possible missing site name and tagline values in the SSO > Advanced Settings > Plugin Settings > Integration > Webpage Title Tag filters.
- Developer Notes
- Added support for a new optional WPSSO_TITLE_TAG_DISABLE constant.
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.3.1 (2022/02/28)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- Fixed
implode()
arguments for PHP v8 inWpssoOptions->check_options()
.
- Fixed
- Developer Notes
- None.
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.3.0 (2022/02/28)
- New Features
- None.
- Improvements
- Added a new SSO > Advanced Settings > Default Text > Product Variation Title option.
- Bugfixes
- Fixed possible SSO > Advanced Settings > Integration > Webpage Title Tag conflict with other SEO plugins. When another SEO plugin is detected, the Webpage Title Tag will default to “WordPress Title” instead of “SEO Title Tag”.
- Developer Notes
- None.
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.2.0 (2022/02/25)
- New Features
- None.
- Improvements
- Added support for The Event Calendar organizer and venue images (Premium edition).
- Avoid getting user titles/descriptions from The SEO Framework as it cannot provide them by user ID (Premium edition).
- Bugfixes
- None.
- Developer Notes
- Moved the following methods from
WpssoOpenGraph
toWpssoMedia
:get_all_previews()
get_all_videos()
get_all_images()
get_thumbnail_url()
get_size_name_images()
get_media_info()
get_media_value()
- Refactored the
WpssoMedia->get_size_name_images()
method to provide a default image fallback for the home page, archive, and post pages, but not attachment or non-public pages.
- Moved the following methods from
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.1.1 (2022/02/22)
- New Features
- None.
- Improvements
- None.
- Bugfixes
- Fixed an undefined variable warning in
WpssoUser->user_can_save()
. - Fixed incorrect
WpssoPage->get_text()
arguments inWpssoJsonFiltersTypeCreativeWork
andWpssoJsonFiltersTypeQuestion
.
- Fixed an undefined variable warning in
- Developer Notes
- None.
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.1.0 (2022/02/19)
- New Features
- Added a new Document SSO > Edit Visibility > 301 Redirect URL option.
- Improvements
- Updated the jQuery datepicker UI to include a month and year selector.
- Added all The Events Calendar venues and organizers to the Document SSO metabox Event selects (Premium edition).
- Removed a test for
WpssoUtilRobots->is_enabled()
when checking for noindex, which allows noindex checks even if the robots meta tag is disabled.
- Bugfixes
- Fixed an incorrect visual element change on mouseover for The Events Calendar and WP Job Manager option selects (Premium edition).
- Developer Notes
- Renamed the ‘wpsso_add_head_html’ (true by default) filter to ‘wpsso_head_disabled’ (false by default).
- Requires At Least
- PHP v7.2.
- WordPress v5.2.
Version 11.0.0 (2022/02/17)
- New Features
- Added a new “SEO Title Tag” option in the Document SSO metabox.
- Improvements
- Added a new “Truncated Text Ellipsis” option in the SSO > General Settings page.
- Added a progress bar to the character counter in the Document SSO metabox.
- Removed the Elementor ‘elementor_library’ post type from the list of available public post types.
- Removed the Open Graph “Title Max. Length” option.
- Removed the Open Graph “Description Max. Length” option.
- Removed the Google / Schema “Description Meta Tag Max. Length” option.
- Removed the Google / Schema “Description Max. Length” option.
- Removed the Google / Schema “Text / Article Body Max. Length” option.
- Removed the Pinterest “Image Description Max. Length” option.
- Removed the Twitter Card Title Max. Length
- Removed the Twitter Card Description Max. Length
- Bugfixes
- None.
- Developer Notes
- Refactored the
WpssoPage
classget_title()
,get_description()
, andget_caption()
methods, including their arguments. - Added a new
WpssoConfig::$cf[ 'form' ][ 'input_limits' ]
array for minimum, warning, and maximum title and description lengths. - Added new private methods in the
WpssoPage
class:sanitize_max_len()
sanitize_md_key()
maybe_get_mod()
maybe_get_title_sep()
maybe_get_ellipsis()
maybe_get_custom()
- Added support for Rank Math inline variables
%org_name%
and%org_url%
.
- Refactored the
- Requires At Least
- PHP v7.2.
- WordPress v5.2.