This release contains tons and tons of bugfixes and security improvements. Credits for this release largely go to Juliette Reinders Folmer aka Jrf / jrfnl.
Also a heartfelt thanks go out to the beta testers who tested all the changes. Special mentions for testers Woyto, Bnpositive, Surbma, DavidCH1, TheITJuggler, kletskater who caught a number of bugs and provided us with actionable information to fix these.
This version also incorporates the SEO Extended plugin functionality into WP SEO with graceful thanks to Faison and Scott Offord for their great work on this plugin.
This version contains a lot of changes under the hood which will break backward compatibility, i.e. once you've upgraded, downgrading will break things.So make sure you make a backup of your settings/database before upgrading.
Bugfixes
- Major overhaul of the way the plugin deals with options. This should fix a truck-load of bugs and provides improved security.
- Major overhaul of the way the plugin deals with post meta values. This should fix a truck-load of bugs and provides improved security.
- Major overhaul of the way the plugin deals with taxonomy meta values. This should fix a truck-load of bugs and provides improved security.
- Fixed: Renamed a number of options as they ran the risk of being overwritten by post type/taxonomy options which could get the same name. This may fix some issues where options did not seem to get saved correctly.
- Fixed: if page specific keywords were set for a static homepage, they would never be shown.
- Fixed: if only one FB admin was selected, the tag would not be added.
- Fixed: bug where taxonomies which were on an individual level set to noindex and sitemap include 'auto-detect' would still be shown in the sitemap
- Fixed: bug in canonical urls where an essential part of the logic was skipped for singular posts/pages
- Fixed: category rewrite rules could have errors for categories without parent categories.
- Fixed: bug in delete_sitemaps() - wrong retrieval of needed options.
- Fixed: HTML sitemaps would sometimes display headers without a link list.
- Fixed: Breadcrumbs could potentially output an empty element as part of the chain, resulting in two separators in a row.
- Fixed: Breadcrumbs: even when removing the prefix texts from the admin page, they would sometimes still be included.
- Improved fixed for possible caching issue when
title_test
option remained set, issue #627. - Fixed bug in
title_test_helper
where it would pass the wrong information toupdate_option()
, related to issue #627. - Fixed: shortcodes should be removed from ogdesc.
- Fixed: Admin -> Dashboard -> Failed removal of the meta description from a theme file would still change the relevant internal option as if it had succeeded.
- Fixed: Admin -> Dashboard -> bug where message about files blocking the sitemap from working would not be removed when it should.
- Fixed: Admin -> Titles & Meta's -> Post types would show attachments even when attachment redirection to post was enabled.
- Fixed: Admin -> Import -> Fixed partially broken import functionality for WooThemes SEO framework
- Fixed: Admin -> Import -> Importing settings from file would not always work due to file/directory permission issues.
- Fixed: Admin -> Export -> Some values were exported in a way that they couldn't be imported properly again.
- Fixed: Admin -> Import/Export -> On export, the part of the admin page after export would not be loaded.
- Fixed: Admin -> Various -> Removed some superfluous hidden fields which could cause issues.
- Fixed: Admin -> Social -> The same fb user can no longer be added twice as Facebook admin.
- Admin -> Multi-site -> Added error message when user tries to restore to defaults a non-existent blog (only applies to multi-site installations).
- Bow out early from displaying the post/taxonomy metabox if the post/taxonomy is not public (no use adding meta data which will never be displayed).
- Prevent the SEO score filter from displaying on a post type overview page if the metabox has been hidden for the post type as suggested by coreyworrell in issue #601.
- Improved: post meta -> the keyword density calculation for non-latin, non-ideograph languages - i.e. cyrillic, hebrew etc - has been improved. Related issues #703, #681, #349 and #264. The keyword density calculation for ideograph based languages such as Japanese and Chinese will not work yet, issue #145 remains open.
- Fixed: post meta -> SEO score indicator -> wpseo_translate_score() would never return score, but always the css value.
- Fixed: post meta -> SEO score indicator -> wpseo_translate_score() calls were passing unintended wrong parameters
- Fixed: post meta -> page analysis -> text analysis did not respect the blog character encoding. This may or may not solve a number of related bugs.
- Fixed: post meta -> often wrong meta value was shown for meta robots follow and meta robots index in post meta box so it appeared as if the chosen value was not saved correctly.
- Fixed: post meta -> meta robots advanced entry could have strange (invalid) values.
- Fixed: post meta -> since v1.4.22 importing from other plugins would import data even when the post already had WP SEO values, effectively overwritting (empty by choice) WPSEO fields.
- Fixed: post meta -> A few of the meta values could contain line breaks where those aren't allowed.
- Fixed: taxonomy meta -> breadcrumb title entry field would show for taxonomy even when breadcrumbs were not enabled
- Fixed: taxonomy meta -> bug where W3TC cache for taxonomy meta data wouldn't always be refreshed when it should and sometimes would when it shouldn't
- Fixed: some things should work better now for must-use installations.
- Added sanitation/improved validation to $_GET and $_POST variables if/when they are used in a manner which could cause security issues.
- Fixed: wrong file was loaded for the get_plugin_data() function.
- Fixed: several bug-sensitive code constructs. This will probably get rid of a number of hard to figure out bugs.
- Fixed: several html validation issues.
- Prevent error when theme does not support featured images, issue #639 as reported by kuzudecoletaje.
Enhancements
- The SEO Extended plugin functionality has now been integrated into WP SEO.
- Added ability to add Pininterest and Yandex site verification tags. You can enter this info on the WPSEO Dashboard and it will auto-generate the relevant meta tags for your webpage headers.
- New
[wpseo_breadcrumb]
shortcode. - Post meta -> Don't show robots index/no-index choice in advanced meta box if there is a blog-wide override in place, i.e. the Settings -> Reading -> Block search engines checkbox is checked.
- Post meta -> Added 'Site-wide default' option to meta robots advanced field in advanced meta box.
- Post meta -> Added an option to decide whether to include/exclude
rel="author"
on a per post base as suggested by GaryJones. (Added to the advanced meta box). - Taxonomy meta -> Don't show robots index/no-index choice in taxonomy meta box if there is a blog-wide override in place, i.e. the Settings -> Reading -> Block search engines checkbox is checked.
- Admin -> If WP_DEBUG is on or if you have set the special constant WPSEO_DEBUG, a block with the currently saved options will be shown on the settings pages.
- Admin -> Dashboard -> Added error message for when meta description tag removal from theme file fails.
- Admin -> Titles & Meta -> Added option to add meta keywords to post type archives.
- Admin -> Social -> Facebook -> Added error messages for if communication with Facebook failed.
- Admin -> Import -> WPSEO settings -> Better error messages for when importing the settings fails and better clean up after itself.
- Adminbar -> Keyword research links now also search for the set the keyword when editing a post in the back-end.
- [Usability] Proper field labels for user profile form fields.
- The New Relic daemon (not the W3TC New Relic PHP module) realtime user monitoring will be turned off for xml/xsl files by default to prevent breaking the sitemaps as suggested by szepeviktor in issue #603
- General jQuery efficiency improvements.
- Improved lazy loading of plugin files using autoload.
- Made the Google+ and Facebook post descriptions translatable by WPML.
- Better calculation precision for SEO score
- Improved 403 headers for illegal file requests as suggested by cfoellmann
- Synchronized TextStatistics class with changes from the original, this should provide somewhat better results for non-latin languages.
- CSS and JS files are now minified
- Rewrote query logic for XML sitemaps
- Changed default settings for rel="author"
- Added option to switch to summary card with image for Twitter cards
- Made several changes to Open Graph logic
- Implemented new Yoast License framework
- Added possibility to create a robots.txt file directly on the server
- Other:
- Removed some backward compatibility with WP < 3.5 as minimum requirement for WP SEO is now 3.5
- Removed some old (commented out) code
- Deprecated category rewrite functionality