There are plenty of listicles rounding up the top plugins for WordPress. This post isn’t really an attempt at listing even more plugins, or better plugins. Think of it more as a definitive list of the must-have plugins for a clean blog setup.
Before diving in, we’ll go through what we think are the most important things a blog’s technical setup should address, and then roundup our top picks for user experience, loading times, SEO, and lead capture / monetization.
What makes for a good blog setup?
1. User experience
User experience is probably the one most important thing you want your blog setup to work for. The si ne qua non condition to any blog’s success is being read.
Good user experience for blogs really boils down to a few simple things.
Easy navigation
Readers need to be able to find the information they’re looking for as easily as possible.
This means working on:
- Table of contents: readers should be able to assess whether reading your post will give them the answer they’re looking for. And if 100 words at the bottom of the post will do the trick, give them a shortcut before they bounce.
- Links, CTAs, buttons: Overall, giving easy access to related content. Have you ever wandered on wikipedia going from link to link? This is what we’re referring to. Make that easy.
- Content structure, categories, tags, and all the other marvelous WordPress features to organize your content. The objective is to give very clear contextual hints to readers landing on a blog post. Remember your readers typically come to your blog from a very specific keyword search, and usually have no idea who you are and what you do. Making this as easy to understand as possible helps give context to your content.
Reading experience
The tone and language used obviously matter a lot here, but your blog setup should support this.
- The default font-size should be large enough. We recommend 17 or 18px.
- The font you’re using should be easy to read. Sans serif fonts are typically best on the web.
- Be as visual as possible. Nobody wants to read 200 word-long paragraphs. Use illustrations as much as possible to bring your points home, and opt for digestible formats like tables, graphs and schemas to display complex information.
Mobile experience
We won’t spend hours detailing this. The internet is increasingly mobile, even for niche, business-oriented topics—you can’t ignore this.
- Are video ads taking up half the screen like on most major news outlets these days?
- Can you actually scroll to the bottom of the screen or is some big un-scrollable element sitting in the middle of the post, effectively blocking users from accessing the rest?
- Can readers subscribe to your newsletter without going through seven different fields. Can they hit “next” easily on a phone?
Always think of the mobile experience not just as an extension of the classic desktop experience, but as an actual experience.
2. Loading times
There’s no doubt that loading times have a direct impact on bounce rates. For context, we’ll define a “bounce” here as landing on a page, not clicking or scrolling, and leaving the page. That’s probably how you should set this up on Google Analytics by the way, which it isn’t by default—but we’ll get back to that in another post.
The only theoretical question here is how much. How much do loading times impact bounce rates? Pingdom published a pretty detailed study, where they show that bounce rates soar from 6% for 2 seconds full load time, up to 11% for 3 seconds.
One second extra will 2X your (initial) bounce rate. You most definitely want your blog setup to not cost you that extra second.
3. Efficient SEO setup
Another must-have if you’re hoping to be read is being found. Search Engine Optimization is probably one of the most written about topics, and there are amazing resources when it comes to doing it properly.
In this post, we’ll stick to the basics: make sure your technical setup is optimised for Search Engines to crawl, understand, and index your content easily.
- Are you making Google’s life easier? How fast Google can crawl your content has to do with loading times, but also has a lot to do with your markup, whether you’re using schema.org syntax properly, and the proper use of WordPress’ taxonomies, sitemaps, robots.txt, internal linking, etc.
- A good blog setup will also make it easy for you to access and customize your appearance on Google Search Engine Results Pages (or SERPs for short). Simple things like customizing your meta titles, descriptions, open graph syntax etc. should definitely be optimized.
4. Efficient lead capture
Running a blog costs money, make no mistake about it. Web development is costly, writing is costly, getting links is costly, even hosting is increasingly costly.
Whether you’re writing to drive business or for yourself, you’ll need to think of some way to monetize your blog.
And Google Adsense isn’t exactly the best you can do.
Having efficient processes to capture emails, build a list, and redirect traffic to money-making posts is absolutely essential to running a successful blog.
5. Easy updates
Running a blog is also about being efficient. At first, you won’t have to deal with much, but after 10, 20, or 50 posts are live, you’ll start having maintenance issues. And these issues will only get worse over time.
Luckily, blogs aren’t only made of unique content. There’s a lot of “re-usable” stuff on a blog. Headers, footers, widgets, bits of code to display a video or an iframe nicely, CTA blocks, buttons, links, etc. Developers would call these “components”.
A good blog setup lets you leverage a centralized way of updating these components across your entire blog, so you can iterate and optimize often.
6. Dynamic content
Another thing to consider is leveraging dynamic content. It’s great to write a longform review about software, but odds are you won’t want to update it every couple of months, or every time their pricing changes, or whenever they release a new feature.
Not to mention comparison pages, where you compare the same software to 10 others. That would be 10 updates anytime one of them decides to change something 🙉
A good blog setup lets you leverage data as a way to generate massive amounts of relevant content, without having to write it. Think of comparison tables, review ratings blocks, or even listicles. If this can be updated automatically, or at least only once for a number of different pages, you’re saving massive amounts of time and money.
Best WordPress plugins for blogs: Provide a spotless reading experience
1. Easy Table of Contents
Good navigation forms the basis of good user experience on a blog. Nobody wants to read 4000 words about what the best plugins are for a WordPress blog. Even you were probably looking for something specific when you landed on this post. Making it easy to find that particular part of the post (or lack thereof) is absolutely essential.
Providing an easily accessible table of contents, for example on the sidebar, allows users to access any specific part of the post at any given time.
Easy Table of Contents is a simple, straightforward plugin that adds anchor links to all your titles (h2, h3, etc.) and creates a simple navigation menu, which you can display before the post, or as a widget.
From there, it’s just a matter of customizing it to show (or not show) based on the “active” CSS class which the plugin also handles. Whenever the reader is within a section, that section will show up as “active” on the table of contents.
On this website, we simply added the following lines of CSS to our website for this to display the way it does:
- Hide H3 unless active
li.ez-toc-heading-level-3{ display:none; }
- Hide previous H3 within H2
li.ez-toc-heading-level-3.active, li.ez-toc-heading-level-2.active li.ez-toc-heading-level-3, li.ez-toc-heading-level-3.active ~ li{ display:list-item }
- Highlight a hovered link the same way it’s highlighted when active
a.ez-toc-link:hover { font-weight: 900; }
Another really cool feature of this plugin is it allows you to customize the titles you’re using in the table of contents. If your post titles are a bit long, it gets messy and hard to read in a compact table of contents. Luckily, you can easily customize this on each post, to ensure top-notch readability while keeping detailed titles.
It’s really easy to customize, and the plugin takes care of setting up the basic markup required for everything to work properly.
The biggest downside, however, is that it does that on the fly when generating the page which can affect your loading times if you aren’t careful.
We’ll see later on in this post how to avoid that.
2. Widget Logic
The sidebar on any article is a great place to offer additional information, and contextualize it properly.
This typically can be handled by very heavy plugins, or lots of code. Which is why this plugin is absolute magic.
It very simply allows you to write WordPress query parameters within the widget’s interface. Sounds scary, but it’s honestly a lot simpler than it sounds.
For example, if you want the widget to only appear on a specific page, you’ll just need to input is_single(‘post-slug’).
Single means ‘post’ in WordPress terms. If you’re looking to only show a widget on a specific page: is_page(‘page-slug’).
You can also use page and post ids. The plugin leverages WP query parameters, and luckily, they’re thoroughly documented here.
Important
As of WP 5.8, this plugin only works if used with another plugin called Classic Widgets. Hopefully this will change, or we’ll find another plugin which can support the latest widgets interface.
3. Ninja Tables
Tables are one of the easiest way to display information clearly.
Ninja Tables is a very practical and easy-to-use plugin, with a pretty extensive feature set.
The free version is more than enough for most use cases, especially considering it offers HTML inputs, which essentially allows for unlimited customization.
The premium version allows you to customize your tables even further, adding custom sorting and things like that. Most blogs won’t really feel the need as you can pretty much always work around it, but it’s clearly a huge time saver to just go premium. And at only $49/year a single site, it’s a bargain.
Something to consider
After using the plugin for a while, we noticed that it doesn’t, by default, allow “author” roles on WordPress to create a new table. This is a pretty annoying limitation for bigger blogs with bigger teams, where you want to maintain proper user management, yet still allow authors to build tables. We found the following workaround to work nicely. Just add this code to functions.php, it’s pretty self-exaplanatory. If you haven’t already, create a child theme before doing any of this.
//Give writers access to ninja tables
add_filter('ninja_table_admin_role', function ($capability) {
return 'edit_posts';
});
Best plugins for bloggers: Hyper fast loading times
1. Cloudflare
Cloudflare is a well known CDN, security, and DNS solution in the developers’ world. Over 25 million internet properties are powered by Cloudflare.
What we’re interested in here though, is a specific Cloudflare feature, known as “Automatic Platform Optimization”.
We won’t go into how webpage loading works in this post (Cloudflare does an awesome job at explaining it here). But the main takeaway is this plugin completely eliminates any TTFB (Time To First Byte) problems you may be facing.
It also makes your hosting choice completely irrelevant to loading times. And finally it makes your loading times a lot faster, everywhere on the planet thanks to Cloudflare’s network.
The official plugin requires a $5/month subscription (or a Pro Plan on Cloudflare, but blogs rarely need this).
There is a free alternative plugin which essentially does the same job, but it’s a lot scrappier, and often leads to caching issues. If you’re not used to this and not super confident about how it caching works, pay the $5/month and avoid the headaches.
It’s easy to get confused by browser cache, cache plugins, and server cache (as marketed by Kinsta and WPEngine). These are different things and not nearly as effective as setting up Cloudflare’s Automatic Platform Optimization.
We’re preping a post on this specific topic but it really boils down to the way the internet works. If you’re curious, Cloudflare thoroughly explains what static content is, and how it differs from dynamic content.
2. Lazy Load
The other costly part of loading a webpage is images. Images are heavy and incredibly slow to load. But we wouldn’t be able to offer good user experience without them.
Lazy loading means we only load an image or asset when required, i.e. when a user scrolls to it.
A webpage typically contains many images, but they’re not all displayed on screen at the same time. Lazy loading them makes your pages much lighter since the browser won’t wait to have all images loaded before showing the page.
It’s the oldest and simplest trick in the book, but it’s dramatically efficient, and makes a massive difference.
The simplest plugin we’ve found to do this—and it does it really well.
3. ShortPixel Image Optimizer
ShortPixel also helps optimize images, but in a fairly different way.
It uses two different ideas for optimization:
- If you’re loading an image on a smartphone, it doesn’t need to be as big as if you’re loading the same image on a widescreen laptop. Every screen size needs images of different sizes. Technically, it’s not difficult to display the smallest possible image, but there are many different screen-sizes, and it’s just a lot of work to handle this properly. This plugin handles this really well, and only loads the smallest image possible on every page request.
- Lossless or Lossful optimization. This is the part that they charge for, and it’s well worth the $5/month. Every time you upload an image to your WordPress server, it will compress that image, depending on rules you set. The same compression rules apply to all images of different sizes. Image compression algorithms are widespread now, and they’re not particularly complex to work with, but it’s a breeze to have this taken care of automatically.
The WebP question
WebP is an image format which was developed by Google and helps save, on average, 25 to 35% of the image file size compared to JPEG or PNG.
In reality, however, image compression algorithms are much more efficient on JPEG and PNG, which ultimately means you achieve the same results, without the additional format.
Why is that better? Not all browsers support WebP. But every browser supports JPEG and PNG.
Converting an optimized image to webP generally results in a heavier image file. This is a known limitation of webP.
Would you save a few kBs if you were to immediately convert and optimize to webP? Probably. But then again, you’d have to optimize the JPEG and PNG also, just for accessibility.
While your images might look slightly worse, I personally feel that retro-compatibility & accessibility overweigh the advantages of webP.
This might change in the future, but for now, webP is a no go as far as I’m concerned.
Best plugins for blogs: SEO
1. Yoast SEO
Yoast is definitely the leader when it comes to SEO WordPress plugins. It offers a ton of features, even with the free version.
We typically stick to the free version to handle basic indexation rules, sitemaps, and for customizing meta titles and descriptions.
However, the paid plan comes with a ton of features, and very good onsite content optimization recommendations for just $89/year. It definitely makes your life easier if you’re not really sure where to start when it comes to optimizing content for SEO.
No matter what, the free plan is an absolute no-brainer, and a must-have for any blog.
2. Internal Links Manager
Internal links are a fundamental part of building content clusters. This plugin allows you to automate at least part of your internal linking strategy by consistently pointing a set of keywords to a specific post.
Pro tip
Every time you publish a post, take a minute to go in the plugin and add a few keywords. That way you’re guaranteed that every single post you publish has a few, well optimised links.
To clarify, this doesn’t replace traditional internal linking which is still very much a requirement. It just helps you cover your bases, and ensure a minimum number of incoming links for all your posts.
If you already have some content on your blog, here’s a quick SEO “hack” I think you’ll like.
- Get your keywords/post pairing from Google Search Console. Unfortunately the search console doesn’t allow you to do this directly, but there are many (free) workarounds. Here’s a step by step tutorial for one of them.
- Once you have a list of URLs and keywords these URLs rank for, filter it until it makes sense. For example, you might want to remove keywords that have too low volumes of impressions as they could be quite random. Spend some time here, this is the most critical part.
- Format it into the CSV import format for Internal Links Manager. You can download an example CSV from the plugin’s interface.
- Import all the keywords you currently rank for on all your URLs.
- Be sure to set “only once per post” or your posts are going to be filled with millions of links.
Et voilà, you’ve just created hundreds or thousands of optimized, natural, organic-looking internal links. Sit back and watch traffic roll in.
3. Schema & Structured Data for WP & AMP
Schema.org is a syntax that Google, Microsoft, Yahoo and Yandex (major search engines) agreed on years ago. It’s specific code that websites add to all their pages, to give meta data information to search engines, such as:
- Whether this post is about a product, a news article, a cooking recipe, a music recording, a brick & mortar business, etc.
- Who wrote this post
- How customers rate this post/product/location, etc.
It’s only used by search engines, but it’s very helpful to them. And the general rule with search engines is, if you make their job easier, they’ll prioritize your content over those who don’t.
Using Scheme markup in your posts can help you achieve rich snippets on Search Engine Results Pages.
This specific plugin is feature-packed, allowing you to do basically anything you want when it comes to schema.org. It also comes with “smart settings” that essentially take care of everything for you. They found an excellent trade-off between being able to customize anything without having an overly complex onboarding experience.
It’s entirely free which we also like 🙂
4 kk Star ratings
This is a kind of an SEO “hack”, but it works surprisingly well. The purpose of this plugin is to allow readers to rate your content. Technically, ratings are a lot more relevant for products and services than they are for content, but Google doesn’t really see it that way (for now at least).
The web is clearly becoming more and more social, and Google got the memo. Looks like they overweigh this specific piece of structured data, and it’s surprisingly easy to get a rating rich snippet on Google SERPs.
This plugin is free, easy to setup, and it gets you (5) stars on google result pages, which in turn increases your CTR, which in turn increases your position, your CTR, etc.
I suspect this won’t last very long, but we’ve seen some pretty amazing results with this recently, and it’s definitely “white hat” if your reader reviews are legitimate.
Best WordPress plugins for blog monetization and lead capture
1. Redirection
Redirections are a must-have for any blog. There are a million reasons to redirect one page to another, and you’ll definitely need this at some point.
But the reason it’s a must-have from the start is sponsored and affiliate links. You’ve probably seen some sites handling affiliate sites with URLs that look like /out/software-name or /go/software-name.
That’s a best practice for handling affiliate links, because they can change over time, and after a while, if you have hundreds of posts, you don’t want to have to update them one by one. And because they’re external links, you can’t redirect them. The company you’re linking to could, but you have no control over this.
Making them internal links (i.e. on your own site) allows you to manage this with a lot more flexibility.
Instead of updating every link, you just need to update it once in the redirections plugin. /go/hubspot now goes to this page, instead of that one.
Note: If you’re running Cloudflare full cache (which we recommend), you’ll need to flush your cache for the update to work.
There are many plugins that are built to handle affiliate links specifically, but subscribing to affiliate programs, monitoring your performance across different platforms, etc. is always going to get messy. I personally prefer having a clean spreadsheet with my own processes, and update anything on the site with a very lightweight and simple (and free) redirection plugin.
Probably the most bare bones plugin to handle redirections, but it’s easy to use and the categories help maintain a healthy structure.
2. OptinMonster
OptinMonster is probably the most expensive tool we mention in this listicle. But it’s well worth it. Whether you want to use it for popups, email capture, slide-ins, banners, this tool does it all.
You can configure it to display on specific pages with URL rules, allowing you to segment very precisely what promotional message to push and where.
The exit-intent technology is top-notch, and their drag and drop builder is super easy to use too.
The only (big) downside is the way it handles fonts, loading all webfonts from all campaigns on every single page. Really hope to see an update on this as it’s currently one of the costliest plugins also in terms of website performance.
Absolute no brainer, however, as it allows you to centralize all your lead capture and monetization strategies inside a single tool, which really is the only way to handle marketing pressure properly.
3. Shortcoder
Shortcodes are code shortcuts. You can simply copy-paste a shortcode (it looks something like this: [short-code]) inside your WordPress editor, and it will load a whole bit of code. Most themes use short-codes heavily.
This plugin allows you to write your own short-codes within the WordPress editor interface.
It’s really helpful if you’re using inline banners or CTAs, so that you can update your CTA blocks across the entire blog in literally two seconds.
You can even add custom parameters. For example, you’d be able to setup an “iframe” shortcode so that it displays nicely, full width, 16/9 ratio etc. with a simple “source” parameter.
No more copy-pasting HTML, and fixing weird behavior. Massive time-saver!
4. Your favourite email marketing tool
“The money is in the list”. You’ve probably heard that somewhere.
Why is it though?
- List building allows you to build relationships, and build engagement over time. Your readers might not want to buy anything from you or your partners on day one. In fact a massive portion of your traffic won’t convert on day one. Having a “soft conversion” (email capture) allows you to build a relationship and to build authority. They might convert now, in a month, or in six months. But when they do, be sure they convert with you.
- Building compound effects on your content: Say you get 100 visitors per day on your site. Convert 5% into signing up to your list. That’s 5 subscribers extra, per day. Assuming you deliver on the promise and your churn is zero (it won’t be in real life, but let’s assume), you’re up to 100 subscribers within 20 days. 20 days…and now every time you post a new article, you’ll have a base of readers you can market it to.
I personally recommend Sendinblue because I worked there for 3 years 😇 and it’s a versatile, modular, and cheap solution. Don’t count on their email capture tools however, they’re not the best. Best pair it with something like OptinMonster for some serious business potential.
Sendinblue is free for up to 300 emails/day—basically up to 300 contacts—and then it starts at $25/month for up to 10 000 emails/month—so roughly 2500 contacts if you’re running a weekly newsletter.
The cool thing is you’ll be able to set up a welcome sequence and possibly even a few nurturing emails for free for the first 2000 contacts.
Best WordPress setup for blogs: bonus
1. The best theme for blogs
Genesis is a WordPress theme framework.
- It’s one of the most popular theme frameworks out there, and there are countless child themes, and extensive documentation about every single aspect. If you want to achieve something specific on Genesis, google it, and you’ll probably find a solution on some WordPress forum.
- It provides you with a solid, SEO optimized framework, with all of the basic support you need: breadcrumbs, navigations, page structure, etc.
- The documentation is among the best I’ve read.
- It’s free, and the pro pack goes for just $360/year.
- It provides you with a very clean and simple way to “hook” into any action. This one’s slightly more complex but bear with me. When WordPress generates a page on Genesis, it goes through a linear, predictable process, generating the header, then the widget area, the the content area, and then the footer area. This process is detailed in a “hooks map“. As a developer, it allows you to quickly understand what “hook” to use to customize, remove, or add a specific action.
The big downside, is you won’t really have a CSS framework to work with on a “naked” Genesis framework website. But that really isn’t an issue because we also have an amazing CSS framework to recommend 🙂
2. The best CSS framework for blogs
Bulma is a highly modular CSS framework, meaning it comes with a number of default settings and classes, to help you customise your website without having to write hundreds of lines of CSS.
If you’ve heard of Bootstrap, it’s equivalent in terms of what it does, but it does it better.
- It’s a lot lighter than bootstrap, less developer-focused, and a lot more design-focused.
- It’s very easy to work with, you can customize amostl anything with a couple CSS classes, and you can leverage Sass variables to customise everything (colors, default spacing, etc.)
- It’s very modular: you can choose to only install what you really need, and only load the CSS lines you actually need
- It’s beautiful. Might sound a bit stupid, but it really matters. If you’re not a professional designer, figuring out things like spacing, font-size, etc. isn’t that easy. But Bulma is packed with best practices, you basically can’t get it wrong. It also means you won’t have to customize too much, since most of it is already pixel perfect.
3. The best hosting service for blogs
If you’ve been reading about WordPress, odds are you found a gazillion websites saying this hosting company is better than that one for this and that reason. They’re all affiliate links, and it’s their bread and butter. Can’t blame them to be honest, but it’s probably good to be aware of that fact 😇
If you’re using Cloudflare’s Automatic Platform Optimization, your choice of hosting provider won’t impact loading times.
Your website could take 30 seconds to load a page, but it wouldn’t matter, because it would only load once every 6 to 12 months.
To be more precise, it would only load it once every time you update it. So it’d be slow for you, and none of your users would ever be impacted.
30 seconds is a long time though, you might want to look at what’s going on 😂.
I find that with the loading time issue handled, the decision really becomes a lot simpler:
- Price
- Interface
- Accessibility and flexibility
- Fancy stuff like automatic updates, automatic backups, etc .
mile says
Found a lot of plugins that I didn’t know about. Thanks for this amazing list.