2026-08-04 · 10 min read
Why I Moved My Blog from dev.to to My Own Website
The full breakdown of building my own blog instead of relying on dev.to: the stack, the cost ($0/month), the tools, and why owning your content matters more than platform reach. Plus the cross-posting strategy that keeps dev.to as distribution.

Why I Moved My Blog from dev.to to My Own Website
I had 27 published articles on dev.to, 8,000+ views, and a small but growing audience. Then I decided to build my own site and publish there instead. Here's what that cost, what I gained, and the exact stack running it.
The Problem with dev.to (for me)
dev.to is great for distribution. It's not great for ownership. Specifically:
- No analytics control. I couldn't see which posts drove actual traffic to my projects or services.
- No SEO control. dev.to ranked for my keywords, not my domain. Recruiters and clients Googled my topics and found dev.to, not me.
- No design control. Every author looks the same. No branding, no project showcases, no services page, no call to action.
- Ad risk. dev.to can (and does) show ads on your content. You don't get a say.
- Platform risk. If dev.to changes policies, goes down, or deprioritizes your content, you lose everything.
None of these are dealbreakers if you're just writing for fun. But I'm building a consulting practice and a personal brand. I need my content working for me, on my domain, under my control.
The Stack
| Layer | Tool | Why |
|---|---|---|
| Framework | Next.js (static export) | Fast, flexible, great DX. Static HTML means no server to maintain. |
| Hosting | Cloudflare Pages | Free tier handles everything. Global CDN, automatic deploys from GitHub. |
| DNS + CDN + WAF | Cloudflare | Already there for Pages. Free plan includes WAF rules, caching, analytics. |
| Analytics | Cloudflare Web Analytics | Privacy-friendly, no cookies, no GDPR banner needed. Free. |
| Comments | Giscus (GitHub Discussions) | No database, no moderation headaches, readers already have GitHub accounts. |
| Content | Markdown files (gray-matter) | Write in VS Code, commit to git, auto-publish on merge. No CMS to maintain. |
| Images | Local files + WebP | Generated cover images per post, served from /public. No external CDN dependency. |
| Domain | durrellgemuh.com | ~$10/year on Cloudflare Registrar. |
What It Costs
Monthly: $0. Cloudflare Pages free tier, Cloudflare Analytics free, Giscus free, GitHub free.
Yearly: ~$10. Just the domain registration.
That's it. No hosting bill, no database, no server to patch. The entire site is static HTML deployed to Cloudflare's edge network.
The Migration Process
- Set up the Next.js site. Markdown files in a
content/blog/directory, parsed with gray-matter at build time. Each file becomes a page. - Kept the dev.to originals. Those 27 posts stay on dev.to. I added
canonical_urlpointing to my domain on each one so Google credits my site. - Started writing new content on my site first. New posts go to durrellgemuh.com, then get cross-posted to dev.to with the canonical URL set.
- Generated cover images. A Python script creates branded PNG covers for each post using the title and a consistent color scheme.
- Deployed to Cloudflare Pages. Push to GitHub, Cloudflare builds and deploys automatically.
- Submitted sitemap to Search Console. Google now indexes my domain directly.
The result: I went from 27 posts on dev.to to 90+ articles on my own site in a few months, because I could write and publish at my own pace without platform constraints.
What I Still Use dev.to For
I didn't delete anything from dev.to. I still cross-post new articles there. The difference:
- Canonical URL always points to durrellgemuh.com. dev.to gets the reach, my site gets the SEO credit.
- dev.to is distribution, not home. It's like posting a YouTube video and linking back to your site in the description.
- Two posts/week on dev.to. Enough to stay visible, not so much it looks like spam.
This is the best of both worlds: dev.to's audience + your own domain's authority.
What I Gained
- Full analytics. I know exactly which posts drive traffic, which get shared, which lead to contact form submissions.
- SEO ownership. My domain now ranks for "DevOps engineer Cameroon," "Terraform best practices," and dozens of other keywords. That was impossible when dev.to held all the authority.
- Professional presence. Clients and recruiters land on a site with projects, services, speaking, and a contact page. Not a generic blog platform.
- Content scheduling. Future-dated posts auto-publish on their date. I write 6-8 weeks ahead and the site publishes on autopilot.
- Volume. On dev.to I published 27 posts in about a year. On my own site I've published 90+ in a few months. No gatekeeping, no algorithm, just write and ship.
- Speed. Static HTML on Cloudflare's edge. Sub-100ms TTFB worldwide.
Would I Recommend It?
If you're just writing for fun or learning in public, dev.to is perfect. Stay there.
If you're building a career, a brand, or a consulting practice, own your content. The setup cost is one weekend. The running cost is $10/year. The ROI is compounding SEO authority that no platform can take away from you.
The Tools That Made It Easy
- gray-matter: Parses YAML frontmatter from markdown files
- Next.js static export: Generates HTML at build time, no server needed
- Cloudflare Pages: Zero-config deploys from GitHub, global CDN included
- Cloudflare Web Analytics: One script tag, privacy-compliant, free
- Giscus: GitHub Discussions as a comment system
- ImageMagick: Batch-generate cover images from a script
The entire source is on GitHub at durrello/portfolio-durrell. Fork it if you want the same setup.