After ten years on free WordPress.com, I moved my blog into the codebase of my existing website. Ads, plan limits, and restricted customization had become frustrating; writing posts as MDX files gave me a workflow and control that fit better. It was the right tradeoff for my site, not a universal case against WordPress.
Why I left WordPress.com
My blog had spent ten years on the free WordPress.com service and had built a community. The frustrations were practical: advertising, limits on the plan, and less freedom to customize the site than I wanted. I wanted to manage the blog alongside my existing website and work directly with its code. Read the original account.
That decision was about my needs and setup. WordPress.com remains a managed service: it handles technical work such as security, updates, and backups. And leaving the platform does not mean your writing is trapped there; WordPress.com documents XML export for site content and a separate media export for Free, Personal, and Premium plans. WordPress.com export guidance.
How the code-based blog works
Posts are files in the website
Each post lives in its own folder under public/blog/<slug>/index.mdx, with its images alongside it. YAML frontmatter at the top of the file stores the title, date, excerpt, and tags. The site parses the content at build time and publishes a static export.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
The writing loop is simple, but not a visual editor
My described workflow is to edit the MDX file, save it, and refresh a browser tab. That gives me direct access to the site and integrates writing with the existing codebase. The tradeoff is that editing takes place in files rather than WordPress’s familiar admin interface; comfort with the code workflow matters.
In this publishing path there is no database, admin login, or PHP. That describes the blog architecture, not a guarantee that static sites have no security concerns: the code, build process, hosting, and any connected services still need care.
Why I did not self-host WordPress on a Raspberry Pi
I considered running self-hosted WordPress on Raspberry Pi hardware, but the device also supported other home-server workloads. I did not want a public-facing blog to add risk to the data and services on that machine.
“Not because it’s hard to secure, but because the asymmetry is wrong: worst case for a hacked blog is embarrassing, worst case for a hacked home server is real data and potentially money.”
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.Rank #3
That is my risk judgment about my contemplated setup, not a claim that WordPress cannot be secured or that a Raspberry Pi is inherently unsuitable for hosting. The important distinction was the potential consequence of a compromise on a server shared with other workloads.
The subscriber list stayed separate
The blog’s publishing files are static, but subscriber management is not part of that static-file workflow. I moved the list to Firestore, with double opt-in and self-service unsubscribe. GitHub Actions sends notification emails directly. I have said the subscriber list is not regularly dumped; that leaves a concrete responsibility for anyone using a similar arrangement: decide how the data will be monitored, exported, backed up, and restored.
Rank #4
Firestore’s no-cost quota applies to specified usage, while reads, writes, deletes, storage, and bandwidth are billable categories. Backup, restore, and point-in-time recovery do not include free usage. Firestore exports copy documents to Cloud Storage, but Firebase cautions that an export is not an exact database snapshot from the moment the export began. Check current terms and quotas before relying on a particular cost or recovery plan. Firestore pricing and usage and Firestore export and import documentation.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.What changes when you move a blog into code?
| Consideration | Code-managed static blog | WordPress.com |
|---|---|---|
| Writing and editing | Edit MDX files and refresh a browser tab; suited to a file-based workflow. | Managed publishing service; the account describes its own plan limits and customization constraints. |
| Customization | Direct access to the existing site code and build. | Available options depend on the service and plan; this account found the free plan limiting. |
| Operations | You own the code, build and hosting choices, plus any connected services. | WordPress.com handles technical functions including backups, security, and updates. |
| Portability | Posts and assets are files in the site codebase, but moving them still requires handling the site’s build and deployment setup. | WordPress.com documents XML export for site content and separate media export on Free, Personal, and Premium plans. |
| Dynamic functions | Static post delivery does not itself provide subscriber management; my subscriber list uses Firestore separately. | The managed WordPress service provides its own publishing environment; the relevant functions depend on the setup and plan. |
| Cost and limits | Hosting and connected-service costs depend on the chosen providers and usage; no price comparison is established here. | Plan features and limits vary; this account concerns the free service. |
Static hosting does not necessarily mean unlimited or always-free hosting. Firebase Hosting, for example, serves static assets through a global CDN, but its quota documentation describes no-cost allowances followed by possible billing or service limits. I do not use that fact to imply that Firebase Hosting is where this blog is deployed. Check the provider’s current quotas and pricing for your own project. Firebase Hosting usage and quotas.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Best Value
Who should consider a code-managed blog?
- It may fit if you already maintain a website in code, want posts integrated with that site, and are comfortable editing files and managing deployment.
- It may not fit if you depend on a visual publishing interface, want a managed platform to handle operational work, or need dynamic features without building or connecting separate services.
- Before moving, account for the whole system: post and media migration, hosting limits, subscriber-data recovery, and who will maintain the code and connected services.
Self-hosting WordPress would have been another path, but it was not the one I chose. I had mentioned Hostinger as an example of inexpensive self-hosted WordPress plans, not as a provider I used or recommend; no current price comparison is established here.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




