If you’re thinking about starting a blog, the most important thing I have to say to you is: go for it! Start your blog! Just do it! Blogging is a great SEO strategy, it’s a wonderful marketing tool and blogging is lots of fun! A new blog will allow you to make smart and strategic choices. Just take a little time to think about how to set up your blog before you begin, so you’ll have less work later on. Let me share some tips with you on how to start a blog.

Choose your niche

You should always write about what you know. But you should not write about everything you know. Pick a niche. Decide upon a main topic and write posts related to that topic. It’s more likely that your audience will come back and read your other posts if you’re writing about similar topics. People will know what to expect. Starting a mom blog implies that you write about all things concerning your children and family life. Starting a travel blog implies you write about traveling. You can write about something slightly off topic once in a while of course, but try to stick to your niche. An audience of a travel blog doesn’t expect a blog post about gardening. 

Our SEO for WordPress eBook guides you through every aspect of Search Engine Optimization »

SEO for WordPress€ 25 - Buy now » Info

Do your keyword research

Once you’ve chosen your niche, you should do some solid keyword research. Try to find out what people are searching for. What words are they using when they want to read about your niche and your topic? You should really get inside the heads of your potential audience. If you do your keyword research properly, you should end up with a long lists of keywords you would like to be found for. Try to come up with competitive, head keywords as well as with less competitive long-tail keywords.

Read more: ‘How to start your keyword research’ »

Think about site structure

This is the best time to think about site structure. What categories are popular in your niche? What are the most important head keywords you’d like to rank for? You should write a long, kick-ass article about each of these keywords. Those will be your most essential articles, or in other words, your cornerstone content. You should give those articles a prominent place on your site.

After you’ve written those beautiful cornerstone articles, write lots of blog posts on sub topics of that main topic and always link to your cornerstones. That way, you’ll be telling Google exactly what the most important articles on your website are.

Keep reading: ‘What is cornerstone content?’ »

Write that first post

Take some time to do keyword research and to think about site structure. But don’t take too much time. Just write that first post! Put pen to paper and just do it. Your blog starts with the very first post. That post doesn’t have to be perfect, it just has to be published. Need some help to get started? Check out our 10 tips on how to make your post awesome.

Pictures and videos

Writing blog post is more than writing a nice story; a successful blog has pictures and videos as well. Every post should show at least one image. Taking nice photos yourself is a great way of creating images and making short videos is a really good blogging strategy as well. Especially if you’re blogging about (aspects) of your own life, photos of it are a necessity.

Read on: ‘Images for blogs’ »

Optimize for the search engines

Before publishing your post, optimize it using Yoast SEO (on WordPress of course, but on Magento and TYPO3 now too!). Don’t forget to create an awesome SEO title and a decent snippet. Finetune your text. Make sure your text is both readable as well as SEO-friendly.

Read more: ‘How to use the content & SEO analysis of Yoast SEO’ »

Promote your blog

Using social media is the best way to reach and grow the audience of your blog. That’s why your blog should have a Facebook page. Sharing your posts on Facebook is a good marketing strategy. Don’t forget Instagram and Twitter either!

In addition to the use of social media to promote your blog, we advise you send out a digital newsletter. Let people sign up for it and send out emails with your latest blog posts and some other fun facts.

Keep reading: ‘Marketing your blog’ »

Stick with it!

The most important thing to start a blog – besides setting up your new blog – is to write that very first blog post. Once you’ve written that first post, your blog has started. You should keep on writing blog posts to make it successful, so try to determine a frequency to publish new posts. You don’t have to blog every day, once a week or maybe even once in every two weeks would be a nice frequency to start with. Find a frequency you can stick with! Your audience will know what to expect, if your blogging frequency is stable.

Read on: ‘Blog SEO: make people stay and read your post’ »

A few weeks ago, I went to my first proper WordCamp, in London. I went as a designer, and I wasn’t expecting to learn very much, but spoiler warning: I was wrong. In this post, I will explain why going to a WordCamp is worthwhile as a designer, why WordPress needs more designers, and how designers reading this can start applying their skills to the WordPress design right now.

Wordcamps are not just for programmers and bloggers

You may have noticed I said ‘proper WordCamp’ in the opening, because technically my first one was WordCamp NL last year, but I’m not counting that one since I only went because Yoast had a booth there. And back in 2016, I didn’t think I had much business being at a WordCamp neither. Not because I thought I knew everything, but precisely the opposite; I hardly used WordPress. I wasn’t writing content, I just used it to upload comics I had drawn. Terms like conversion rate and cornerstone content didn’t mean much to me. It all seemed very technical. And especially the thought of contributing to the core of WordPress seemed very daunting (even writing my own theme took me ages). But WCLDN17 proved that I was wrong about all these things. 

For good SEO, you need a good user experience. Learn about UX & Conversion! »

UX & Conversion from a holistic SEO perspective$ 19 - Buy now » Info

There has never been a better time for design to shine

Almost a year after WCNL16, I became the UX designer at Yoast. I still didn’t know all the intricacies of WordPress, but I was using it a lot more, making sure our stuff integrated well and looked good. So maybe I could get some value out of a WordCamp this time around? I wasn’t sure yet. But off I went to WCLDN17.

Looking at the schedule, there were a lot more talks about design and UX than I had expected; Crispin Read talked about the value of testing and hard data over opinions; Sarah Semark talked about how modern web design all looks the same (and why); Graham Armfield talked about how some simple design measures can make sure your site is accessible to almost everyone; and Dave Walker‘s talk was especially interesting to me, because he’s also an illustrator using WordPress. It was clear that design was coming to the forefront, and rightly so.

This was all good info for me to apply at Yoast, but that I could be of value to WordPress was an unexpected discovery during Contributor Day.

WordPress needs designers too

Contributor Day is meant to focus the attention of everyone at a Wordcamp towards improving WordPress in some way. Naturally, I sat down at the Design table, and there I met Tammie Lister. She is a UX designer at Automattic – that’s the company behind WordPress.com, Akismet, Gravatar, WooCommerce, and Simplenote (which I drafted this in!). She was easy to talk to, and very enthusiastic about design. But more importantly, she had prepared a few simple tasks for us to tackle that day. It made my entrance into the whole WordPress ecosystem pretty smooth.

My chosen task was to make a mockup for the mobile image editor; Something had gone really wrong in there, lots of overlapping panels and redundant buttons. By simply designing a fix in Photoshop, I helped move this problem closer towards being solved.

In doing so, I started to understand why Tammie kept wishing that more designers would start to look at WordPress itself. There are many design issues like this hanging around, waiting for a designer to solve them. Doing so may not seem like a big contribution, but WordPress is used by nearly 80 million sites – that’s almost 30% of the web. So whatever you end up doing, it’s guaranteed that at least a few people are going to be happy with it.

And I can understand why designers maybe don’t flock to this calling. Getting started can seem daunting – I was a prime example of this mindset. If that’s you too, then read on, I’ve outlined three simple steps to get you started.

Ways a designer can start improving WordPress

If you use WordPress and like designing interfaces, these are some quick ways to combine those two passions:

1. Go to a Contributor Day.

This may seem like a big first step, but I promise you it’s not. You’ll get set up way faster than you would at home by yourself, there are tons of people who can help, and everyone is super nice. I would have never known where to begin if it wasn’t for Tammy’s guidance. There are tons of WordCamps all around the world, so guaranteed that there is one near you and within your budget. If not, perhaps you’re lucky like me and your company works with WordPress, get them to send you out to one!

2. Join the design channel in the WordPress Slack.

I could tell you to go to make.wordpress.org/design, but to be honest that site could use a UX update itself. No, I feel like it’s better just to get in touch with the people on the frontlines of WordPress design on Slack. Slack is a chat app, and you can join the WordPress team on there by going to this page. And when you’re in, simply introduce yourself in the design channel and ask how you can help, and somebody will get you started.

3. If you’re not a designer…

…show a passionate designer some of the issues on this list. Hopefully, there’s a good chance they’ll get triggered to fix these little design problems. Sometimes even just posting feedback is enough to get the ball rolling again. Together with this article, I’m sure they can take it from there.

Bonus: Submit design tickets

If your own projects are keeping you busy enough (and I can relate), here’s a really simple way you can still help out: for every weird design issue you encounter, just make a ticket on the site I linked above. Leave the work to others, but at least let them know what they should fix. You’re helping them out, and when they fix it they’re helping you out. Everybody’s happy.

So if all this has motivated you to contribute your design expertise to WordPress: great! I hope to see you at a WordCamp or on Slack someday. Together, we can make WordPress even better, for everyone.

Photo by the talented Pradeep Singh.

Read more: ‘WordPress Core Contributions’ »

Do you want to set up a brand new website or move your website to a new host? Choosing a web host can be hard, because there are thousands of hosting companies out there. So it’s a tough decision to make, but a very important one too. When you’re comparing various hosting aspects, should you consider the location of the web host too? Is the geographic location of their web server important for SEO? Hear what we have to say about this, in this Ask Yoast.

Gerardo Garcia emailed us, asking:

“Do you consider the location of the web server as something important for SEO?”

Check out the video or read the answer below!

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

Yoast SEO for WordPress pluginBuy now » Info

Impact of server location on SEO

“Gerardo Garcia is from Spain and he has found web servers in Germany and England that are cheaper than the ones in Spain. He’s wondering if the location of a web server is important for SEO.

First of all, no, not really. But that’s not the entire truth. Because for your visitors you want the most speed, and you’ll get the most speed by hosting as close as possible to them. And you can achieve that by hosting your site in the country where your visitors are coming from.

We’re Dutch, but our main servers are in the US. Why? Well, because the majority of our visitors are from the US. We also have a server in Europe, because we get many visitors from Europe too. So think about that. Of course, we are on a slightly more expensive set up than you would probably be, and need to be. So focus on the country you think is the most valuable.

To be honest, if you’re looking at price too much for you hosting, you probably not doing yourself any service anyway. Don’t go for the cheapest hosting, go for the best hosting. Paying a couple of bucks more per month, really is worth it, When your site is down otherwise, stuff is just not working.

So, I would suggest going with a host that has servers in Spain or at the very least have people that can service you in Spanish in Spain. And then, whether these servers are located in Barcelona or in London, the technical existence of these servers doesn’t make too much of a difference.

Good luck!”

Ask Yoast

In the series Ask Yoast we answer SEO questions from followers. Need some advice about SEO? Let us help you out! Send your question to ask@yoast.com.

Read more: ‘Yoast’s WordPress hosting list’ »

This is a rather special release, as it’s a project that’s close to my heart. It’s not a full-featured release, however, it is just necessary as a regular release. In Yoast SEO 4.5, we are urging site owners whose sites run on servers with an outdated version of PHP to update to a more recent version. To move the web forward, we need to take a stand against old, slow and unsafe software. Updating to PHP 7 will give your site an enormous speed boost. In this post, you’ll find out why we’re showing this notice in WordPress and what you can do to upgrade PHP.

Please read this post to get the complete picture of this move »

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

Yoast SEO for WordPress pluginBuy now » Info

Why this move?

WordPress is built on PHP. This programming language takes care of the heavy lifting for the CMS. WordPress was always built with backward compatibility in mind, but we’ve reached a point where that’s just not feasible anymore. WordPress needs a minimum of PHP5.2 to function, but that version will not get updates, fixes or patches. This makes it inherently insecure. If you are on an old version, Yoast SEO 4.5 will show you a message in the backend. Please update to at least 5.6, but rather PHP 7 to take advantage of all the awesomeness of this new version. Not just for you as a user, but for developers as well.

The why is three-pronged: security, speed, and future-proofing. PHP 5.2 hasn’t been updated for years and has serious issues. PHP 7 is lightning fast, up to 400% faster than 5.2. You might even regard this as a green move; you can use 50% fewer servers to get the same results from PHP 7. Last but not least, developers can finally use all the modern technologies to bring WordPress to the next level.

We understand this move might be annoying for some, but it is necessary to speed up the development of the web and to bring it some must needed security. That being said, updating your PHP version is rather easy.

How can I update my PHP version?

How to update your PHP version depends on your host. Most hosts have an article on their site explaining how to update PHP yourself. Here’s the one from SiteGround, or WP Engine. Go to your hosts’ website to find out more on how to go about this. If you can’t find the information you need, please contact your web host. We have made an example email that you can edit and send to your hosting company.

Don’t forget to backup your site before doing any major changes!

And how do I choose a different hosting company?

It might be entirely possible that your host is not willing to work with you. Maybe you just don’t feel valued at your current host or it could be that their future plans don’t fit yours. If so, think about moving web hosts. A web host provides the engine your site runs on and that better be a damn good engine. To help you with your quest for a well-regarded and forward-thinking web host, we’ve compiled a list of hosting services that got the Yoast stamp of approval.

Read more: ‘Whipping your hosting into shape’ »

We’ve seen it happen so often. You have a great blog, and at some point, you decide to go for a new look and feel. There are a couple of things you’ll look at, usually in the order: layout / look and feel, usability, and optionally, room for advertising. If the theme meets your needs in all two or three of these points, you might download and install it. If that sounds familiar, this post describes how to find the perfect WordPress theme!

A theme has quite a few things to take care of, and a lot of themes miss out on these. This overview should help to keep you out of trouble when you’re looking for a new theme. If you’re thinking of installing a new theme, please give the following points a thought. Keep in mind; your new theme should be accessible, compatible, customizable, integrable and standards compliant.

Define your needs

Whether you are in the market for a free theme, a premium theme or want to hire a developer to build one especially for you, the first step is always the same: define your needs. Write down what the theme should do, now and in the future. You might not need an eCommerce shop at this time, but what about in a year from now? What should your site look like? Which pages do you need? What types of content are you planning to publish? Once you have a clear picture of the requirements, you have a better chance of finding your dream theme.

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

Yoast SEO for WordPress pluginBuy now » Info

Find a trusted reseller or developer. How’s the support?

Should you build a theme yourself? Or will a general free theme do? The discussion on whether a premium theme is better than a free theme continues to rage on. Both sides have their merits. There are loads of crappy free themes, but there are just as many crappy premium themes. What you should do is find a reseller or developer that you trust. Look for social proof; how many reviews does a theme get? Is there an active message board? When did it receive its last update?

In general, every theme on WordPress.org underwent scrutiny, so they are safe to use. But that doesn’t mean they’re awesome. Theme resellers offer loads of premium themes in varying degrees of awesomeness. But just because you pay for them, doesn’t necessarily make them better than free themes. In addition to that, since you only receive the files when you pay for a theme, there’s no way to check the quality upfront. Despite social proof, it’s still a leap in the dark.

How flexible is the theme?

A static theme won’t do you any good when you want to change the page layout in a couple of months. Make sure to choose a theme that is flexible in its appearance as well as its functionality. Don’t choose a design that screams for full-width images when you only need a well-presented place to write your poetry. Check what happens to a theme when you turn off all massive images; does it still function? And is it possible to change colors, fonts and other visual elements?

Your theme should have ample room for widgets, plus it should support featured images and offer multi-language support. Lots of themes have a page builder on board; these help you construct your bespoke layout. But, this is something you should be careful with because these could generate less than stellar code that hinders your SEO.

Which post and page templates does the theme support?

Another way to keep things flexible is for a theme to offer multiple posts and page templates. That way, you could start off using a basic template with a main content area and a left sidebar, but have the flexibility to change to a full-width content area or one of the many other options. If a theme has only two choices, that might become problematic in the future. Pick a theme with enough sensible templates.

Does it function as a parent/child theme?

Parent and child themes are a great combo. If you use any of the theme frameworks like heavy hitter Genesis, you know how powerful these are compared to regular themes. A child theme gets its functionality from a parent theme. So if you’re making changes to your child theme, the parent won’t see these. You won’t break the parent theme if you make a mistake. The same goes for updates; if you update your parent theme, which happens often, it won’t wipe the changes you’ve made to your theme because it’s a child and doesn’t contain the functionality.

Whether you need a theme framework depends on your needs. Almost all WordPress projects will benefit from a theme framework, but it might be overkill if you only need a tiny amount of its functionality and you know exactly what kind of theme you need.

Watch out for theme bloat

Many themes are bloated, and this will increase loading time. If the developer of a particular theme included everything but the kitchen sink, you might get a feature-complete product but an insanely complicated one as well. Try to find a theme that offers everything you need, instead of everything there is. Your theme should be lean and mean. See the next point.

Check site speed and mobile-readiness

In this day and age, mobile-friendliness is imperative. In addition to that, your site and its theme should load as fast as possible. Choosing a lean and mean theme will certainly help in this regard. Check the responsiveness of a theme and run a Google mobile-friendliness test. You could also enter the address of the theme’s demo site in Google’s PageSpeed tool to see if there are particular loading issues. However, this is just an indication, since you can only judge the real loading speed of your theme when it’s running on your server.

Is the theme’s SEO in order?

While Yoast SEO fixes a lot of WordPress’ SEO issues, a good theme helps a lot. Most WordPress themes will claim SEO-friendliness, but make sure to check it. Find out if the theme’s code is nice and clean or an intangible mess. Has it been updated recently? And will it be supported in the future? How many JavaScript libraries does the theme depend on? Does it support Schema.org structured data? If you’re eyeing a free theme, make sure there are no hidden links to the developer’s website, as this can hurt your SEO efforts. In general, keep Google’s Webmaster Guidelines in mind when hunting for SEO-friendly themes.

Is the theme’s code valid?

Many a theme author is more of a designer than a coder, and thus they sometimes hack around until it finally looks the way they want, without bothering to check whether the code they’ve written is valid HTML. If it’s not, current or future browsers might have issues rendering the content correctly. You can check whether the code is valid by using the W3C’s validator.

Test, test, and test again

Once you’ve chosen your favorite new theme, it’s time to kick it into gear. Start with a development setup to test your new theme through and through. Run every type of test you can think of. This might be a security check with the Sucuri plugin or a theme check with the Theme Check plugin. Load your site with dummy data from wptest.io to see if every element is represented and functioning. Run pagespeed and mobile-friendliness tests to see if problems arise. Fix the issues, or find a new theme.

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

Yoast SEO for WordPress training$ 99 - Buy now » Info

Bonus checks

That’s just to get you going. There’s a lot of stuff you can check before you install your brand-new theme. Start with these three checks, if you will:

Hooks

WordPress plugins use so-called “hooks” to be able to perform their designated tasks. These hooks allow for instance to add extra output, tracking codes, etc. A lot of issues with plugins will arise for you when a theme author forgets to add these hooks. This is how to check for them:

1. In header.php, it should have a small piece of PHP code that looks exactly like this wp_head(); or this do_action('wp_head');, usually just before a piece of HTML that looks like this: </head>.

2. In footer.php, it should have another small piece of PHP like this wp_footer();, or this do_action('wp_footer');

3. In comments.php and/or comments-popup.php, it should have a piece of code like this: <?php do_action('comment_form', $post->ID); ?>, just before the </form> HTML tag.

Template files

Another wise thing to do when you’re changing themes is to compare theme files. If for instance, your current theme has an author.php file, which contains the template for your author profiles, and your new one doesn’t have that, that might be an unpleasant surprise when you install the theme. The files you should be checking for in your old and new theme:

  • home.php: the homepage template.
  • single.php: the template for single posts.
  • page.php: the template for pages.
  • category.php: the template for category indexes.
  • author.php: the author template, used when someone wants to find all posts by a certain author.
  • date.php: the date template, used when someone tries to look at for instance a certain month of posts on your blog.
  • archive.php: this template is used when either category.php, author.php or date.php isn’t there.
  • search.php: used when someone searches on your blog, a very important template to look at if you’re concerned about usability, and whether people can find posts on your blog.
  • 404.php: used when WordPress can’t find a certain post or page, this is a very important template file to have!

How is your theme handling titles?

You should check how your current theme is handling page titles in the file header.php. You can find it within the <title> HTML tags. If the title tag differs, you might want to check out why and what happens when you enable your new theme. Sometimes it’s for the better (for instance, because it turns around blog description and page / post title), but you have to make sure up front!

It will probably look something like this:

<title><?php bloginfo(‘name’); ?> <?php wp_title(); ?></title>
If it does, you’ll be a lot better to change it to:

Now Yoast SEO can take care of all the titles. We have a great article that you can read if want to know more about crafting good titles.

If your theme does all of this correctly, you should be quite ok. Good luck with your new theme, and if you have any tips on other things to check, please share in the comments!

Read more: ‘Why every website needs Yoast SEO’ »

Let’s say you own the website http://www.some-example.com. At one point, you might like visitors to go to the non-www version instead of the www version of your domain. In addition to this, if you follow security best practices, you might want to switch from HTTP to HTTPS. What should you do if you want to make both these changes? You probably figured out that you’ll have to redirect traffic from your current domain to your preferred domain. But what’s the best way to do this? Is there a preferred order?

We received an anonymous question for this Ask Yoast:

“I want to move my site from www and HTTP to non-www and HTTPS… what should I do?
1. Strip www and then force HTTPS;
2. or force HTTPS and then strip www?”

Check out the video or read the answer below!

Our SEO for WordPress eBook guides you through every aspect of Search Engine Optimization »

SEO for WordPress$ 25 - Buy now » Info

How to switch from HTTP to HTTPS and www to non-www?

Check out the video or read the answer below!

You should do both at the same time. You should redirect the HTTP link straight to the HTTPS version without the www. Don’t try to do that with two 301 redirects, you should do that in just one 301 redirect.

Forcing HTTPS is something that you need to test really well. There are all sorts of things in your site that probably aren’t HTTPS ready that you should know of upfront. I know it was a lot of hard work to get yoast.com to HTTPS and we don’t even have ads. Especially ad services can be really tough to get working on HTTPS. But you should do it in one go. So it’s really secret option number three: redirect from one to the other straight away, and don’t think about anything else.

If you really can do HTTPS for everything and it works fine, make sure to add an HSTS: ‘Strict Transport Security Header’, which forces everything to be over HTTPS. And then, if the browser sees an HTTP link to your domain in the content somewhere, it will still automatically grab the HTTPS version, thus the right one.

Good luck!

Ask Yoast

In the series Ask Yoast we answer SEO questions from followers. Need some advice about SEO? Let us help you out! Send your question to ask@yoast.com.

Read more: ‘How to remove www from your URL’ »

In this post I explain why Yoast SEO will soon warn people whose website runs on an older, unsupported, version of PHP to upgrade their PHP version. We’re doing this mainly to improve the security and speed of those websites.

This post is long, but I’ll explain:

  • what the problem is;
  • why we want to fix it;
  • why we burden the user with it;
  • and how web hosts can work with us.

PHP? Versions? What are you talking about?

WordPress, (like Yoast SEO), is built in large part in a programming language called PHP. This language, as WordPress itself, has gradually improved over time. Web developers all over the world are enjoying the new features that newer versions of PHP have brought. Also, more importantly, everyone all over the world enjoys the increased security these new versions bring. Unfortunately, WordPress developers do not get to join in.

Compared to WordPress, PHP has a rather aggressive update path. PHP 5.6 will receive security patches for just under two more years, but nothing else, and no other PHP 5 version receives security updates. PHP 7 is the future (and boy is it nice and fast).

Ever since July 2011, the minimum PHP required for WordPress is PHP version 5.2. Here at Yoast, we think it’s time for WordPress to move that requirement up to PHP 5.6.

Why do you care so much?

At Yoast we care about a lot of things, but two things in a very particular order: user happiness first, developer happiness second. A user is happy when he or she has a fast, easy to install, secure content management system like WordPress to build a site in. A developer is happy when he or she can use a modern language and modern tooling to build software with.

Security

The single most important reason for us to want to increase the minimum requirement is security: PHP versions 5.2 through to 5.5, while still actively in use on millions of sites, no longer get security updates. Some Linux branches and web hosts still backport security fixes from newer PHP versions to older versions, but that’s not something we, as a community, should rely on.

This security concern is not a theoretical concern. We have seen time and time again that the number one reason sites get hacked is because of outdated software. The last release of PHP 5.2 is 6 years old, and several major security issues have been found in it since. WordPress has automatic updates for security updates built-in for exactly this reason. Why would we push people to update WordPress and its plugins regularly, but let the PHP version fall behind?

Speed

Another big issue is speed. WordPress is sometimes said to be slow, but it actually doesn’t have to be slow at all. If it’s running on old versions of PHP however it is, most certainly, slow. PHP 5.2 is more than 100% slower than PHP 5.6, and a whopping 400% slower than PHP 7 (source). If you’re getting a bad reputation because you’re allowing old stuff to stay around, maybe we shouldn’t allow the old stuff to stay around so much?

Modern programming language

PHP 5.2, which was released November 2nd 2006, is no longer a modern language. This makes developers unhappy because they’re missing many of the cool features every other modern language has.

As WordPress is gaining popularity, something else is happening because of this: more and more developers are turning their back on WordPress because it’s moving too slowly. Developing themes or plugins for WordPress, where PHP 5.2 is required, is a hassle and thus not as much fun. This is becoming a problem: we’re literally losing good developers. Those developers could benefit the entire community, but we’re missing out because we’re not getting with the times. Over time, losing developers means other products will move faster, and WordPress will lose marketshare.

Why isn’t WordPress simply upping the requirements to PHP 5.6?

There is a long and ongoing discussion in the WordPress community about upping the requirements for PHP to 5.6. The problem lies therein, that for a user, upgrading their PHP version is non-trivial in a lot of cases. It’s not something we want to burden a user with. So we’ve been waiting and waiting for web hosts to do their work. We’ve been waiting, literally, for years. Unfortunately, it turns out, not all web hosts are created equal. Not all of them pro-actively upgrade their customers to newer PHP versions.

As I type this, the WordPress stats page says 5.6% of websites is using PHP 5.2, 15.6% is using PHP 5.3, 23% is using PHP 5.4 and 15.4% is using PHP 5.5. That means almost 60% of WordPress installs is running on an unsupported version of PHP. So much for web hosts doing their work.

Because web hosts are not upgrading PHP, we have decided to start pushing this from within plugins.

Why don’t web hosts update PHP?

When you’ve seen all the above, you’re probably wondering why web hosts don’t pro-actively update their customers PHP versions. Well the good news is: lots of them do. If you’re on one of those hosts, and you’re running PHP 5.6 or higher: good on you! Other hosts though, seem to be intent on doing as little as possible while still keeping the customer.

We’ve heard all sorts of reasons from hosts to not want to upgrade PHP. The only one we understand to a certain extent is that they don’t want to break your site. Some software running on the same server as your site may not support newer PHP versions, probably because that software needs to be upgraded too. But in all honesty: you shouldn’t have to worry about that. We think a host should upgrade your PHP for you.

What is Yoast going to do?

Combined, all of the above reasons make us very intent on moving WordPress forward. Unfortunately, we don’t have the power to decide on minimum requirements. So we’ve decided to throw our weight behind this in a different way.

As of Yoast SEO 4.5 we will start showing a notice on the WordPress dashboard to administrators of sites running on PHP 5.2.  This notice will be big, ugly, and non-dismissible. In this notice we will explain why the administrator should upgrade the PHP version of the site.

If a web host integrates with our project, which we’ve called WHIP, the host can add some information about how to upgrade right within the notice. See the Github repo for info about how to integrate.

The notice will also encourage people to contact their host if they don’t know how to upgrade their PHP. Yes, this could be painful for some hosts. This notice is deliberately intended to make them work.

As a last resort, if a users host does not cooperate, we recommend the user to change to better hosting. We will provide a link to a page we’re building right now here at Yoast, with hosts that we’ve vetted. When we say we’ve vetted them, we mean it: we have verified that Yoast SEO works well on their servers and that they put new customers on modern PHP versions. The page isn’t ready yet, but it’ll be cool and we will not be using affiliate links on that page. This isn’t about money.

Does this stop with PHP 5.2?

This most probably does not stop with PHP 5.2. We will release it and watch closely what’s happening. If it works, we will start pushing the same notice for PHP 5.3 a few weeks later, and so on. We fully intend to see if we can get the minimum version up to 5.6.

I’m a theme / plugin developer, can I join?

You can of course join this endeavour! Our WHIP package is open source and very easy to implement. Put it in your code following the instructions on the repository and you too will be part of this move forward! Of course your feedback is highly appreciated on that repository too.

For developers that want to integrate WHIP into their plugin, we will make it possible to link to the WordPress.org hosting page. Those hosts are all PHP7 ready too.

Why are you telling us now?

We’re telling you all this now because we fully hope that we have to show this notice to as few people as possible. Upgrade your PHP versions. If you’re a host, integrate with our messaging system and start proactively upgrading your customers PHP versions. With 6.5 million active installs of Yoast SEO, you’re bound to have a lot of customers that are going to start asking for help. You might as well get started.

Once your website starts growing and you continue writing blog posts, you’ll eventually end up with archive pages. These archive pages can be based on taxonomies, categories, custom post types and even dates. WordPress has built-in support for these archive pages, however there are some small drawbacks. In this post, I’ll explain to you how you can use these archive pages in a better way and ensure they actually add value to your blog.

Default archive pages

WordPress supports automatic creation of archive pages. This ensures that you don’t have to think about making them by hand. Sadly, these pages tend to only consist of a list of posts based on a category / taxonomy / post type without any further introduction. This means that your visitors are left stranded on a page without much explanation about what they’re looking at. The chances of your visitors finding what it is they’re looking for are terribly slim in this case and usually visitors will decide to leave that page immediately.

A simple solution to this problem: Add an “introduction” of some sorts to the page. A clear header can already greatly help out your visitors, but for extra important pages we recommend adding a description as well to better highlight the content that can be found on that archive page.

Before avidly writing these introductions, lets ensure they are properly displayed on the pages.

Learn how to structure your site well with our Site structure training! »

Site structure training$ 99 - Buy now » Info

Adding the introduction

Category, tag and custom taxonomy archives

If you want to add an introduction to a category, tag or custom taxonomy archive, you can easily create a custom template file to override the default ones. For example, you can create a `category.php` file in your theme to override the default template file. If you want more information on how the templating hierarchy works in WordPress, just look at this infographic before continuing.

In your newly created `category.php` template file, add the following snippet above the WordPress loop:

if ( ! get_query_var( 'paged' ) ) {
  echo wpautop( term_description() );
}

If you want to support shortcodes, try this instead:

if ( ! get_query_var( 'paged' ) ) {
  echo wpautop( apply_filters( 'the_content', term_description() ) );
}

The above code takes the title and description that you added in the WordPress backend for the category and displays it on the category archive page. This method also applies to tag and custom taxonomy archives.

If you use the Genesis theme, you won’t have to do any of the above alterations. Luckily, Genesis already has built-in support for this type of thing, so it’s as easy as ticking two checkboxes in the theme settings.

Genesis Archive Settings

Or if that doesn’t work, you can just add this to your Genesis child theme’s functions.php:

function yoast_term_archive_intro() {
 if ( ( ! is_category() && ! is_tag() && ! is_tax() ) || get_query_var( 'paged' ) ) {
   return;
 }

 echo '<h1 class="entry-title">' . single_term_title('', false) . '</h1>';
 echo '<div class="entry-content">' . wpautop( term_description() ) . '</div>';
}

add_action( 'genesis_before_loop', 'yoast_term_archive_intro', 20 );

Of course, you are free to expand the above function to add some more CSS classes to further style the output.

Custom Post Type archives

Altering custom post type archives is a bit trickier than overriding default tags, categories and taxonomies. You can add a new file called `archive-{posttype}.php` where you replace the `{posttype}` portion with the name of your custom post type. By then adding the following code to said file, you can achieve a similar result:

if ( ! get_query_var( 'paged' ) ) {
  $post_type = get_post_type_object( get_post_type() );
  echo '<h1>' . $post_type->labels->name . '</h1>';
}

Now for the hard part. Because custom post types don’t have any type of form in the WordPress backend, it is impossible to easily add a description to these custom types nor is there a recommended way of storing the data. One method you can use when you use a child theme in Genesis, is by expanding the `functions.php` file with the following code:

function yoast_cpt_intro() {
  if ( ! is_post_type_archive() || get_query_var( 'paged' ) ) {
    return;
  }

  $post_type = get_post_type();
  
  if ( genesis_get_option( $post_type . '-title', 'child-settings' ) ) {
    echo '<h1>' . genesis_get_option( $post_type . '-title', 'child-settings' ) . '</h1>';
    echo wpautop( genesis_get_option( $post_type . '-intro', 'child-settings' ) );
  }
}

add_action( 'genesis_before_loop', 'yoast_cpt_intro', 20 );

As you may have noticed, the code example uses two custom genesis options: `$post_type . ‘-title’` and `$post_type . ‘-intro’`. These can be defined in your Genesis child theme. You can read how to do that over here.

Preventing duplicate content issues

To avoid duplicate content issues, the previous code snippets make use of a simple check to ensure we’re not on a paginated page. The `get_query_var( ‘paged’ )` function call determines whether or not we’re on a paginated page.
If it detects the query variable `paged`, we can assume that this page is one in a series of multiple pages and thus should not display the description.

Since the introduction of rel=”next” and rel=”previous”, websites that have paginated archives and whom have properly implemented the `rel=”next”` and `rel=”previous”` attributes, will be receiving more visitors on the first page in the series. Nevertheless, you should not solely rely on this, but use it in conjunction with the `get_query_var( ‘paged’ )` option.

Styling the archive introduction text

To ensure that people actually read the introduction text, it’s very important to add proper styling to the page. After all, these introductions need to be made with humans in mind first, SEO second. Don’t fall in the trap of styling it the same way as your posts as this might result in visitors not understanding that the text is actually something entirely different from your content. A good example can be seen in the following screenshot:

Conclusion

Based on the information shared in this post, you should be able to make clear archive pages that help your visitors understand the content they are looking at. Additionally, you should be able to create these archive pages for custom post types. We look forward to seeing some of your beautifully styled archive pages.

Read more: ‘Site structure: the ultimate guide’ »

In the past we received a lot questions regarding optimizing your WordPress SEO URL / permalink structure. Questions ranging from whether you should have the category in your permalink structure to the length of your slugs. In this post, we’ll address some of these questions and attempt to give you a better understanding of your permalink structure.

The ideal WordPress SEO URL structure

At Yoast, we recommend using a simple and clear permalink structure. Ending your URL with the post name is the preferred method and optionally you can prefix the post name with the category, which results in one of the two following permalink structures:

/%postname%/

And with the category prefixed:

/%category%/%postname%/

For an added bonus, we recommend adding your main keyword somewhere in the post’s name. When checking out the snippet preview in our plugin, you’ll see your keyword emphasized in the URL if it’s been detected in your slug (see image below).

What about using dates?

Using dates in your URL never had many benefits. When you add dates to your permalink structure, you automatically ‘date’ your posts. People will naturally look for posts with a more recent date, assuming that they contain the best information. However, sometimes older post can hold very valuable information, but won’t get the same amount of clicks due to their age.

Should I use the category in my permalink structure?

If your domain name is nice and short and you use short, yet descriptive category names, you can easily include a category in your permalink structure which can benefit your website, but beware: if you end up with a lengthy slug and category name, it will make sharing the URL more difficult and won’t have much added value in Google.

If you decide to use categories in your permalink structure, make sure that you only select one category per post. For some more information regarding using categories in your permalink structure, I advise you to watch the following video by Matt Cutts.

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

Yoast SEO for WordPress pluginBuy now » Info

Should I add .html to my permalink structure?

In terms of SEO and ranking, there is little benefit to keeping the .html extension present in your URLs. However, in the video below, Matt explains that there might be some other advantages to keeping the file extensions present in your permalink structure.

The discussion whether or not you should forcibly add .html (or any other extension) can be ended very quickly: Don’t do it. It won’t help you and if you add certain extensions such as .exe, it can actually hurt your rankings.

My blog is in Google News. Don’t I need numbers in the URL?

The short answer here is: no. Back in the day, Google News required you to use a three digit number in your URLs in order to be included in the News index. A way around this was to have a separate XML sitemap. However, since September 2015, both the three digit unique number and XML sitemap are no longer required.

Should my focus keyword always be the first keyword in the URL?

It might help slightly, but if your focus keyword is present in the first few words, you’ll be fine. Matt explains this at great length in the following video.

How many words should I use in my slug?

In this interview with Matt Cutts, Matt mentions the following regarding the length of your slug:

If you can make your title four- or five-words long – and it is pretty natural. If you have got a three, four or five words in your URL, that can be perfectly normal. As it gets a little longer, then it starts to look a little worse. Now, our algorithms typically will just weight those words less and just not give you as much credit.

Should you change your URL structure for better SEO?

You might expect that the answer to this question would be a simple yes. However, if you’ve been blogging for a while, you might not want to make any drastic decisions. Have you been using dates in your permalink structure for the past few years? Then it might be wise to not switch to a structure without them. If you only just started then switching won’t cause you much harm and might even be a huge beneficial step.
However, if you’re still using the “old style” urls (?p=) then it’d be wise to switch regardless of how long you’ve been blogging. This will greatly improve your blog’s potential to be found in Google’s search results.

If you do decide to get rid of dates in your permalink structure, you can add the following redirect to your .htaccess file (if you’re on Apache) to ensure that the old URL (/yyyy/mm/dd/%postname%/) points to the new one:

RedirectMatch 301 /d{4}/d{2}/d{2}/(.*) https://yoast.com/$1

For Nginx, you can use the following snippet in your site configuration:

location ~ /d{4}/d{2}/d{2}/(.*) {
rewrite ^(.*)$ https://yoast.com/$1 permanent;
}

The perfect WordPress SEO URL

Overall, permalink structures won’t differ much from website to website if done correctly. We advise that you make sure your permalink structure is properly set before avidly writing posts. If you do decide to change your permalink structure over time, make sure you properly redirect users from the old structure to the new one.

Read more: ‘How to change your WordPress permalink structure’ »

WordPress in itself is a decent system but plugins can really take it to the next level. Adding top WordPress plugins can make WordPress into the Swiss Army Knife of websites: just pull out whatever functionality you need for your specific site!

Top WordPress plugins

Many people have asked us for our list of top WordPress plugins. Of course, we’ve written quite a few WordPress plugins ourselves, but the list of great WordPress plugins is much larger than that. In the article below, we list the top WordPress plugins we use ourselves, on this site or other sites we build, analyze & optimize. This list changes over time; this is probably not the last time we updated it. Note: we listed the plugins in random order.

Let’s go.

WP Rocket

It makes the sites you build perform to your expectations, instead of slowly crawling. And yes, I think every site should be cached to get the maximum performance for each and every user, not just when you start hitting social sites. We recommend using WP Rocket for that.

On a side note: we really like WP Rocket, but if your site is hosted by a great company like SiteGround (like ours is) caching and more speed optimization is taken care of. This eliminates the need for a caching plugin.

Google Analytics by Monster Insights

Since we sold our Google Analytics for WordPress plugin to Monster Insights, they have actively developed and improved what we feel is the best plugin for adding and analyzing Google Analytics data right in your WordPress dashboard. Please check out Google Analytics by Monster Insights for yourself.

Nested Pages

If your site grows larger and larger, you might start to feel the need to move around some pages. A decent site structure helps Google to crawl your site in the most efficient way. Nested Pages uses a nice drag-and-drop interface to maintain that site structure.

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

Yoast SEO for WordPress pluginBuy now » Info

AMP

We predict a vast increase in the number of sites that are built solely in AMP as a replacement for your regular website. It probably takes some years, but bottom line is that AMP makes your website more user-focused and faster. Prepare your website with this plugins: AMP.

BlogVault

Not having a backup isn’t an option if you rely on your website for your business. For Yoast SEO Care, we rely on Blogvault to create backups of every site we address. For your website, BlogVault creates incremental backups, so your site won’t be overloaded.

Sucuri WAF

It’s no secret that we really like Sucuri’s security solutions for WordPress. Awesome security monitoring and great service. At least install their Sucuri Scanner plugin. But I recommend checking Sucuri WAF and other products and decide what works best for you.

WP Google Authenticator

I wouldn’t even overthink adding this plugin to your WordPress site. It’s no hassle and will add an extra layer of security to your website. An alternative could be Rublon, which works in a similar manner, but we usually use WP Google Authenticator.

Login Lockdown

For an extra layer of security, we recommend installing a plugin like Login Lockdown, that prevents automated login requests from firing a gazillion login attempts. If some IP range does a surplus of attempts, the login function is disabled for all requests from that range. For more details, check Login Lockdown in the plugin repo.

Any image compression plugin

Yes, I would like to name just one. But the truth is that it depends on your website what plugin works best. We have used Smush, tried EWWW. Kraken.io has a plugin and ShortPixel has one. And has anyone tried the premium Imagify? I would really like to see a comparison for these plugins from an independent, image-heavy website. For now: pick one and use it.

Ninja Forms or Gravity Forms

Both are great plugins to create drag-and-drop forms. Both provide an option for conditional logic and are really easy to use. If you have a form on your website, and any website that has a contact page should have a form, I recommend using Gravity Forms or Ninja Forms.

Better Search Replace

Sometimes you need to do a search and replace in your database in order to make things work right, like after a domain migration. There are more plugins that can help you do a search and replace in your database, but we have used Better Search Replace and found it very helpful. As database actions shouldn’t be taken lightly, I recommend always performing a so-called dry run before doing the actual replacement. This plugin allows for that dry run.

No, we’re not leaving our own main plugin out here. Simply because you really need it.

Yoast SEO plugin for WordPress

We believe this is the best SEO plugin out there, in our own humble opinion of course. Install it on all your websites, simply because it takes care of all the SEO hassle and guides your editors into better writing.

To date, this is the only SEO plugin that is developed by SEO experts, where all the others are made by friendly people that are first and foremost software developers. We stay on top of any changes in SEO and make sure these changes are implemented in the way we optimize your website. That is why we feel our Yoast SEO for WordPress plugin should definitely be in this list of top WordPress plugins.

Read more: ‘5 handy WordPress plugins for your blog’ »