This site, for an Auckland childcare centre, was contracted to Urban Legend web via Elan Design, who provided the graphics and website content.

We coded the custom WordPress theme, comprising pages, posts and categories, widgets, etc. We installed and configured the necessary plugins.

Note that the client has yet to use the CMS to complete some of the content, including photo gallery, and events.

Having a website, online shop or blog that’s fast is a must nowadays. A fast website doesn’t only give your visitors a much better experience, but it also helps your website to rank. Sending fewer HTTP requests to the server can improve the loading times of your website. But why is that?

What are HTTP requests?

HTTP requests are requests that get sent to the server whenever someone visits your website. These requests can contain a variety of information for the server to process and act upon. The most important part of such a request is the URL. Based on this information, the server will try to return a valid response, such as a file. The first stable implementation of HTTP, HTTP/1.0, does these requests in series. This means that a group of requests needs to be finished before the next group is sent. Obviously, this means that pages with a lot of external files will suffer from longer loading times, making your website slow.

Speeding up initial loading times

As described in the previous section, loading a lot of files one after another will result in longer loading times. Now you might be wondering “How do I speed this process up?”. Luckily, there are a few techniques and advancements in browser technology that can help you with this.

Order a website review and get a plugin of your choice for free. We'll even configure it for you »

Get a Yoast website review€ 699 - Buy now » Info

Browser pipelining

Since the introduction of HTTP/1.1, it has been possible to use a feature called “browser pipelining”. This feature allows the browser to fetch multiple files in rapid succession, without waiting for a previous request to finish. This means that the browser doesn’t have to wait as long to send off the next request.

In theory, this would be a very handy feature to have enabled by default. Sadly, in practice, this system still has some flaws. Due to its asynchronous nature, it’s possible that files load in the wrong order.

Let’s take a custom jQuery plugin as an example of how browser pipelining could do more harm than good. As your custom plugin depends on jQuery, the jQuery library needs to be fully loaded before your plugin can properly run. You might already see where this could go wrong; because browser pipelining doesn’t wait for previous requests, your plugin could load before jQuery. The result? JavaScript errors.

This problem with load order can also easily occur with something like images. In the case of images, it’s possible that the order in which the images get displayed differs from the actual order in your HTML.

HOL blocking

Another phenomenon that sometimes occurs when using browser pipelining is Head-of-line blocking (HOL blocking). What this means is that a particular packet (a part of a file) is keeping another packet of the same file from successfully completing. Other packets can only continue on their way once the delivery of the first package to the browser ends.

Due to the issues mentioned, most browsers disable HTTP pipelining by default. In the latest version of HTTP, aptly named HTTP/2, the issues with pipelining are addressed by using a technique called multiplexing which sends multiple HTTP requests over a single TCP connection. If you want to use this technique, make sure your server and your audience’s browsers, properly support HTTP/2.

Move JavaScript files out of the head section

There’s another way to make your website to load faster without much extra hassle. But first a brief history lesson!

Placing all the required CSS and JavaScript in your <head> section used to be considered common practice. However, the problem with this technique is that the rest of your HTML won’t display because these files block its rendering. This results in your visitors looking at a blank page for a couple of seconds.

As early as 2007, a new best practice surfaced. This best practice recommends moving all the JavaScript from your <head> section to the bottom of your page, just before the </body> tag. Why? Because JavaScript blocks any further rendering of a page until it has loaded all its files. By moving the JavaScript, the page’s HTML renders first instead of last. Sometimes it’s possible that you want the rendering of the page to wait until a particular JavaScript file loads. This would be the only exception when it comes to moving files out of the <head> section of your HTML.

Moving CSS to the bottom of the page is not recommended, as it stops the browser from correctly displaying and formatting your content. This impacts the overall user experience. Nobody wants to visit a website where text jumps around the screen because a stylesheet doesn’t load until the very end. Although moving your JavaScript to the bottom of your page doesn’t reduce the number of HTTP requests, it does help improve the overall experience.

Reduce the number of files

Another option to speed up your website is by limiting the number of files that load. This is because for every file you try to load, your browser sends a separate HTTP request to the server. Fewer files means fewer requests and therefore a faster website.

Most commonly, JavaScript, CSS, and images are the main culprits when it comes to slow loading pages. To combat this, you can use a few techniques, namely:

Minifying and concatenating your JavaScript and CSS files.

By minifying and concatenating assets such as CSS and JavaScript, you not only reduce the overall file size, but you also minimize the amount of files that need to load. A good rule-of-thumb is to group files based on their respective functions; if you have multiple files that do something with image manipulation, it might be a good idea to concatenate those.

Additionally, by limiting the amount of CSS files that load initially, you reduce the overall loading time. In that case, minification and concatenation can help as well. After the initial loading of CSS files, your browser caches it so subsequent requests shouldn’t take up as much time. You can imagine that having a single file with all the relevant CSS, plus the caching, can significantly improve the overall experience.

If you have CSS that is very specific for a particular page, you’re better off loading that file separately. As a result, you won’t unnecessarily ship specific CSS rules that aren’t used elsewhere in your HTML.

There are plenty of online tools to help you with minification and concatenation during development. You can also use a plugin, such as WP Rocket, to help you out with this.

Optimizing images

Some themes are heavily dependent on pictures. Because images are also separate files themselves, they too fall victim to the limitations of HTTP. To get around this, it is possible to make use of a technique called CSS spriting. This technique allows you to take multiple images (usually of a similar size) and reduce them into a single image. Then with some smart CSS techniques, you manipulate the sprite and only display a specific part of it. There are a couple of online tools that can help with this, such as SpriteMe. It’s unnecessary to create sprites for _all_ your images, but it’s worth putting in the extra effort for things like backgrounds and social media icons.

Lazy loading

Another way to ensure images won’t make your pages slow, is using a “lazy loading” plugin. Lazy loading is a technique where some JavaScript looks at the current viewport of the visitor and only loads images that are (almost) within view. A good plugin for this is the Lazy Load plugin which delays loading of images until the user starts scrolling down the page.

Bonus tip: use a CDN

Finally, here’s an extra tip. Content Delivery Networks, or CDNs, are a network of optimized servers across the globe that guarantee fast delivery of static content such as images, CSS and JavaScript. The main advantage of using a CDN is that you’re retrieving content from a separate server. This overcomes one of the HTTP restrictions which limits sending a large amount of requests to a single server in one go. By overcoming this restriction, you can achieve shorter loading times! Another advantage of these CDN’s is that the data comes from a server closest to your visitor’s physical location. Shorter distances to the server means faster data retrieval. It’s possible to use more than one CDN, which means your browser can deal with even more HTTP requests at the same time.

Here at Yoast, we use MaxCDN (affiliate link), but with the rising popularity of CDN’s, there are plenty others to choose from. Once you’ve found a CDN provider of your liking, using a caching plugin like WP Rocket can help you to configure your CDN for your website.

Conclusion: Reduce those HTTP requests

As you can see, plenty techniques are available to decrease the loading time of your website. By far, the biggest improvement you can make is reducing the amount HTTP requests you send to the server. Additionally, making the files smaller through minification can also help speed things up.

So, go forth and optimize your CSS and JavaScript! Lower those HTTP requests! Your visitors and servers will thank you for it.

Read more: ‘Site speed: tools and suggestions’ »

For this edition of Ask Yoast, we received a question that belongs in the SEO basics category: what’s a slug? The answer is simple because it’s the piece of the URL that distinguishes a post. In this Ask Yoast, Joost explains what a slug is and what its SEO benefits are.

This Ask Yoast is all about the following question:

“What’s a slug? What’s the difference with a URL? And what is the SEO benefit of a slug?

Check out the video or read the answer below!

New to SEO? Learn the Basics of SEO in our Basic SEO course »

Basic SEO training€ 199 - Buy now » Info

What’s a slug?

Can’t watch the video? Read the transcript here:

“Slug” is actually a word that comes from the WordPress community. A “slug” is the piece of the URL that distinguishes that post. So if you have yoast.com/wordpress-seo, the URL for our WordPress SEO article, then WordPress SEO is the bit that identifies that page as being our WordPress SEO article. It’s what our system uses to recognize that it has to serve you that specific page. It’s the defining part of the URL.

The SEO benefit of a slug is that you can change the words in there and make sure that it has the words that you really want to rank for, because it’s one of the indicators to Google of what a page is about. It’s also one of the things that people see in the search results. So, if you see in the search results ten different URLs underneath each other, about a certain topic, like WordPress SEO, and you see our yoast.com/wordpress-seo, that’s very on point and people might click on that a lot easier than if it’s yoast.com/?P=613458, which is the old default of WordPress.

So that’s what a “slug” is and why it has SEO benefit.

Good luck!”

Ask Yoast

In the series Ask Yoast we try to help you out with your SEO issues! Are you in doubt what’s best for your site’s SEO? We’ll come to the rescue! Just send your question to ask@yoast.com.

Read more: ‘SEO friendly URLs’ »

There will be times where you want to redirect visitors to a different part of your website when they visit a particular page or post. Reasons for this can be that you renamed a post and its URL, a page was removed or you want a different page to rank.

Redirects in a nutshell

The name ‘redirect’ pretty much says it all: It sends visitors traveling to a specific page to an alternative one. But what does this 301 mean and how does it differ from a 302 redirect? Both send your users to a different page. The only subtle (yet very important) difference is that a 301 will permanently send visitors and search engines to the new destination. 302 redirects indicate that you only temporarily want visitors to be sent to a different page.

Creating a 301 redirect on the server

One of the most basic methods of adding a 301 redirect, is by editing your .htaccess file on the server. This method is only available on Apache servers. Nginx has their own way of defining redirects in the server configuration and requires extensive knowledge of system administration.

These configurations can get quite unmaintainable over time, especially if you’re an avid blogger or you’re trying to improve the SEO of your posts. On top of that, you would have to log in on your server over FTP, edit the files and re-upload them every time you add a new redirect. That’s why, generally speaking, using this method is not considered the way to go.

Creating a 301 redirect with PHP

As a WordPress developer, you have two options: Either you make a redirect by altering the headers of a file in the code -or- you make use of WordPress’ built-in
wp_redirect function.

An example of plain PHP could be as follows:

<?php
// MyExampleFile.php
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.my-blog.com/a-new-destination"); 
?>

And this is how you’d do the same, but now by using WordPress’ built-in function:

wp_redirect( get_permalink( http://www.my-blog.com/a-new-destination ), 301 );

If you forget to add the 301, both WordPress and PHP will both assume that it’s a 302 redirect, which isn’t always the case.

This method is a bit easier than editing files on the server, but can also become cumbersome once the amount of redirects increases.

Optimize your site for search & social media and keep it optimized with Yoast SEO Premium »

Yoast SEO for WordPress pluginBuy now » Info

Creating a 301 redirect with Yoast SEO

Our Yoast SEO Premium plugin offers you a helping hand when it comes to creating these redirects. Our built-in Redirect manager assists you whenever you change the URL of a post, page or any of the taxonomies that may result in a possible 404 if you don’t properly redirect visitors.

In addition, we also offer you an interface to edit or remove these redirects at a later point in time. The plugin also tells you when you’re about to create a redirect that will result in a redirect loop. This looping is something you want to avoid at all costs.

Read more: ‘How to properly delete pages from your site’ »

Ever since the release of the 3.0 version of the Yoast SEO plugin, JavaScript has been a big part of it. We rely on it to make high-end features possible, like real-time content analysis. The decision to use JavaScript meant that the development team had to make a lot of choices about technologies and tools. So, we had to get a firm grasp of the use of JavaScript in WordPress.

While working on Yoast SEO 3.0, we discovered that few WordPress contributors have extensive JavaScript knowledge. At the contributors day of WordCamp Europe 2016, we saw an opportunity to help WordPress advance the future of the internet. By documenting the JavaScript in WordPress, we can make it easier for everyone to build on and enhance the code.

We believe that JavaScript is here to stay. It is a great language that helps to enrich the user experience people enjoy so much on the web. But to work towards a better JavaScript implementation and understanding of WordPress core, we had to find out what goes on!

That means documenting all the places where decisions were made, magical things happen or where complicated situations are handled. This documentation is a requirement to maintain all the functionality. It’s also crucial to prevent misunderstandings that will lead to bugs or other problems. These insights resulted in our dedication to documenting all the existing JavaScript files used in WordPress.

How we started

The first thing we did was to reserve a slot in the development calendar. Every Thursday we have two hours to work on the documentation process. This means that all developers in the office are going to work on WordPress core activities for that period of time. At the moment the primary focus is JavaScript documentation so everybody will put their time into this particular task. In the future, we might be working on other parts of the core.

To get things going, we started off with a briefing about the intentions and goals. After this meeting, we developed a practical approach. This approach consists of guidelines and tools to ensure a uniform result. Every result must follow all standards. We use these to make sure everyone works in the same way.

Tools: JSDoc

Since we’re writing JavaScript documentation, it was only logical to use JSDoc to generate a view of the state of the documentation. The WordPress standards dictate which specific tags you should use in the documentation. It’s mainly used to validate that everything is visible at the intended location.

WordPress: Coding Standards

WordPress has a precise definition on the formatting of code. This ensures that the entire code-base has the same look and feel. It helps developers in providing a unified experience throughout the platform. You all know these definitions as Coding Standards. WordPress implements separate standards for PHP and JavaScript.

There is also a precise definition on how you should format your JavaScript documentation. It is possible to use a tool to generate documentation. If you do, you can use special keywords to provide extra information about the code that is being documented.

Prioritizing files

To start, we’ve created a list of all the JavaScript files provided in a WordPress installation. From that list, we determined what files are the most complex and which ones are in the most critical places. This way, we developed a priority list.

Weekly dedication and future

Every week, all our developers have two hours to pair up and write documentation for a specific file. All patches are code reviewed internally at Yoast before we submit them to core in our attempt to make the review and merge as easy as possible. Currently, we submitted a total of five patches to the WordPress core repository. Three of them are already merged for the upcoming release 4.7.

We received very enthusiastic feedback on the patches submitted. Besides that, we had a good time (with some frustrations) figuring out what was going on. Do you want to follow our lead and get to know WordPress core better? If so, find code that doesn’t have documentation, determine what it does, write the documentation and create a patch. It is one of the most gratifying things to do and makes core documentation maintainers jump with joy!

To be continued…

We will continue to document the files until we finished them all. After that, we will evaluate how and where we’ll put our team to work. We could work on improving existing functionality, architecture and efficiency, but could also develop new features and bootstrapping core for the future.

Do you want to help? Or do you need to document your own JavaScript for a patch in WordPress core? Then you should learn all about the WordPress JavaScript documentation standard.

The merged tickets at WordPress trac:
https://core.trac.wordpress.org/ticket/37717
https://core.trac.wordpress.org/ticket/37718
https://core.trac.wordpress.org/ticket/38118
https://core.trac.wordpress.org/ticket/37365
https://core.trac.wordpress.org/ticket/37571

Just today, WP Media pointed us to a high-risk XSS vulnerability in W3 Total Cache (W3TC). This was a very popular WordPress plugin that has over 1 million active installs. Although it’s a very popular plugin, it hasn’t been updated in over six months. We stopped recommending it a while back for WP Rocket, a W3 Total Cache alternative that skyrocketed in use over the past few months.

We agree with Julio’s statement that when you need to explain to other people you haven’t abandoned your plugin, due to questions about that, the clock has already struck midnight.

XSS vulnerability

Let’s first explain what’s going on here:

XSS (short for Cross-Site Scripting) is a widespread vulnerability that affects many web applications. The danger behind XSS is that it allows an attacker to inject content into a website and modify how it is displayed, forcing a victim’s browser to execute the code provided by the attacker while loading the page.
Source: Sucuri

That’s definitely not what you want your website to do, right? In this case, we are talking about W3TC being vulnerable to a XSS flaw, high risk rated. This one should be fixed asap. With nobody maintaining the plugin, that is a huge issue for the millions of sites that use the plugin.

Order a website review and get a plugin of your choice for free. We'll even configure it for you

$ 699 - Buy now »Get a Yoast website review

Instead of waiting for a fix, we recommend disabling the plugin and using a W3 Total Cache alternative like the ones listed below.

W3 Total Cache alternatives

Luckily, there are more plugins you can use to optimize your site speed. And most work pretty well out-of-the-box. We have listed three speed optimization plugins for you as alternatives for W3 Total Cache.

  1. WP Rocket
    Our most-recommended speed optimization plugin. WP Rocket simply delivers speed improvement. It has a lot of options under the hood and works by simply clicking some checkboxes in their dashboard.
  2. WP Super Cache
    Made by Automattic, so it works flawlessly with WordPress. It’s a simple speed optimization plugin that helps a lot of WordPress sites. We have to add a note: it hasn’t been updated in five months as well. But all in all, it’s a nice, free WP Rocket or W3 Total Cache alternative.
  3. Comet Cache
    Formerly known as Zen Cache, formerly known as Quick Cache. If you change your name so often, you’re probably actively working on your plugin as well, right? Registration is needed.

Over to you

If you want your website to be safe RIGHT NOW and you are using W3 Total Cache, we recommend investing a few bucks in WP Rocket. It’ll be worth your while. If you don’t feel like investing that money in your website, feel free to switch to one of the other W3 Total Cache alternatives instead!

We’re using Sucuri’s Website Firewall at yoast.com, which eliminates the need for a separate speed plugin. But we have installed WP Rocket on some other sites with great results, so we’re happy to recommend them! Plus, we’re on the awesome and fast WP Engine hosting platform. Just in case you were wondering ;)

Some posts and pages should not show up in search results. To make sure they don’t show up, you should tell search engines to exclude them. You do this with a meta robots noindex tag. For example; you might not want people to find the “thank you”-page you redirect people to when they’ve contacted you. Or your checkout success page. Setting a page to noindex makes sure search engines never show it in their results.

How to set a page to noindex in Yoast SEO

Setting a post or page to noindex is simple when you are running Yoast SEO. Underneath your post, in the Yoast SEO meta box, click on the advaneced tab:

the advanced tab of the Yoast SEO metabox; here you can noindex a post.

Get the most out of Yoast SEO, learn every feature and best practice in our Yoast SEO for WordPress training!

$ 79 - Start learning today »Yoast SEO for WordPress training

On the advanced tab, you’ll find the meta robots dropdown. It’ll default to the default robots meta setting for that post type. Set it to noindex to make sure this page does not show up in the search results:

Yoast SEO noindex meta robots dropdown, used to noindex posts

Please note that if the post you’re setting to noindex is already in the search results, it might take some time for the page to disappear. The search engines will first have to re-index the page to find the noindex tag. Do not noindex posts frivolously: if they were getting traffic before, you’re losing that traffic!

Do links on noindexed pages have value?

When you set a post to noindex, Yoast SEO automatically assumes you want to set it to noindex, follow. This means that search engines will still follow the links on those pages. If you do not want the search engines to follow the links, set the radio button to nofollow:

meta robots follow or nofollow

Setting the meta robots to nofollow will change the search engines behavior so they will ignore all the links on the page. Use this with caution!

If you want to learn more about meta robots tags, read our ultimate guide to meta robots. Or read more about WordPress SEO, and get the most out of your site!

Some posts and pages should not show up in search results. To make sure they don’t show up, you should tell search engines to exclude them. You do this with a meta robots noindex tag. For example; you might not want people to find the “thank you”-page you redirect people to when they’ve contacted you. Or your checkout success page. Setting a page to noindex makes sure search engines never show it in their results.

How to set a page to noindex in Yoast SEO

Setting a post or page to noindex is simple when you are running Yoast SEO. Underneath your post, in the Yoast SEO meta box, click on the advaneced tab:

the advanced tab of the Yoast SEO metabox; here you can noindex a post.

Get the most out of Yoast SEO, learn every feature and best practice in our Yoast SEO for WordPress training!

$ 79 - Start learning today »Yoast SEO for WordPress training

On the advanced tab, you’ll find the meta robots dropdown. It’ll default to the default robots meta setting for that post type. Set it to noindex to make sure this page does not show up in the search results:

Yoast SEO noindex meta robots dropdown, used to noindex posts

Please note that if the post you’re setting to noindex is already in the search results, it might take some time for the page to disappear. The search engines will first have to re-index the page to find the noindex tag. Do not noindex posts frivolously: if they were getting traffic before, you’re losing that traffic!

Do links on noindexed pages have value?

When you set a post to noindex, Yoast SEO automatically assumes you want to set it to noindex, follow. This means that search engines will still follow the links on those pages. If you do not want the search engines to follow the links, set the radio button to nofollow:

meta robots follow or nofollow

Setting the meta robots to nofollow will change the search engines behavior so they will ignore all the links on the page. Use this with caution!

If you want to learn more about meta robots tags, read our ultimate guide to meta robots. Or read more about WordPress SEO, and get the most out of your site!

Now this a quote we love: “…being patient and providing quality pays off…“. It’s one of the lessons Boris Veldhuijzen van Zanten, co-founder of The Next Web (TNW), shared with us in this interview.

TNW owns one of the most visited tech news sites, and they organize large tech events around the world. Besides that, TNW also offers gadgets for tech geeks, and they’re just launching a tech hub and a market intelligence platform. Boris seems to be a busy guy! Luckily he found time to answer some questions for our new series “5 questions”. In this series we ask digital entrepreneurs to reveal some of the secrets of their success.

TNW is living proof that WordPress can run large scale sites just fine. Why and how did you pick this particular CMS?

When I launched our first blog (for Hubhop, a company I sold to KPN later) I built my own blog software with PHP and MySQL. It was a lot of work, and I wasn’t good at it, so I didn’t enjoy the experience. When WordPress came out, I did like how flexible it was. I liked that at least I understood the code and what was happening behind the scenes.
So when we needed a CMS for our site, I didn’t have to think very long about what we would use. WordPress was just the obvious choice. Even more so because from the beginning, we decided we would always keep on developing and innovating. Our goal was always to be a technology company first.

Running a site of this scale means optimizing lots of processes, both on a technical level and a personal one. What measures did you take to keep the servers humming nicely and the editors happy?

We have a team of developers who work on this full-time. We serve millions of people a month, and we want to make that a seamless experience. So a lot of effort goes into making sure we can scale along if there are traffic spikes. It has been years since we ran into trouble when we hit the front page of Digg. Nowadays we can handle 20 times that amount of traffic and everything still just works fine. That’s still a bit of a miracle to me.

Interview Boris Veldhuijzen van Zanten of The Next Web

A well-thought-out SEO strategy is a must-have for sites of any size and scale. What’s your secret SEO-tactic?

We also have dedicated SEO people here, and they are doing an amazing job of keeping track of everything and optimizing for search engines. And of course, we use your amazing plugin as well. We also firmly believe in creating quality content and not getting lost in SEO alone to get more traffic. It’s great to optimize great content through the smart use of SEO, but it sucks to having to promote shitty content with great SEO tactics. I’d rather invest in quality content than try to find tricks to cheat traffic our way.

Learn how to write awesome and SEO friendly articles in our SEO Copywriting training

$ 249 - Start learning today »SEO copywriting training

TNW is one of many high volume sites that uses Yoast SEO for optimization purposes. Can you tell us how you use the plugin and maybe share some ‘hidden’ tips on using it?

I think the most important part is making sure our writers really understand how things work. There’s a lot of contact between SEO people and writers about what the trends are and how we can optimize for SEO. And optimizing is an important word. I don’t want to write for SEO, but I do want to optimize what we write. That’s an important difference that our writers understand. They all love to see great engagement on posts, and we also love quirky and teasing titles, but try to avoid clickbait titles.

Failure is an important part of finding out how to make things work in the best possible way. What’s the most important lesson you’ve learned while working on TNW?

My most important lesson is that being patient and providing quality pays off. That seems logical, but most people fail at both. Lots of blogs were started with the idea of growing fast and making money fast. Pretty soon you are resorting to clickbait articles and putting all your hopes on SEO. The quality of your content degrades and soon you’ll find yourself in a negative spiral towards less quality, less traffic and less revenue.
Quality is hard, and it takes a very long time before people get used to you and you become a part of their daily digital diet. We didn’t start out with an idea to make a quick buck. That’s also the reason why we are still doing well, and have survived many of our competitors.

We’d like to thank Boris for sharing his lessons and experiences with us! Follow Boris on:
boris.to
twitter.com/Boris
facebook.com/borisvvz

Stay tuned for another interview next week!

We’ve just pushed out a new release of Yoast SEO, our flagship plugin. The new version, 3.5, mostly has a metric ton of small bugfixes. In this post, we’ll discuss the most notable changes, but you should mostly be aware that this is what we would call a bugfix release.

XML Sitemap changes

We’ve decided to remove the change frequency and priority variables from our XML Sitemaps. Google has said publicly that they don’t use them on most sites. Private discussions with Googlers have led us to believe there’s really no compelling reason to keep them around. This change makes XML sitemaps faster and easier to generate.

There are plugins out there that allow you to change the priority and change frequency of just about everything. We really do not believe that adds any value whatsoever.

Flesch reading ease for German and Dutch

We’ve added Flesch reading ease compatibility for German and Dutch. This doesn’t just mean we’ve enabled it for those languages. The Flesch reading ease test needs to change because each language is different. If you’re interested in the technicalities, this ticket has the formulas.

To be able to do this, we need to be able to recognize syllables in words. We’re working on adding this for more languages, but as you can imagine that’s a fair bit of work. This comes on top of the changes in 3.4, where we added support for transition words checks for German as well. This means German and Dutch writers will now get a score that is meaningful for their language.

Add @id to schema.org output

Yoast SEO outputs JSON+LD metadata on the page. This metadata informs Google about whether this is a site for a person or a company, what your social profiles are, etc.

This change, which is admittedly a bit more on the technical side allows other plugins to tie into our metadata. They can output pieces of JSON+LD metadata and combine them with ours. For instance saying “this is extra info related to this organization”, where “this organization” is a pointer for our organization info. They can do this by referencing the @id‘s we’ve added, something that wasn’t possible before this change.

i18n and a11y improvements

We’ve, again, made many internationalization (i18n) and accessibility (a11y) improvements in this release. From making sure everything is translatable to adding descriptions and adding more explanation everywhere.

Optimize your site for search & social media and keep it optimized with Yoast SEO Premium

Buy this plugin nowYoast SEO for WordPress plugin

A new Premium page

For the last few years, Yoast SEO has had an extensions page. We’ve now replaced that extensions page with a Go Premium page. It explains the features of Yoast SEO Premium and our extensions a lot better. It’s also much more in line with our current style, as you can see:

Screen Shot 2016-09-06 at 15.18.34

Full changelog

The full changelog is available on WordPress.org, if you see anything in there that you’d like clarification on, let us know in the comments!