The SEO Framework v3.1 is almost ready for release! As always, we’re going to dub it TSF.
This update brings over 700 recorded changes. Many of these changes are API related.
Notable changes
From May through August, we have, most importantly:
- Closed 34 issues on GitHub.
- Fixed 8 user-reported bugs, and fixed more than 50 unreported bugs.
- Reworked the title generation, which made way for new (and upcoming) features.
- Reworked the description generation, which greatly improved performance, which we could, in turn, exchange for a more accurate generation.
- Reworked the admin script handling system. This allows for easy Gutenberg implementation (save us).
- Reworked the option upgrader.
- Reworked […], […], and [etc…].
- Added post type options, and more homepage social features.
- Dropped PHP 5.3 support.
- Dropped WP 4.4 and 4.5 support.
Developers: Reach out to us!
With every major update, we tend to change the API. In this update, with all these major changes, the API has been overthrown.
We understand that developers who worked with the previous API will now have to do extra work and that this isn’t always welcomed. However, we believe these changes are for the better.
You shouldn’t face any fatal errors on upgrading; however, you may be welcomed with “doing it wrong” notices.
Now, to alleviate this inconvenience, if you find that your filters or adjustments have stopped working after upgrading, feel free to reach out to us via the support forums. State your previous implementation (show the code!) and we’ll send an updated version back.
Rework rework rework… what’s that all about?
Say you’re writing a letter by hand (are you crazy!?), and then you realize you forgot to mention an important part somewhere in the middle. Now, you could insert that part between two lines… or, you could rewrite the letter. The latter makes the letter much more legible.
As we add patches and features to existing code, we often have to hijack its structure because they were never accounted for. These hijacks can obstruct implementing new features or patches. Eventually, we’ll lose track of what’s what.
With a rework, we put all existing code aside, look at what the old code effectively achieved and what we want to account for in the future, and write new code from that. The new code should do exactly the same. So, nothing changes for the user in this process. But, we can then add new features with confidence.
The reworked code parts stem from 2015 (TSF was soooo cute). Back then, we didn’t know what users (and we) wanted three years later.
New title generation
Now, we’re not going to bore you with the details. The gist is this:
- We added a per-post checkbox to remove the blog name.
- Use this discretely: Only check it when you plan to insert the blog name manually! Brand your titles.
- We now use WordPress’ built-in title translations. So, our titles now support 114+ languages out of the box.
- We added strict taxonomical checks. So, you won’t see titles from taxonomies in posts, or vice versa, anymore.
- We removed all accounts for bad title implementation (which was also bad). Use the free Title Fix extension instead (which is good).
New description generation
Once again, no (boring) details, just a gist:
- We added support for UTF-8 punctuation (Han, Arabic, Hebrew, etc.).
- Sentence endings are now detected, and dangling words are now chopped off when deemed uninviting.
- Facebook, Twitter, and Search (engine) descriptions now have their own lengths.
- Here too, we added strict taxonomical checks and you won’t see wrongly inserted descriptions anymore.
- Oh, you can now disable the automated description (you shouldn’t, though).
New SEO Bar
Firefox gives you a glorified Internet Explorer 6 experience. It’s modern, fast, extensible. But, some bugs are still hanging around from their past era. The most notorious bug is where you’ll find words collapsing in tables. This happens when table content doesn’t support it’s assigned width.
This is a bug put into effect by WordPress, and you could fix it by switching browsers, disabling the SEO bar, or by closing your eyes.
Now, to alleviate this bug, we’ve made the SEO bar smaller and collapsible. It’s now aware of its surroundings, and won’t push other table items out (as much). This won’t fix the Internet Explorer 6 bug, but it will make it a little more bearable. And, we think it looks better too!
Other notable changes are:
- The SEO bar now informs you of missing titles and descriptions with blue blocks.
- Protected or draft pages now show a blue “noindex” block.
- The bars are generated much faster because we improved the code it uses.
New counters
Both the pixel and character counters are smarter:
- Duplicated spaces are now detected and signified as one space.
- Leading or trailing spaces are now ignored.
- The counters are now aware of what the “true” output is. Specifically, on the homepage, you’ll find they can ignore your input.
The character counter is no longer obnoxious. Instead of exclaiming “Bad”, it’ll say “Far too short/long”.
The pixel counter is now your new best friend (yay). It’s color-coded, and it’ll tell you more when hovering your mouse pointer over it (or tap it on a touchscreen).
The pixel counter will show this, in order:
- Blue: Empty.
- Red: Far too short, you should add more information.
- Yellow: Too short, you could add more information.
- Green: Great!
- Yellow: Probably too long, it might get trimmed in search.
- The pixel counter is fixed at full width until it becomes red.
- Red: Far too long, it will get trimmed in search.
Post type options & upgrading
Each post type can now:
- be excluded from receiving any SEO optimization. Great for misconfigured post types.
- have their robot tags set globally.
It’s very important to note that Media (Attachments) is registered as a post type. And, because of the new post type options, we had to migrate “Attachment noindex” options.
This brought many issues. And to solve them, TSF:
- Upgrades old attachment options to the new system. But, the upgrading process only ran in the admin area, so:
- Upgrading now happens on the front-end, too.
- Maintains both the new and old attachment options, so you can downgrade back to an earlier version of TSF reliably.
- Retains an upgrade state, so it knows at which version you were and are.
New option handling
To make a very long and intricate story short:
- The option cache has been greatly sped up by removing redundant checks.
- The numeric options (notably checkboxes) are no longer strings. So
(string) '1'
is now(int) 1
.- (Developer note level: over 9000) If you used strict “enabled” checks in our API, you should convert them to loose checks.
- The default option filters are now put into effect when resetting options.
TSF is no longer scared
When TSF detected other SEO plugins, it tried to help you by deactivating some or most of its features. This prevents meta-conflicts and administrative confusion for new users.
This was self-deprecating: Not only did users think the plugin was broken, but we even saw professional reviewers not pick up on this when they needed to. So, the plugin now always outputs metadata, and it will always show its settings.
We’ve retained all plugin conflict checks, but we now emit warnings wherever needed. It’s now up to the user to enable or disable features.
Start testing!
N.B. The beta phase is over. This update is scheduled for release as-is. Thanks for testing!!
Grab a copy of TSF 3.1 beta and TSFEM 1.5.2 right now!
Here you’ll find the latest available downloads, and the desired WordPress installation location:
- TSF 3.1.0-RC-final from GitHub.com.
- Upload folder contents, where
autodescription.php
is, to:./wp-content/plugins/autodescription/
- This version is not (fully) compatible with TSFEM 1.5.1 or below.
- Upload folder contents, where
- TSFEM 1.5.2 from WordPress.org.
- You should just search for this plugin via your WordPress plugin installer :)
Found issues thus far:
- Exclude from search didn’t work. Upgrade to the latest version and update any post or page to flush the cache.
Damián
Thank you. This is my main SEO plugin and I’m very happy with it.
Sybre Waaijer
I’m glad to hear that you’re happy with the plugin, Damián :)