It’s that time of the year again! Oh, wait… we don’t have a schedule. No, we only release an update when we’re absolutely sure it improves your WordPress experience. This means improved accessibility, better functionality, more features, and higher performance. Speaking of performance, oh boy, do we have something in store for you.
Performance, finally a zero-compromise SEO plugin.
Now, before you question the numbers below, we’re only talking about generation time. Not DNS lookup nor browser rendering times, or anything in between that. No, just pure PHP/MySQL to HTML generation time.
With that out of the way, we always claimed TSF was the fastest full-featured WordPress SEO plugin.
Now, our plugin is unbeatable.
To put this in perspective, in the real world, a clean WordPress website on a nice hosting platform loads its content in about 31 milliseconds. With TSF enabled, it loads in about 34 milliseconds. That’s only 3 milliseconds. Only 0,003 seconds for optimizing your site! Automatically!
Before, TSF contributed about 6 milliseconds. In other words, the plugin is now twice as fast! When you consider the time it takes for your browser to display a page, TSF’s contribution is without a compromise. If you ever thought the performance was a reason to stay away from an SEO plugin, then we just killed that.
Not only did we improve the performance on your server, but also in your browser. For example, our (now even more) amazing tooltips now load in half the time as they did before. All this makes your laptop run smoother and longer on the go and saves on your power bill.
How did we achieve all that, and what else did we do?
Cut the crap.
First, we cut out everything that you didn’t need, without losing any functionality. This entails removing most jQuery calls, removing PHP interfaces, and removing support for Internet Explorer and PHP 5.5.
Exactly, we dropped support for PHP 5.5 and 5.4. Now, PHP 5.6 is required, that means we’re on the same track as WordPress. And yes, we dropped support for Internet Explorer (among many other older browsers), and that means we’re happy developers now.
To summarize, TSF now requires:
- PHP 5.6 or higher;
- WordPress 4.9 or higher;
- Any modern browser.
Refactor what can be refactored.
“Let us preserve what must be preserved, perfect what can be perfected and prune practices that ought to be prohibited.” is something Dolores Umbridge said in the film “Harry Potter and The Order of the Phoenix.” In our case, we aren’t blinded by an overseeing government, just our strive for wanting to make the best SEO plugin out there.
In that effort, we refactored almost everything. Over 22,000 lines of code have been added, and over 15,000 lines have been removed. Out of our now about 48,000 lines of code, it means that more than 40% of the plugin is brand-spanking-new. Speaking of brands, no, the plugin is still not branded—it’s as white label as ever. Something other plugins still can’t say. After all, TSF is for professional bloggers, whereas others… well, let’s not dive into that subject. We all know what greed can do.
To give you a taste of what has resulted from all this effort, TSF now supports:
- Overwriting of robots-settings on a per-page basis, via something we’d like to call quantum options… using qubit logic (more on that later).
- UTF-8 decoding to test for mistakes in the SEO Bar… in any language.
- HTML entity decoding in our character and pixel counters… no more speculation.
- Multiple images for Open Graph and Twitter Card… because why not.
- Full-keyboard navigation for tooltips… trust your senses.
- Faster load times! Oh, we already mentioned that. Let’s mention it again: TSF is fast… really fast.
According to the brilliant authors at Wikipedia, a flywheel is a mechanical device to store rotational energy. The more flyweight you add to such a wheel, the longer it’ll keep rotating after you stop adding energy to it.
We used to keep supplying energy to the administrative interface, so we could keep everything readily available. It was an easy solution: Just grab whatever you have in front of you. We never had to think twice about this, and fellow developers could just ride along.
However, this was essentially useless on the most critical part of your website: the front-end, what your visitors sees. So, we broke the sitemap and administrative interface into many little parts—or flywheels, if you will. These parts can be used by anyone and store all the information you need, for when you really need it.
A new API. For almost everything.
We revised how large parts of TSF‘s API work. For most users and developers, nothing changes.
We knew beforehand that the API for these parts were insufficient; so, we never promoted or advised on using them.
Now, we’re not going to dive into this more than necessary. Here’s the gist:
- We either removed or invalidated a big chunk of the PHP API, most of which you should’ve never touched in the first place.
- We removed many filters that have since been replaced by options instead.
- We added, improved, and changed a bunch of other filters.
If you’ve worked with TSF’s API before, cross-check your
the_seo_framework calls with our detailed log, which we’ll release soon. Update: here’s the detailed v4.0 changelog.
As always, feel free reach out to us if you need consultancy revising your implementation. We’re here for you.
Bend over backwards for features.
Whenever we want to introduce a new feature, we consider the real impact on SEO, your user-experience, the logic and impact behind it all—and, of course, performance. It is why you won’t see us messing about with useless robots-meta tags, 302 redirects (301 is better), 410 “gone” headers (404 is fine), or any of that other fluff you don’t need.
Let’s rephrase that.
YOU. DO. NOT. NEED. ANY. MORE. SEO. FEATURES. THAN. WHAT. WE. OFFER.
We can’t just smear all kinds of meta tags in your WordPress header. We can’t allow you to perform accidental black-hat SEO. That’ll get your site delisted from Google. Use any other SEO plugin that promises you rainbows and a pot of gold, and they might get you there. Delisted and without gold, that is.
With that said, we did not add any new meta tags or structured data for search engines in this update. You don’t need that. You don’t want that.
In stark contrast to all the above, we did add a few features you do need. It is more of what you already had.
Implementing quantum physics: mixed state qubits.
Normal computers work with bits: 1 or 0. Quantum bits, or qubits, on the other hand, can take multiple states: 1, 0, or both 1 and 0. We utilized this, but not conventionally.
Now, we could dive into the meaning of this (and write another 50 paragraphs on why we used negative numbers as we convert it into binary) or get right to the result instead: You can now turn off what should be turned on, and vice versa. Without breaking backward compatibility.
We applied this to your robots-meta settings. For example, say that you’ve set all categories to have a ‘noindex’ state. Now, via qubits, you can turn off that state for any category you’d like. Luckily, we don’t have to deal with uncertainty principles, so it’s a lot more straightforward for both you and us.
This logic applies to all pages and terms. It’s convenient on multiple levels. Pun intended.
Term settings, all of them.
This needs no introduction or explanation. We ported all page-SEO settings to terms. That’s it. Enjoy!
Oh, well, OK. A little explanation: We built the interface for this according to WordPress’ styling guidelines, instead of just pasting an ugly meta-box on top of it. It took a couple of weeks to get it right, but we’re really happy with the results. We know you will be, too.
We must disappoint you, however, as we still do not support custom SEO fields for post type archives. CPTA settings are for future updates. Rest assured, we prepared for that well in this update already.
To summarize, for terms, you can now set:
- Open Graph and Twitter Card titles and descriptions.
- A social image.
- A canonical URL.
- Qubit options for robots-meta.
- A 301 redirect URL.
Edit once, edit twice, edit in bulk.
Finally, we added quick-editing and bulk-editing support to all pages and terms. Now, you no longer have to go to the edit-screen of your favorite page or term to add more SEO data.
Whereas others resort to out-of-brand editing tools, we implemented this right into WordPress’ very own quick and bulk-editing interface. For those familiar with this mechanism in WordPress, let’s just say we sprinkled some magic dust over the code and made it work seamlessly.
You can bulk-edit these fields:
- Indexing settings, with qubits.
- Link following settings, with qubits.
- Archiving settings, again, with qubits.
Next to those, via quick-edit, you can modify these fields as well:
- Canonical URL.
- 301 Redirect URL.
Now, we could’ve added more fields than those. For example, the title and description fields. However, we then must figure out how to translate information for the counters. For something you may not always use, it’s best not to stuff your dashboard with more data.
The SEO Bar, now gluten-free.
The SEO Bar is amazing. It’s simple, colorful, and straight to the point. Well, now it is.
Before, we tried to make nice sentences from all what we could find to explain to you. It was a story made from sentences we had to bind together (with gluten… see, it all makes sense!). This didn’t translate well… both literally and figuratively. Users got confused; translators got their pitchforks; we were cornered.
So, we rewrote that stupid thing. Now, it neatly lists all your problems (nothing personal, promise), and does a better job while it’s at it. We made over 30 changes to it. To name a few:
- For the title, we added improved branding and prefix checks.
- For the description, we added excerpt-field and page-builder checks, and we improved the duplicated-word checks.
- For robots, we added qubit, zero term-post-count, robots.txt, and shouting “WordPress added noindex” checks.
The SEO Bar also has an API now. Yes, other developers can modify and add to it. Neat.
The dreaded Yoast SEO and NGINX story.
To our disgrace, we found that hosting parties (Namecheap, EasyWP, SpinupWP, to name a few) do not know much about NGINX. Instead of configuring their servers to work with WordPress correctly out of the box, they blindly implemented vendor-specific code from Team Yoast to output sitemaps. These rules forbade all other sitemap implementations but the ones from Yoast SEO. Now, we could rant about this, but that won’t fix the issue—ever. So, we’ll address and fix it on our account instead.
To fix this issue, we had to go out of our way and remove our dependency on the WordPress rewrite system. With that, we wrote our very own, simplified, and more straightforward version. This, of course, is completely compatible with all WordPress sites. Moreover, it allows developers to change the endpoints on-the-fly. You can even add more sitemaps. Yes, more sitemap types are to come.
As a bonus, this addresses another issue in the WordPress ecosystem: Race conditions in the WordPress rewrite rules. I’m not going to dive too deep into this, but the gist is that whenever another plugin author made a mistake, either of our implementations failed, almost at random.
In short, our sitemap now works on any setup, and by default either via the
/sitemap_index.xml endpoints. Pick your poison.
And more features, for your convenience.
There are more features that deserve some attention. Mind the word “some,” they don’t require a spotlight. Let’s enumerate those instead, we added:
- Forced HTTP headers to deindex feeds and dynamic robots.txt;
- Forced “noindex” robots-meta tags on comment-pagination;
- An image preview icon next to all our image fields;
- Accessibility via image-alt tags for Open Graph and Twitter Cards;
- Search engine pinging via cronjobs;
- On block-editor update placeholder & SEO Bar refresh;
- Image-extraction from your content for social sharing;
- The fastest description generator ever conceived, with support for RTL languages now, too;
- Tooltips are now like autonomous vehicles. They grow, shrink, move left, right, up, or down, so that they can fit on your screen. Always. Tesla should hire us.
- Pixel and character counters may now be adjusted based on your site language.
These, among over 1000 other changes, makes for “The SEO Framework – 4.0.0: Multiplex.”
Multiplex. That’s the name of the 4.0 update. Yup. So… why?
- We split all CSS and JS dependencies via our new script-registration module. This utilizes HTTP/2 multiplexing functionality and improving performance in your admin screens by lowering the CSS and JS payload and rendering times.
- We added multiple bits (qubits) options.
- We added a multitude of term options.
- We added multi-edit functionality, via bulk-edit.
- We split our code into multiple files utilizing the flyweight pattern.
- It sounds cool.
There’s a lot more than this. You’ll want to read the upcoming detailed guide for that. We doubt that anyone will read through a whopping 1000 changes, however. So, uh… just update TSF when we release 4.0 and see for yourself.
The SEO Framework v4.0 is scheduled for release in late August to early September 2019.
Update: TSF v4.0 was released on September 9, 2019. Read the changelog.