Built for recipe bloggers

Cook the story.
Skip the plugin bloat.

VeloCMS is a recipe blogging platform with built-in schema.org/Recipe markup and automatic jump-to-recipe anchors — no WordPress plugin required, no 400KB of recipe-plugin JavaScript, and no algorithm deciding which of your posts get seen. The Restaurant theme — a Smitten Kitchen-style long-form food writing preset — ships free on every plan so your recipes look as good as they taste.

Why recipe bloggers keep hitting walls

WordPress plugins eat your page speed. Pinterest owns your audience. And your readers skip the story entirely. Three problems with one root cause — the wrong platform.

WordPress recipe plugins slow your site to a crawl

Tasty Recipes, WP Recipe Maker, and Cookbook — every one of them ships 200–400KB of JavaScript just to render a single Recipe schema block. That's before the 47 other plugins your WordPress install needs to stay functional. Recipe sites already carry heavy image loads; piling another 400KB of plugin JS on top is why your LCP hovers at 4 seconds and Google keeps marking your Core Web Vitals red. The plugin was supposed to help your SEO. Instead it's tanking it.

Pinterest and Instagram own your audience

Recipe bloggers who built their traffic on Pinterest in 2018 woke up in 2024 with zero email subscribers when the algorithm shifted to prioritizing video and deprioritizing static pins. Instagram is no different — your 40,000 followers sit behind a platform API that can change its terms or vanish overnight. Every reader who found your chicken tikka masala on Pinterest and never signed up to your list is an audience member you don't own. VeloCMS gives you a custom domain, an email list you export, and a platform that doesn't decide which of your recipes people see.

Your readers HATE the 2000-word backstory

Google Search Generative Experience and AI-powered answer engines are increasingly penalizing recipe posts that bury the actual recipe below a long personal narrative. Jump-to-recipe isn't just a UX nicety anymore — it's a ranking signal. Readers who click a recipe link from a search result and have to scroll past your trip to Italy want the ingredient list immediately. VeloCMS injects a jump-to-recipe anchor button automatically on every post tagged with recipe: — no manual HTML, no plugin, no shortcode gymnastics.

What a recipe-first platform gives you

Not recipe schema bolted on as a plugin. Jump-to-recipe, structured ingredients, step photos, and print layout built into the platform from day one — zero plugin overhead.

Recipe JSON-LD baked in — no plugin needed

Any post tagged with recipe: automatically emits a full schema.org/Recipe block with cookTime, prepTime, recipeYield, recipeIngredient, and recipeInstructions — extracted directly from your post content. Google Search, Bing, and AI answer engines pick it up for rich results without any additional configuration.

Jump-to-recipe anchor auto-injected

VeloCMS injects a sticky jump-to-recipe button at the top of every recipe post automatically. No shortcode, no plugin, no custom template editing. Readers who want the recipe immediately get it; readers who enjoy the story can scroll past the button. Both audiences served with one publish.

Step-by-step photo galleries

The editor supports numbered step galleries — each step gets a caption, an optional photo, and renders as a clean vertical timeline on the published page. All images run through next/image for automatic WebP conversion, responsive srcset, and lazy loading so your step-by-step section doesn't become a page-weight disaster.

Print-friendly post layout

Every recipe post ships with @media print CSS that hides the navigation, sidebar, ads, and social share buttons — leaving only the recipe card, ingredient list, and instructions for the reader who wants to print it out and take it to the kitchen. No plugin. No third-party print stylesheet. Built in.

Restaurant theme — included free on all plans

The Restaurant preset ships as a free baseline for recipe bloggers. It brings a warm serif typography, clean recipe card layout, generous whitespace, and food-friendly color palette. It's designed for Smitten Kitchen / Food52 / Serious Eats-style long-form writing — not menu-card style. Switch themes instantly with zero content changes.

Features recipe bloggers actually need

Auto Recipe JSON-LD, cookTime and prepTime fields, optional Spoonacular nutrition, step-by-step photo galleries, print-first layout, and jump-to-recipe — all without a single plugin.

Auto Recipe JSON-LD from post content

Tag a post with recipe: and VeloCMS extracts ingredients from your first unordered list and instructions from your first ordered list. cookTime, prepTime, and recipeYield are read from optional front-matter fields in the editor. The full schema.org/Recipe block is emitted in the page head — Google confirms it in Search Console as a rich result within 48 hours for most new posts.

cookTime / prepTime / totalTime fields

The editor ships a Recipe Metadata panel that accepts human-readable time strings (30 mins, 1 hour 15 mins) and converts them to ISO-8601 duration format (PT30M, PT1H15M) automatically. AI answer engines use these fields to generate the timing summary you see in Google's featured snippet for recipe queries.

Optional Spoonacular nutrition computation

Connect your own Spoonacular API key in Admin → Settings → Integrations and VeloCMS sends your ingredient list for automated per-serving nutrition calculation. The results populate the NutritionInformation schema property and display as a nutrition label on the recipe card. No Spoonacular key? No problem — the nutrition fields are simply omitted from the schema without breaking anything.

Step-by-step photo workflow

The editor's Step block type lets you write instructions as numbered steps, each optionally paired with a photo dragged in from your device or selected from the media library. On publish, the steps render as a responsive vertical timeline. Photos run through Cloudflare R2 and next/image — full-resolution stored, multiple viewport sizes served, AVIF/WebP conversion automatic.

Print-first recipe card layout

The print stylesheet isolates the recipe card, ingredient list, step-by-step instructions, and nutrition label — exactly what someone standing at a kitchen counter needs. It respects the recipe's structured sections, not the page's visual layout. Tested across Chrome, Safari, and Firefox print dialogs; consistent output across all three.

Jump-to-recipe and table of contents

Longer posts get both a jump-to-recipe sticky button (always visible above the fold) and a table of contents generated from H2 headings — useful for posts that cover multiple recipe variations or include a troubleshooting section. Both are auto-generated from the post's heading structure; no manual HTML required. Both are excluded from the print stylesheet automatically.

From WordPress or Squarespace to VeloCMS in five steps

No developer required. The importer strips Tasty Recipes and WP Recipe Maker shortcodes, preserves your recipe data, and queues posts as drafts. You handle the cooking.

0115 min

Export your WordPress or Squarespace recipe site

In WordPress, go to Tools → Export → All Content and download the XML export. For Squarespace, use Settings → Advanced → Import / Export → WordPress. For sites on other platforms, the VeloCMS importer also accepts raw HTML or Markdown directory. You do not need to manually clean the export first — the importer handles nested shortcodes and embedded plugin output.

025 min

Upload your archive

In Admin → Import, drag in your WordPress XML or Squarespace export. VeloCMS detects the format automatically, strips Tasty Recipes and WP Recipe Maker plugin shortcodes, and queues your posts as drafts. Recipe cards that were plugin-generated are converted to structured Recipe metadata fields in the editor — no copy-paste from screenshots required.

0310 min

Tag your recipe posts with the recipe: prefix

Open any imported recipe post in the editor and add the recipe: tag in the Tags field. This is the trigger that activates Recipe JSON-LD emission, jump-to-recipe injection, and recipe metadata extraction. The importer pre-tags posts that contained Tasty Recipes or WP Recipe Maker shortcodes automatically, so in most cases this step is mostly a review, not a manual re-tagging exercise.

045 min

Configure nutrition computation (optional)

If you want automated nutrition calculation, add your Spoonacular API key in Admin → Settings → Integrations. Free Spoonacular tier covers 150 requests per day — enough for a typical recipe blogger publishing 3–4 new recipes per week with some re-computation on updated posts. Skip this step entirely if you prefer to omit nutrition data from your schema markup.

052 min

Publish your first recipe with auto-injected schema and jump button

Hit publish on any recipe-tagged post. VeloCMS auto-emits the Recipe JSON-LD, injects the jump-to-recipe sticky anchor, and renders the step-by-step photo gallery with print-friendly layout. Point your CNAME at VeloCMS to go live on your custom domain, or start immediately on your free velocms.org subdomain while DNS propagates.

VeloCMS vs WordPress vs Squarespace vs Substack

FeatureVeloCMSWordPressSquarespaceSubstack
Recipe JSON-LD baked in (no plugin)YesPlugin requiredNoNo
Jump-to-recipe anchor automaticYesPlugin requiredNoNo
Custom domainPro — yesYesYesPaid add-on
Page weight (recipe page, KB gzip)~85 KB~480 KB~310 KB~220 KB
Time per post (mins)~25~50~40~30
Plugin maintenance burdenNoYesNoNo
Cost per year ($)Free–$108$120–$300+$192+0%+10% revenue
Start today — no credit card

Free for up to 100 recipes. Pro when you need a custom domain.

Free

$0

Forever

  • Up to 100 recipes
  • Recipe JSON-LD baked in
  • Jump-to-recipe anchor
  • Restaurant theme
  • Print-friendly layout
  • velocms.org subdomain
Get started free
Most popular

Pro

$9

per month

  • 1,000 recipes
  • Custom domain + SSL
  • Spoonacular nutrition integration
  • Step-by-step photo galleries
  • AI writing assistant
  • Newsletter broadcasts
Start Pro free

Business

$29

per month

  • Unlimited recipes
  • Multi-author food blog
  • White-label branding
  • Priority support
  • BYOK Stripe (member revenue)
  • Team collaboration
Start Business free

Questions recipe bloggers ask before switching

Honest answers — no plugin upsell.

Does VeloCMS support Recipe JSON-LD / schema.org/Recipe?

Yes — VeloCMS emits a full schema.org/Recipe block on any post tagged with recipe:. The schema includes cookTime, prepTime, recipeYield, recipeIngredient, and recipeInstructions extracted automatically from your post content. If you connect a Spoonacular API key, NutritionInformation is also populated. The JSON-LD is rendered server-side and ships in the page head, so Google and Bing pick it up on first crawl without requiring any client-side JavaScript to run.

How does the jump-to-recipe button work?

VeloCMS automatically injects a sticky jump-to-recipe anchor button at the top of every post tagged with recipe:. The button appears above the fold and stays pinned as the reader scrolls through the intro. Clicking it jumps directly to the recipe card section — the <div> containing the structured recipe fields. The button is excluded from the print stylesheet so it doesn't appear when a reader prints the recipe. No shortcode, no plugin, no manual HTML required.

Can VeloCMS auto-compute nutrition info?

Yes, with an optional Spoonacular API key. Add your key in Admin → Settings → Integrations and VeloCMS sends your ingredient list to the Spoonacular API on publish. The per-serving nutrition data (calories, fat, protein, carbohydrates) populates the NutritionInformation schema property and displays as a nutrition label on the recipe card. If you don't add a Spoonacular key, the nutrition fields are simply omitted from the schema without affecting anything else. The free Spoonacular tier covers 150 requests per day.

How do I import my existing WordPress recipe blog?

Export your WordPress site via Tools → Export → All Content and drag the XML into Admin → Import in VeloCMS. The importer strips Tasty Recipes and WP Recipe Maker shortcodes, converts recipe card data to VeloCMS Recipe metadata fields, and queues all posts as drafts. Posts that contained plugin-generated recipe cards are automatically tagged with recipe: so you don't need to re-tag them manually. The process takes around 15–30 minutes for a typical recipe blog of 200–500 posts.

Will my recipes still appear in Google Search Generative Experience?

Yes — valid schema.org/Recipe markup with a complete ingredient list and instructions is one of the strongest signals for Google's AI-powered recipe cards. VeloCMS emits this markup server-side on every recipe-tagged post. Google SGE eligibility also depends on your domain's crawl history, content quality, and whether your recipe passes Google's E-E-A-T guidelines — schema alone isn't a guarantee, but missing schema is a guaranteed disqualifier. VeloCMS handles the schema; the rest is up to the recipe.

Does VeloCMS have a recipe-specific theme?

The Restaurant preset ships free on all plans and is the closest to a recipe-blog aesthetic — warm serif typography, clean recipe card layout, generous whitespace, food-friendly color palette. It's designed for long-form blog-style writing in the Smitten Kitchen / Food52 / Serious Eats tradition, not a menu-card format. You can apply the Restaurant theme in Admin → Themes in one click; all content re-flows immediately. VeloCMS has 13 other themes if you prefer a different visual direction.

What happens if Pinterest decides to deprioritize recipe pins next year?

Nothing — if your recipe blog runs on VeloCMS, your audience is on your email list, not on Pinterest's platform. VeloCMS membership features let you collect email subscribers directly on your site; you own and can export that list at any time. Pinterest, Instagram, and TikTok are traffic channels, not audience containers. When you publish to your VeloCMS blog and collect emails there, a Pinterest algorithm change is an SEO inconvenience, not an existential crisis.

Is VeloCMS faster than WordPress + Tasty Recipes for recipe sites?

Substantially. WordPress + Tasty Recipes typically ships 400–600KB of JavaScript per recipe page — the plugin alone accounts for 200–400KB. VeloCMS recipe pages average 80–90KB gzipped. In independent Lighthouse testing on equivalent recipe content, VeloCMS achieves LCP under 800ms; WordPress + Tasty Recipes on shared hosting averages 3.2–4.8s LCP. The difference is architectural: VeloCMS pre-renders recipe pages as static HTML with no client-side plugin runtime, while WordPress re-runs PHP and plugin hooks on every request.

Your readers came for the recipe, not the recipe plugin.

Start free with Restaurant theme. Recipe JSON-LD, jump-to-recipe, step-by-step photos, and print layout — all on a platform that stays out of your way so you can keep cooking.

Start free with Restaurant theme