I'm basing this article on the build of WordPress sites that I'm currently working on. The sites I build tend to be blogs or small business websites. A question that is often asked is, is there a difference between a blog and a website?
I'll document each step I take to build the sites in brief, here. I'll also point out anything relevant that I think may help my readers that any of the my site builds turn up.
This is an important step in your WordPress website or blog build. You'll need to find a domain name that is available. This will either be because the domain name is not owned by anyone currently, or it is owned by someone, but they want to sell it.
If you can buy an existing domain that someones else wants to sell, you may find that it has good backlinks already pointing to it left over from its previous incarnation. All very appealing - but you can always build your own backlinks if you start out with a brand new previously unused domain name.
The cheapest answer is often to come up with a new domain yourself that no-one else has yet thought of. This is a lot easier than it sounds. I analysed the top domain names in use today and found there were patterns in their names, that you can emulate. So check out my methods for choosing a new domain name.
Having thought of a domain name you must check it's available and then buy it. I buy my domain names from Namecheap.
I've used a number of different hosts in the past, and they've all been good, but at some point something went wrong, and made me want to change to another host. Some of my previous hosts have been BlueHost, SiteGround, LiquidWeb, WPX Hosting, FlyWheel and WP Engine.
Out of all of those, the one I liked the best was WP Engine. They are excellent if you want a mostly hands off approach to hosting with excellent support. But they are very expensive. Im early 2019, I did some research and came up with other hosting options, and in doing so I actually got a better solution than I'd had at WP Engine. Who knew? Read about who I now host with here.
The process for achieving this will be different on each host. I host at GridPane and the WordPress installation there is super easy. Wherever you host, get WordPress installed according to your host's instructions.
As I will be using Oxygen Builder, I won't be using a WordPress theme. However I still need a theme just to get WordPress to the point where I can install the Oxygen Builder plugin. You can use any theme you like, but the best one to use is Intentionally Blank. It's free and available in the WordPress repository.
Once you have a domain name and hosting next you need DNS (Domain Name Services) Management. DNS Management allows you to control the relationship between your domain name and the server it is hosted on.
It's a really good idea to have this handled by a separate party so I always use Cloudflare. Cloudflare is great because it does a lot more than merely manage your DNS - it will also act as a form of CDN and increase your site's security.
Cloudflare will also help your site go faster, and help protect it from hackers. You'll still need good hosting to serve your content quickly, and to protect your site, but you get a lot for free from Cloudflare.
Please note that although I use Cloudflare as a CDN, I use a different CDN for my images. See later ...
Cloudflare as already mentioned will act as a CDN for your site's static content. But it is more than an ordinary CDN. It also prevent malicious traffic from reaching your site at all by analysing potential threats based on a number of characteristics of the traffic.
Cloudflare also masks the site's IP address so attackers cannot directly attack a server. This is assuming you have set the DNS record to orange clouded.
At first glance, Cloudflare is the CDN in my configuration. Normally this would mean images used on the site would be stored in the WordPress media library. They would then, as part of the caching functionality be automatically included in a CDN distribution on Cloudflare. But I don't like using the WordPress media library for the following reasons:
The best WordPress media library for me, is an empty one. To that end I keep all my images on Amazon S3. So that they are delivered via a CDN, I also use Amazon Cloudfront in addition to Amazon S3. I am doing this manually at present - but hope to create a system to process images automatically. This would simplify my current workflow and improve the result.
The disadvantages to my current solution are that I have no srcset solution. Also many image focussed plugins (e.g sliders and galleries) rely on the media library. If you don't use the media library, you can't use those plugins.
However using Oxygen and Advanced Custom Fields I find I don't need plugins to create sliders and galleries. The srcset problem remains, but is something we will program our way around in the near future. So in summary this is how my CDN setup looks:
I have a standard set of WordPress plugins that I install on most sites. Some are free, some are premium and some are our own plugins. My list of plugins of course includes Oxygen Builder, as this is the tool I will use to build out my WordPress site. You can check out my list of recommended WordPress plugins which I will maintain to keep the list up to date as I discover better or new plugins.
Of course the set of plugins you install will include the Oxygen Builder plugin as this is what we will use to build the site.