What is a WordPress Plugin?
A plugin for WordPress is something that extends or adds to the functionality of WordPress. If you think about WordPress as a "basic" (it's not really basic, but let's pretend it is for this exercise) blog platform that lets you write and post content, plugins are scripts (very small pieces of software) designed to work seamlessly with WordPress. You add them to your site installation and they let you extend WordPress' functionality to achieve other things.
For example, automatically inserting ads, creating a contact form that will email you, speeding up your website, automatically creating and adding a table of contents to all posts, and various security features. This is a just a very, very limited example of the types of functions that WordPress plugins can do for you and your site.
Installing a WordPress Plugin
Easy! Simply hover over "Plugins" in the left menu of the administration panel and click "Add New". You'll then be taken to a screen like that below where you can search for the plugins you want (I tell you which ones you want right below). Once you've found the plugin you want, click on "Install Now" and just like that the plugin is installed for you and ready to go. It's that easy!
Starting WordPress Plugins I Recommend
This will help protect your blog against spam. To use it, you need to sign up for a free API key here. Once you've entered your API key in the under "Settings" --> "Akismet Anti-Spam" then there is nothing more to do - it will protect your blog comments from spam in the background. Just always be aware that, no matter how hard you try, some spam will likely get through.
Back around September 2019, WordPress changed the way that its post editor works. This new editor was called "Gutenberg" and in my opinion it introduces a lot of clutter and other stuff that you don't need. I don't like it and would prefer to stick with what I know, which is the "Classic Editor".
Luckily there is a plugin that let's you stick with the Classic Editor and not be forced to use the new one. Once the plugin is installed and activated you can go to "Settings" --> "Writing" and check that "Classic Editor" is checked under "Default editor for all users".
Alternatively, you might want to try the Gutenberg editor on your site yourself, and should feel free to have a play with it (you can always delete any content you accidentially publish with it, or muck up!). If you end up liking it, then there is no need to install the Classic Editor plugin.
Contact Form 7
This plugin will create a nice looking contact form that visitors to your site can use to email you. This way, you don't need to show your email address on your site (a good thing to combat spammers) and you can also choose what information you'd like anyone emailing you to provide.
Once the plugin is installed then head to "Contact" --> "Integration" and setup integration with Google reCAPTCHA by following the instructions there. This will ensure that spammers can't use your contact form to send you a ton of emails.
Once that is done head to "Contact" --> "Contact Forms" and there should be one form existing already. Hover over the name of that form and an "Edit" link should pop up. Hit that link and you'll see a screen similar to that below. Now all you need to do is copy the code I have included and over-write whatever is in the "Form" box already.
<p>Your Name<br /> [text* your-name] </p> <p>Your Email<br /> [email* your-email] </p> <p>Subject<br /> [text* your-subject] </p> <p>Your Message<br /> [textarea* your-message] </p> [recaptcha]<br /> <p>[submit "Send"]</p>
Once that is done, hit "Save" and then copy the embed code that is highlighted in blue towards the top of the page.
Then you want to create a new page on your site to paste that code into, so hover over "Pages" in the left hand of the menu and click "Add New". Name your new page "Contact" or "Contact Us" or whatever else you want and then paste in the embed code that you got from the previous step. Then hit "Publish".
Now, if you visit the page (you can get the address by clicking the "Permalink" link under the title of your new page) you should see a contact form just like this. Send yourself an email to check it works!
Easy Table of Contents
You might have noticed that most of my posts here have a Table of Contents. This makes it easier for readers to navigate around large articles and come back to information later. It adds to users' experience, which can only be a good thing.
Creating a table of contents and properly formatting it for every post would be an absolute nightmare, but luckily there is a plugin called Easy Table of Contents which can do it all for us.
Once the plugin is installed and activated you can go to "Settings" then "Table of Contents" to see all the available options. For example, you can have it automatically created and inserted on all posts, only certain posts that have a specific number of headings, or you can manually insert it with a shortcode where you want it.
I choose this latter option as I prefer the control. Then in my article I just paste 'toc' (just replace the '' with  so that it is executed as a shortcode in your post) where I want the table of contents to be displayed, and the plugin automatically creates it based on the headings that I have used in the article. One massive advantage of this plugin versus other TOC plugins is that if your post runs over multiple pages (i.e. it's paginated) then the plugin will automatically account for those pages too, and create the appropriate hyperlink to the relevant heading on the correct page of the article.
Hummingbird is one of the performance enhancing plugins that I use to speed up my sites. I don't use it right now on this site, as it is very fast as it is, but I do on my other ones.
Hummingbird is very complicated and the risk is that you can easily break your site if you don't know what you're doing. If you're still game, then know that I only use the "Asset Optimization" settings which let you choose to compress, combine, inline or move to the footer various scripts and stylesheets that come with the plugins and theme that you are running.
Properly setup, you can defer/inline/move the right scripts so that your pages still load correctly, but they will do so just that little bit faster. You'll also drastically improve your Google Pagespeed scores, which in turn have an effect on your search engine rankings.
Just make sure that after making changes, you view your site on the front end to make sure that all pages, and various theme and plugin elements and features, are working correctly.
Redirection is a handy plugin that I use to monitor 404s on my sites and to create redirects for them.
404s are pages/URLs that users try and visit on your site but for which they receive a "not found" screen. If you click here you'll see what I mean. I haven't create a post with that URL on my site and so it doesn't exist. That is the error screen that users see if they try to visit that or any other non-existent URL on my site.
The Redirection plugin lets me monitor these 404s and see if there is any peculiar pattern or something that will enable me to understand why users might be trying to access non-existent pages on my site. I can then add redirects, if I want, to the correct page (if there is one).
For example, this is the URL to my article on setting up WordOps and creating WordPress sites:
For some reason, users might be trying to access that article by going to this URL, omitting the "caching" part from the URL:
This would lead them to a 404 error page, but within the Redirection plugin I can also setup an automatic redirect, so that anyone who visits the wrong URL will be automatically redirected and sent to the right one.
You can access the Redirection plugin by navigating to "Tools" --> "Redirection" in your admin panel. If you want to see your 404s, hit that link from the menu at the top, and if you want to make a redirect for your 404s you can also do that by clicking the "Add Redirect" link as seen in the image below.
ShortPixel Image Optimizer
Websites these days are very image and video heavy - this is a good thing and generally leads to a more richer experience. The problem is that the images and videos are also very large in size (in terms of the time they take to download and display on your device). This is especially true with mobile websites and people visiting your site on their phone - they especially don't want to be wasting time and chewing through their data allowance because of massive images that you might have embedded in your post.
This is where SortPixel Image Optimizer come in. It will take your image and compress it down in size so that it becomes much smaller in size and quicker to download and display. Everyone wins - you have a faster website and more satisfied readers, and your readers can view your content more quickly and don't blow through their data caps doing so.
Shortpixel will optimize up to 100 images per month for you for free, but after that, you will need to purchase credits from them - the rates are reasonable though and in my opinion their service is very much worth it. I personally opt for the one-off bulk packages as opposed to their monthly plans.
The default settings of the plugin should work well for you, you just need to head over to https://shortpixel.com/ and create an account, which will give you an API key. Then paste that key into the settings page for SortPixel Image Optimizer (found under "Settings" --> "ShortPixel") and hit "Save Changes".
The plugin should work quietly and seamlessly in the background from there.
UpdraftPlus - Backup/Restore
Backing up your blog on a regular basis is absolutely critical.
Server and hosting failures do happen, you might make a change, installation or upgrade that somehow wrecks you blog, or something else might happen.
If you have a recent backup though, it's not the end of the world as you'll be able to easily restore your site and pick up right where things were left off - with nothing lost.
UpdraftPlus really deserves its own guide, but they do have excellent documentation if you'd like to give them a try without my help. I have the premium plan and copies of my site are automatically sent to and stored on Amazon S3 hosting, several times per day.
It basically means that, no matter happens, I will always have a recent copy of my site to restore and get back up and running asap.
WP Rocket is a paid site-speed plugin that I recently begun using. Prior to that, I had tried pretty much every caching plugin out there, and I honestly believe that WP Rocket is best... and I don't part with my money easily!
It is paid, and there is plenty of free alternatives out there, but it's what I use on my large sites. Being a paid plugin it also has excellent support and documentation, so if you encounter any issues, help is never far away.
I might do a full review of WP Rocket at a later date, and if I do, I will link to it from here.
WPS Hide Login
The default URL to login to the administration section of any WordPress site is www.thisismywebsite.com/wp-admin/. Everyone, including hackers and the like, know that is page and that if they can get past it, it will give them access to your blog. What it also means is that they might try to brute force and/or guess your login username and/or email and password via that URL.
What WPS Hide Login does is let you specify any URL path that you want to be the administration login page. For example, you might choose to make it a very long mix of random numbers and letters like I do, e.g. www.thisismywebsite.com
. No one is going to be able to guess / find our that URL. It's one less way that hackers and other people like them can harm your site.
SEO means search engine optimization and there will shortly be a lot of other articles on this site dedicated to that topic. For now, though, all you need to know is that Yoast SEO is the most tried, tested and trusted SEO plugin for WordPress available. It's also quite bloated though, with a lot of settings and features that you probably don't need. For that reason I suggest that you make your own settings for the plugin similar to mine below.
I will do a full post on all the settings you should take note of in Yoast shortly (there is many), but for now, the default settings should work fine and will ensure that you are giving Google a good opportunity to index, include and rank your website in its search engine.