Skills, tools & expectations
Welcome to the most complete self-hosting WordPress course. In this introductory lesson I'll explain what this course is all about, the topics covered in this course, and the tools and skills you'll need to succeed.
I'm Karl Kubelet
I'll be your instructor and I'll teach you everything I know about hosting WordPress applications. My team and I have consulted for some top-tier WordPress hosting providers, and we've worked with some of the largest WordPress and WooCommerce sites in the world.
We have over thirty years of combined WordPress experience, including contributing to WordPress core and other open source projects, building plugins and themes, and most importantly hosting platforms. We've come to the conclusion that it is not rocket science.
Why self-hosted?
Three main reasons:
- It's faster
- It's cheaper
- It's fun
I made this course out of frustration. We've had quite a few of our consulting clients spend hundreds, even thousands of dollars per month with large and reputable managed WordPress hosting providers. Some are better than others. However there are some very common trends among the vast majority:
- Impose various software limitations with a full lockdown
- Integrated everything: caching plugins, page builders, optimization tools
- Pay for the number of sites, page views, fair use policies + overage charges
- Lock in backups, pay and/or jump through hoops to download/export
- Utterly poor performance, sometimes hard to realize until you take control
Their dashboards look like classified-ad sites, while support agents seem to be glorified salespeople paired with AI. Every interaction feels like it's there just to maximize corporate profits. And the moment you step over the line, your website is at risk. Heck, you can't even run a simple load test because it violates their terms of service.
With self-hosted, you're in control.
You run whatever you want, however you want. Your backups are yours, where you want them, when you want them, with a frequency and retention policy of your choice. Your costs are transparent, without anyone looking at your site analytics, database tables, number of sites or sales.
You own your performance through server specs, provisioned resources, software and plugin configuration. You run benchmarks and load tests to continuously improve your numbers, and not deplete your emergency fund on hosting bills on a Black Friday.
Self-hosted gives you access to dedicated servers and the option to colocate your own hardware. This is where performance truly shines. This is where, for a couple hundred per month, you easily get up to 20x better performance over your competitors paying "enterprise" plan fees for some AWS-based managed slop.
Don't worry, we'll run some actual benchmarks in Module 7.
Isn't it hard and time-consuming?
At first, sure. It's certainly a bit harder than clicking around in your hosting control panel. However, once you learn the skills and tools, you'll often find it a lot quicker to do things your way, rather than click around in a browser.
Initial setup takes some time, but maintenance is mostly on autopilot. With unattended security updates, a solid monitoring configuration in place, and a good WordPress update strategy, you can get away with checking in as rarely as once a year (or five years if you double down on LTS releases).
While this tutorial is primarily focused on self-hosting WordPress, a lot of the skills, tools and techniques will come in handy when working with other applications as well.
What skills/tools do I need?
You'll need some experience in a terminal.
Throughout this course we'll primarily be working over SSH. This includes installing software, creating and editing configuration files, reading logs, running system commands and more.
If you've never worked in a terminal before, here's my favorite crash course for beginners, which covers the Linux basics, including some file editing.
You'll need a practice server. This can be a $5 VPS, but everything you learn will be applicable to an expensive dedicated server, colocated hardware, or a Raspberry Pi in your homelab. I highly recommend not using a server with existing sites or other data.
You'll also need a domain. Don't worry, we'll cover getting both a server and a domain name in a later lesson.
Things that are not strictly required, but won't hurt to know for this course: SSH, WordPress/PHP, Git and GitHub, a bit of Bash, and some basic Python.
Time/pace expectations
We've got 11 modules, with an average of 10 lessons in each. Most lessons take about 10-15 minutes to work through, so you're looking at 1-2 hours per module.
I don't recommend doing more than 2 modules per day, but I do recommend spending some time experimenting as often as you can. This will build a more solid understanding of the software, tools and systems.
Learning things in a silo is often hard. Try and get somebody to learn together, ask questions and share ideas. If you ever feel stuck or overwhelmed, please do ping us in the Discord community. We'll be more than happy to help out.
Don't forget to mark lessons as complete when you work your way through. You can track your progress in the dashboard, and you can always revisit any lesson at any time.
Finally, don't forget to have fun!