Blog hosting is usually oversold. A blog that publishes a few posts a month and serves a few thousand readers does not need a dedicated server, a cluster, or a long list of features that sound important in a comparison table. It needs a reliable place for files, a database, a certificate, and enough headroom to load a page without waiting.
What a blog actually needs
Start with the short list. A working blog needs only these pieces:
- Storage for files and images.
- A MySQL database for posts and settings.
- A domain you own.
- HTTPS for the whole site.
- A way to install WordPress without manual file surgery.
Everything else, from caching to comment spam filtering, can be added later when the need appears.
The free plan covers those basics: 5 GB of disk, 20 GB of transfer a month under a fair-use policy, your own domain, free SSL, 5 MySQL databases, and a control panel with a file manager and FTP. That is enough to launch and to learn what your blog actually consumes.
Storage math you can do on a napkin
Images dominate a blog's storage. A photo straight from a phone can be several megabytes; resized for the web, the same photo is often a few hundred kilobytes. If an average image is 300 KB, then 1,000 images use about 300 MB. Add WordPress itself, a theme, a handful of plugins, and a database that grows slowly, and a text-heavy blog with a thousand images still fits comfortably inside 5 GB.
The number to watch is not the total but the growth rate. If you publish ten images a week at full camera resolution, you will reach the limit much faster than the arithmetic above suggests. Resize before uploading and the same 5 GB lasts for years.
Traffic, bandwidth, and fair use
Bandwidth is a fixed 20 GB a month, which removes the anxiety of a surprise bill after a post is shared widely. The fair-use policy still applies, with daily CPU and memory ceilings and limits on file count. Those limits are about work, not visits: a cached page costs very little to serve, while an uncached page that runs several database queries costs more.
This is why caching matters more than raw traffic numbers. Ten thousand visits to a cached page can be cheaper for the server than a few hundred visits that each rebuild the page. If a post goes viral, a cache and optimized images do more for you than any storage upgrade.
Comments: engagement with a cost
Native WordPress comments are stored in your database and rendered by PHP, so a popular comment section adds queries to every page. They also attract spam. Moderation queues, Akismet-style filtering, and closing comments on old posts keep the load and the noise manageable.
Third-party comment systems move that load elsewhere, at the cost of an extra script, a privacy consideration, and dependence on another service. For a small blog, native comments with moderation and a spam filter are usually enough. Turn them off on pages where they add nothing.
Images are the real storage bill
Upload one image and WordPress may create several sizes. That multiplies storage and clutters the media library. Set a sensible maximum upload size, compress images before uploading, and delete the sizes you never use. A modern format such as WebP can cut file size substantially at the same visual quality, and lazy loading keeps off-screen images from slowing the first view.
If you use a gallery or a portfolio, check how many sizes each plugin generates. Two gallery plugins can double the files for every image.
Caching is the cheapest speed upgrade
A page cache stores the finished HTML so most visitors never trigger PHP or MySQL. On a small site, one well-configured caching plugin is often the difference between a second and a fraction of a second. Combine it with browser caching for images and styles, and avoid plugins that promise optimization while adding their own scripts to every page.
Test changes one at a time. A caching plugin that breaks a form or a shopping cart costs more than it saves, and the website speed checklist can help you find the real bottleneck.
When free hosting stops being enough
Free hosting is a good fit while your blog is growing, while you publish regularly, and while your resource usage stays inside the fair-use limits. It stops being a good fit when you consistently hit CPU or memory ceilings, when you need more control over the server, or when a business depends on the site being available at any cost. At that point, compare the tradeoffs honestly, as described in free versus paid hosting.
Until then, there is no reason to pay for capacity you do not use. Start with a subdomain, add a custom domain and SSL when the blog has a name worth keeping, and let the traffic tell you when to move. You can create a free account and publish the first post today.
Related reading: Free vs paid hosting · The free plan in detail
Create your free account — 5 GB disk, free SSL, no card required.