<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: VeloCMS</title>
    <description>The latest articles on DEV Community by VeloCMS (@velocms).</description>
    <link>https://dev.to/velocms</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4085360%2F7526aa0a-9219-40fd-9702-d38ff1b18183.png</url>
      <title>DEV Community: VeloCMS</title>
      <link>https://dev.to/velocms</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/velocms"/>
    <language>en</language>
    <item>
      <title>What is VeloCMS? An honest review of the all-in-one blogging platform (2026)</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Wed, 23 Sep 2026 09:31:50 +0000</pubDate>
      <link>https://dev.to/velocms/what-is-velocms-an-honest-review-of-the-all-in-one-blogging-platform-2026-38im</link>
      <guid>https://dev.to/velocms/what-is-velocms-an-honest-review-of-the-all-in-one-blogging-platform-2026-38im</guid>
      <description>&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What is VeloCMS, and is it worth switching to?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; VeloCMS is a hosted, all-in-one publishing platform. Themes, a visual page builder, memberships and paywalls, a newsletter, native commerce, AI writing and SEO tools, and migration importers all ship inside one subscription, with no plugins to buy or maintain. Plans are $9, $29 and $69 a month (less on annual billing), and every plan starts with a 14-day free trial, card required. The honest catch: it's managed SaaS only. There's no self-hosted core and no open third-party plugin ecosystem yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is VeloCMS, exactly?
&lt;/h2&gt;

&lt;p&gt;It's a content platform for people who publish for a living, or who'd like to. You sign up, pick one of 39 built-in themes (as of September 2026), connect a domain, and you already have a blog with an editor, a page builder, an email list, a paywall and a store attached to it. Nothing gets installed. Nothing needs updating by you.&lt;/p&gt;

&lt;p&gt;The homepage states the thesis without much decoration: stop paying for plugins one by one. That's aimed squarely at the WordPress stack, where the software is free right up until you need SEO, caching, a page builder, forms, memberships and a newsletter, at which point you're quietly running six vendors on six renewal dates and hoping none of them breaks the other five.&lt;/p&gt;

&lt;p&gt;Under the hood it's a server-rendered app on managed hosting behind a CDN, which is why the front page advertises an 0.8s load-time target instead of selling you a caching plugin. You never see any of that. There's no server to log into and no PHP to patch, which is the point and also, for some people, the objection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who is it for?
&lt;/h2&gt;

&lt;p&gt;Solo creators and small publishing teams. The niche pages give the audience away pretty clearly: photographers, podcasters, restaurants, writers, developers, indie makers, agencies, plus roughly a hundred more specific ones. What they have in common is one person, maybe three, who writes, wants to charge readers or sell something alongside the writing, and has no interest in running infrastructure as a side hobby.&lt;/p&gt;

&lt;p&gt;If you're a developer who wants root access and a repo you can fork, this is not your platform, and the section further down says so plainly.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do you get without installing anything?
&lt;/h2&gt;

&lt;p&gt;This is the part that decides whether the pitch holds up, so here's what's actually in the box today.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Writing and layout.&lt;/strong&gt; A block editor for posts and a visual page builder with 70-plus blocks for everything that isn't a post: landing pages, pricing tables, galleries, embeds, forms. Themes number 39 (as of September 2026) and every one is included on every plan, not gated behind a tier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting paid.&lt;/strong&gt; Memberships and paywalls are native, and payments run through your own Stripe account with a 0% platform fee (Stripe's own processing cut still applies, as it does everywhere). Native commerce covers physical products with variants and shipping, digital downloads, event tickets, gift cards and online courses. The store speaks in your theme's visual language rather than looking like a bolted-on plugin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Email.&lt;/strong&gt; A newsletter with tag segmentation, sent to your own subscriber list, and no percentage taken from paid subscriptions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI, and where it's pointed.&lt;/strong&gt; There's a Gemini-based writing assistant in the editor, alt-text generation, translation with hreflang handling, plus SEO scoring and an AI-search visibility score that grades a draft on how likely it is to be quoted by answer engines rather than only ranked by Google. Google Search Console performance sits right next to that score, so you see what a post actually did after publishing. You can bring your own AI key if you'd rather use your own quota.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting your stuff in.&lt;/strong&gt; A WordPress migration wizard, a Squarespace XML importer, Webflow CMS collection imports, Substack and Ghost exports, and a Wix importer that reads your public URL directly so you never have to produce a backup file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automation.&lt;/strong&gt; An official n8n node, publishing straight from Claude over MCP, Zapier and Make, plus a plain REST API and webhooks for anything else.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The unglamorous parts.&lt;/strong&gt; Full Arabic and right-to-left support across the site and admin, GDPR tooling, two-factor auth and WebAuthn passkeys, instant on-site search, and domains you can either connect from any registrar or buy inside the dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does VeloCMS cost?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Monthly&lt;/th&gt;
&lt;th&gt;Annual (per month)&lt;/th&gt;
&lt;th&gt;Who it's for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;$9&lt;/td&gt;
&lt;td&gt;$7.20&lt;/td&gt;
&lt;td&gt;One creator, one site&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;$29&lt;/td&gt;
&lt;td&gt;$23.20&lt;/td&gt;
&lt;td&gt;A team of five, bigger limits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agency&lt;/td&gt;
&lt;td&gt;$69&lt;/td&gt;
&lt;td&gt;$55.20&lt;/td&gt;
&lt;td&gt;Five client sites, white-label, unlimited team&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every plan starts with a 14-day free trial and a card is required upfront. You aren't charged until day 15, and cancelling before then costs nothing. Refunds run 14 days from the first payment, no questions asked. If you cancel later, the site drops to read-only rather than vanishing, and you can export or reactivate within 90 days.&lt;/p&gt;

&lt;p&gt;The limits are worth reading before you commit. Pro includes 5 GB of storage, 5,000 subscribers, 1,000 AI calls a day, 100 AI translations a month and one site. Business raises those to 50 GB, 50,000 subscribers, 5,000 AI calls and unlimited translations. Agency includes five sites with extras at $9 a month each, and lifts the storage and subscriber caps entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where VeloCMS falls short
&lt;/h2&gt;

&lt;p&gt;A review that only lists features isn't a review, so here are the four things most likely to disqualify it for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There's no self-hosted version.&lt;/strong&gt; The application is proprietary and managed SaaS only: no source access, no server, no fork. The plugin SDK and CLI are MIT-licensed on npm, but the platform itself is not. If your requirement is "I must be able to move this onto my own box," VeloCMS fails that requirement today and there's no roadmap date to point you at. Your content isn't hostage (posts, members and settings export as JSON, CSV or Markdown from the dashboard whenever you like), but the software is not yours.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There's no third-party plugin or theme marketplace yet.&lt;/strong&gt; The developer program is written up publicly and clearly marked as not open. Every plugin and theme you can use today is first-party. That's a genuine strength for reliability and a genuine weakness for coverage: if your business depends on one specific WordPress plugin, nobody can build you the equivalent right now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Importers cover platforms, not folders.&lt;/strong&gt; WordPress, Wix, Squarespace, Webflow, Substack and Ghost all have their own path in. A Markdown archive from Jekyll or Hugo doesn't, so those posts go in one at a time. The Wix importer also has a known soft edge: pages built almost entirely from client-side scripts can arrive thinner than expected, and Wix's own RSS feed carries no images, so imported drafts deserve a scroll-through before you publish them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There's no free plan.&lt;/strong&gt; The trial is free, the platform isn't. If you want to publish indefinitely at zero cost, this is the wrong product and Substack or a free WordPress.com site is a better answer.&lt;/p&gt;

&lt;p&gt;If you want the side-by-side against specific tools rather than the overview, the &lt;a href="https://velocms.org/compare" rel="noopener noreferrer"&gt;compare page&lt;/a&gt; puts VeloCMS next to Substack, Ghost, Squarespace and Medium, and the &lt;a href="https://velocms.org/vs/wordpress" rel="noopener noreferrer"&gt;WordPress comparison&lt;/a&gt; covers the plugin-tax argument in detail. Current plan pricing lives on the &lt;a href="https://velocms.org/pricing" rel="noopener noreferrer"&gt;pricing page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is VeloCMS free?
&lt;/h3&gt;

&lt;p&gt;No. There's no free plan. Every plan starts with a 14-day free trial that requires a card upfront, and you're charged on day 15 unless you cancel first. Paid plans are $9, $29 and $69 a month, with a 20% discount on annual billing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I self-host VeloCMS?
&lt;/h3&gt;

&lt;p&gt;No. VeloCMS is proprietary, managed SaaS with no self-hosted core and no source access. The plugin SDK and CLI tooling are MIT-licensed and published on npm, but the platform itself isn't open source. Your data stays portable either way, since posts, members and settings export as JSON, CSV or Markdown at any time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does VeloCMS take a cut of my subscription or product revenue?
&lt;/h3&gt;

&lt;p&gt;No. Memberships, paid newsletters and store sales run through your own Stripe account at a 0% platform fee. Stripe's normal processing fee (roughly 2.9% plus $0.30 per transaction) still applies, the same as it would on any platform.&lt;/p&gt;

</description>
      <category>velocms</category>
      <category>review</category>
      <category>cms</category>
      <category>pricing</category>
    </item>
    <item>
      <title>How do I move my newsletter subscribers from Mailchimp, Kit, or beehiiv to VeloCMS?</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Mon, 21 Sep 2026 09:14:41 +0000</pubDate>
      <link>https://dev.to/velocms/how-do-i-move-my-newsletter-subscribers-from-mailchimp-kit-or-beehiiv-to-velocms-3n7l</link>
      <guid>https://dev.to/velocms/how-do-i-move-my-newsletter-subscribers-from-mailchimp-kit-or-beehiiv-to-velocms-3n7l</guid>
      <description>&lt;p&gt;You move your newsletter to VeloCMS by exporting a CSV from your current platform and running it through the built-in import wizard, which detects whether the file came from Mailchimp or Kit, shows you exactly who will and won't come across, and writes your subscriber list in on a single confirmation. For beehiiv, the wizard accepts your posts export and your subscribers export as two separate files, so your published archive can come along with your readers instead of just the list.&lt;/p&gt;

&lt;p&gt;Switching email platforms has always carried a quiet tax nobody mentions in the marketing copy: the list. Your posts you can usually copy-paste one at a time if you're patient enough. Your subscribers are a different problem entirely. Ask someone who has actually done this and they'll tell you about the afternoon spent staring at a CSV in Excel, guessing which column is the email address and which one is a custom merge tag nobody remembers adding. VeloCMS built a dedicated importer so that afternoon doesn't have to happen to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do I need to export from Mailchimp or Kit?
&lt;/h2&gt;

&lt;p&gt;Both platforms let you export your audience as a CSV from their own dashboard — Mailchimp calls it exporting your audience, Kit calls it exporting your subscribers. You don't need to reformat anything or strip out columns first. Drop the raw file into VeloCMS's import wizard under Admin, and the wizard reads the column headers itself to figure out which platform it came from. If your file's headers don't clearly match one provider's pattern, the wizard shows you a confidence score for each and asks you to confirm before it maps a single row, rather than guessing silently and hoping it got it right.&lt;/p&gt;

&lt;p&gt;This matters more than it sounds. A silent wrong guess means subscribers land with the wrong status or get skipped entirely, and you don't notice until three weeks later when someone emails asking why they stopped getting your newsletter. Being asked to confirm the provider once, up front, is a small extra click that avoids a much larger headache down the line.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually gets imported, and what doesn't?
&lt;/h2&gt;

&lt;p&gt;This importer is subscriber-list only for Mailchimp and Kit — it does not bring your old newsletter issues or blog posts across, and it says so plainly on the preview screen before you commit to anything. What it does bring is every subscriber whose status in your export counts as active or subscribed. Anyone who unsubscribed, bounced, or was marked as cleaned in your old platform is left out on purpose, and the preview breaks that count down by the real status name from your export rather than lumping everyone into one vague "excluded" bucket. You'll see something like: 1,842 subscribers will import, 96 are excluded (61 unsubscribed, 22 bounced, 13 cleaned). That's a number you can sanity-check against what you remember your list looking like, instead of trusting a black box.&lt;/p&gt;

&lt;p&gt;Any column in your file the wizard doesn't recognize — a custom merge field, a location tag, whatever your old platform let you bolt on — isn't thrown away, but it also isn't silently imported as structured data either. The preview flags it as an unrecognized column so you know it exists and can decide whether it matters, rather than having it vanish with no record. For Mailchimp exports specifically, the wizard also looks at your tags for the usual paid-subscriber signals and carries that distinction into VeloCMS's own membership tiers, so readers who were paying you before generally keep that status here too.&lt;/p&gt;

&lt;p&gt;If a subscriber's email address already exists on your VeloCMS blog — maybe from a manual add, or a previous partial import — the wizard doesn't create a duplicate or silently overwrite anything. It skips that row and tells you how many it skipped in the final report, so the numbers you see at the end actually add up to something you can trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's different about moving from beehiiv?
&lt;/h2&gt;

&lt;p&gt;beehiiv splits its export into two separate downloads instead of one combined file: an "Export All Posts" file and an "Export Subscribers" file. VeloCMS's importer is built around that same shape — you can hand it either file on its own, or both together, and it treats them independently. Give it just the subscribers file and you get the same subscriber-only import described above. Give it just the posts file and your published archive comes across without touching your list. Give it both, and you get your back catalog and your readers in the same pass.&lt;/p&gt;

&lt;p&gt;When your beehiiv posts do come across, any images referenced inside them — a hero image, an inline screenshot, whatever you embedded in the body — get automatically re-hosted onto VeloCMS's own storage rather than continuing to point back at beehiiv's servers. That's a detail people don't think about until six months after a migration, when the old platform quietly cleans up "unused" media and every image in an old post breaks at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do I need to do anything before I import?
&lt;/h2&gt;

&lt;p&gt;Not really, beyond having your export files ready. The wizard walks you through three steps: upload the file, review a preview that shows exactly what will and won't come across (and asks you to confirm the provider if the file was ambiguous), and apply the import. Nothing writes to your live subscriber list until you approve the preview. If something in the preview looks off — a status count that doesn't match your memory, or more excluded rows than you expected — you can back out and re-export from your old platform before anything changes.&lt;/p&gt;

&lt;p&gt;The honest version of this feature is that it moves your list and, for beehiiv, your archive — it's not a magic button that also recreates your automations, your segments, or your old platform's specific tagging structure inside VeloCMS from day one. But the part that used to take the longest, and the part where a copy-paste mistake actually costs you subscribers, is now a guided upload with a preview you can check before you commit. If you're weighing whether to make the jump, you can bring your list over during your 14-day free trial (card required) and see your actual subscriber count land in VeloCMS before you decide anything else.&lt;/p&gt;

</description>
      <category>newsletter</category>
      <category>mailchimp</category>
      <category>kit</category>
      <category>beehiiv</category>
    </item>
    <item>
      <title>AI for Bloggers: Stop Using It to Write, Start Using It to Edit</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Fri, 18 Sep 2026 09:55:59 +0000</pubDate>
      <link>https://dev.to/velocms/ai-for-bloggers-stop-using-it-to-write-start-using-it-to-edit-lgd</link>
      <guid>https://dev.to/velocms/ai-for-bloggers-stop-using-it-to-write-start-using-it-to-edit-lgd</guid>
      <description>&lt;p&gt;Let's get the obvious out of the way. A machine is helping me with this post. But it didn't write it, and that's the whole point. The tension around AI in creative work is palpable. You can feel it. We're told it's the future, a tool to 10x our output, but every time we paste a chunk of AI-generated text into our draft, something feels… off. It's a bit like a meal replacement shake. Nutritionally complete, I guess, but utterly devoid of joy.&lt;/p&gt;

&lt;p&gt;Readers can feel it, too. They can sniff out that perfectly structured, grammatically flawless, and emotionally vacant prose from a mile away. It's the uncanny valley of text. It hits all the right notes but has no soul, no unique rhythm, no weird little authorial tics that make writing feel human. AI models are trained to predict the next most likely word, which makes them masters of the average. They create a smoothed-over, sanitized version of whatever they've been fed. The result is content that sounds like a B-student's book report: correct, but you'd never read it for fun.&lt;/p&gt;

&lt;p&gt;This is where so many creators get stuck. They try to use AI as a ghostwriter, get a hollow first draft, and then spend more time trying to inject a personality into it than it would have taken to just write the damn thing from scratch. It's a frustrating cycle. But what if we've been looking at the tool all wrong?&lt;/p&gt;

&lt;p&gt;The real leverage isn't in asking AI to create. It's in asking it to refine. This is the big shift in thinking. Don't use it as your writer; use it as your tireless, uncomplaining, and brutally honest editor. Think of the old (and probably apocryphal) Hemingway advice: "Write drunk, edit sober." Your first draft is the raw, passionate, messy "drunk" part. Get your ideas on the page. Don't worry about perfect phrasing or finding that one brilliant metaphor. Just pour it all out.&lt;/p&gt;

&lt;p&gt;Then, bring in your sober editor. AI is incredible at this. It doesn't have an ego. It will mercilessly point out that you used passive voice three times in one paragraph. It will highlight wordy sentences and suggest trimming the fat. It will spot weak paragraph openers that are lulling your reader to sleep. This isn't about replacing your voice; it's about sharpening it. The AI handles the mechanical grunt work, freeing you up to focus on the story, the argument, and the unique perspective that only you can bring.&lt;/p&gt;

&lt;p&gt;Here's what that looks like in practice inside VeloCMS. As you write, our analysis panel is working right alongside you, but it's not just a simple SEO score. We built a dual-scoring system. On one side, you have a 9-factor technical SEO analysis that checks all the boxes for search engines. But right next to it is a 7-factor readability score powered by a language model. It's not just counting keywords; it's analyzing sentence complexity, flagging passive voice, and measuring the clarity of your writing &lt;em&gt;for a human reader&lt;/em&gt;. It's a constant, gentle nudge toward better prose.&lt;/p&gt;

&lt;p&gt;When you hit a specific roadblock—maybe a sentence feels clunky or a paragraph just isn't landing—you don't have to leave your workflow. You can just highlight the text, use the &lt;code&gt;/ai&lt;/code&gt; slash command right in the editor, and give it a direct order. Things like "Make this more concise," "Rephrase this in an active voice," or "Suggest three alternative headlines for this section." It's surgical. You're not handing over the reins; you're using a precision tool to fix a specific problem. You remain the author, the architect of the piece. The AI is just your very capable assistant.&lt;/p&gt;

&lt;p&gt;This approach completely sidesteps the guilt and the hollowness of AI writing. You aren't faking it. The core ideas, the voice, the stories—they are all yours. You're simply using an incredibly powerful tool to polish your work to a professional shine, faster than you could on your own. It helps you get from a messy first draft to a sharp, compelling final piece without losing the very thing that makes people want to read your work in the first place: you.&lt;/p&gt;

&lt;p&gt;So, stop trying to make the robot sound human. It's a losing game. Instead, let your human voice be as messy and authentic as it needs to be, and then let the robot come in and tidy up afterward. That's the partnership that actually works, and it's how you can use these powerful new tools to elevate your craft, not replace it. You can see how we've integrated these tools into the VeloCMS editor on our &lt;a href="https://velocms.org/admin/tools" rel="noopener noreferrer"&gt;AI assistant feature page&lt;/a&gt;. It's all about making your own voice clearer, not handing it over.&lt;/p&gt;

&lt;p&gt;One practical note: the best AI editing sessions happen when you give the tool a specific job. "Shorten this paragraph to three sentences" beats "make this better" every single time. Vague prompts produce vague results. Treat it like delegating to a junior editor — precise instructions, real constraints. That's when you start getting genuine value out of the tool, rather than just more generic-sounding prose.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>blogging</category>
      <category>editing</category>
      <category>writingtools</category>
    </item>
    <item>
      <title>How Do I Sell Event Tickets Directly From My Own Website?</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Wed, 16 Sep 2026 09:40:23 +0000</pubDate>
      <link>https://dev.to/velocms/how-do-i-sell-event-tickets-directly-from-my-own-website-1ej2</link>
      <guid>https://dev.to/velocms/how-do-i-sell-event-tickets-directly-from-my-own-website-1ej2</guid>
      <description>&lt;p&gt;You can sell event tickets directly from your VeloCMS site without sending readers to a third-party platform. The new event ticketing feature lets you create ticket tiers, collect payments, and manage attendees inside the same dashboard you already use for your blog and storefront.&lt;/p&gt;

&lt;p&gt;Selling event tickets usually means surrendering your audience to Eventbrite or another middleman, paying their fees, and hoping attendees remember your brand later. That never felt right for independent creators who already own a website and an audience. With VeloCMS, event tickets now live on the same domain as your blog, your shop, and your newsletter — one login, one checkout experience, one place where your business actually lives.&lt;/p&gt;

&lt;p&gt;When you create an event, you build ticket tiers the same way you would build product variants. A general admission ticket at one price, an early-bird tier at another, maybe a VIP option with extras like priority seating or a meet-and-greet. Each tier gets its own stock count, so overselling a small venue becomes a non-issue. Readers browse the event page, pick the tier that fits them, and check out through the same Stripe flow that already powers memberships and physical products. The whole transaction happens under your brand, on your custom domain, with your own design wrapped around it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens after someone buys a ticket?
&lt;/h2&gt;

&lt;p&gt;The purchase lands in your orders dashboard alongside everything else you sell, and the buyer turns into a row on that event's attendee list with the details you actually need: name, email, ticket type, quantity. No separate login to a second platform, no exporting a CSV from somewhere else and reconciling it by hand, no wondering whether the payment cleared before you print the guest list. It is the same commerce engine you already use, just pointed at a date and a venue instead of a box you ship.&lt;/p&gt;

&lt;p&gt;That single-dashboard part sounds like a small convenience until the week of the event, when it stops being one. Most independent organisers end up running a spreadsheet next to a ticketing platform next to their email list, and every one of those three has a slightly different idea of who is coming. Reconciling them is the actual work, and it always lands the night before. When the sale, the attendee record, and the customer relationship are the same object in the same database, that reconciliation job simply does not exist.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I check people in at the door?
&lt;/h2&gt;

&lt;p&gt;Every registration carries its own check-in token, and your admin has a check-in view for each event. You open it on a phone at the door, scan or look people up, and the list updates as they arrive — so you can see at a glance how many of the people who paid have actually walked in. Because the tokens are random and single-purpose, a forwarded screenshot does not quietly become two admissions.&lt;/p&gt;

&lt;p&gt;This is the part most creators underestimate when they first sell tickets. Taking the money is easy; knowing who is standing in front of you is what makes the evening run. A printed list works right up until someone is not on it, and then you are the person holding up a queue while you search an inbox on your phone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do I need a separate events plugin?
&lt;/h2&gt;

&lt;p&gt;Not anymore. Event tickets are built into the core commerce layer. If your site already accepts payments, you can list an event in minutes without installing anything extra. The same tax settings, the same payout routing, and the same custom-domain checkout your readers already trust. You do not have to patch together another tool, sign another terms-of-service agreement, or train yourself on a new interface that looks nothing like the rest of your site.&lt;/p&gt;

&lt;p&gt;This matters most when your events are part of a larger business rather than the whole of it. A photography educator running workshops, a podcaster hosting live shows, a restaurant doing ticketed tastings, or an indie maker running a small conference. For every one of them the event is a chapter in something longer — the workshop attendee is next year's course buyer, the tasting guest is a regular, the conference ticket is the start of a mailing list. Hand that first transaction to a marketplace and you get the money but not the thread. The buyer's email belongs to the platform, the follow-up gets sent by the platform, and the next time you have something to announce you are renting access to people you already met. Selling on your own domain keeps the thread in your hands: same customer record, same list, same site they will come back to. The attendee is your customer, not the platform's.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I get started?
&lt;/h2&gt;

&lt;p&gt;Open your VeloCMS admin, head to the commerce section, and create a new event. Set the date, location, and ticket tiers, then publish the page. Your existing audience can buy without leaving your domain, and you can manage everything from the dashboard you already know. If you are not on VeloCMS yet, start a 14-day free trial and publish your first event this week.&lt;/p&gt;

</description>
      <category>events</category>
      <category>ticketing</category>
      <category>commerce</category>
      <category>stripe</category>
    </item>
    <item>
      <title>How do I move my Wix blog without downloading a backup?</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Mon, 14 Sep 2026 09:21:24 +0000</pubDate>
      <link>https://dev.to/velocms/how-do-i-move-my-wix-blog-without-downloading-a-backup-6p4</link>
      <guid>https://dev.to/velocms/how-do-i-move-my-wix-blog-without-downloading-a-backup-6p4</guid>
      <description>&lt;p&gt;You can now point VeloCMS at your live Wix URL and pull your content straight in. No export file, no manual copy-paste, no wrestling with ZIP archives. The importer reads your public site and turns pages and posts into real VeloCMS content you can edit immediately.&lt;/p&gt;

&lt;p&gt;Switching blog platforms used to feel like moving house through a keyhole. You'd export some partial file, lose half your media, then spend a weekend rebuilding everything the old builder wouldn't give back. We shipped the Wix importer to skip that whole ritual.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does the Wix import actually work?
&lt;/h2&gt;

&lt;p&gt;You paste your public Wix URL into the importer and let it read what's already live. VeloCMS walks the rendered site, pulls out pages and posts, maps images and text into the VeloCMS structure, and lands everything in your draft workspace. You're not scraping raw HTML into a static page; each piece becomes real, editable content inside VeloCMS. That means you can rewrite a headline, swap a hero image, or change the URL slug after the import finishes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fwix-import-hub.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fwix-import-hub.jpg" title="Import lives in the admin sidebar; pick Wix and paste your public URL" alt="The VeloCMS Import hub with the Wix platform card" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes over from Wix?
&lt;/h2&gt;

&lt;p&gt;Pages, blog posts, and the media embedded in them make the trip. The importer preserves the body content and structure as closely as possible, then hands you clean VeloCMS blocks you can rearrange. It won't clone Wix's exact theme (that would be a copyright and maintenance mess), so your site gets a fresh VeloCMS look that you control. Think of it as rescuing your writing and assets, not photocopying the old design.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does NOT come over?
&lt;/h2&gt;

&lt;p&gt;Not everything on your Wix site counts as content the way VeloCMS understands it. Forms, booking widgets, and members-only areas are Wix apps, not article bodies, so the importer leaves them alone entirely (there's nothing there to migrate; you'd rebuild those with a VeloCMS-native equivalent if you still need them). And because the importer reads what's actually served in your site's HTML rather than rendering the page the way a browser does, a page built almost entirely out of client-side scripts can come through thinner than you'd expect, missing text or sections that only appear once Wix's own JavaScript runs.&lt;/p&gt;

&lt;p&gt;Media deserves its own callout here. Wix's RSS feed, usually the fastest route to your posts, doesn't include images at all. That's a known limitation of the feed itself, not something we're getting wrong on our end. So every post that arrives through the feed gets a second pass that goes back to the live page and recovers its images directly, rather than trusting the feed to hand them over. It's worth a quick scroll through your imported drafts once the run finishes, just to confirm the images you expected actually landed where they should.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why import from the public URL?
&lt;/h2&gt;

&lt;p&gt;Because most Wix owners don't have a clean export sitting around. Asking someone to dig through Wix settings, generate a backup, and upload mystery files is exactly the friction that keeps people locked on a platform they've outgrown. Reading the live URL removes that gate entirely. If your site is public, the importer can see it, which means migration day becomes "paste link, review drafts, publish" instead of a multi-day project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fwix-import-url.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fwix-import-url.jpg" title="One field: your live Wix URL. No backup file required." alt="The Wix importer's URL step, asking only for your public site address" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How does the importer find your content?
&lt;/h2&gt;

&lt;p&gt;Under the hood, it's less a single scraper and more a short ladder, and each rung only matters if the one above it comes up short. First it tries your Wix blog feed directly at &lt;code&gt;/blog-feed.xml&lt;/code&gt;, which is where Wix publishes RSS by default. If that's missing or oddly configured, it falls back to a more general feed-discovery pass that checks the handful of other places a feed might live. If there's still nothing usable, it walks your sitemap instead and collects every page on your domain that isn't a product page. From there, each page gets read on its own: the importer looks for JSON-LD Article or BlogPosting markup, Open Graph tags, and a readability pass over the page content, then decides for itself whether what it found is a blog post or a plain static page.&lt;/p&gt;

&lt;p&gt;The point of building it this way, rather than betting everything on one method, is that Wix sites aren't all wired the same. Some have a clean RSS feed and nothing else is needed. Others never set one up, or their feed has drifted out of sync with what's actually published. A scraper that only knows one trick fails outright the moment a site doesn't match its assumptions; a ladder just moves down a rung and keeps going, so the importer degrades gracefully instead of giving up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is this part of a broader import push?
&lt;/h2&gt;

&lt;p&gt;Yes. This same week we shipped Webflow CMS collection imports and Squarespace XML uploads, plus a new Google Search performance panel next to your SEO score. Wix was the missing piece for a huge slice of creators who started there and now need a faster, cleaner platform. We built it because those creators kept asking for a way out that didn't start with "first, become a backup expert."&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens after the import finishes?
&lt;/h2&gt;

&lt;p&gt;Everything the importer pulls in lands as a draft, sitting in your normal post editor exactly like anything you'd written from scratch. Nothing gets published automatically, so there's no risk of an old Wix post going live on your new domain before you've had a chance to look at it. You can review each one, tidy up a headline, swap an image, or change the slug, and only publish once it actually reads the way you want. It isn't locked behind a paid plan, either, so this isn't something you have to upgrade into just to try.&lt;/p&gt;

&lt;p&gt;If you're sitting on a Wix site that has outgrown its editor, the new importer is live now under Import in your admin sidebar. Start a 14-day free trial (card required), paste your URL, and see your content in VeloCMS within minutes.&lt;/p&gt;

</description>
      <category>migration</category>
      <category>wix</category>
      <category>import</category>
    </item>
    <item>
      <title>How Do I Keep My Photo's Location and Camera Data Off My Blog?</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Fri, 11 Sep 2026 10:13:10 +0000</pubDate>
      <link>https://dev.to/velocms/how-do-i-keep-my-photos-location-and-camera-data-off-my-blog-1hg8</link>
      <guid>https://dev.to/velocms/how-do-i-keep-my-photos-location-and-camera-data-off-my-blog-1hg8</guid>
      <description>&lt;p&gt;Every photo your phone or camera takes carries a hidden passenger. EXIF metadata embeds the GPS coordinates of where you stood, the exact camera and lens you used, even the time and date you pressed the shutter. Most of the time that data sits harmlessly in the file. The moment you upload it to a blog, though, it becomes a privacy leak you probably didn't mean to share.&lt;/p&gt;

&lt;p&gt;None of this is exotic or hidden behind some setting you'd have to know to look for. Journalists have warned about it for years: a source's location given away by a geotagged photo, a shelter's address pinpointed by a well-meaning volunteer's post, a public figure's home narrowed down from a handful of casually shared vacation snapshots. Bloggers rarely think of themselves in the same category as any of that, but the mechanism is identical either way. The metadata doesn't care whether the account has twelve readers or twelve million.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does photo metadata matter for bloggers?
&lt;/h2&gt;

&lt;p&gt;If you write about your home office, your weekend hike, or your kid's soccer game, the image you publish can quietly reveal your street address or daily routine. A reader with basic tools can pull latitude and longitude straight out of a downloaded photo. Camera and lens details might seem harmless until they become another data point someone can combine with everything else you've posted online. For photographers, creators, and indie publications, this is exactly the kind of small detail that erodes trust over time.&lt;/p&gt;

&lt;p&gt;Think about the kind of images that actually end up on an independent blog. A recipe post shot in your real kitchen. A gear review photographed on your real desk. A travel diary entry taken from the balcony of wherever you're actually staying that week. None of those photos are trying to reveal anything — they're just photos, taken where you happen to be, published because they illustrate the story you're telling. The metadata riding along with them was never part of that story.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does VeloCMS do with uploaded photos?
&lt;/h2&gt;

&lt;p&gt;Starting this week, VeloCMS removes location and camera metadata before the image ever reaches your public site. Upload a photo to a post, a page, or the media library, and the file you publish is scrubbed clean of GPS tags, camera make and model, lens information, and other identifying EXIF fields. The image itself stays untouched, so color, resolution, and quality remain exactly as you intended. You don't flip a switch or pick a setting. It just happens.&lt;/p&gt;

&lt;p&gt;It isn't a separate step you have to remember, and it isn't a checkbox buried three menus deep in some settings panel. It happens in the same upload pipeline that already resizes your image and converts it for the web — one more pass through a process your photo was going through anyway. You don't notice it happening, which is really the point. The protections that work best are usually the ones you never have to think about.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does this work everywhere photos appear?
&lt;/h2&gt;

&lt;p&gt;Yes. Whether the image lands in a blog post, a portfolio showcase, a product listing, or a theme header, the published version has already been stripped. The original upload is still available to you in the admin media library if you need it for your own records, but visitors and search engines only see the clean copy. That separation is what makes the feature reliable: your workflow stays the same while your readers get a safer version by default.&lt;/p&gt;

&lt;h2&gt;
  
  
  What about photographers who want to keep some metadata?
&lt;/h2&gt;

&lt;p&gt;We built this with the default set to privacy-first because most creators forget metadata exists until it's too late. If you specifically need to preserve technical metadata for a portfolio proof or licensing context, you can download the original file from your media library at any time. The published copy remains stripped, which is the right default for anything living on the open web.&lt;/p&gt;

&lt;p&gt;That's really the decision underneath all of this, more than any single technical detail. Defaults are what most people actually experience, because most people never open a settings panel to go looking for a toggle. A privacy feature that only works if you remember to turn it on protects the minority who read documentation and quietly skips everyone else. Stripping metadata automatically means the protection covers every blogger from their very first upload, not just the ones who went hunting for a setting called "privacy."&lt;/p&gt;

&lt;p&gt;Privacy-by-default shouldn't be a feature you have to configure. It should be the floor. VeloCMS already handles responsive images, WebP conversion, and CDN delivery automatically, so adding metadata stripping fits the same philosophy: publish great-looking media without becoming an accidental source of personal data.&lt;/p&gt;

&lt;p&gt;If you're building a site where images matter and you don't want to worry about what's hiding inside them, VeloCMS is available on a 14-day free trial. Upload a photo, publish it, and rest easy knowing the story your readers see is the one you actually wrote.&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>photos</category>
      <category>exif</category>
      <category>medialibrary</category>
    </item>
    <item>
      <title>How to send client growth reports that non-technical clients understand?</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Wed, 09 Sep 2026 09:42:14 +0000</pubDate>
      <link>https://dev.to/velocms/how-to-send-client-growth-reports-that-non-technical-clients-understand-1k1e</link>
      <guid>https://dev.to/velocms/how-to-send-client-growth-reports-that-non-technical-clients-understand-1k1e</guid>
      <description>&lt;p&gt;You can send plain-language client growth reports directly from VeloCMS using our new automated reporting engine. These monthly summaries turn search rankings, backlinks, published articles and site traffic into plain sentences your clients can read in two minutes. This eliminates manual spreadsheet exports while clearly showing the business value of your work.&lt;/p&gt;

&lt;p&gt;If you run an agency or manage client sites, you know the dreaded monthly reporting cycle all too well. You export three different CSV files, screenshot a handful of web traffic charts, paste them into a slide deck, and email it off into the void. Half the time, your client opens the attachment, gets overwhelmed by bounce rates and API response times, and asks if their sales actually went up. That disconnect frustrates developers and store owners alike.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do traditional analytics reports confuse clients?
&lt;/h2&gt;

&lt;p&gt;Most analytics dashboards are designed for growth hackers and engineers, not business owners who just want to know if their store is growing. When a client opens a standard analytics dump, they see numbers without context. They do not care that average position moved from 14 to 11 unless you explain what that means for the phone ringing. Drowning non-technical stakeholders in raw metric graphs usually leads to endless follow-up calls or, worse, clients who do not see the value in your ongoing retainer.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do VeloCMS growth reports simplify client communication?
&lt;/h2&gt;

&lt;p&gt;We shipped our new monthly growth reports on September 5th to bridge this exact gap. Instead of dumping raw database queries or complex traffic graphs on your clients, VeloCMS now compiles a clean, readable summary of the work you did this month, built entirely from figures you already have connected. It pulls rankings, backlinks, published content and page traffic into plain language that anyone can understand on a quick coffee break.&lt;/p&gt;

&lt;p&gt;Your clients get a clean breakdown of what changed this month: keywords tracked and how many sit in Google's top ten, estimated organic visits, referring domains and links acquired, articles published, and page views counted by the site's own beacon. Every number comes with last month's figure next to it, so the direction is obvious without a degree in data science.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does a report section actually look like?
&lt;/h2&gt;

&lt;p&gt;This is the part most reporting tools get wrong: they hand you a chart and expect the client to translate it herself. VeloCMS writes the translation for you, section by section.&lt;/p&gt;

&lt;p&gt;The rankings section reads something like this: "We tracked 42 keywords in September 2026. On average they sat at position 18.4, up from 21.2 in August 2026. 6 keywords now sit on page one. 9 keywords climbed and 4 slipped since August." No jargon, just what moved and by how much.&lt;/p&gt;

&lt;p&gt;The search visibility section follows the same pattern, but it's careful to say where the number comes from: "Google has your site ranking for 340 keywords. The modelled organic traffic estimate was 2,850, 12% higher than last month. This estimate comes from a market model, not from your own analytics, so treat it as direction rather than a headcount." That last sentence matters. A client who thinks an estimate is a headcount will ask questions your real analytics can't answer.&lt;/p&gt;

&lt;p&gt;Backlinks get the same honest framing: "Your site has links from 56 referring domains, up 4 on last month. 3 new links were logged this month. The profile figure counts every domain linking to you, including the press coverage you already had before we started." Content and page views close it out: how many articles went live, how the total is climbing, and how many times your pages were actually read, straight from the site's own beacon rather than a third-party estimate.&lt;/p&gt;

&lt;h2&gt;
  
  
  What should you write when the numbers go down?
&lt;/h2&gt;

&lt;p&gt;Every agency hits a month where a keyword slips, a competitor outranks you, or search volume just dips for the season. The instinct is to bury the bad month or explain it away in a phone call the client half-remembers a week later. Neither works long term.&lt;/p&gt;

&lt;p&gt;This is what the commentary field is for. Before you publish a report, you can add two or three sentences in your own words: a Google core update landed mid-month, a competitor shipped a bigger content push, seasonal search volume always dips in this category. That commentary sits right next to the numbers when the client opens the report, so your explanation and the dip arrive in the same breath instead of a separate, easy-to-forget conversation.&lt;/p&gt;

&lt;p&gt;The report also refuses to fake a number it doesn't have. If a data source hasn't synced yet, or a snapshot didn't land this month, the section says so plainly rather than showing a zero that reads as a failure. A missing figure and a genuine zero look different on purpose, because a client should never mistake "we're still collecting this" for "nothing happened."&lt;/p&gt;

&lt;h2&gt;
  
  
  How does this fit into an agency's Monday?
&lt;/h2&gt;

&lt;p&gt;Picture the reporting day you actually have, not the one on the retainer agreement. You open your VeloCMS workspace, and each client site already has a draft report waiting, generated from the same figures you've been watching all month. You skim it, add your two or three lines of commentary where a metric needs context, and publish it to that client's portal. Repeat for the next site.&lt;/p&gt;

&lt;p&gt;There's no CSV export, no slide deck, and no separate email thread. Reports for past months stay in the same list, so if a client asks how things looked back in June, you're not digging through old exports to find out. Only the roles that manage the site can generate a draft or publish it; the client only ever sees the finished, published version once you've stood behind it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you start sending these reports to your clients?
&lt;/h2&gt;

&lt;p&gt;If you already manage client sites on VeloCMS, the new reporting features are waiting for you inside your workspace dashboard right now. You can preview the generated monthly draft, write a short commentary in your own words, and publish it to the client's portal when you are happy with it. It turns hours of monthly administrative overhead into a simple two-minute check.&lt;/p&gt;

&lt;p&gt;If you are still wrestling with bloated legacy CMS platforms that require five different paid plugins just to send a basic email summary, it might be time to evaluate your tech stack. You can start building on VeloCMS today with our 14-day free trial (card required) and see how smooth client management can actually be.&lt;/p&gt;

</description>
      <category>growthreports</category>
      <category>clientreporting</category>
      <category>agencies</category>
      <category>analytics</category>
    </item>
    <item>
      <title>The Real Cost of Running a WordPress Blog in 2026: Hosting, Plugins, and the Fees Nobody Adds Up</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Mon, 07 Sep 2026 09:27:53 +0000</pubDate>
      <link>https://dev.to/velocms/the-real-cost-of-running-a-wordpress-blog-in-2026-hosting-plugins-and-the-fees-nobody-adds-up-14ln</link>
      <guid>https://dev.to/velocms/the-real-cost-of-running-a-wordpress-blog-in-2026-hosting-plugins-and-the-fees-nobody-adds-up-14ln</guid>
      <description>&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; How much does it actually cost to run a WordPress blog in 2026?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; WordPress itself is free, but a working blog isn't. Once you add managed hosting, an SEO plugin, a page builder, caching and a membership or newsletter tool, a single serious WordPress blog typically lands between $600 and $900 a year in 2026, before any percentage fees on paid subscriptions. A budget shared-hosting setup can run under $200 a year, but you give up speed, security and support to get there.&lt;/p&gt;

&lt;h2&gt;
  
  
  "WordPress is free" is true and misleading at the same time
&lt;/h2&gt;

&lt;p&gt;WordPress the software costs nothing. You can download it today and install it on a $5 server. That's the part everyone repeats.&lt;/p&gt;

&lt;p&gt;Here's the part most cost breakdowns skip: WordPress out of the box is a text editor with a theme. It doesn't do SEO properly, it doesn't cache, it doesn't send newsletters, it doesn't take payments and it doesn't build landing pages. Every one of those jobs is a plugin, and the good plugins are paid, per site, per year. The real question isn't "how much does WordPress cost." It's "how much does the WordPress you'd actually publish on cost."&lt;/p&gt;

&lt;p&gt;This guide adds it up with dated prices from vendor pages, then shows where the number swings depending on the choices you make. If you'd rather see the same question framed as a head-to-head, the &lt;a href="https://velocms.org/vs/wordpress" rel="noopener noreferrer"&gt;VeloCMS vs WordPress&lt;/a&gt; page covers the trade-offs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you're actually paying for
&lt;/h2&gt;

&lt;p&gt;Think of a WordPress blog as five bills that arrive at different times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hosting.&lt;/strong&gt; This is the one recurring cost you can't avoid. Managed WordPress hosts handle updates, backups and security for you. As of Aug 2026, Kinsta's single-site Starter plan lists at $30/month on annual billing (about $35/month monthly), and WP Engine's entry plan sits around $20/month. Budget shared hosting from the likes of Hostinger or Bluehost is often advertised at $3 to $8/month, but that's usually a first-term promo that renews higher, and you're doing your own patching. See how the two premium hosts compare on their own pages: &lt;a href="https://velocms.org/vs/kinsta" rel="noopener noreferrer"&gt;Kinsta&lt;/a&gt; and &lt;a href="https://velocms.org/vs/wpengine" rel="noopener noreferrer"&gt;WP Engine&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SEO.&lt;/strong&gt; Yoast SEO Premium is the default choice for most blogs. As of Aug 2026, Yoast lists Premium at $118.80 per site per year (ex VAT), up from the $99 rate that held through mid-2026; the new price folds in the Local, News and Video SEO add-ons that used to cost $79 each. Rank Math Pro is the usual cheaper alternative at $79/year for unlimited personal sites.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Page builder.&lt;/strong&gt; The free block editor is fine for posts and poor for landing pages, so most sites add a builder. Elementor Pro's Essential plan lists at $59/year for one site as of Aug 2026, with Advanced Solo at $79/year if you want the full widget set. Read the &lt;a href="https://velocms.org/vs/elementor" rel="noopener noreferrer"&gt;Elementor comparison&lt;/a&gt; for what that money buys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speed.&lt;/strong&gt; A page-caching plugin is close to mandatory on shared hosting and still common on managed hosts. WP Rocket lists at $59/year for a single site as of Aug 2026, with no free tier. Some managed hosts include server-side caching, which lets you skip this line.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monetisation and email.&lt;/strong&gt; This is where the bill stops being predictable. A membership plugin, a newsletter plugin or email service, a form builder and an anti-spam tool each carry their own licence. Prices vary widely by list size and features, so check the vendor page for the exact tools you'd pick. The point for budgeting is that each one is another renewal on a different date.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 2026 bill, three ways
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Line item&lt;/th&gt;
&lt;th&gt;Budget setup&lt;/th&gt;
&lt;th&gt;Standard serious blog&lt;/th&gt;
&lt;th&gt;Growth setup&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hosting&lt;/td&gt;
&lt;td&gt;Shared, ~$96/yr (renewal rates vary)&lt;/td&gt;
&lt;td&gt;Kinsta Starter, $360/yr (Aug 2026, annual)&lt;/td&gt;
&lt;td&gt;Kinsta or WP Engine mid-tier, $700+/yr&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SEO plugin&lt;/td&gt;
&lt;td&gt;Yoast free, $0&lt;/td&gt;
&lt;td&gt;Yoast Premium, $118.80/yr (Aug 2026)&lt;/td&gt;
&lt;td&gt;Yoast Premium, $118.80/yr&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Page builder&lt;/td&gt;
&lt;td&gt;Block editor, $0&lt;/td&gt;
&lt;td&gt;Elementor Pro Essential, $59/yr (Aug 2026)&lt;/td&gt;
&lt;td&gt;Elementor Pro Advanced Solo, $79/yr&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Caching&lt;/td&gt;
&lt;td&gt;Free plugin, $0&lt;/td&gt;
&lt;td&gt;WP Rocket, $59/yr (Aug 2026)&lt;/td&gt;
&lt;td&gt;Included in host or WP Rocket, $59/yr&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memberships, newsletter, forms, anti-spam&lt;/td&gt;
&lt;td&gt;Free tiers where they exist&lt;/td&gt;
&lt;td&gt;Typically $150 to $300/yr combined, see vendor pages&lt;/td&gt;
&lt;td&gt;$300+/yr plus email volume pricing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Platform fee on subscriptions&lt;/td&gt;
&lt;td&gt;0% (you use your own Stripe)&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Estimated total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$100 to $200/yr&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$750 to $900/yr&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$1,250+/yr&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Your time on updates and conflicts&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;Medium, or you pay someone&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The "standard serious blog" column is the one most bloggers land in after a year. Not because they're extravagant, but because each free tool eventually hits a wall (no redirects in free Yoast, no theme builder in free Elementor, no real caching on a $4 host) and the paid upgrade fixes it for $59 here and $118 there.&lt;/p&gt;

&lt;h2&gt;
  
  
  The costs that don't show up on any invoice
&lt;/h2&gt;

&lt;p&gt;Money is the visible half. Three other costs decide whether a WordPress blog is cheap or expensive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Renewal creep.&lt;/strong&gt; Most plugin and hosting prices are introductory. Shared hosting advertised at $3/month often renews at two to four times that. Yoast is one of the few that charges the same at renewal; many others don't. Your year-two bill is the honest one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conflict time.&lt;/strong&gt; Eight plugins from eight vendors means eight update schedules and a real chance that one breaks another. If you value your time at even $30/hour, a couple of hours a month on updates, patches and "why is the checkout blank" is $700 a year on its own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security exposure.&lt;/strong&gt; Every plugin widens the attack surface. Managed hosts partly cover this, which is exactly why they charge $30/month instead of $5.&lt;/p&gt;

&lt;h2&gt;
  
  
  How an all-in-one plan changes the math
&lt;/h2&gt;

&lt;p&gt;The alternative isn't "WordPress but cheaper." It's a platform where the SEO scoring, page builder, caching, newsletters, memberships and commerce are part of the product, so the plugin column goes to zero and the renewal dates collapse into one.&lt;/p&gt;

&lt;p&gt;VeloCMS is built that way: block editor, page builder, AI SEO scoring, newsletter segments, paid memberships and native commerce ship without add-ons, payments run through your own Stripe account at a 0% platform fee, and the site is built to a sub-second LCP budget without a caching plugin. Current plan prices are on the &lt;a href="https://velocms.org/pricing" rel="noopener noreferrer"&gt;pricing page&lt;/a&gt;; the whole side-by-side matrix, including Ghost, Substack and Squarespace, is on the &lt;a href="https://velocms.org/compare" rel="noopener noreferrer"&gt;compare page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Compare that to the "standard serious blog" column above. The hosting line disappears (it's included), the four plugin lines disappear, and what's left is one subscription. Whether that's cheaper for you depends on which column you're really in, which is the honest part of this decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  When WordPress is still the better choice
&lt;/h2&gt;

&lt;p&gt;A cost guide that pretends WordPress always loses isn't worth reading. There are real cases where the plugin tax is worth paying.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;You need a plugin that only exists on WordPress.&lt;/strong&gt; The ecosystem is 20 years deep. If your blog depends on a specific LMS, booking system, multilingual plugin or industry integration, WordPress has it and most platforms don't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You already have a developer.&lt;/strong&gt; If someone on your team maintains WordPress for a living, the conflict-time cost drops to near zero and self-hosted WordPress on a cheap VPS can be the lowest-cash option available.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You want full server access.&lt;/strong&gt; Custom PHP, custom database tables, unusual caching layers, on-prem hosting for compliance reasons. WordPress gives you the whole machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your blog is tiny and static.&lt;/strong&gt; One author, a few posts a month, no memberships, no store. Free Yoast, the block editor and $4 shared hosting will do, and the $100/year column is real.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You need WooCommerce at scale.&lt;/strong&gt; For a large physical-product catalogue with complex shipping and tax, &lt;a href="https://velocms.org/vs/woocommerce" rel="noopener noreferrer"&gt;WooCommerce&lt;/a&gt; remains one of the most flexible options, plugin costs and all.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you're in one of those five, stay put. The point of this guide is that most bloggers aren't, and they're paying the standard column without ever having added it up. If you want to see what your current stack would cost on one plan, the &lt;a href="https://velocms.org/pricing" rel="noopener noreferrer"&gt;pricing page&lt;/a&gt; lays it out, and every plan starts with a 14-day free trial (card required).&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How much does a WordPress blog cost per year in 2026?
&lt;/h3&gt;

&lt;p&gt;A budget WordPress blog on shared hosting with free plugins costs roughly $100 to $200 a year. A typical serious blog with managed hosting (Kinsta Starter at $30/month as of Aug 2026), Yoast Premium ($118.80/yr), Elementor Pro ($59/yr) and WP Rocket ($59/yr) lands between $750 and $900 a year before membership or email tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is WordPress really free?
&lt;/h3&gt;

&lt;p&gt;The WordPress software is free and open source. Hosting is never free, and the plugins most blogs rely on for SEO, page building, caching, forms, memberships and newsletters are paid, usually per site per year. "Free" describes the download, not the running cost.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the cheapest way to run a WordPress blog?
&lt;/h3&gt;

&lt;p&gt;Shared hosting on a promotional rate, free Yoast, the built-in block editor, a free caching plugin and no paid memberships. Expect roughly $100 to $200 a year, and expect the hosting price to rise at renewal. You trade money for your own time on updates and security.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much do WordPress plugins cost in total?
&lt;/h3&gt;

&lt;p&gt;For a standard blog, the four common paid plugins cost about $296 a year as of Aug 2026: Yoast Premium $118.80, Elementor Pro Essential $59, WP Rocket $59, plus a membership or newsletter tool that varies by vendor. Agencies running multiple sites pay per site unless they buy multi-site licences.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does an all-in-one CMS actually save money over WordPress?
&lt;/h3&gt;

&lt;p&gt;It depends on which column you're in. If you're paying for managed hosting plus three or four premium plugins, an all-in-one plan that includes hosting, SEO, builder, caching, newsletters and memberships usually costs less and removes renewal creep and plugin conflicts. If you run a small static blog on free tools, WordPress can still be cheaper in cash.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does WordPress charge a fee on paid memberships?
&lt;/h3&gt;

&lt;p&gt;WordPress itself doesn't, and neither does VeloCMS. Both let you connect your own Stripe account at 0% platform fee. That's different from newsletter platforms like Substack, which takes 10% of paid subscriptions, or Patreon at 5% to 12% depending on plan. See the &lt;a href="https://velocms.org/vs/substack" rel="noopener noreferrer"&gt;Substack comparison&lt;/a&gt; for that side of the decision.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>pricing</category>
      <category>hosting</category>
      <category>plugins</category>
    </item>
    <item>
      <title>Substack vs Ghost vs Beehiiv: Which Newsletter Platform Keeps More of Your Revenue? (2026)</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Sat, 05 Sep 2026 06:44:21 +0000</pubDate>
      <link>https://dev.to/velocms/substack-vs-ghost-vs-beehiiv-which-newsletter-platform-keeps-more-of-your-revenue-2026-18e5</link>
      <guid>https://dev.to/velocms/substack-vs-ghost-vs-beehiiv-which-newsletter-platform-keeps-more-of-your-revenue-2026-18e5</guid>
      <description>&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; For a paid newsletter, which keeps more of my money: Substack, Ghost, or Beehiiv?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; Substack is free to run but takes 10% of paid subscription revenue forever. Ghost(Pro) Publisher starts at $29/month billed yearly with a 0% platform fee, and Beehiiv Scale starts at $43/month billed yearly, also at 0%. Below roughly $300 to $500 a month in paid revenue, Substack is cheapest. Above that, the flat-fee platforms keep more, and the gap widens every month you grow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three platforms, three different bets on your money
&lt;/h2&gt;

&lt;p&gt;The three most-recommended paid newsletter platforms in 2026 price themselves in three different ways, and that's the whole decision.&lt;/p&gt;

&lt;p&gt;Substack bets that you'll start free and never leave, so it charges nothing up front and a percentage forever. Ghost bets that you're a publisher who wants to own the site as much as the list, so it charges a flat monthly fee that rises with your member count. Beehiiv bets that you're building a newsletter business with ads and referrals, so it charges a flat fee by subscriber count and layers growth tools on top.&lt;/p&gt;

&lt;p&gt;None of those bets is wrong. Which one is right for you depends on two numbers: how much paid revenue you have today, and how large your free list is. This guide runs both. All prices were read from vendor pricing pages in July and August 2026; they change, so check the page before you commit.&lt;/p&gt;

&lt;h2&gt;
  
  
  What each platform actually is
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Substack&lt;/strong&gt; is a hosted newsletter and publication platform with a built-in reader network, notes, podcasts and video. It's free to use at any list size. On paid subscriptions, Substack takes 10% of revenue, and Stripe's processing fee (about 2.9% + $0.30 per transaction) comes out on top. There's no plan to upgrade to and no way to reduce the percentage. Custom domains cost a one-time $50 fee. You get discovery from the network, which for many writers is the real reason to be there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ghost&lt;/strong&gt; is an open-source publishing CMS with newsletters and memberships built into the same product. You can self-host it for free (Ghost's own docs estimate a realistic self-hosted setup at around $72/month once you add email delivery, CDN and backups) or use the managed Ghost(Pro). As of July 2026, Ghost(Pro) Starter is $15/month billed yearly ($18 monthly) for up to 1,000 members but no longer supports paid subscriptions. Publisher, the plan you need to charge readers, is $29/month billed yearly ($35 monthly) at 1,000 members and scales with your list, reaching about $88/month at 10,000 members. Platform fee on subscriptions is 0% on every plan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beehiiv&lt;/strong&gt; is a newsletter-first platform built by former Morning Brew engineers, with a landing page builder, referral program, an ad network and recommendation network. As of July 2026, the Launch plan is free up to 2,500 subscribers but doesn't include paid subscriptions. Scale starts at $43/month billed yearly ($49 monthly) and unlocks monetisation; Max starts at $96/month billed yearly ($109 monthly) and removes Beehiiv branding. Prices step up by subscriber bracket: a list that just passed 2,500 subscribers lands at about $77/month on Scale billed yearly. Platform fee on paid subscriptions is 0%.&lt;/p&gt;

&lt;h2&gt;
  
  
  Side-by-side comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Substack&lt;/th&gt;
&lt;th&gt;Ghost(Pro)&lt;/th&gt;
&lt;th&gt;Beehiiv&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free tier&lt;/td&gt;
&lt;td&gt;Yes, any list size&lt;/td&gt;
&lt;td&gt;No (14-day trial)&lt;/td&gt;
&lt;td&gt;Yes, up to 2,500 subscribers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cheapest plan with paid subscriptions&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Publisher, $29/mo yearly (Jul 2026)&lt;/td&gt;
&lt;td&gt;Scale, $43/mo yearly (Jul 2026)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Platform fee on paid revenue&lt;/td&gt;
&lt;td&gt;10%&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stripe processing&lt;/td&gt;
&lt;td&gt;~2.9% + $0.30&lt;/td&gt;
&lt;td&gt;~2.9% + $0.30&lt;/td&gt;
&lt;td&gt;~2.9% + $0.30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Price scales with&lt;/td&gt;
&lt;td&gt;Revenue&lt;/td&gt;
&lt;td&gt;Member count (free + paid)&lt;/td&gt;
&lt;td&gt;Subscriber count&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom domain&lt;/td&gt;
&lt;td&gt;$50 one-time&lt;/td&gt;
&lt;td&gt;Included&lt;/td&gt;
&lt;td&gt;Included on free plan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Website / CMS&lt;/td&gt;
&lt;td&gt;Basic publication page&lt;/td&gt;
&lt;td&gt;Full CMS, themes, pages&lt;/td&gt;
&lt;td&gt;Landing pages + posts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Discovery network&lt;/td&gt;
&lt;td&gt;Strongest&lt;/td&gt;
&lt;td&gt;None built in&lt;/td&gt;
&lt;td&gt;Recommendation network + Boosts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ad monetisation&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Ad network (Scale and up)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data export&lt;/td&gt;
&lt;td&gt;Subscribers CSV, posts&lt;/td&gt;
&lt;td&gt;Full JSON export&lt;/td&gt;
&lt;td&gt;Subscribers CSV&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source / self-host&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The real question: what do you pay at each revenue level?
&lt;/h2&gt;

&lt;p&gt;Percentage fees and flat fees cross over. Here's where, using Ghost Publisher and Beehiiv Scale at their entry brackets, yearly billing, and Substack's 10%. Stripe is left out because all three pay it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;$200/month in paid revenue (say 40 readers at $5).&lt;/strong&gt;&lt;br&gt;
Substack takes $20/month, or $240/year. Ghost Publisher costs $348/year. Beehiiv Scale costs $516/year. Substack wins clearly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;$1,000/month in paid revenue.&lt;/strong&gt;&lt;br&gt;
Substack takes $100/month, or $1,200/year. Ghost is still $348/year at up to 1,000 members. Beehiiv is $516/year up to its entry bracket. Both flat-fee platforms now save you $700 to $850 a year.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;$5,000/month in paid revenue.&lt;/strong&gt;&lt;br&gt;
Substack takes $500/month, or $6,000/year. By now your total list is probably past 1,000, so Ghost Publisher might be $50 to $88/month ($600 to $1,056/year) and Beehiiv Scale roughly $77 to $109/month ($924 to $1,308/year). Either way, you keep $4,500 to $5,400 more per year than on Substack.&lt;/p&gt;

&lt;p&gt;The break-even sits around $300 to $500 a month in paid revenue, depending on which platform and bracket you'd land in. Below it, pay the percentage and enjoy the free ride. Above it, the percentage becomes the most expensive line in your business.&lt;/p&gt;

&lt;p&gt;One thing the table hides: Ghost counts free members toward your plan bracket, and Beehiiv counts all active subscribers. A newsletter with 9,000 free readers and 300 paying ones pays Ghost's 10,000-member rate. Substack doesn't care how big the free list is. If your free-to-paid ratio is very high, that shifts the break-even upward.&lt;/p&gt;

&lt;h2&gt;
  
  
  Migration: what moves and what doesn't
&lt;/h2&gt;

&lt;p&gt;All three let you export subscribers as CSV, so the list is never trapped. Paid subscriptions are the sticking point: Stripe customers can be transferred between platforms if the destination supports importing existing Stripe subscriptions (Ghost and Beehiiv both document this), but readers on Substack may need to re-enter payment details depending on how the migration is handled. Plan a week of overlap and expect a few percent of churn. Content moves as posts or JSON; Substack's reader network does not move at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  When each platform is the better choice
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Choose Substack if:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You have little or no paid revenue yet and want zero fixed cost while you find out whether readers will pay.&lt;/li&gt;
&lt;li&gt;Discovery matters more than margin. Recommendations and Notes still bring new readers in a way the other two can't replicate.&lt;/li&gt;
&lt;li&gt;You want podcasts, video and text in one place without stitching tools together.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Choose Ghost if:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You want a real website as well as a newsletter: pages, themes, tags, structured content, on your own domain, with nothing that says "Ghost" unless you want it to.&lt;/li&gt;
&lt;li&gt;You value the exit. Open source means you can move from Ghost(Pro) to your own server, or back, without asking anyone.&lt;/li&gt;
&lt;li&gt;Your paid revenue is past a few hundred dollars a month and your free list isn't enormous relative to it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Choose Beehiiv if:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your model is ads and sponsorships rather than (or alongside) paid subscriptions. The ad network is the reason most Beehiiv publishers are there.&lt;/li&gt;
&lt;li&gt;You want built-in referral and recommendation growth loops without third-party tools.&lt;/li&gt;
&lt;li&gt;Your list is under 2,500 and you want a free plan that includes a landing page and custom domain while you grow.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you want all three of those things (a full CMS, 0% fees and newsletter segments) in one subscription, that's the category VeloCMS sits in; the &lt;a href="https://velocms.org/compare" rel="noopener noreferrer"&gt;compare page&lt;/a&gt; shows it next to Substack and Ghost, and the individual &lt;a href="https://velocms.org/vs/substack" rel="noopener noreferrer"&gt;Substack&lt;/a&gt;, &lt;a href="https://velocms.org/vs/ghost" rel="noopener noreferrer"&gt;Ghost&lt;/a&gt; and &lt;a href="https://velocms.org/vs/beehiiv" rel="noopener noreferrer"&gt;Beehiiv&lt;/a&gt; comparisons cover the trade-offs in detail. If you'd rather run your own numbers first, the &lt;a href="https://velocms.org/compare" rel="noopener noreferrer"&gt;compare page&lt;/a&gt; is the place to start.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Does Substack take a percentage of paid subscriptions?
&lt;/h3&gt;

&lt;p&gt;Yes. Substack takes 10% of paid subscription revenue on every plan, and Stripe's processing fee (about 2.9% + $0.30 per transaction) applies on top. There's no paid tier that lowers the percentage. Free newsletters cost nothing to run.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much does Ghost cost for a paid newsletter in 2026?
&lt;/h3&gt;

&lt;p&gt;As of July 2026, the Ghost(Pro) Publisher plan starts at $29/month billed yearly ($35 monthly) at 1,000 members and scales with your list, to about $88/month at 10,000 members. Platform fee on subscription revenue is 0%. The cheaper Starter plan ($15/month yearly) no longer supports paid subscriptions.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much does Beehiiv cost for a paid newsletter in 2026?
&lt;/h3&gt;

&lt;p&gt;As of July 2026, paid subscriptions need Beehiiv's Scale plan, which starts at $43/month billed yearly ($49 monthly) and steps up by subscriber bracket, reaching about $77/month yearly once you pass 2,500 subscribers. Max, from $96/month yearly, removes Beehiiv branding. Platform fee on paid revenue is 0%.&lt;/p&gt;

&lt;h3&gt;
  
  
  At what revenue does Substack become more expensive than Ghost or Beehiiv?
&lt;/h3&gt;

&lt;p&gt;Roughly $300 to $500 a month in paid subscription revenue. At $1,000/month, Substack's 10% costs $1,200/year versus about $348/year for Ghost Publisher or $516/year for Beehiiv Scale at their entry brackets. The gap grows with revenue.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do free subscribers cost money on Ghost or Beehiiv?
&lt;/h3&gt;

&lt;p&gt;Yes. Ghost prices Publisher and Business by total members, free and paid combined. Beehiiv prices Scale and Max by total active subscribers. A large free list pushes you into a higher bracket even if few readers pay. Substack charges nothing for free subscribers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I move my paid subscribers from Substack to Ghost or Beehiiv?
&lt;/h3&gt;

&lt;p&gt;Subscriber lists export as CSV from all three. Existing Stripe subscriptions can be imported into Ghost and Beehiiv, but the process depends on how the payments were set up on Substack, and some readers may need to re-enter card details. Expect some churn during the move and plan an overlap week.&lt;/p&gt;

</description>
      <category>newsletter</category>
      <category>substack</category>
      <category>ghost</category>
      <category>beehiiv</category>
    </item>
    <item>
      <title>How to Sell Products on Your Blog Without Installing Shopify</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Wed, 02 Sep 2026 09:21:04 +0000</pubDate>
      <link>https://dev.to/velocms/how-to-sell-products-on-your-blog-without-installing-shopify-3i5a</link>
      <guid>https://dev.to/velocms/how-to-sell-products-on-your-blog-without-installing-shopify-3i5a</guid>
      <description>&lt;p&gt;Somewhere around your two-hundredth post, a strange thought creeps in. You've got readers now — real ones, people who show up, who reply to your newsletter, who send you a DM saying one specific paragraph changed how they think about something. And somewhere inside that audience is a handful of people who would, if you let them, just buy the thing you keep talking about. A print. A notebook. A digital template you built for yourself and never bothered to package up.&lt;/p&gt;

&lt;p&gt;The instinct, for most of us, is to reach for Shopify. It's the obvious answer, the one every "how to sell online" guide points you toward. But bolting a full e-commerce platform onto a blog you already built somewhere else is its own project — a new subdomain, a second design system to maintain, an embed widget that looks like it got airlifted in from a completely different website, because, well, it did. You end up paying a monthly platform fee for a store that doesn't match your blog, plus a cut on every sale, plus the quiet tax of switching between two admin panels every time you want to change a price.&lt;/p&gt;

&lt;p&gt;There's a simpler version of this. What if the shop wasn't bolted on at all — what if it just lived there, using the same theme, the same nav, the same voice, because it's the same site?&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does bolting Shopify onto a blog you already built feel like duct tape?
&lt;/h2&gt;

&lt;p&gt;Because it is duct tape. Most "add a store to your blog" tutorials walk you through embedding a Shopify Buy Button, or an iframe, or a widget script — and every one of those approaches has the same tell. The typography doesn't match. The button radius is off by a few pixels from everything else on the page. The colors were picked for a generic storefront template, not for the specific, deliberate aesthetic you spent a weekend tuning. Readers notice, even if they can't say exactly why. A mismatched shop reads as an ad, not a product you're proud of.&lt;/p&gt;

&lt;p&gt;The deeper issue is architectural. Shopify (and most standalone store builders) are designed to be the &lt;em&gt;entire&lt;/em&gt; website. Your blog is an afterthought bolted onto their system, not the other way around. So when you already have the blog — the content, the SEO, the years of archive — and you just want to add selling on top, you're forcing two products that were never meant to share a roof to somehow cohabit. One of them always loses the design argument, and it's never the store.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does a store built into your own theme actually look like?
&lt;/h2&gt;

&lt;p&gt;VeloCMS takes the opposite approach: the shop isn't a separate app you embed, it's a rendering surface your theme already owns. Under the hood, the platform hands your active theme a plain, structured feed of your products, prices, and cart state — what we call the raw-data shop contract — and the theme decides how to actually draw it. That's the whole trick. Nobody hand-designed 38 individual storefronts; every theme's designer just extended the visual language they'd already built for posts and pages into commerce, using the same data every other theme gets.&lt;/p&gt;

&lt;p&gt;You can see the difference immediately when you put two themes side by side. Here's Maker Supply Co., running the Terminal theme — dark background, monospace type, a shop rendered like a command-line directory listing, right down to the "grep --query" search field:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fshop-terminal-theme.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fshop-terminal-theme.jpg" title="Terminal theme — the shop reads like a directory listing, not a bolted-on widget" alt="The Terminal theme's shop page, styled as a dark command-line interface with monospace type and a grep-style product search field" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here's Atelier Lumen, running the Atelier theme on the exact same underlying commerce engine — light background, a large serif "Shop" headline, soft category pills, product cards with generous whitespace:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fekney7yez91042a6nr1j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fekney7yez91042a6nr1j.jpg" title="Atelier theme — same commerce data, an entirely different design language" alt="The Atelier theme's shop page, styled as a light, editorial boutique with a large serif headline and rounded category filter pills" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Same product grid, same filters, same cart. Neither one looks like a plugin. Neither one looks like the other.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you actually start selling products on your blog?
&lt;/h2&gt;

&lt;p&gt;There's no separate onboarding flow to learn. From your VeloCMS admin, you flip commerce on for the tenant, and a Shop link appears in your nav automatically — themes pick it up without you touching a template file. From there you add your first product, choosing digital (a PDF, a Notion template, a video course you deliver instantly on purchase) or physical (something that needs a shipping address and, eventually, a tracking number). Pricing, a description, and a cover image are all you need to get a product live.&lt;/p&gt;

&lt;p&gt;The part that actually matters for your margin comes next: connecting a payment processor. VeloCMS is BYOK here — bring your own keys — so you link your own Stripe or PayPal account directly, and money from a sale lands in &lt;em&gt;your&lt;/em&gt; account, not ours, with 0% platform commission taken off the top. No revenue share, no waiting period, no third party sitting between you and your buyer's card. If you'd rather not build a full catalog yet, gift cards are built in too, which turns out to be a surprisingly good way to test whether your audience is willing to spend money on you at all before you commit to inventory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does every one of VeloCMS's 38 themes really look different?
&lt;/h2&gt;

&lt;p&gt;It's worth pushing on this claim, because "every theme is unique" is the kind of thing marketing copy says about everything. Here's Chloe Noir, running the Velvet Editorial theme — a warm, cream-and-blush fashion-magazine aesthetic, italic serif headline, product cards that look like they belong in a print catalog rather than a checkout flow:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fshop-velvet-theme.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fshop-velvet-theme.jpg" title="Velvet Editorial theme — the same product data rendered as a fashion catalog spread" alt="The Velvet Editorial theme's shop page, styled as a warm cream and blush fashion magazine layout with an italic serif headline" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Put this next to the Terminal and Atelier screenshots above and you're looking at three completely different visual systems rendering identical underlying data: same product titles, same prices, same cart logic. That's the raw-data shop contract doing its job — the theme decides the shape, not the commerce engine.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens when a reader actually wants to buy something?
&lt;/h2&gt;

&lt;p&gt;For a digital product, checkout is fast: the reader pays through your connected Stripe or PayPal, and delivery happens instantly — a download link, an access grant, whatever you configured. For a physical product, you collect a shipping address at checkout the same way, and fulfillment is on you, exactly like it would be anywhere else. The cart itself lives quietly in the corner of your theme's nav, the same one your readers already recognize, so buying something never feels like leaving your site.&lt;/p&gt;

&lt;p&gt;If you'd rather watch this than read about it, here's a short walkthrough across a handful of the 38 themes, shop pages included:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pub-8a9958c265c64c16ab56981176d74563.r2.dev/marketing/howto/howto47-full.mp4" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fekney7yez91042a6nr1j.jpg" alt="38 blog themes in five minutes — including how each one renders its own shop." width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;▶ &lt;a href="https://pub-8a9958c265c64c16ab56981176d74563.r2.dev/marketing/howto/howto47-full.mp4" rel="noopener noreferrer"&gt;Watch the demo&lt;/a&gt; — 38 blog themes in five minutes — including how each one renders its own shop.&lt;/p&gt;

&lt;p&gt;None of this requires you to abandon the blog you've spent years building, or to learn a second platform's admin panel, or to hand a chunk of every sale to a company that's never read a word you've written. The shop is just another part of the site your readers already trust. If you want to see it on your own blog, &lt;a href="https://velocms.org/signup" rel="noopener noreferrer"&gt;start a 14-day free trial&lt;/a&gt; and turn commerce on from the dashboard — the theme you're already using will handle the rest.&lt;/p&gt;

</description>
      <category>ecommerce</category>
      <category>themes</category>
      <category>shopifyalternative</category>
      <category>storefronts</category>
    </item>
    <item>
      <title>The First 90 Days of a Photographer's Online Portfolio That Actually Sells Prints</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Mon, 31 Aug 2026 09:58:15 +0000</pubDate>
      <link>https://dev.to/velocms/the-first-90-days-of-a-photographers-online-portfolio-that-actually-sells-prints-2d41</link>
      <guid>https://dev.to/velocms/the-first-90-days-of-a-photographers-online-portfolio-that-actually-sells-prints-2d41</guid>
      <description>&lt;p&gt;There's a moment of truth for every photographer who decides to sell their work online. It's that jump from creating for yourself to creating for a collector. The dream is a clean, beautiful space on the web that feels like your personal gallery—a place where your work breathes. The reality, too often, is a stall in a crowded digital marketplace like Etsy or a generic template on Squarespace, where platform fees nibble away at every single sale.&lt;/p&gt;

&lt;p&gt;Building your own home online feels like a monumental task, but it's more achievable than you think. It's not about becoming a web developer overnight. It's about a focused, three-month push to build a foundation for a business that can sustain your art for years. Let's walk through what that actually looks like.&lt;/p&gt;

&lt;h3&gt;
  
  
  Days 1-30: The Brutal Edit and a Solid Foundation
&lt;/h3&gt;

&lt;p&gt;The first month is all about laying the groundwork. And let's be honest, the hardest part isn't the technology—it's the edit. Culling years of work down to a cohesive, powerful portfolio is an agonizing but essential process. It's tempting to show everything, but curation is what separates a professional gallery from a camera roll. This is where you have to be ruthless. Your portfolio should be a short, powerful sentence, not a rambling paragraph.&lt;/p&gt;

&lt;p&gt;Here's a piece of data that might help you make those tough choices: in the fine art world, it's widely understood that about 80% of a photographer's print revenue will come from just 20% of their images. The Pareto principle is alive and well. Your job in this first month is to make an educated guess about which images belong in that top 20%. These are your hero shots, the ones that define your style and your point of view. Lead with them.&lt;/p&gt;

&lt;p&gt;Once your edit is locked in, getting the site live is the next step. You need a platform that puts your images front and center without compressing them into oblivion or hitting you with surprise bandwidth bills. This is why we built VeloCMS with native Cloudflare R2 storage—it's designed to handle massive, high-resolution files without breaking a sweat (or your bank account). You can upload your best work and know it will load fast and look stunning. Alongside your gallery, set up a simple blog. This isn't for sharing vacation photos; it's your long-term SEO engine. Write about the story behind a specific photo, the gear you used for a particular series, or the location that inspired you. These posts are magnets for search traffic and people who are genuinely interested in your craft.&lt;/p&gt;

&lt;h3&gt;
  
  
  Days 31-60: Opening the Shop and the First Sale
&lt;/h3&gt;

&lt;p&gt;With your digital gallery walls up, month two is about unlocking the door and putting a price on the work. This is where many artists get stuck. How do you price a photograph? You can go the simple route: (cost of printing + cost of shipping) + your desired margin. It's a clean, logical formula. But are you selling paper and ink, or are you selling a piece of your vision, a story, a moment that can never be repeated?&lt;/p&gt;

&lt;p&gt;This is the argument for value-based pricing. Your price should reflect the skill, time, and artistic sensibility that went into creating the image. It positions you as an artist, not just a print-shop operator. Start with a few of your strongest pieces. Offer them in a limited run, maybe signed and numbered, in one or two standard sizes. Don't overwhelm visitors with a dozen different paper types and framing options. Keep it simple and elegant.&lt;/p&gt;

&lt;p&gt;And then, you wait. The days or weeks leading up to the first sale can be nerve-wracking. You'll check your analytics, you'll tweak your product descriptions. Then, one day, you'll get that first email notification. That first sale is rarely about the money. It's pure validation. It's proof that someone out there connected so deeply with your work that they wanted to make it a physical part of their life. Don't underestimate how powerful that feeling is. It's the fuel for everything that comes next.&lt;/p&gt;

&lt;h3&gt;
  
  
  Days 61-90: From Visitors to Collectors
&lt;/h3&gt;

&lt;p&gt;One sale is a victory. A sustainable business is a system. Month three is about building that system. You can't just hope the next person stumbles upon your site; you have to build a way to stay in touch. This is the crucial difference between a casual visitor and a true collector. Collectors want a relationship with the artist. The best way to build that is with an email list.&lt;/p&gt;

&lt;p&gt;Your email list is the only audience you truly own—it's immune to algorithm changes on Instagram or Facebook. Add a simple, non-annoying signup form to your site. Promise them first access to new series, stories behind the work, and maybe an exclusive print offering every now and then. Your newsletter isn't a sales circular; it's a letter from your studio. It's where you share your process and your passion.&lt;/p&gt;

&lt;p&gt;For your most dedicated fans—the ones who reply to your emails and ask about your technique—you can offer something even deeper. This is where a modern CMS can really shine. VeloCMS has a built-in paywall feature that lets you protect certain posts or pages for members only. You could create a section for a small monthly fee that gives collectors access to behind-the-scenes videos, essays on your creative process, or even digital contact sheets. It's an incredible way to serve your biggest supporters and generate a predictable, recurring income stream that isn't tied to one-off print sales.&lt;/p&gt;

&lt;p&gt;This 90-day framework isn't a magic formula, but it is a focused plan. It moves you from simply having a portfolio to running a photography business on your own terms. We've thought a lot about what photographers need to make this leap, building tools that support the art, not just the transaction. It's a different approach, and you can see a full breakdown of how we're building a better home for your work in our &lt;a href="https://velocms.org/for-photographers" rel="noopener noreferrer"&gt;guide for photographers&lt;/a&gt;. The goal is independence—artistic and financial. And that's a project worth investing in.&lt;/p&gt;

</description>
      <category>photography</category>
      <category>ecommerce</category>
      <category>smallbusiness</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>How Do I Know My Blog Is Ready to Launch?</title>
      <dc:creator>VeloCMS</dc:creator>
      <pubDate>Sat, 29 Aug 2026 22:33:31 +0000</pubDate>
      <link>https://dev.to/velocms/how-do-i-know-my-blog-is-ready-to-launch-kni</link>
      <guid>https://dev.to/velocms/how-do-i-know-my-blog-is-ready-to-launch-kni</guid>
      <description>&lt;p&gt;There isn't a single flag that flips from red to green. VeloCMS's Setup Assistant, sitting permanently at &lt;code&gt;/admin/setup&lt;/code&gt;, checks the dozen or so things that actually separate a blog that's technically live from one that's ready for real readers — a first post that's actually published, a domain that's verified rather than just typed in, a newsletter whose sender domain is confirmed rather than merely switched on — and it tells you, honestly, which of those are done, which need attention, and which it genuinely couldn't check this time around.&lt;/p&gt;

&lt;p&gt;You hit publish on your first post, the URL resolves, and technically, yes, your blog is "live." But live and ready aren't the same thing, and most of the gap between them is invisible from the inside. You don't notice a newsletter sender domain that never got verified — until a batch of emails lands in spam and you spend an evening wondering why. You don't notice a custom domain sitting in "pending" for three days over one bad DNS record. The point of a launch-readiness check is to surface exactly the stuff you'd otherwise only discover from a reader.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does "ready to launch" actually mean for a blog?
&lt;/h2&gt;

&lt;p&gt;It's less a single moment than a short list of things that are each individually easy to skip. Some of it is content — a post actually published, a theme switched on, a real description instead of a placeholder. Some of it is discoverability — the SEO basics filled in, a custom domain (if your plan includes one) actually verified rather than just added. Some of it is the stuff readers never see until it breaks — a newsletter sender domain, a payment provider, whether your legal pages still say exactly what the default template said on day one. None of it blocks you from publishing. Together, it's the difference between "I have a blog" and "my blog is set up the way I meant it to be."&lt;/p&gt;

&lt;h2&gt;
  
  
  Where do I find my launch-readiness checklist?
&lt;/h2&gt;

&lt;p&gt;Open your dashboard and look at the sidebar — Setup Assistant lives at &lt;code&gt;/admin/setup&lt;/code&gt; as its own permanent page, not a banner that shows up once and vanishes the moment you dismiss it. That's a deliberate change from how this used to work. The old onboarding checklist only appeared on your first login and disappeared for good once you closed it, which meant there was nowhere to go back and ask "wait, is everything still okay?" three months later, after you'd switched newsletter providers or your domain's SSL quietly lapsed. Setup Assistant re-checks everything live, every time you open the page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fsetup-assistant-overview.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fsetup-assistant-overview.jpg" title="The Setup Assistant on a young blog — five checks done, nine to go, with Foundation already complete" alt="The VeloCMS Setup Assistant overview screen, showing a headline summarizing how many checks are passing, how many need attention, and how many couldn't be verified, above a segmented status bar and a list of check categories" width="800" height="1222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the top, instead of a single percentage, you get an honest three-part count: how many checks are passing, how many need your attention, and how many it simply couldn't verify right now. That last category matters more than it sounds. A percentage that includes a database hiccup as a failure is lying to you about your own work; a page that says "we couldn't check this, try again" is telling you the truth about what it actually knows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the Setup Assistant actually check?
&lt;/h2&gt;

&lt;p&gt;It's organized into five groups, and none of them are theoretical — each maps to something a reader would eventually notice if it stayed broken. Foundation covers the basics: a published first post, an active theme, a real blog description. Reach looks at whether search engines and social previews have anything to work with — SEO defaults filled in, social links added, and, on plans with custom domains, whether yours is verified rather than just entered. Audience is about your newsletter: a provider connected, and — the one that quietly bit people under the old checklist — a sender domain that's verified, not just switched on. Revenue checks whether a payment provider resolves if you've turned on the store, and whether Stripe is connected for paid memberships. Integrity has one deliberately gentle check: whether your privacy and terms pages have actually been edited, or are still running the seeded default text every blog starts with.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fsetup-assistant-checks.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvelocms.org%2Fscreenshots%2Fblog%2Fsetup-assistant-checks.jpg" title="Each unfinished check carries a Fix this link that jumps straight to the screen where you resolve it" alt="The Reach and Audience categories of the Setup Assistant, showing individual check rows — some marked Done with green badges, others marked To do with a Fix this link beside each" width="800" height="1222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Two of those checks get flagged more urgently than the rest, and it's worth knowing which ones, because they're the pair that used to slip through unnoticed: a custom domain that's been added but never verified, and a newsletter provider that's switched on with a sender domain that hasn't been confirmed. Everything else nudges you toward "materially better" — genuinely worth doing, never an emergency. Your legal pages check, in particular, is graded as optional rather than urgent, on purpose. Every brand-new blog starts with the same seeded privacy and terms text, so if that check colored the whole page red on day one, it would just be noise for anyone who hasn't gotten around to their legal copy yet. It sits there quietly instead, waiting for the day you actually want to personalize it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does it mean when a check comes back "unknown" instead of pass or fail?
&lt;/h2&gt;

&lt;p&gt;It means exactly what it says — the assistant tried to read the signal it needed and, for whatever reason (a momentary database hiccup is the usual culprit), it couldn't get a clean answer. This is the detail that makes the whole page trustworthy rather than just decorative. A checklist that quietly treats "I couldn't check" the same as "this failed" ends up telling a fully configured blog that it's done nothing at all, which is worse than useless — it's actively misleading. Setup Assistant keeps "unknown" as its own separate bucket in the count at the top, and if every single check comes back unknown at once (a full connectivity blip, effectively), the page says so plainly instead of showing you a wall of red. Refresh a moment later and it usually resolves itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I actually fix something it flags?
&lt;/h2&gt;

&lt;p&gt;Every check that needs attention comes with a "Fix this" link, and it goes to the real settings screen that would resolve it — the newsletter check links to your newsletter settings, the custom domain check links to your domain setup screen, and so on. There's no dead end where the fix link dumps you on a generic settings page and leaves you to hunt for the actual control. If you're working through the domain checks specifically, our &lt;a href="https://velocms.org/blog/connect-custom-domain-to-your-blog" rel="noopener noreferrer"&gt;walkthrough on connecting a custom domain&lt;/a&gt; covers the DNS side in more detail than Setup Assistant's short summary needs to. Work through the list category by category, and once every check that applies to your blog is passing, the page tells you so — plainly, with its own small celebration, not a vague "all good" you have to take on faith.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do I need a custom domain, or payments, before I'm "ready"?
&lt;/h2&gt;

&lt;p&gt;Not necessarily — and this is where the checklist earns some trust rather than nagging you. Custom domain checks only show up if you're on a plan that includes one; if you're happily running on your velocms.org subdomain, they simply don't appear on your list at all. The same goes for payments and commerce: those checks only apply once you've actually turned that module on. Setup Assistant is scoped to what your blog is actually trying to be, not a generic checklist written for a hypothetical tenant running every feature at once. A photography blog with no store enabled will never see a payment-provider check demanding attention, because there's nothing there for it to demand.&lt;/p&gt;

&lt;p&gt;Ready, in the end, isn't a certificate you earn once. It's a page you can go back to whenever something changes — a new plan, a new newsletter provider, six months of not thinking about your legal pages — and get an honest answer instead of a guess. If your blog's still finding its footing, or if you haven't started one yet, VeloCMS is available on a &lt;a href="https://velocms.org/signup" rel="noopener noreferrer"&gt;14-day free trial&lt;/a&gt;, card required, no surprises — and Setup Assistant is there in your sidebar from the first login, quietly keeping score.&lt;/p&gt;

</description>
      <category>gettingstarted</category>
      <category>setupassistant</category>
      <category>launchchecklist</category>
      <category>seo</category>
    </item>
  </channel>
</rss>
