Marketing, Blog CMS & SEO/GEO
Built-in blog CMS with Rank-Math-style SEO scoring and a GEO panel that optimises posts for AI search engines.
The Marketing module gives you a complete content-marketing surface inside TravelBoost — a full-featured blog CMS with a TipTap editor, a Rank-Math-style SEO panel that scores every post against 30+ checks, and a GEO panel (Generative Engine Optimization) that scores every post for AI search engines like ChatGPT, Perplexity, Claude, and Bing Chat.
Overview
The blog has four surfaces:
- Editor — full TipTap editor with images, tables, embeds, YouTube
- SEO panel — live scoring of focus keyword + secondary keywords across 30+ checks
- GEO panel — live scoring against 16 AI-search signals
- Public blog —
/blog,/blog/[slug],/blog/category/[slug]— fully indexed
Writing a post
- Click 'New post' in the CMS
Pick a category, give it a title (auto-generates the slug). The editor opens with an empty document.
- Set your focus keyword + secondary keywords
Focus keyword is the one search term you want to rank for. Up to 6 secondary keywords broaden the topic. Both feed the SEO + GEO scoring.
- Write — the SEO panel scores you live
30+ checks across Basic SEO (title contains focus keyword, slug, meta description), Additional (focus keyword in subheadings, in URL, image alt text), Title Readability, Content Readability.
- Add structure for AI engines
The GEO panel rewards: TL;DR / Key takeaways block at top, Q-formatted headings, statistics, authoritative external citations, first-person voice, comparison tables.
- Preview, then publish
The public page renders with full JSON-LD Article schema, auto-generated FAQ schema (when Q-headings detected), BreadcrumbList schema, and OpenGraph metadata.
The SEO panel — Rank-Math-style scoring
A 0–100 score across 30+ checks, grouped:
| Category | Example checks |
|---|---|
| Basic SEO | Title contains focus keyword, focus keyword in first paragraph, focus keyword in URL slug, meta description length 120–160 chars, etc. |
| Additional | Focus keyword in subheading, in image alt, internal links, external authoritative links, secondary keywords used, etc. |
| Title Readability | Word count, sentiment, power words, numbers in title |
| Content Readability | Flesch reading ease, paragraph length, subheading distribution, table of contents present |
Each check is green / amber / red with a one-line "how to fix" message.
The GEO panel — AI search optimisation
Distinct from SEO. Scores against:
| Category | What it rewards |
|---|---|
| Direct Answer | TL;DR block, statistics density, quotable sentences, declarative meta description |
| Citations & Authority | Authoritative external links (.gov / .edu / Reuters / FT / Skift), named author, first-person voice ratio |
| Crawlable Structure | Question-formatted H2/H3 (triggers FAQ schema), comparison tables, inline definitions |
| Recency & Entity | Current year in title + body, publish date set, ≥800 word body |
TipTap editor extras
The editor includes:
- TL;DR insertion button — one-click "Key takeaways" block at the top (AI engines copy this verbatim)
- Image upload to DO Spaces CDN — drag-and-drop, auto-resized, alt text prompt
- YouTube embeds — paste a URL
- Tables with header gradient — branded styling auto-applied
- Word count + reading time — live in the bottom bar
- Auto-save — every 5 seconds when there are unsaved changes
Categories and the public blog
Categories nest two levels (parent → child). Each category gets its own /blog/category/[slug] page with the same UX as the main blog index. Posts can belong to multiple categories.
The public single-post page includes the floating share rail (X / LinkedIn / Facebook / WhatsApp / copy link), animated TOC, brand-gradient CTA card, author bio card, and related posts grid.
FAQ
Where do post images live?
DigitalOcean Spaces (S3-compatible) by default, served from the CDN. We can route through any S3-compatible store you point at.
Can I run a newsletter from this?
Not yet — the roadmap includes a newsletter builder that subscribes from a blog opt-in form and segments by loyalty tier. Until then, integrate with Mailchimp / Beehiiv via webhooks.
Does the blog have a comments system?
Not built-in by default (most B2B SaaS blogs don't need it). You can embed a third-party comment widget (Disqus, Hyvor, Cusdis) in the post template if you want one.
