← Back to blog

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.

#career#blogging#nextjs#cloudflare#devto
Why I Moved My Blog from dev.to to My Own Website

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

LayerToolWhy
FrameworkNext.js (static export)Fast, flexible, great DX. Static HTML means no server to maintain.
HostingCloudflare PagesFree tier handles everything. Global CDN, automatic deploys from GitHub.
DNS + CDN + WAFCloudflareAlready there for Pages. Free plan includes WAF rules, caching, analytics.
AnalyticsCloudflare Web AnalyticsPrivacy-friendly, no cookies, no GDPR banner needed. Free.
CommentsGiscus (GitHub Discussions)No database, no moderation headaches, readers already have GitHub accounts.
ContentMarkdown files (gray-matter)Write in VS Code, commit to git, auto-publish on merge. No CMS to maintain.
ImagesLocal files + WebPGenerated cover images per post, served from /public. No external CDN dependency.
Domaindurrellgemuh.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

  1. 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.
  2. Kept the dev.to originals. Those 27 posts stay on dev.to. I added canonical_url pointing to my domain on each one so Google credits my site.
  3. 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.
  4. Generated cover images. A Python script creates branded PNG covers for each post using the title and a consistent color scheme.
  5. Deployed to Cloudflare Pages. Push to GitHub, Cloudflare builds and deploys automatically.
  6. 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.

Share:LinkedInXWhatsApp

Related articles

Reactions & comments