Everything That You Need in Order to Build and Optimize a WordPress Website
In this list of WordPress resources, I’m going to share with you everything that you need in order to build a WordPress website from the ground up, and properly optimize it as well.
Most WordPress resources recommended here, especially at the plugins part, will have free versions, so even people that are on a tight budget can create and launch a properly optimized WordPress website!
“Free” doesn’t mean that they’ll be less powerful, though. Most great plugins come with free versions (e.g. WooCommerce, iThemes Security, W3 Total Cache, etc.), which you can upgrade if you need some extra cool features. I’ve been using them myself for years, and I’ve only got positive results.
So, with the WordPress resources that I’m going to recommend here, you can rest assured that you’ll be properly set up.
- Website Domain
- WordPress Hosting
- SSL Certificate
- Installing WordPress
- WordPress Themes
- Must-have Plugins
- Useful Tools
- WordPress Help
First things first, you’ll need a domain (e.g. https://example.com).
If you don’t find deals that you think are worth it on domain registrar websites, I recommend registering (buying) the domain name directly on the hosting company that you’re going to use in order to host your WordPress website. In that way, you’ll skip the hassle of changing Name Servers in order to point the domain to your hosting, and also wait for them to propagate, which can take anywhere between several hours to 24h, or 48h, or even 72h if you’re the unlucky type.
Here are several good domain registrar websites that can also offer some good deals:
- NameCheap.com – Offers FREE WhoisGuard Privacy Protection, which can save you some money.
Goes without saying that choosing a good and reliable hosting company is critical. Unfortunately, I still see a lot of people on all kinds of awful web hosts.
If you’re on a budget:
- SiteGround (Recommended)
- HostGator – use the coupon code themeskills to get up to 60% OFF and $4.99 on selected domains.
Cloud hosting for every budget:
- Cloudways – use the coupon code THEMESKILLS to get 10% OFF for 3 months!
If you don’t mind spending more:
- WP Engine – if you use this link, you’ll get 10% OFF your first payment and an additional 1 free month!
Note that WP Engine has a lot of plugin restrictions. Here’s their list with disallowed plugins.
An SSL certificate makes your site run through HTTPS instead of HTTP. This makes your site secure and it also provides a small ranking boost from Google.
It’s also a must if you plan to sell things on your site and use PayPal, or gateways that allow you to process payments on your website, without having the customers to leave to a 3rd party payment processing website.
Therefore, I strongly recommend implementing an SSL certificate and performing the HTTP to HTTPS redirection right from the very start, right after you’ve set up your hosting. It will save you time and hassle.
Let’s Encrypt is also very easy to set up; you’ll be done in less than a minute.
If you already have content on your site when you decide to add an SSL certificate, then you’ll most likely get an “insecure content” error, because the content that you added on your site before, especially images, is still served via HTTP.
Since fixing this manually would take a lot of time, you’ll have to use a plugin, and I recommend this one:
- SSL Insecure Content Fixer – FREE
This will solve most of your insecure content, if not all, depending on your theme and plugins.
I used this recently on a client’s website, but it didn’t fix every insecure content warning on every page, because some background images were updated via a page builder, Beaver Builder, and I had to manually fix those from inside the builder itself.
In your web host’s cPanel, you should usually find a software, like Softaculous, which you can use to easily install WordPress on your domain.
If your web host doesn’t provide that feature, or for some reason, you want to manually install WordPress, then you can download it from here.
You can’t install a theme or plugins without installing WordPress first!
Now that you have a domain, a hosting, and WordPress installed, you’ll need a theme. You can get one from a lot of places. Here are several of them:
- StudioPress – Premium
- GeneratePress – Premium;
- MyThemeShop – FREE + Premium
- ThemeForest – Premium
- Elegant Themes – Premium
- WordPress.org Theme Directory – FREE
I can’t make a certain recommendation because it depends on your needs and budget. You can find good themes in all of the above sites.
I’ll only mention the must-have plugins that handle important and vital things like security, speed, SEO, and so on.
If you care about SEO or don’t want people to see all the “mess” until your site is finished, you can use a “Coming soon” or a simple password protection plugin.
I mentioned SEO because search engines can’t crawl web pages that are password protected, so you won’t end up with all the “mess” indexed before you finish.
Being well-known and the most used CMS platform, WordPress websites are targeted by hackers 24/7, mostly just for fun, so you really need a properly configured security plugin.
A lot of things can go wrong with your website, and more frequent than you think, especially in the beginning when you’re just starting to learn stuff.
In order for your website to exist, it requires WordPress, a theme, and plugins. All these are made by different developers, so they don’t always go well together, therefore creating all sorts of conflicts and errors, some beyond fixing.
Or you can press the wrong button and delete half of your website.
Or you could get hacked if some above average hacker really has a grudge on you and dedicates their time to bring your site down.
I said “above average hacker”, because with a good security in place, and without any security breaches in WordPress, your theme or a plugin, it’s very hard to hack into a WordPress website; unless you upset Anonymous.
So, always having a backup is another vital part. Here are some plugins for that:
Caching plugins are designed to make your WordPress website load faster. A slow loading time can affect your SEO, user experience, and lead generation.
- WP Rocket – Premium (Recommended)
- W3 Total Cache – FREE (Recommended if you can’t afford WP Rocket)
- SG Optimizer from SiteGround – FREE (Recommended for SiteGround users)
- WP Super Cache – FREE
You have to pay for WP Rocket, but it’s totally worth the money. Works way better than any caching plugin, in my opinion, and it doesn’t break your website (of course, this depends on how good your theme and plugins are).
SiteGround has its own caching plugin, SG Optimizer, so if you have a properly optimized small to medium website, you can use that. It lacks some features (e.g. minifying), but it gets the job done. It works with WP Rocket as well, so you can run both – I tried it.
By default, WordPress stores a record of each saved draft or published update. So, if you do a lot of editing to a post or page, you’ll end up having a lot of revisions stored in your database, which will eventually lead to bloat and slow queries, therefore affecting your site’s performance.
Use one of these plugins:
Note: The caching plugin mentioned above, WP Rocket, has a database cleaning feature, which also contains an option to purge revisions.
- Yoast SEO – FREE
I’m not even going to bother to recommend another one.
You need to have this even if you don’t care about SEO, because it has a lot of useful features that will make your life easier. You can edit your page titles and meta descriptions; it adds meta data for proper sharing on social media websites; adds breadcrumbs on your website, if you wish so; and so on.
This is useful for both SEO and user experience.
In order to perform a redirection after changing a URL, use this:
- Redirection – FREE
Broken links cause errors, such as the 404 Page Not Found error I mentioned above.
A plugin that takes care of this is the Broken Link Checker, but note that it can burden your server, especially if you are on a shared one.
- Broken Link Checker – FREE
If you don’t mind doing a little bit of manual work, I recommend using the below online tool. A plugin can consume a lot of resources and decrease your site’s performance.
- Dead Link Checker – FREE
The below plugins only do a part of the job. Read the guide below for more info.
Note: EWWW Image Optimizer can sometimes stress on the server, especially if you’re on a shared one. It can also cause an HTTP error when uploading images.
The iThemes Security plugin I mentioned above has a spam protection feature, and I also recommend moderating comments, but if you still want to add another layer of spam protection, then I recommend this simple but efficient plugin:
- Spam Destroyer – FREE
If you’re offering products or services on your website, then this plugin will do a great job:
- WooCommerce – FREE
Most themes are compatible with it, but make sure you always check.
Even though they have changed some things, if you use Shareaholic, make sure you check your settings. I also recommend creating an account, it would be very useful.
They are very useful, and can positively impact your page’s loading time, but they can also create conflicts with your theme or other plugins.
Lazy load for images
- BJ Lazy Load – FREE
This plugin loads the images as they get close to enter the browser window when the visitor scrolls the page.
I stopped using this plugin because sometimes the images stopped displaying properly or at all.
This doesn’t mean it happens with all themes or plugins. Install it, check things out, and if it works for you, great!
Lazy load for videos
- Lazy Load for Videos – FREE
This plugin adds a preview image to the video, and the video itself only loads when the user clicks the preview image.
It only works for YouTube and Vimeo videos.
If you use WP Rocket, you can forget about these plugins because WP Rocket has these features already built-in! Fewer plugins for the win!
If your theme doesn’t come with a built-in contact form, use one of the following:
- Contact Form 7 – FREE (Recommended if you want more flexibility)
- Contact Form by WPForms – FREE (Recommended if you want something very easy to use)
- Ninja Forms – FREE
While Contact Form 7 can offer more flexibility without having to upgrade, you’ll need to know some basic HTML. It can also impact your loading time because its scripts load on every page.
WPForms and Ninja Forms are simple form builders that are very easy to use, and they’re also more optimized when it comes to speed.
If you want to check how your site looks on different mobile devices, use this online tool:
Note that these tools are not 100% accurate all the time, so you should also check an actual mobile device as well. Also, make sure that your theme or a plugin that you might use is responsive (mobile-ready).
Note that these tools measure how much time it takes for your whole website to load – every script. So, if the results show, like, 5 seconds loading time, it doesn’t usually mean that it takes 5 seconds until content actually starts to load/appear.
WebPageTest shows the page rendering time as well, which is more important.
A CDN (Content Delivery Network) can drastically improve your WordPress website’s loading time. Here are several CDN services:
Cloudflare offers more features than straight CDN.
These two tools are different, so I recommend using them both.
WordPress is easy once you get the hang of it, but at first it can be overwhelming, since it’s so flexible and full of features.
I’ll give you some sites where you can read a lot of useful guides and tutorials, or ask for help.
Nevertheless, Google is your best friend. Just type your question in Google, and you’ll find an answer or a tutorial 90% of the time.
Here are some great blogs:
- Official WordPress forum – for WordPress itself, free themes and plugins found in the WordPress repository.
- Stack Exchange – it’s more for WordPress development/coding help.
Try to make sure that you ask for help in the right place. Asking in the wrong place will just make you lose time because your issue might go unanswered, or someone will recommend seeking help from the developers.
If you’re looking for help with a premium (purchased) theme or plugin, ask the dedicated support provided by the developers.
If you’re looking for help with a free theme or plugin from the WordPress repository, use their individual forums, which you can access from their pages.
Need help setting up and maintaining your WordPress website? Then click the button and let’s talk about your project!