Free Interactive Tools
25 free, no-signup marketing tools at /tools/<slug> — top-of-funnel SEO + GEO bait that doubles as in-product utilities.
Free Interactive Tools
HeyCMO ships 25 free, no-signup interactive marketing tools at /tools/<slug>. They're a top-of-funnel SEO + GEO play: each tool targets a specific, high-intent keyword (instagram caption generator, cac calculator, meta description generator, robots txt generator, json ld validator) and ranks on its own, indexed page with full schema markup.
The tools are also the lowest-friction way to show what HeyCMO does. The free generator handles one post at a time; the paid product runs the whole engine.
Configuration
| Property | Value |
|---|---|
| Phase | 1.3 (first 10) + 4 (next 10) + 4.1 (GEO batch of 5) |
| Registry | apps/web/src/data/tools.ts |
| Index page | apps/web/src/pages/ToolsIndex.tsx (/tools) |
| Detail page | apps/web/src/pages/ToolPage.tsx (/tools/<slug>) |
| Auth | None — public, no signup, no rate limit beyond reasonable use |
| Sitemap | All 25 included automatically |
Why these exist
Three jobs in one:
- SEO + GEO bait — Every tool targets a keyword from the research-doc keyword list, with ~500–2,500/mo search volume and KD ≤20. The tool page is a self-contained SEO landing page (H1, intro, use cases, FAQ schema, related tools).
- Product proof — Visitors who use the free tool see the same engine the paid product wraps. The CTA at the bottom of every tool page is the same: "Tired of doing this every day? HeyCMO does all of it for $99/mo."
- In-product utility — The same tools are linked from inside the dashboard so paid customers don't need a tab-switch when they want a one-off generator.
URL structure
/tools ← index, grouped by category
/tools/instagram-caption-generator ← detail + interactive form
/tools/cac-calculator
/tools/meta-description-generator
/tools/ai-citation-score
/tools/json-ld-validator
... (25 total)Slug is stable — used in URLs, JSON-LD @id, and the related-tools cross-link graph.
The 25 tools
| Slug | H1 | Subhead |
|---|---|---|
instagram-caption-generator | Instagram Caption Generator | Five on-brand caption variants in under 10 seconds. Free. No signup. |
linkedin-post-idea-generator | LinkedIn Post Idea Generator | Seven post ideas tuned to your role and audience. Five seconds. No signup. |
email-subject-line-tester | Email Subject Line Tester | Score your subject line on length, urgency, spam triggers, and predicted open rate. |
roi-calculator-marketing | Marketing ROI Calculator | Get true ROI, ROAS, and break-even spend from three numbers. |
hashtag-generator-instagram | Instagram Hashtag Generator | Get 30 niche-relevant hashtags split across high, medium, and low competition. |
cac-calculator | CAC Calculator | Compute Customer Acquisition Cost, LTV:CAC ratio, and payback period in seconds. |
tweet-thread-generator | Tweet Thread Generator | One idea in. One 7-tweet thread out. Hook, build, payoff, CTA. Free. |
meta-description-generator | Meta Description Generator | 5 SEO meta descriptions per page. Length-perfect, keyword-front-loaded, CTR-tuned. |
cold-email-subject-tester | Cold Email Subject Line Tester | B2B-tuned subject line scorer. Length, spam triggers, personalization, predicted open rate. |
content-calendar-template | Content Calendar Template | 30 days × 4 channels of pre-filled content slots. Customize, download, ship. |
blog-post-outline-generator | Blog Post Outline Generator | Seven sections with H2/H3 hierarchy and CTA placements. Five seconds. |
youtube-title-generator | YouTube Title Generator | Seven CTR-optimized titles per video. 60-character cap. Free. |
pricing-page-headline-tester | Pricing Page Headline Tester | Score your pricing headline on clarity, framing, and conversion patterns. |
press-release-generator | Press Release Generator | AP-style press release. Headline, dateline, lead, body, quotes, boilerplate. 30 seconds. |
churn-rate-calculator | Churn Rate Calculator | Monthly + annual churn from start/end customer counts. Plus projected revenue impact. |
website-copy-rewriter | Website Copy Rewriter | Paste your homepage / product copy. Get a tighter rewrite optimized for conversion. |
persona-generator-icp | ICP Persona Generator | Sales-ready Ideal Customer Profile. Pain points, channels, buying triggers, objections. Free. |
newsletter-subject-line-tester | Newsletter Subject Line Tester | Score your newsletter subject line. Tuned for warm-list opens, not cold. |
social-media-bio-generator | Social Media Bio Generator | Bio variants for X, LinkedIn, Instagram, TikTok — sized to each platform. |
lead-magnet-idea-generator | Lead Magnet Idea Generator | Seven lead magnet ideas tuned to your audience. Picked, not generic. |
ai-citation-score | AI Citation Score Estimator | How likely are ChatGPT, Perplexity, and Google AI to cite your page? Free GEO score in 5 seconds. |
robots-txt-generator | Robots.txt Generator | Build a robots.txt with explicit AI-bot rules in 30 seconds. Allow / block GPTBot, ClaudeBot, PerplexityBot, GoogleExtended. |
json-ld-validator | JSON-LD Schema Validator | Paste your JSON-LD. Get Schema.org validation + AI-engine compatibility in 2 seconds. |
faq-schema-generator | FAQ Schema Generator | Paste your Q&A pairs. Get Schema.org-valid FAQPage JSON-LD ready to paste into your <head>. |
hreflang-generator | Hreflang Tag Generator | Multi-language URLs in. Valid hreflang link tags out — self-reference + x-default included. 30 seconds. |
Tool categories
Each tool has a category field used for grouping on the index:
text-generator— generates copy (captions, post ideas, outlines, bios)analyzer— scores existing copy (subject testers, headline testers)calculator— numerical outputs (CAC, ROI, churn)formatter— structured templates (content calendar)
Tool definition shape
From apps/web/src/data/tools.ts:
interface ToolDefinition {
// ─── Identity / SEO ───
slug: string // stable, used in URLs
keyword: string // primary target keyword
category: ToolCategory
estVolume: number // monthly search volume estimate
estKD: number // keyword difficulty (0-100)
relevance: number // 1-5, how core to HeyCMO's value prop
metaTitle: string // <title>
metaDescription: string // <meta name="description">
h1: string
subhead: string
intro: string // multi-paragraph intro copy
// ─── Form ───
inputs: Array<
| { kind: 'text'; ... }
| { kind: 'textarea'; ... }
| { kind: 'select'; options: [...] }
| { kind: 'number'; min/max/step }
>
outputSchema: string // human-readable description of output
// ─── Below-the-fold SEO content ───
useCases: Array<{ title; description }> // ≥3
faq: Array<{ question; answer }> // ≥6, rendered as FAQPage JSON-LD
relatedSlugs: string[] // 3 cross-links
ctaText: string // bottom-of-page paid-product CTA
}How the page renders
ToolPage.tsx reads the definition by slug and renders:
- Hero — H1 + subhead + the interactive form.
- Output panel — appears alongside the form once submitted; results stream in.
- Intro copy — multi-paragraph context. Real prose, not boilerplate.
- Use cases — three audience-specific scenarios.
- FAQ — 6+ Q&As, rendered server-side and emitted as
FAQPageJSON-LD. - Related tools — three cross-links from
relatedSlugs. - CTA — paid-product pitch tuned to the tool's job.
Each page emits:
<title>frommetaTitle<meta name="description">frommetaDescriptionog:title,og:description,og:image(auto-generated branded OG image)<script type="application/ld+json">withWebPage,SoftwareApplication, andFAQPageschemas
Sitemap inclusion
The sitemap generator iterates TOOLS from the registry, so adding a tool to the registry adds it to the sitemap and the search index without any other plumbing. Same for the /tools index — categories rebuild from whatever's currently in TOOLS.
Adding a new tool
- Add a new entry to
TOOLS[]inapps/web/src/data/tools.ts. Use an existing entry as a template — the keyword research is the hard part, the file shape is mechanical. - Pick a category, write the intro / use-cases / FAQ. Aim for ≥1,500 words of unique copy on the page (the FAQ usually carries half).
- Wire the actual generator logic. Most tools call an internal endpoint that runs a small LLM prompt; calculators are pure client-side math.
- Add the slug to 2–3 existing tools'
relatedSlugsso the cross-link graph stays connected. - Ship. The sitemap and index page pick it up automatically.
Helper API
// Look up by slug (used by ToolPage's route loader)
export function getToolBySlug(slug: string): ToolDefinition | undefined
// Pull N related tools (used by the bottom-of-page recirculation)
export function relatedTools(slug: string, n: number = 3): ToolDefinition[]Source files
apps/web/src/data/tools.ts— the registry (single source of truth for all 25 tools)apps/web/src/pages/ToolsIndex.tsx—/tools(categorized listing)apps/web/src/pages/ToolPage.tsx—/tools/<slug>(renderer + form runtime)- Sitemap generator — iterates
TOOLSto emit/tools/<slug>URLs automatically