DEV Community

VeloCMS
VeloCMS

Posted on

What is the best platform to start a blog?

There isn't one best platform, but there is a best match for each kind of beginner. If you want a newsletter and a ready-made audience, start on Substack. If you write about code and want readers to find you on day one, Hashnode (or dev.to, where this article lives) hands you a community. If you want a blog you'll still be running in five years, pick a managed platform that lets you use your own domain and export everything: WordPress.com and Ghost are two solid defaults. If you like git and Markdown, Astro, Hugo or Eleventy on a free static host is the cheapest and most portable route. Whatever you choose, do two things before your first post: put the blog on an address you control, and find the export button.

Full disclosure: I work on VeloCMS, and it's one of the ten options below. It gets the same kind of entry as everyone else, weaknesses included, and there's a section near the end on when it's the wrong choice.

Last verified: 2026-10-06.

A note on method. Every price, limit and feature below was checked against the vendor's own pages on 2026-10-06. Some pricing pages pick a currency from your location (Squarespace showed me pounds), so I name the currency whenever it isn't dollars.

Where will your first readers come from?

This is the question that separates the options most sharply, and it's the one beginners underweight. A brand-new blog on its own domain starts with zero readers and zero search authority. Nobody is looking at it. Some platforms try to fix that with a network, and some leave it entirely to you.

The network platforms are Substack, Medium, Hashnode and dev.to. Substack's about page claims "more than half of new subscribers come from Substack's built-in network" and lists recommendations, Notes and an app as discovery tools (that's the vendor's own claim, not a measurement I made). Hashnode's homepage pitches the same idea for developers: "A new blog starts at zero authority. Yours starts on a domain search engines trust and AI assistants cite." dev.to describes itself as "a community of software developers getting together to help one another out" on its about page. Medium's pitch is its paying members: its Partner Program shares a portion of membership dues with writers whose stories members read (covered below).

The own-domain platforms (WordPress, Ghost, Squarespace, Wix, static sites, VeloCMS) give you no audience at all. You bring readers through search, social posts and word of mouth, and that takes months. The trade is that every link you earn points at an address you own.

You can do both: publish on your own site and cross-post to a network, with a canonical link so search engines know which copy is the original. dev.to's editor guide documents a canonical_url field in the front matter, Medium's import tool adds a canonical link automatically (per its help center), and Hashnode's bulk Markdown import (a Pro feature) maps canonical URLs from your front matter. Cross-posting is the cheapest way to borrow an audience while you build your own.

Do you need your own address from day one?

Probably yes, and the reason is boring. If your blog lives at yourname.somewhere.com, every link, bookmark and search ranking you collect belongs to that landlord's address. Moving later means redirects at best and lost links at worst.

Platforms differ on how hard they make the own-address step. On WordPress.com the free plan has no custom domain; per its support page, connecting a domain "is available on sites with the WordPress.com Personal, Premium, Business, and Commerce plans." On Substack there's a one-time $50 fee per publication for a custom domain, per its help center (the fee doesn't cover registering the domain). Hashnode's Pro page lists "Custom domain" among its Pro features at $5 a month or $50 a year. On Medium, connecting a custom domain to a profile or publication requires an active Medium membership, per its help center. Ghost needs CNAME and A records and lets only the staff owner activate the domain. VeloCMS's help center says a CNAME plus an ownership TXT record is needed, with SSL automatic and the CNAME target unique to your domain.

A static site works with any domain you own, wherever you bought it.

Which editor will you actually keep writing in?

People abandon blogs because writing in the tool feels like friction, not because the hosting was wrong. So test the editor before you test anything else.

Developers tend to want Markdown. Hashnode says you can "skip the editor and write raw Markdown," with syntax highlighting in 25 languages, LaTeX, tables and embeds. dev.to's editor guide describes a front matter block with a canonical_url field and a maximum of four tags per post (hence the four tags on this one). Static generators are Markdown-first by nature: Eleventy lists Markdown among a long set of template languages, and the Hugo quick start is a handful of terminal commands plus a theme.

Non-technical writers usually want a visual editor. Squarespace and Wix are built around that. VeloCMS has a visual page builder with 70+ blocks, per its pricing page, though a plain blog post doesn't need most of them. Write one real, ugly draft (not "Hello World") in your top two candidates and see which one you'd open again next Tuesday.

Who owns your email list?

Even if you don't plan a newsletter, you probably will, and the question to ask now is whether you can take your subscribers with you.

Ghost's pricing page lists member import and export on every plan and says it supports CSV. Substack's help center describes an Export option on the Subscribers page that downloads your list as a CSV, plus a separate Settings, Exports option that produces a ZIP of your publication data. VeloCMS's homepage FAQ says members export as CSV from the admin panel at any time.

Rule of thumb: if a platform can't say "here's your list as a CSV" in one sentence, treat the list as rented.

How easy is it to get your writing back out?

This is the question to ask while you're still excited, because it's the one you'll care about most when you're annoyed. Here's what each platform's own documentation says about leaving.

  • WordPress.org: Tools, Export produces an XML (WXR) file with "posts, pages, custom post types, comments, custom fields, categories, tags, custom taxonomies, and users" (WordPress documentation).
  • WordPress.com: the same XML format, but the file holds links to your media, not the media files themselves (per its export support page).
  • Ghost: a JSON file of content and settings, a theme ZIP, and your images folder as a separate download (per Ghost's migration docs); members come out as CSV (per its pricing page).
  • Substack: a ZIP of your publication data from Settings, Exports, plus the subscriber CSV (per its help center).
  • Medium: Settings, Security and apps, Download your information; you get your stories as HTML files in a ZIP (per its help center).
  • Blogger: Settings, Manage blog, Back up content, Download; the backup holds your posts, pages and comments (per Google's help page).
  • Hashnode: the Pro-only "GitHub backup" syncs every post and draft to a GitHub repository as Markdown.
  • Squarespace: an XML file made for WordPress import, with gaps. Store pages, product blocks, drafts, style settings and custom CSS don't export.
  • Wix: its support page says "Currently, it is not possible to export blog posts to other platforms."
  • Static generator: your content is already Markdown files in your own folder.
  • VeloCMS: a ZIP with one JSONL file per collection, posts/*.md files with YAML front matter, a members.csv, and a media list with signed download links. JSONL isn't a format most platforms import directly, so leaving still takes some conversion.

That list is why I'd steer a beginner away from Wix for a blog they care about.

Can you add a newsletter or paid tier later?

Maybe you want a newsletter in month six, or a paid tier in year two. Some platforms make that a toggle and some make it a migration.

Substack is built around it: its about page says it's free to start with "no platform fees, no tiers, no contracts," and that if you charge, "90% goes to you." Its help center spells out the catch: Substack keeps 10% of paid-subscription revenue, and Stripe's card fees come on top. Ghost has the newsletter built in on every plan (unlimited sends, per its pricing page), but paid subscriptions and custom themes start at the Publisher plan, not Starter. Medium has the Partner Program, which per its help center requires a complete profile, at least six published stories, three months active on Medium, a bank account and tax residence in an eligible country, and age 18 or over; it pays for member reading, not for your own subscriber list.

On VeloCMS, Pro includes a newsletter with tag segmentation and a membership paywall with a 0% platform fee (Stripe's own processing fees still apply). A static site needs a separate email service and a separate payment tool, which is fine, but it's two more things to wire up.

What maintenance does each path demand?

Managed platforms (everything except self-hosted WordPress, self-hosted Ghost and static sites) take servers off your plate. Self-hosting hands them back.

WordPress.org recommends PHP 8.3 or greater plus MySQL 8.0 or MariaDB 10.11 or greater on its download page, and it recommends three hosts (Pressable, Bluehost and Hostinger). Ghost's hosting docs list a supported self-hosting stack of Ubuntu, Node.js 22 LTS, MySQL 8, NGINX and at least 1 GB of memory, and state that "for heavy users of Ghost, self-hosting generally works out to be more expensive vs Ghost(Pro), but for lightweight blogs it can be cheaper." Static sites have the lightest load: you rebuild and redeploy when you change something, and update a dependency now and then.

If the honest answer to "who fixes it when it breaks?" is "me, and I'd hate that," pay a managed host.

The options, one at a time

Substack

Substack is a newsletter platform where each post is also a web page. It's free to start, takes 10% of paid-subscription revenue when you charge (before card fees), and gives you discovery through its app and recommendations. The strength is the loop (write, send, grow) with nothing to configure. The trade-offs are a lighter website than a full CMS gives you (my judgment), a one-time $50 fee for a custom domain, and that your audience grows inside a network you don't run. Exporting is a ZIP and a CSV, which is decent.

Medium

Medium is a publishing network where members read and writers can earn through the Partner Program. You can import an existing post by URL and it adds a canonical link, and you can export your stories as HTML. The Partner Program can pay you, but only once you pass its eligibility rules. The weaknesses: your writing lives under Medium's presentation, and a custom domain requires an active Medium membership. Use it as a distribution channel, not as your only home.

Hashnode

Hashnode is a blogging platform for developers. You get Markdown, a free publication to start, and code-friendly formatting (syntax highlighting in 25 languages, LaTeX). Pro is $5 a month or $50 a year and unlocks custom domain, GraphQL API access, GitHub backup, webhooks, bulk Markdown import, hiding Hashnode branding and up to 10 publications. So the things that make a blog portable are on the paid side. Strong for technical writing, narrow for anything else.

Blogger

Blogger is Google's blog service. Its about page says you can "get a blogspot.com domain or buy a custom domain with just a few clicks" and mentions Google AdSense for ads. Backup is a documented download from Settings. The strength is that it's simple, and it's a Google product, so there's nothing new to sign up for if you already use Google. The weaknesses are that its pitch is narrow (a blog and ads, no mention of newsletters or memberships), you're a tenant on a Google product, and anything beyond a basic blog means a different tool.

WordPress.com

WordPress.com is managed WordPress. The free plan gives you a WordPress.com subdomain, 1 GB of storage, unlimited posts and pages, and 7 days of stats, but no custom domain, no plugin installs and ads shown to your visitors. On annual billing Personal is $4 a month, Premium $8, Business $25 and Commerce $45; paying monthly is $9, $18, $40 and $70 (all USD). Plugin installation starts at Personal, and WordPress.com says that includes access to "over 60,000 plugins." It's the easiest on-ramp to the WordPress ecosystem. The catches are plan gating and the fact that you're on a vendor's platform rather than a server of your own.

WordPress.org (self-hosted)

WordPress.org is the free open-source software. You pay for hosting and a domain, you install it (some hosts pre-install it), and you own the files and database outright. The ecosystem of themes, plugins, tutorials and freelancers is the biggest of anything on this list, so whatever odd feature you want, someone has probably built it. The costs are the work and the risk: updates, backups and security are yours, every plugin is another thing to keep current, and a neglected install is the kind that gets hacked.

Ghost

Ghost is a publishing platform with newsletters and memberships built in. On its pricing page, Starter is $18 a month billed yearly (1,000 members, one staff user) and Publisher is $29 billed yearly (also 1,000 members, three staff users, paid subscriptions and custom themes). Business is $199 for up to 10,000 members. The code is open source, and self-hosting is a real option. The strength is the focus: if readers are your business, Ghost is built for it. The weaknesses are that it's a publishing tool rather than a general site builder, Starter is limited (no paid subscriptions, no custom themes), and pricing follows member count.

Squarespace and Wix

Squarespace and Wix are visual site builders with a blog attached. Squarespace offers a 14-day free trial and, on the UK page I got, Basic at £12 a month billed annually or £16 monthly, with one year of free domain registration on annual plans. Wix has a free plan that needs no credit card, and the paid prices it displays are for yearly subscriptions paid in full at purchase. They're pleasant if you want to click, drag and ship a good-looking site with a blog section. The weaknesses are portability (see the export list: Squarespace exports with gaps, and Wix says blog posts can't currently be exported) and that the blog is a feature of a site builder, not the center of it.

Static site generators (Astro, Hugo, Eleventy)

A static site generator turns Markdown and templates into HTML files you host anywhere. Astro has an official tutorial that builds a blog, Hugo's quick start needs Hugo and Git installed, and Eleventy is "a simpler static site generator" that requires Node.js 18 or newer and ships zero client-side JavaScript by default. Astro's deploy guide covers dozens of hosts, including Cloudflare Pages, GitHub Pages, Netlify and Vercel. The strengths are portability, speed and a content history in git. The weaknesses are that there's no admin screen, no built-in newsletter or comments, and a non-developer collaborator will struggle with it.

VeloCMS

VeloCMS is a hosted CMS that puts a blog, page builder, newsletter, memberships and a store behind one login. Pro is $9 a month ($7.20 on annual billing) with unlimited posts, a custom domain, a newsletter with tag segmentation, a membership paywall at 0% platform fee, 5 GB of storage and 5,000 subscribers; Business is $29 and Agency $69. Every plan starts with a 14-day trial that takes a card at signup (no charge until day 15), and there's no free plan.

The weaknesses are real. It's young and has no built-in reader network, so you bring your own audience. Per its comparison page, "VeloCMS isn't open-source" and "WordPress plugins do not run in VeloCMS." It's hosted only.

How do you set it up in an afternoon?

Three broad paths, each doable in a few hours if you keep your first goal small: one real post live on an address you control.

Path 1: a network platform (Substack, Medium, Hashnode, dev.to, Blogger). Create the account, pick the publication name, write one real post, and publish. Then, before you do anything else, open the export or backup setting and confirm it works. If the platform sells a custom domain (Substack's $50, Hashnode Pro), decide now whether you want it, because your first links will carry whichever address you launch with. Plan about 30 minutes for setup, an hour or two for the post, 20 minutes for the export test.

Path 2: a managed platform on your own domain (WordPress.com, Ghost, Squarespace, Wix, VeloCMS). Buy the domain from a registrar you'd also use in five years, choose the plan that includes custom-domain support, and pick a theme (resist customizing it today). Add the DNS records the platform gives you (a CNAME for a subdomain, plus an A or TXT record where it asks) and wait for SSL to issue; VeloCMS says up to an hour for propagation, and other hosts are similar. Write your first post while you wait. On Ghost, remember only the staff owner can activate the domain.

Path 3: self-hosted or static (WordPress.org, Ghost on your own server, Astro, Hugo, Eleventy). For static, install the generator, create a project, add one Markdown post, push the repo to a host that builds on push (the Astro docs cover Cloudflare Pages, GitHub Pages, Netlify, Vercel and many more), and attach your domain. For WordPress.org, pick a host from WordPress.org's recommended list, let it pre-install WordPress where it offers that, and check that the PHP and database versions meet the download page's recommendations. Then schedule backups before you write anything. Budget a full afternoon.

Who is each option best for?

  • Substack: writers whose main product is a newsletter and who want built-in discovery.
  • Medium: writers who want distribution first and don't need a site of their own.
  • Hashnode: developers who write technical posts and want Markdown and a developer readership.
  • Blogger: people who want a basic blog on a Google account and nothing else.
  • WordPress.com: beginners who want managed WordPress and a path into its ecosystem.
  • WordPress.org: people who want the biggest plugin and theme world and will run the server.
  • Ghost: publishers building a membership business on top of a newsletter.
  • Squarespace and Wix: people who want a good-looking site with a blog, and who won't need to move it later.
  • Static generators: developers who want a fast, free, version-controlled blog.
  • VeloCMS: people who want blog, newsletter, membership and a small store in one hosted login and don't need a plugin ecosystem or an existing audience.

When is VeloCMS the wrong choice?

If you want a built-in audience on day one, a network like Substack or Hashnode will give you more than a standalone site will. If you need a free plan to experiment on, VeloCMS has none (and the trial takes a card). If you want to self-host or read the source, it's the wrong tool; WordPress.org, Ghost or a static generator are the right ones. If your plan depends on a specific WordPress plugin, it won't run here. If you write only code tutorials and want Markdown and a developer community, Hashnode or dev.to fit better. And if you already have a happy WordPress site, rebuilding it elsewhere to change dashboards is a lot of work for a small gain.

When should you move to a different platform?

Move when the platform stops fitting what you do. Good reasons: you've outgrown a plan's limits, the fees on your paid tier are now a real cost, you need a feature the platform won't ship, or your audience is on the network and the network is no longer where you want it.

Bad reasons: a redesign urge, a feature announcement, a friend's recommendation. Moving costs time and some search traffic even when it goes well.

Two habits make a move cheap. Keep the blog on your own domain so links survive, and run the export once a quarter so you know it still opens. A platform you can leave on a quiet Saturday is one you can afford to stay on.

FAQ

Is it free to start a blog?
Yes, on several platforms. Substack says it's free to start; WordPress.com, Wix and Hashnode have free tiers; static generators are free software (see each vendor's page). A free tier usually means no custom domain, ads or limits, and a domain is a separate yearly cost anywhere.

Should I use Medium or my own blog?
Both, if you can. Medium offers distribution and a Partner Program with eligibility rules, but a custom domain there needs an active Medium membership. Publish on your own domain first and use Medium's import tool, which adds a canonical link to the original.

What's the best platform for a developer blog?
Hashnode and dev.to give you Markdown and a developer audience. A static generator gives you the most control. Self-hosted Ghost or WordPress suit people who want a CMS they can modify.

Can I switch platforms later without losing posts?
Usually, yes, if the platform has a documented export: WordPress and Ghost, for example, produce XML and JSON, respectively. Wix says blog posts can't currently be exported, so check before you write a hundred posts there.

Do I need to know how to code?
No. Substack, Medium, WordPress.com, Ghost(Pro), Squarespace, Wix and VeloCMS are all hosted tools you can use without code. You need some comfort with a terminal for static generators and self-hosting.

Sources (all accessed 2026-10-06)

Substack about · Substack help center: custom domain · Substack help center: cost and fees · Substack help center: exporting posts · Substack help center: exporting your email list · Medium Partner Program · Medium help center: custom domain · Medium Partner Program eligibility · Medium: export your account data · Medium: importing a post · Hashnode · Hashnode Pro · dev.to about · dev.to editor guide · Blogger about · Blogger: back up or import · WordPress.com pricing · WordPress.com export · WordPress.com connect a domain · WordPress.org download · WordPress.org hosting · WordPress export docs · Ghost pricing · Ghost custom domains · Ghost export docs · Ghost hosting docs · Squarespace pricing · Squarespace export help · Wix plans · Wix blog export support page · Astro deploy guide · Astro tutorial · Hugo quick start · Eleventy · VeloCMS pricing · VeloCMS custom domain help · VeloCMS vs WordPress · VeloCMS homepage

Last verified: 2026-10-06.

Top comments (0)