My list of trusted WordPress plugins for 2020 and beyond

Reading Time: 8 minutes

Ask various developers what their preferred list of WordPress plugins is and you’ll get a varied and subjective list. The immense repository of WordPress plugins available to users is so overwhelmingly vast, it’s likely that nobodies two lists will look the same. With that being said, I’ve decided to write my list of trusted WordPress plugins for 2020 and beyond.

Before I continue, I should note that all of these plugins are 100% free, unless otherwise stated. I will be touching on some Premium plugins, but only a few as I want to make this list as accessible as possible.



Category: Mobile

Implementing AMP into a website has never been so easy thanks to the official plugin for WordPress.

The plugin can be configured to follow one of three different template modes: Standard, Transitional, and Reader.

In Standard mode, you use AMP as the framework for your site, and there need not be any separate AMP and non-AMP versions. When configured to operate in Reader and Transitional modes, a given page will have a canonical URL as well as a corresponding (paired) AMP URL.

The most important thing to understand about the plugin is that it’s not serving as a mobile theme; it does not redirect mobile devices to the AMP version. Instead, the AMP version is served to mobile visitors when they find the content on platforms such as Twitter, Pinterest, Google Search, and others.


Block Bad Queries (BBQ)


Category: Security. (Free & Pro version available)

BBQ is a great light-weight bad query blocker that protects your site against malicious URL requests. The plugin checks all incoming traffic and quietly blocks bad requests containing nasty server requests and excessively long request-strings.

The best part of it is that it’s a simple yet solid solution that requires no configuration. The free version is good for most blogs, but the Pro version comes with a lot more configurable features such as a customizable firewall and additional scanners.

Due to this plugin’s light-weight nature, I often prefer it when compared to its meaty alternative, Wordfence Security.


Wordfence Security


Category: Security. (Free & Pro version available)

Probably one of if not the most popular WordPress security plugin out there, Wordfence sets out to secure your WordPress website in a number of ways and ultimately excels at it.

Wordfence includes an endpoint firewall, login security protection, traffic monitoring and malware scanner to name a few. The free version is a superb WAF (Web Application Firewall) and shelling out for the Pro version does come with additional benefits such as real-time firewall rules and advanced scanners.

The plugin has helped me out a couple of times for websites that have been both compromised and under attack.

If you looking for solid security for a WordPress website, I think very few could argue against Wordfence – it’s extremely good at what it does and coupled with the fact that it’s highly configurable, that’s definitely a plus for any WordPress website from a tiny blog to a full-fledged corporate website.


Contact Form 7

Custom Form 7

Category: Forms

Contact Form 7 is not the best form plugin out there. However, it does one thing really well; simple no-frills forms for your website.

The popular plugin has some missing features one would come to expect from modern WordPress form plugins (see Gravity Forms below) such as saving submissions, conditional form fields and submission redirects – but those can either be remedied with additional plugins.

When I’m looking to add a super simple no-frills form to a website, Contact Form 7 (coupled with the next plugin I’m about to discuss) is my go-to. For more advanced form features, I usually look elsewhere like Gravity Forms.




Category: Forms. (Requires Contact Form 7 to operate)

Flamingo is a straight-forward submission saving plugin for Contact Form 7.

Because Contact Form 7 doesn’t have a submission saving functionality, one usually has to rely on another plugin to extend its functionality and this is where Flamingo comes in.

Each time a Contact Form 7 form is filled out and submitted, Flamingo will log that submission. A nice little touch is that Flamingo can export all entries as a CSV file – handy for reports.

Flamingo goes hand-in-hand with Contact Form 7 and coupling the two together will bring much desired additional functionality to a rather simple plugin.


Gravity Forms

Gravity Forms

Category: Forms. (Premium plugin only)

Gravity Forms is a modern form solution that goes over and above the basic functionality that something like Contact Form 7 and Flamingo provides.

Features like advanced fields, conditional logic, friendly interface, hooks, add-ons (upon add-ons) and an API makes Gravity Forms a much more extensible and developer-friendly solution to working with forms in WordPress.

I’d definitely opt for Gravity Forms over Contact Form 7 if I’m going to be implementing forms on a larger website or a website that requires forms to be more flexible.


LiteSpeed Cache

LiteSpeed Cache

Category: Caching

WordPress has many well known caching plugins, but none of them quite come close to the speed and configuration that LiteSpeed Cache offers.

I personally find caching plugins such as W3 Total Cache, WP Rocket, Autoptimize and WP Super Cache to be hit or miss – more often miss than hit thanks to their fiddly nature, but LiteSpeed Cache for WordPress takes caching to a whole new level.

The way it presents itself and works with the user to optimize caching potential feels like a breath of fresh air in a sea of other caching plugins all trying to do the exact same thing.

LiteSpeed cache comparison

I found this plugin also offers more modern features over other caching plugins such as HTTP/2 & QUIC support, ESI (Edge Side Includes) support, Cloudflare and Memcached/LSMCD/Redis support.

If you’re looking for a solid and modern caching solution of WordPress, I’d definitely urge you to give LiteSpeed Cache a chance.




Category: SEO

Broken website links are not only a headache for the user but adversely affect your SEO rankings.

Redirection is a great management tool that not only shows you broken URLs users are hitting on your website, but it allows you to put a redirect in place.

The plugin also features logging, conditional redirects, import & export functionality, 404 tracking and permission-based redirection.

In most cases, the usefulness of this plugin becomes apparent if change the slug of a long-standing WordPress post and need users quickly redirected to the new URL.


SSL Insecure Content Fixer

SSL Insecure Content Fixer

Category: SEO & Security

While something like mixed content warnings can be resolved with a few well-placed rules to a .htaccess file, SSL Insecure Content Fixer makes it even easier and future proofs requests from trying to reach http:// over https:// ever again.

The plugin comes with 5 levels of fixing insecure requests, from simple to full. The plugin also makes provision for additional fixes for WooCommerce https:// issues.

There isn’t a whole lot more to this plugin, but it still goes on my list of trusted and necessary WordPress plugins for quickly dealing with mixed content warnings and ensuring https is locked into your website across the board.


Yoast SEO

Yoast SEO

Category: SEO (Free & Premium version available)

What can be said about Yoast SEO that most people don’t already know about? Arguably the best SEO plugin for WordPress, it’s not hard to see why this is an essential and super popular choice for WordPress websites.

While the free version pretty much contains the features most will need, there is a Premium version of the plugin that offers even more options.

If you looking for a solid SEO plugin that ticks most of the boxes, Yoast SEO is undeniably it.


Custom Post Type UI

Custom Post Type UI

Category: Extensibility

I’m personally not a fan of plugins that set out to do just one thing, especially if said thing can be done in code. However, I will always make an exception for CPT UI.

Custom Post Type UI provides a super easy to use interface for creating and managing custom post types and taxonomies on your website. When it comes to extending WordPress websites, ACF (see below) and CPT UI is usually my first stop.

Why this plugin is not part of WordPress core yet boggles me, but never has it been so easy to manage custom post types.


ACF – Advanced Custom Fields


Category: Extensibility. (Free & Pro version available)

ACF is another amazing plugin that I believe WordPress should buy and incorporate into core. The amazing flexibility and potential it provides for a website make it a super popular and trusted option.

While the free version is fine, it’s the power of the Pro version where the plugin really shines brightly with it’s repeater fields, flexible content fields and clone field functionality.

If you’re building a website with slightly more complexity than your standard website, it’s likely you’re going to run in to the need for something that offers the features that ACF provides.




Category: Menu (Premium Plugin)

Sure, the standard menu WordPress is fine when you’re operating within the realm of its limits, but if you looking to include larger, more complex menus then I have no doubt that you’re going to run into trouble.

UberMenu grants the ability to create some really unique, super complex menus that can contain some interesting features such as maps, contact forms, dynamic content, shortcodes and tabbed submenus.

I’ve used UberMenu many times in past projects and can vouch for its super ease of use and the huge amount of flexibility it gives a developer to really make those website menus pop.


WP All Import

WP All Import

Category: Data (Premium Plugin)

If you’ve worked with data manipulation like getting batches of data out or into a WordPress website, you’ll know it can be a bit of a hassle. Thankfully WP All Import has come to my rescue a few times in the past.

WP All Import grants a developer to import data into to any theme or plugin field, update existing content with new data, import WooCommerce, ACF, users, listings and also includes automatic scheduling for those times when you want imports/exports to run on a timely manner.

The ability to also get exported data out of a plugin (and into Excel, XML or CSV) or the need to get CSV, RSS, JSON, XML, or Excel data sources into a plugin or custom post type quickly makes WP All Import a highly valuable tool well worth the price tag.


I hope you enjoyed my list of trusted WordPress plugins for 2020 and beyond. Going forward, I’ll try keep this list updated by adding any other trusted plugins I use on a regular basis that I feel belong on here.

Drupal: 2019, the year of Twigging

Reading Time: 2 minutes

Drupal 8 Logo

Having worked with WordPress and Joomla over the years, one CMS always eluded me; Drupal. It wasn’t that I never wanted to work with Drupal, to be honest with you, the opportunity to learn while working with it just never happened.

I initially stumbled upon Drupal 6 many years ago – but I never fully explored it. I then dabbled in a bit of Drupal 7 many years later, but never to the extent of producing anything official or worth showing anyone. Thankfully this year my luck changed and I finally got around to extensively working with Drupal 8 on not just one, but two major projects.

Drupal is a free and open-source content management framework written in PHP. Drupal provides a back-end framework for at least 2.3% of all websites worldwide – ranging from personal blogs to corporate, political, and government sites.


I’ll admit, going into Drupal my knowledge beyond the basics wasn’t very high. I found the learning curve a little rough initially, especially when I’ve been so accustomed to WordPress for so long.

Along the way, there were many curve balls that caught me off guard; from the way Drupal’s internals work to the way it expects the developer to work. An added level of complexity came from layering Docker on our build and also getting comfortable with Drush (a command line tool for Drupal), all while building a time-sensitive project that had to be delivered on time and on budget.

Over the past 10 months, working exclusively with Drupal 8 and successfully launching two large websites I’ve found a new respect for this CMS. As a CMS, what it sets out to achieve, it does fairly well albeit it still has some rough edges, but it’s nothing a little bit of work can’t resolve.

Along the way, I did encounter a few head-scratchily annoying issues (some settings can be fiddly), but nothing that was a deal breaker when it comes to learning more and using the CMS again in the future.

One small gripe I feel I must mention is how Drupal 8 uses Twig for theming. While it’s meant to be more ‘developer friendly’, I find it’s the opposite especially when one has to look up the Twig equivalent of commonly used PHP functions.

Twig is a template engine for the PHP programming language. Its syntax originates from Jinja and Django templates.


Would I use Drupal to build a simple one page website? The answer is no. I’d still resort to using WordPress or at least straight-forward HTML. My feeling is that Drupal is a little over-engineered for that. But if you ask me to build a booking website or something that requires a bit of data capturing with web presentation on the front-end, I’d definitely be more open to using Drupal over WordPress.

With Drupal 9 on the horizon, the future for Drupal looks bright. I look forward to revisiting this CMS one day soon.

YouTube Channels For Learning Web Development

Reading Time: 2 minutes


Thinking about teaching yourself web development? Perhaps out of interest, a potential career change or just our of curiosity? Well, the good news is that learning web development does not have to cost you a cent.

There are two key ingredients you will need and those are patience and practice. That’s it!

Where to start learning web dev?!

YouTube is a massive resource for free learning opportunities. There are many people out there, who are committed to sharing knowledge by creating good course content.

Even if you’re already a well-versed web developer, YouTube is a great resource to pick up a new skill set.

There are of course other ways to pick up learning web development for free, but for the purpose of this article, I want to focus on using YouTube as a free and accessible resource for new comers.

What do I need to start learning web dev?

Besides the two key ingredients I mentioned above; patience and practice, you will also need the following things to make your life a lot easier:

  • A Mac or computer with Windows / Linux (Ubuntu)
  • Access to the internet.
  • A good web browser like Chrome(Free) or Firefox (Free)
  • A good code editor like Visual Studio Code (Free) or Sublime (Free)

That’s it! Let’s move on to the free courses…

Learning To Code

The free courses at your fingertips

Codecourse |

YouTube Channel:

Some free courses on offer by Codecourse:

Coding Addict

YouTube Channel:

Some free course on offer by Coding Addict:

Corey Schafer |

YouTube Channel:

Some free course on offer by Cory Schafer:

CS Dojo |

YouTube Channel:

Some free courses on offer by CS Dojo: |

YouTube Channel:

Some free courses on offer by

YouTube Channel:

Some free courses on offer by

LevelUpTuts |

YouTube Channel:

Some free courses on offer by LevelUpTuts:

Traversy Media |

YouTube Channel:

Some free courses on offer by Traversy Media:


YouTube Channel:

Some free courses on offer by sentdex:

And that concludes my list of free YouTube resources on getting started with web development!

If you feel that I’ve missed some channels offering free web dev courses, please let me know in the comments below.

What Is Web Development?

Reading Time: 5 minutes

Over the years, many people have asked me “How did you get started in making websites?”, “I want to get into web development, please help me?” and often it’s followed by a long convoluted explanation. I want to create a basic guide here for people looking for answers and do my best in pointing them in the right direction, assuming they are interested in a career in website development.

The truth is that there is no single correct path one can take in the journey to becoming a website developer – every website developer out there will give you a different story on how he/she did it and offer you advice – listen to them as none of them is wrong. We all got here in different ways.

Technologies that power the web are constantly evolving and new career paths and technologies are forged every day. Here are just some of the web developer careers paths one can venture down:

  • Website Developer
  • Website Designer
  • Front-end Developer
  • Back-end Developer
    • PHP Developer
    • Python Developer
    • .NET Developer
  • UX Designer
  • DevOps

Any web developer worth their salt usually has the same foundational knowledge. It’s likely they would have started learning the same three basic web languages and at the very least know the following technologies well: (This would also be your starting point if you know absolutely nothing about website development)

  • HTML (HTML5 is the current standard)
  • CSS (CSS3 is the current standard)
  • JavaScript (Also known as ECMAScript – 3rd edition at the very least)

From here on out, the roles start to require a person knowing different technology and scripting languages.  Each website developer role knows at least one server scripting language, with the most common ones being; (You would typically pick at least one and try get really good at it)

Once you’ve got the basic foundations down, your next step would be learning at least one library, one framework, one database technology and one web server technology (sounds like a lot, but it’s more cohesive than you think). It’s usually at about this point, a person would be deemed ’employable’ and could start earning a living off of website development.

PHP Syntax
A basic example of PHP. Some PHP syntax has been added to an HTML page.

What is a library?

A web library is best described as a collection of common functions and behaviours. It’s usually one or a collection of files that a developer can include or embed into their code. By including a library, you can add simple or complex features to your website and not have to worry about writing lengthy code to achieve it.

Common libraries found on modern websites: (good to know as many as possible)

  • jQuery (simplifies JavaScript)
  • Font Awesome (adds easy to use icons)
  • Bootstrap (adds an easy to use responsive layout and components)
  • React (JavaScript library for building interfaces)
  • D3.js (manipulating documents based on data)
  • Backbone.js (give your JavaScript code access to Models, Views, Collections, and Events)
  • three.js (create and display animated 3D computer graphics in a web browser)

jQuery example
A basic jQuery example. In this example, the jQuery was included and the simple ability to hide a few paragraphs with the click of a button was added. This would typically take a bit more code if you wrote it with just Javascript

What is a framework?

A web framework is a base set of tools (think of construction scaffolding) that a developer can use to build a website. A framework is usually built to take advantage of web server technology and includes many libraries and building blocks to ease a developers workflow, speeding up development. Probably the most well know and well-used framework in the world is WordPress, a content management system (CMS for short) built with PHP.

Common frameworks: (good to know at least one)

Laravel features
Features the Laravel framework provides a web developer to build with.

What is a database?

Think of a database as a spreadsheet for your website, only on a larger scale. It’s data stored behind the scenes that won’t necessarily be always served to the end-user and it can be manipulated in a vast number of ways before its ever shown to the user. You would store data such as content for blog posts, user information/profiles data and even some basic settings if you’d wish.

Common database technologies: (good to know at least one)

Wordpress Database
An example of a very basic database. These 12 tables you see represent the basics of a WordPress database.

What is a web server?

A web server is a technology that serves up all the above to the end-user. It’s responsible for linking all the above together and ensuring the end-user sees a website when they type in a website address and the DNS has sent them to your website. Think of it as the butler who answers the door to a lavish mansion and shows you up the stairs, to your room.

Common web server technologies: (good to know at least one)

Web Server
A very basic example of a user, using the internet to hit your web server that serves your website.


Visualising the structure of a WordPress website:

Visualising Web Development Technologies
Visualising Web Development Technologies

Closing Words

I have two tidbits of good news to share with you. Firstly, the path to becoming a web developer has a relatively low barrier to entry, possibly more so than any other IT fields. You can become a successful website developer without ever spending any money as there are TONS of resource with free guides and tutorials out there. The only difference between you and someone who is making a living as a web developer is that they have taken the time to learn the basics and the required technologies.

Secondly, all the technologies I have mentioned in the article above is 100% free to download, use and get your hands dirty with. You can go from learning to building to launching your first website project for next to nothing.

I’ll be following this article up in due time with learning resources and further advice.

When it comes to learning web development; time and a terrible internet connection is your only enemy. vs

Reading Time: 3 minutes vs What’s the difference?

If you’re new to the world of WordPress or website development, you may be wondering what the difference between vs is?

The short answer is; is a service and is software.

Both do the exact same thing and they do it exceptionally well, however they each deliver the same set of tools in significantly different way.

The official WordPress website sums it up pretty well and uses a comparison table when talking about the two versions:
Focus on your beautiful content, and let us handle the rest.
Get your hands dirty, and host your website yourself.
Premium hosting, security, and backups are included. You can even upgrade to a custom domain, like You’ll need to find a host, and perform backups and maintenance yourself. We offer VaultPress for security and backups.
Choose from hundreds of beautiful themes. Make it your own with Custom Design. Install custom themes. Build your own with PHP and CSS.
Integrate your site with Facebook, Twitter, Tumblr, and other social networks. Install a plugin, like Jetpack, to enable sharing functionality on your site.
Popular features like sharing, stats, comments, and polls are included. There’s no need to install plugins. Install plugins to extend your site’s functionality.
Personal support and the forums are always available. Visit the support forums for assistance.
You must register for an account on and abide by our Terms of Service. No registration with is required.


The above table is useful, but it doesn’t help a user’s laymen understanding of vs Using the above table, I’ve somewhat modified the information into something a little bit more relatable and user specific.
“I just want to post and blog about cool stuff. I don’t care how it looks.”
“I want a cool website and I want control over every aspect.”
Aimed at a less-tech savvy user who want to hit the floor running with content. Aimed at more skilled users who probably know a few things or two about creating a website.
I don’t want to pay a cent and I want somebody to host the website for me. I will host my own website which I don’t mind paying a monthly fee for.
I just want to choose a pretty layout and not make one. I want to code my own style, with maximum customizability.
I don’t care much for plugins. Mostly because I don’t know what they do. I want to tweak my website with fancy or niche features and the way I want it.
If I get stuck, I want to have it fixed quickly with minimal effort. I am probably going to get stuck while working out my website and don’t mind spending some time fixing it.
I don’t mind registering with WordPress. Thanks for the software WordPress, but you won’t know a thing about me!
Target Audience:
Soccer moms, Dads who want to blog about parenthood or your little brother who loves anime.
Target Audience:
Web developers, geeks or tech enthusiasts looking to create something impressive.
Coolness factor:
3 / 10
Coolness factor:
8 / 10

At the end of the day, if content is your primary focus, which it should be, both iterations of WordPress are going to serve you well. One is just going to give you more control over the one than the other in terms of flexibility, but at the cost of technical know how.

Personal advice: Go with Download the source code, setup XAMPP on your machine and go the more technical route. It may be a bit more tricky to grasp, especially if you’re still starting out in the world of website development, but it’s so much more rewarding.

My Top 10 Recommended Brackets Extensions for 2016

Reading Time: 4 minutes

brackets ide

Brackets_Icon.svgBrackets from Adobe is one of the fastest growing used text editors for web developers. Released just over a year ago, it’s become a great free IDE to code with and I’m finding it preferable to use over Sublime and Atom.

“A modern, open source text editor that understands web design.”

Because it’s relatively new on the scene, some new users may not be aware of it’s fantastic free extensions that can be installed via the Extension Manager within the application itself.

Below is a list of my top 10 recommended extensions (in no particular order) to use for Brackets – all of which are available to install within the Extension Manager.

1. Beautify

Beautify is a useful extension that formats your HTML, CSS and JS code into a neat and clean layout. Sometimes you get so carried away coding, it’s not always easy to keep it neat and tidy. Beautify takes care of all of that and is certainly useful if you’re a neat code freak who loves ordered code like me.


2. Brackets Icons

The default file icons in Brackets leaves a lot to be desired. They are dreary and dull.  Thankfully this nifty extension swaps out the default icons for more vibrant, easier to spot icons.  Each file extension has a different icon making your website’s folder structure much easier to digest.

Brackets Icons

3. Color Highlighter

This handy extension highlights your CSS code with the actual colour that is written adding more zest to your CSS code. Yet again, this another feature that should be stock standard in Brackets.

Color Highlighter for Brackets

4. Documents Toolbar

Documents Toolbar adds a handy tabbed toolbar with support for various tab colours. It also gives a comprehensive context menu for those tabs so that you can quickly perform a common task quickly such as saving your work.

Documents Toolbar

5. Emmet

Emmet is a well known and popular must-have extension that easily automates syntax, provides dynamic snippets and greatly improves coding speed. It has saved my butt many times in the past.

Something like this:

#page>div.logo+ul#navigation>li*5>a{Item $}

Is quickly and dynamically transformed into this:

<div id="page">
<div class="logo"></div>
<ul id="navigation">
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
<li><a href="">Item 3</a></li>
<li><a href="">Item 4</a></li>
<li><a href="">Item 5</a></li>

Very handy indeed.


6. Image dimension extractor

This nifty little extension quickly extracts the dimensions (width and height in pixels) of an image or a CSS Background property. Handy if you’re making newsletters and coding an image-intensive HTML page.


7. Interactive Linter

Of all extensions mentioned here, this would rank very very high as a necessity. Linters in text editors are nothing new, but Interactive Linter for Brackets is one of the best I’ve seen yet. It’s unobtrusive, fast and does an excellent job and watching out for coding errors.


8. Minimap

If you ever wanted Brackets to look and behave more like Sublime Text Editor, Minimap would be a great starting point.  The awesome minimap feature of Sublime is available to Brackets via an extension and it works just as well.


9. Right Click Extended

This basic extension doesn’t do much apart from adding a few additional, yet much needed functions to the right-click menu like the ability to Cut, Copy and Paste. Why these basic functions are missing from the core of Brackets is a little weird, but this extension makes up for that.


10. Reasonable Comments

Commenting is a workflow process we should all be doing for easier readability of future code. This extension simpifies commenting by automating the comment block to extend dynamically as you press enter.



Brackets 1.0 by Adobe was initially released on the 4th November 2014. It’s actively developed and is available for free on Windows, Mac and Linux. It’s open source, supports extensions and themes and has a Live Preview feature. At the time of writing Brackets version 1.5 is latest available version.