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!

Every website needs an SEO plugin. More specifically, every website needs our SEO plugin. For most websites, Google is the most important source of visitors. No matter how important social networks can be for a site, SEO is often the most important factor for a site’s growth. Not following SEO best practices, or not doing SEO at all, can be quite detrimental to your site’s performance. So, let me explain why every site needs Yoast SEO!

Hidden features of Yoast SEO

Yoast SEO does much more than handle titles and descriptions for a website. From rel=canonical to XML sitemaps, from rel=next and rel=prev to JSON+LD, we’ve got your back. If you don’t know what all these things are: that’s OK! We do, and we’ll make sure to do them right, for you.

There are a ton of “hidden features” in Yoast SEO. Without the need for user intervention, Yoast SEO solves a lot of technical SEO issues that your site might otherwise suffer from. Every site that wants to be found in search engines benefits from these features. Every site needs them. That’s why these hidden features do not need settings. They are set in the same way for every website. Some features need to be set by the site owner or user, though. In those cases, we’ll give you the option to change it.

Have Team Yoast install and configure Yoast SEO premium for you!

Buy this bundle now »Yoast SEO Configuration service

Yoast SEO is built by pros

Yoast SEO is built by a team of professional developers, many of whom contribute to WordPress core too. But on top of that, we’re professional SEOs. I have been a professional SEO for more than ten years. I’ve done some of the biggest SEO projects in the world, like the migration of the Guardian from guardian.co.uk to theguardian.com. Our team of SEO experts has reviewed thousands of websites and helped them grow, as you can see in some of our case studies. All that knowledge is used to improve Yoast SEO.

Our SEO experts follow every announcement from Google. Weigh it. Test it. Check what it means.  We then decide whether or not to make changes to our plugin to keep it up to date. As Google does hundreds of algorithm updates every year, this is a continuous process. We update our plugin very regularly because of these changes.

Because Yoast conscientiously follows all the SEO news and makes sure that the plugin is adapted to the SEO changes, you don’t need to do anything! You do not need your web developer to make SEO changes all the time. That’s the beauty of the WordPress plugin system: you can outsource your SEO to a team of pros.

In the past years, the number of plugin installs of Yoast SEO has grown immensely. On professional hosts like WP Engine, we’re the most installed plugin. Many sites like SearchEngineLand, The Next Web and the New Yorker use Yoast SEO. And did you know that even NASA recommends you to use Yoast SEO?

Focus on content

At Yoast.com, we focus a lot of our posts on how to write good content. Of course, technical SEO is of great importance, but our plugin already takes care of all that. What’s left for you is to write content that ranks and converts. We try to help you do that, with our eBooks, courses and blog posts.

So, install Yoast SEO and keep it up to date. And of course, subscribe to our newsletter. That way, when there are things that we can not fix for you, we can tell you to change them.

Read more: ‘WordPress SEO: the ultimate tutorial’ »

What do you need to write that awesome blog post? What steps do you need to take? Use this blog post checklist to make sure you covered everything:

1. Do your keyword research!

You want your blog post to rank in the search engines. Make sure you write your blog post on a topic that will help your SEO strategy. Always start with keyword research. Read our ultimate guide on keyword research for more information!

2. Prepare your blog post!

All writing begins with preparation. You should think about what you want to say and to whom you want to say it. It is important to realize, that proper writing takes some preparation.

It pays off to think about the structure of your piece before you start writing. The structure is the skeleton of your text: it will help the reader grasp the main idea of your text.

Read more: ‘Preparing your blog post’ »

3. Start writing!

If you carefully prepared your blog post, it is time to start writing. Writing can be hard. Make sure you put your pen down on paper (or fingers on the keyboard) and construct those sentences. If you carefully prepared your post, it won’t be too hard. Don’t mind spelling or typos too much in this phase. That could take you out of the writing flow.

Content SEO: learn how to do keyword research, how to structure your site and how to write SEO friendly content

Content SEO

4. Check your readability bullets

Once you have written your first draft, it is time to correct all of those misspells and typos. You should carefully read and re-read your blog post and make sure that your sentences are all phrased as beautifully as possible.

Your blog post should be well readable. Use the readability scores Yoast SEO provides. Our content analysis will allow you to detect those long sentences and passive voice if you tend to use those too often.

Keep reading: ‘5 tips to write readable blogposts’ »

5. Check your SEO bullets

If you have created a great blog post, you want it to rank in the search engines. If you started with proper keyword research, your blog post would be about a keyword that is beneficial to your SEO strategy. Use the SEO analysis of Yoast SEO to check whether you did all the things you can do to make sure your article is SEO-friendly.

6. Hit publish!

The final step in this blog post checklist is to hit that publish button. Make sure you share your blog post on social media too. Social media are a necessity for the growth and marketing of your website. It depends on your (desired) audience and on your content which social media are best suited for your website.

Read on: ‘SEO copywriting checklist’ »

Conclusion to the blog post checklist

Every blog post should start with executing keyword research. Make sure you take some time to prepare your blog post carefully. And after you have written the post, use Yoast SEO to check readability and SEO. That’ll allow you to publish an awesome blog post. Good luck!

 

Maintaining a blog takes more than just writing a bunch of blog posts. You should develop a strategy and planning for your content (especially if you are writing with multiple authors). Also, you should interact with your audience and respond to their comments. In this post, I’ll explain the importance of content planning and give some practical tips on how to effortlessly plan your blog posts.

Blog post planning: create a plan!

If you are serious about blogging, you should make a plan for your content. If you have a personal blog, planning your content will be relatively easy. Planning becomes much harder if you are working with multiple authors writing about different topics, or invite guest bloggers. I’ll give you five important pointers that will help you to create a plan:

1. Create an editorial calendar

A plan starts with a calendar. You should create an editorial calendar in which you plot out all the posts that you (and your co-workers) are going to write. This could just be an excel sheet, but you could also use a plugin or service for this, for instance, Trello or MeisterTask.

2. Sit down and brainstorm

If you want to create an editorial calendar, you could start with a brainstorm. Invite all your blog authors and sit together. Ask everyone what their ideas are and which posts they would like to write in the near future. Make a list of these ideas and wishes, and then plot them out on a calendar. Make sure your authors finish their blogs a few days before the post date so you can proofread, edit if needed, and find or create accompanying illustrations or photos.

3. Use news & current events

When planning content, you should take a look at your calendar as well! Are there any major events coming up which are worth mentioning in your blog post? Or should you write some seasonal posts? Make sure to mix these ‘current-events posts’ with the other posts you have lined up.

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

SEO copywriting training

4. Blog regularly

You should blog regularly. Giving exact numbers is hard. For a company blog, a daily post will be totally acceptable. For a personal blog, this will probably not be doable at all. Try to establish some frequency and stick to it. Your readers will appreciate a reliable schedule. Once you know you can commit to your chosen schedule, make sure to communicate it to your audience somehow, so they know what to expect.

5. Add variation

If you often write about similar topics, make sure to mix things up a little. Don’t write articles about nearly identical topics one after the other. Of course, you can still write blog series but try to vary between subjects as much as possible. You could also make variations in the form of your content. A video post for example spices things up!

Conclusion

If you take your blog serious, you should create a calendar. It’s a must-have if you are working with multiple authors. Creating an editorial calendar doesn’t have to be hard at all. Good luck!

Read more: ‘SEO Copywriting: the complete guide’ »

Today we’re releasing Yoast SEO 3.4, a release mostly aimed at improving our accessibility. Which means you won’t see most of the changes, but they’ll make a world of difference to others. We’ve also improved our readability checks and how we deal with some languages, more on that below.

Accessibility changes

When we hired Andrea a while back (more on that here), we knew we were in for a treat. He’s one of the leading accessibility developers for WordPress, and he didn’t disappoint. This release is, in large part, his work. Improving accessibility means a ton of small changes, and we have the changelog to show for it.

Some simple highlights that show that where accessibility is concerned, the devil is in the details:

  • Improved the headings hierarchy on several admin pages.
  • Improved the knowledge base search and admin menu by making it focusable and operable with a keyboard.
  • Adding labels and titles to several fields.

Have Team Yoast install and configure Yoast SEO premium for you!

Yoast SEO Configuration service

Yoast SEO configuration

Accessibility is more than just technical changes; it’s also allowing people without specific knowledge to use your product. That’s why we’re introducing the Yoast SEO configuration service today too! If you think setting up Yoast SEO Premium is too daunting, we’ll do it for you. If you’re migrating from another SEO plugin: we’ll do that for you too!

Readability checks

We’ve added one readability check this release. The plugin now warns you if you start 3 or more consecutive sentences with the same word. We’ve also improved the wording on some checks. Yoast SEO can now deal with characters with diacritics correctly in 75 languages.

The choice is yours!

As of this release you can disable the SEO analysis. You can also disable the readability analysis. You can do this just for yourself, or an admin can do it for an entire site. If you disable both, you’ve got just our snippet preview left. We’d obviously recommend using both features, but if you don’t want to, the choice is now yours!

Update!

We’ve, of course, fixed bugs in Yoast SEO and quite a few of the Yoast SEO extensions too. So… Go update!