I run ten websites and every one of them is WordPress. The retail stores I have run were not, and that exception is probably the most useful thing in this article.
I am not a WordPress fan. I do not go to WordCamps, I do not have opinions about the block editor roadmap, and I have burned entire mornings in Bali chasing a plugin conflict that took a site down while everyone in Los Angeles was asleep and could not tell me. I keep choosing it anyway, and the reason has almost nothing to do with the software being good.
It has to do with who owns the thing you are building.
So here is the honest version after about a decade of doing this. What a WordPress site actually costs in a year, what it is genuinely bad at, who should absolutely pick something else, and the exact stack I would set up today if I were starting a new niche site on a Tuesday morning.
You Rent an Audience. You Own a Site.
Every platform you build on that you do not control is rented land. Instagram, TikTok, YouTube, Medium, Facebook, a Substack on their subdomain, a Notion page. You are a tenant. The landlord sets the rules, changes them without telling you, and can evict you with an automated email at 3am.
I have watched this happen to people repeatedly. An account gets flagged by a system with no human in it and the appeal goes nowhere. A platform changes its algorithm and the reach a creator spent three years building drops by most of what it was, overnight, for reasons nobody explains. A publishing platform pivots its whole business model and the writing that used to bring in readers now sits behind a paywall those readers will not cross.
None of those people did anything wrong. They just built on land they did not own.
Here is the test I use. If the platform disappeared tomorrow, what do you still have? On Instagram, nothing. Not the followers, not the posts, not the DMs. On a site you own with a domain you control, you still have the content, the URLs, the traffic, the rankings, and the email list you collected from it.
That is why the two things I actually treat as assets are a domain and an email list. Everything else is a distribution channel I am borrowing. I use Kit for the email side specifically because subscribers export to a CSV whenever I want them, which means even my email provider is a vendor and not a landlord.
WordPress is the same idea applied to the website. It is open source software you install on hosting you pay for. Nobody can suspend it. Nobody can decide your niche is now against policy. If your host annoys you, you move the whole site somewhere else in an afternoon and your URLs do not change. That portability is not a nice-to-have. It is the entire argument.
Why I Still Pick It After a Decade of Complaining About It
Four reasons, in the order that actually matters to me.
It is genuinely free and genuinely open. The software from the official WordPress.org project costs nothing and always will. I pay for hosting, a domain, and a couple of tools. I do not pay a platform tax that scales with my traffic, which matters a lot when a site starts working.
I control every technical thing Google looks at. Page speed, structured data, redirects, canonical tags, robots.txt, the sitemap, how the URLs are shaped. On a hosted builder you get whatever they decided to expose in a settings panel. When you are doing SEO seriously, that ceiling shows up eventually, and by then you have three years of content stuck inside it. Google’s own Search Central documentation assumes you can change these things. WordPress lets you.
The cost curve flattens. Site one is expensive in effort. Site eight costs me a domain and a slot on hosting I already pay for, because the stack, the settings and the process are identical every time. That is the only reason running this many projects is possible for one person. If each new site meant learning a new platform, I would have three sites, not ten.
Hiring is easy. WordPress powers a large share of the web, so when I need someone to fix something, the pool of people who can do it is enormous and the rates are reasonable. Try finding a freelancer who is an expert in a niche closed platform at 9pm on a Sunday.
None of that makes WordPress pleasant. It makes it durable. Those are different things.
What a WordPress Site Actually Costs in a Year
People quote the “WordPress is free” line and then get surprised by the bill. Here is the real shape of it for one site.
Domain: $10 to $20 a year
Boring and non-negotiable. Register it somewhere that does not play games with renewal pricing, keep WHOIS privacy on, and turn on auto-renew the day you buy it. I keep almost all of mine at Namecheap because the renewal price is close to the first-year price, which is not true everywhere.
Buy the .com if you can get it. I have tested the alternatives and the .com converts better for no reason other than habit. Do not buy nine defensive variations of your name. That is money you have not earned yet.
Hosting: $60 to $700 a year, and this is where people go wrong
Entry level shared hosting runs about $3 to $8 a month on an introductory rate. It works. A brand new site with no traffic does not need more than that, and a basic shared plan is a perfectly reasonable place to start when you genuinely do not know if the site will go anywhere.
The problem is that the bottom tier is oversold by design. Hundreds of sites share a server, and when one of them gets busy, your response times go sideways. For a site whose entire job is ranking in search, that is a slow leak you will not notice for months.
What I actually use now is proper managed hosting in the $25 to $60 a month range. Cloudways is where most of my sites live, because I can put several sites on one server and scale the server instead of buying eight separate plans. For a single site I would not hesitate to put someone on SiteGround, which handles the caching and updates without you thinking about it, or on WPX Hosting if speed is the thing you care about most and you want support that actually knows WordPress.
Theme: $0 to $60, usually one time
The free themes are fine now. GeneratePress and Kadence both have free versions that are fast, clean and do not fight you. If you want something with a specific look already built, ThemeForest has thousands of one-time-purchase themes in the $40 to $70 range.
The trap is buying a heavy multipurpose theme with a hundred demo sites bundled in. You will use one of them and carry the weight of the other ninety nine forever.
Plugins: $0 to $300 a year
Most of what you need is free. Where I do pay, it is usually the SEO plugin, a backup tool and a caching plugin. Rank Math is what I run on most sites now, though Yoast is still excellent and is what I used for years. Either is fine. Pick one and stop reading comparison posts about it.
The honest total
A real first year on one site, done properly, is roughly $200 to $500 all in. Done cheap it is closer to $100, and done cheap is a defensible choice for site number one. Every site after that costs me a domain plus a marginal amount of server capacity, which is the whole reason this scales.
Compare that to a hosted builder at $16 to $49 a month and WordPress usually wins on cost. It does not win on the thing that costs more than money, which is your time.
Where WordPress Is Genuinely Worse
This is the section most WordPress articles skip, which is exactly why nobody believes them.
Setup friction is real
You can have a Squarespace site live and looking good in an afternoon. A WordPress site done properly takes a weekend, and the first one takes longer than that because you are learning what a permalink is while you do it. There is no version of this where the setup is as fast.
Maintenance never ends
Core updates, plugin updates, PHP version bumps, the occasional update that breaks a layout. On a hosted platform this is somebody else’s job forever. On WordPress it is yours forever. It is not hard, but it is a recurring tax on your attention, and multiply it by ten sites and you can see the problem.
The security surface is bigger
Open software running third party plugins on a server you rent is a larger target than a locked-down hosted platform, and it is dishonest to pretend otherwise. Almost every WordPress site that gets compromised gets compromised through an outdated plugin or a weak login, not through WordPress itself, which means it is preventable. It also means prevention is your job. The official WordPress documentation covers the hardening basics, and they are worth an hour of your life.
The plugin bloat trap
Every problem in WordPress has a plugin that solves it in two clicks. That is the best thing about it and the worst thing about it. You install one for social icons, one for a contact form, one for a table of contents, one for related posts, and eighteen months later the site takes four seconds to load and you cannot tell which of the thirty seven plugins is responsible.
My rule now: if a plugin does something I could do with a few lines in the theme or something the theme already does, it does not get installed. And anything I have not consciously used in ninety days gets deleted, not deactivated. Deactivated plugins still sit there as an attack surface.
Who Should Honestly Pick Something Else
I would be a bad person to take advice from if I told everyone to build on WordPress. Plenty of people should not.
Pick Squarespace or Wix if the site is a brochure. A five page site for a photography business, a therapist, a restaurant, a consultant who just needs a home on the internet. You are not publishing weekly, you are not chasing rankings across hundreds of pages, and you never want to see the word “cache” again. Squarespace will get you a better looking site faster with zero maintenance, and that is worth more to you than control you will never use. Wix covers the same job if you prefer their editor.
Pick Shopify if you are selling products. This one I feel strongly about, because I have done it both ways.
The case for Shopify specifically
The moment money changes hands on your site, the requirements change completely. You need a checkout that does not break, payment processing that stays compliant, inventory that syncs, tax handling, abandoned cart recovery, shipping rules, and a fraud filter. Every one of those is a system, and every one of those failing costs you real orders.
You can do all of it on WordPress with WooCommerce, and plenty of people do it well. What you have signed up for is being the systems administrator of a payment system. When a WooCommerce update conflicts with a shipping plugin at midnight, that is your problem, not a support team’s.
Every retail store I have run has been on Shopify, and I would not move one for any amount of philosophical consistency about owning your platform. Checkout is the one place I am happy to rent, because their checkout converts better than anything I would build and I sleep through the night. E-commerce is a meaningful slice of US retail now according to the Census Bureau’s quarterly e-commerce figures, and none of that money moves through a checkout you patched together yourself.
The nuance: you can run both. Store on Shopify, content on WordPress, on a subdomain or a separate site. That is how I have always set it up, and it gives you the SEO surface of WordPress with the checkout reliability of Shopify.
The Stack I Would Set Up Today
If I were starting a brand new niche site this morning, here is the whole thing, in order, in about four hours of actual work.
- Domain. A .com, registered at Namecheap, privacy on, auto-renew on. Ten minutes.
- Hosting. Cloudways if I plan to add more sites later, SiteGround if this is the only one. Install WordPress from the host’s one-click setup. Thirty minutes.
- Basics before anything else. Force HTTPS, set permalinks to post name, delete the sample content, delete the default themes and plugins the host bundled in, set a real admin username that is not “admin”. Twenty minutes and it saves you weeks.
- Theme. GeneratePress or Kadence, free version, with a child theme. If the site needs a specific look I cannot get there, a one-time purchase from ThemeForest. One hour including the logo.
- SEO plugin. Rank Math. Connect the sitemap to Google Search Console the same day, before there is anything to index. Twenty minutes.
- Backups. Whatever the host provides, plus UpdraftPlus pushing to cloud storage. Two independent backups or you effectively have none. Fifteen minutes.
- Security and speed. Cloudflare in front of it on the free plan, a login limiter, and whatever caching the host gives me before I add a caching plugin. Thirty minutes.
- Email capture. Kit, one form in the footer and one after the post content. Do this on day one even with no traffic, because retrofitting it later means all the early readers are gone.
- Analytics. Google Analytics and Search Console. Both free, both non-negotiable.
That is the whole thing. Nine steps, no page builder, and about $30 for the domain and the first month of hosting.
Then the actual work starts, which is content. I plan every site’s first thirty articles before I write one of them, using KWFinder for the cheap end of keyword research or Semrush when I need competitive data on a bigger project. My full process for that is in how I actually do keyword research, and it matters more than every technical decision above combined.
For drafting, I use Claude heavily, but as a research and structure partner rather than a writing machine. Published AI slop ranks for about a quarter and then does not.
Running Ten Sites Without It Eating a Day a Week
The maintenance question is the fair objection to all of this, so here is the actual routine.
Monday morning, thirty to forty minutes total. I open a dashboard that shows all the sites in one place (ManageWP is what I use, and any of the alternatives are fine) and run updates in one batch. Anything that looks risky, a major version of a plugin that touches the front end, goes to staging first. Anything cosmetic just goes.
Once a month, one site gets a real look. Rotating, so each site gets attention a few times a year. Broken links, pages that lost rankings, plugins I no longer use, images that were never compressed, affiliate links that now point to dead offers.
Once a quarter, the plugin purge. Every site, every plugin list, and anything I cannot justify out loud gets deleted.
Once a year, per site, a real audit. Hosting plan versus actual traffic, theme still supported, content that should be updated or merged or deleted.
That is it. Two of those four items are the entire ongoing cost of owning your platform instead of renting it, and I would pay ten times that in time before I would go back to being a tenant. The broader version of how I keep this many projects moving is in how I run ten plus projects from Bali without a team.
What I Got Wrong
Three mistakes, all of which cost me real money.
I chased page builders
For about two years I built everything in a visual page builder because dragging boxes felt productive. Elementor is the one I know best, and I still use it on a couple of sites where the layout genuinely needs it.
It is a tradeoff, and I want to be straight about the costs. Page builders add significant weight to every page. They generate deeply nested markup that hurts your Core Web Vitals scores. They lock your content into their shortcodes, so if you ever remove the builder, your posts turn into a wall of garbage. And the annual license is a recurring cost that a well-chosen theme does not have.
What I do now: blog posts get written in the native block editor, which is fast and clean and portable. Only landing pages that need a specific layout get the builder. If I were starting fresh today with no legacy pages, I would probably skip the builder entirely and pick a theme with good built-in layout options.
I once had over forty plugins on one site
Forty. On one blog. Half of them were solving problems I had invented, and several were doing the same job as each other. The site took over four seconds to load on mobile and I blamed my host for a year before I looked at the actual cause.
Cutting it to twelve plugins roughly halved the load time. It took one afternoon. That afternoon was worth more than every “speed optimization” article I had read.
I stayed on cheap hosting far too long
This is the expensive one. I had a site on a $4 a month shared plan pulling decent traffic, and the server response time was awful during peak hours. Not down, just slow. I could see it in Search Console and I ignored it because the site was still ranking.
It stopped ranking as well. Slowly, over months, on exactly the competitive terms that mattered. When I finally moved it to proper managed hosting, the response time dropped by most of what it had been and the rankings recovered over the following quarter.
I have no way to prove causation and I am not going to pretend I do. What I can say is that I have never regretted moving a site to better hosting, and I have regretted the opposite several times. Hosting is the one line item where I stopped trying to save $20 a month.
Where to Go From Here
If you are publishing content and you want to still own it in five years, build on WordPress. If you are selling products, build on Shopify and put your content on WordPress next to it. If you need a five page site and never want to think about it again, use Squarespace and go do something more useful with your weekend.
The platform decision only matters because of what comes after it, which is the content. A perfect technical setup with nothing worth reading on it is an empty building. If you want the deeper end of the search side, that is what I write about at SEO Paradise, where the keyword research, on-page and technical SEO material lives in more depth than a general blog can carry.
Every tool I named here, plus the hosting, theme and domain setup I actually run on every one of these sites, is listed on my resources page. Once the site exists, the next question is usually how it makes money, and I walked through that end to end in how affiliate income actually works.
And if you would rather have someone set this up with you instead of doing it alone, that is what my consulting is for. Ecommerce Paradise handles the done-for-you builds when the project is a store rather than a content site.
Get The Operator’s Notebook
One email when I publish something worth your time. What I am building, what the numbers look like, and what I got wrong that month. No pitch, no daily spam.

Trevor Fenner is a Seattle-born entrepreneur, skateboarder, and expat who left Los Angeles in 2016 to build a location-independent life in Southeast Asia. After living in Chiang Mai and Bangkok, he settled in Bali in 2019, where he has been based ever since. He is the founder of Ecommerce Paradise, an education and services platform helping entrepreneurs build high-ticket dropshipping businesses, and operates Electric Bikes Paradise, an ecommerce store specializing in electric bikes, scooters, and mobility equipment. He also runs Paradise Skate Mag, a skate media project documenting the Bali skate scene and broader skate culture, and is building Bali Cat Paradise, a blog centered on the nearly twenty cats he and his wife care for at their home in Bali. Trevor writes about ecommerce and entrepreneurship, expat life in Southeast Asia, and the lessons skateboarding has taught him about business and life.
