Pillar 1: Onsite
Weeks 1–4 · Goal: Convert existing trafficZero marketing decisions should be made without data. No other task should proceed until this is in place.
Completed stack: PostHog + Google Search Console
| Tool | Purpose | Cost |
|---|---|---|
| PostHog | On-site behaviour, funnels, session replays, UTM/source attribution, custom conversion events | Free to ~50k visitors/month |
| Google Search Console | SEO keyword data, impressions, click-through rates, search rankings — no on-site script required | Free |
Why not GA4? PostHog is more powerful for funnel and behaviour tracking, requires no cookie consent banner (cookie-free by default), and is free at current traffic levels. GA4 adds complexity without meaningful benefit for this use case.
PostHog setup — completed 2026-05-16
- ✓ PostHog JS snippet installed on all pages via Eleventy base layout
- ✓ Custom event for contact form submission:
posthog.capture('contact form submitted') - ✓ Custom event for contact form failure:
posthog.capture('contact form failed') - ✓ Session recordings enabled (all sessions, no triggers)
- ✓ Exception autocapture enabled — JS errors captured automatically
- ✓ UTM parameter tracking active — captured automatically on all pageviews
- ✓ User identify on form submit — contact form links session to name and email
- ✓ "Analytics basics" dashboard created in PostHog with 10 insights: pageviews, top pages, referring domains, UTM campaigns, visitors by country, total leads, lead submissions over time, contact form success rate, demo-to-contact funnel, lead sources
- ✓ GitHub Actions workflow updated to build site with PostHog token before deploying to S3
Google Search Console setup
- Verify ownership of hosposure.com.au in Search Console
- Submit the sitemap (
/sitemap.xml) - Monitor weekly: top queries, impression share, CTR for primary keywords
LLM visibility monitoring (manual, monthly)
No paid tool is necessary at current scale. Run the full query list in the AIO tab monthly across ChatGPT, Perplexity, and Google AI Overviews and record whether HospoSure appears.
Branded search volume in Google Search Console (people Googling "HospoSure" directly) is a useful proxy for LLM-driven awareness — track it monthly as a trend.
PostHog is installed and capturing pageviews, but we have no visibility into what happens after a visitor arrives. Without conversion events, snapshots measure traffic inputs only — not revenue outputs. This is the single highest-value analytics task remaining.
Why this matters
The marketing strategy is designed to drive demo signups and paid conversions. Until these events are firing, we cannot measure whether any channel, campaign, or content change is actually working. Traffic growing 20% means nothing if we don't know whether signups grew with it.
Events to instrument
| Event name | Where | Trigger | Properties to capture |
|---|---|---|---|
demo_started | app.hosposure.com.au | User completes demo signup / first login | source, utm_source, utm_medium, utm_campaign |
setup_fee_paid | app.hosposure.com.au | $499 setup fee payment confirmed | amount, payment_method |
subscription_started | app.hosposure.com.au | $39/month subscription activated | plan, amount |
cta_clicked | hosposure.com.au | Any primary CTA button click | cta_label, page, section |
pricing_viewed | hosposure.com.au | /pricing/ page load (already getting traffic — worth segmenting) | referrer, utm_source |
Funnel to build in PostHog once events are live
- $pageview (any page) → cta_clicked → demo_started → setup_fee_paid → subscription_started
- Break down by utm_source to see which channels convert best end-to-end
Implementation notes
- PostHog JS is already loaded on the marketing site — CTA click and pricing view events can be added directly
- App events (demo_started, setup_fee_paid, subscription_started) require the posthog-node or posthog-js SDK in app.hosposure.com.au — use the same PostHog project token so events join up against the same person profiles
- Pass UTM params from the landing page into the app via URL or session storage so the acquisition source is preserved through the conversion
The homepage has a pricing section at /#pricing. This is not sufficient for SEO or paid ads. A dedicated /pricing page should:
- Mirror the three tiers (Free demo, $499 one-time, $39/month)
- Go deeper: inclusions per tier, FAQ (cancellation, free trial, data), comparison to DIY spreadsheets
- Frame the $499 as an investment against the cost of a bad first month of trading
- Have a single focused CTA: "Start your free demo"
- Become the landing page destination for future paid search ads
Files to create: src/pricing.html, src/_data/pricing.json
Replace the "Blog" nav link with "The Pass" — a branded resource hub for cafe founders. The existing blog posts are SEO assets and stay published at their current URLs; only the nav label and landing page change.
- Remove "Blog" from the main navigation
- Add "The Pass" to the nav, pointing to
/the-pass/ - Create
src/the-pass.html: curated resource hub with lead magnet opt-in above the fold - Lead magnet: "The 10 Numbers Every Cafe Owner Must Know Before Opening" (downloadable PDF)
- Opt-in: first name + email only, delivered via Mailchimp (free tier)
- Add a secondary CTA on the homepage pointing to The Pass
- List existing blog posts and guides below the opt-in as free resources
Files: src/the-pass.html (new), update src/_includes/main.html nav
Custom rebuild using Claude Code. Replace the current Eleventy + Bootstrap 4 build (large pre-built theme, 8,642 lines, WOW.js animations) with a clean, modern SaaS-focused design built from scratch. Structural data (show.json sections, site.js schema/pricing/contact details) is preserved as the content source, but copy itself is in scope: the more playful visual direction calls for a more playful tone too, so hero and section copy gets rewritten as part of this rebuild rather than treated as presentation-only. Full plan, justification, and reference assets archived in marketing/website-rebuild/ (Lemon Squeezy reference screenshots, palette-preview.html).
Hero copy direction (folded in from the separate "Hero copy" task)
Write hero copy once the base layout is built — the hero structure determines what copy is needed and where. The current subheadline ("Pre-Opening Cafe Planning with Expert Recipe Templates and Square POS Integration") is a product list, not an outcome, and reads flat against the new bolder visual direction.
Pair the headline with a short, playful supporting line underneath, not just a restated feature list, then list what makes the confidence real. The three key features (Test Kitchen, Square POS integration, financial modelling) should appear in the hero or immediately below it, with Test Kitchen and Square foregrounded as the visual leads.
Tech stack
| Layer | Current | New |
|---|---|---|
| SSG | Eleventy 3 | Keep — no change needed |
| CSS | Bootstrap 4 + large theme | Tailwind CSS v4 via the official @tailwindcss/postcss plugin + cssnano, wired through an eleventy.before hook (single build process, no config file, no separate watch process) |
| JS | jQuery + WOW.js | Alpine.js (mobile nav, accordion) |
| Icons | Flaticon font | Heroicons inline SVG via 11ty shortcode, sourced from the official heroicons npm package rather than hand-copied SVGs (UI icons only — see mapping table below) |
| Images | Manually converted to WebP, no responsive sizing | @11ty/eleventy-img — automated resize + WebP generation at build time, free/MIT, part of the official Eleventy project |
| Templates | Nunjucks | Keep Nunjucks |
| Schema.org | Scattered inline scripts | Consolidated into _includes/schema.njk, driven by site.js |
Adding @11ty/eleventy-img means existing manually-optimised images get re-processed through it for consistency (a one-off migration task) and build times increase slightly since images are processed at build time — worth it given this rebuild already touches every template's image markup.
Icon mapping: Flaticon → Heroicons
Audited every flaticon-* class actually referenced across src/_data/ and templates (not the full Flaticon font, most of which is unused) — 18 classes in use. Heroicons is a UI-icon set and does not include brand/social logos, so the 5 social icons stay as their existing brand-mark SVGs; only the 13 UI icons map across.
| Flaticon class | Used for | Heroicon replacement |
|---|---|---|
flaticon-wallet | Pricing nav item | WalletIcon |
flaticon-help | FAQ nav item | QuestionMarkCircleIcon |
flaticon-calculator | Feature icon (show.json) | CalculatorIcon |
flaticon-chat | Feature icon | ChatBubbleLeftRightIcon |
flaticon-cloud-computing | Feature icon | CloudIcon |
flaticon-credit-card-1 | Feature icon | CreditCardIcon |
flaticon-idea | Feature icon | LightBulbIcon |
flaticon-line-graph-1 | Feature icon | ArrowTrendingUpIcon |
flaticon-list | Feature icon | ListBulletIcon |
flaticon-reward | Feature icon | TrophyIcon |
flaticon-time | Feature icon | ClockIcon |
flaticon-tool | Feature icon | WrenchScrewdriverIcon |
flaticon-user | Generic person icon | UserIcon |
flaticon-star-1 | Trustpilot rating stars | StarIcon (solid variant) |
flaticon-bookmark | Blog post save icon (post.html) | BookmarkIcon |
flaticon-back / flaticon-next | Carousel arrows | ChevronLeftIcon / ChevronRightIcon |
flaticon-left-quote | Testimonial quote mark | No Heroicon equivalent — replace with a large stylised typographic quotation mark (fits the bold-headline aesthetic better than a generic UI icon) |
flaticon-facebook, flaticon-instagram, flaticon-linkedin-logo, flaticon-twitter, flaticon-dribbble | Social links (footer, header) | Keep as brand-mark SVGs (not Heroicons) — Dribbble link is currently unused/commented out, drop it |
Mapping lives in the template layer (an 11ty shortcode taking the existing Flaticon class string and returning the matching Heroicon SVG) — nav.json and show.json icon field values stay untouched, preserving "structural data unchanged" for this piece.
Design reference: lemonsqueezy.com
Confirmed as the target look and feel. Structural patterns to replicate (see screenshots in marketing/website-rebuild/):
- Typography-led hero: large, bold, tight-line-height headline (4-5 lines, ~56-64px), short muted-grey subhead, single pill-shaped CTA. No clutter.
- Coloured eyebrow labels: short all-caps accent-coloured label above every section headline, paired with a bold headline and a muted-grey supporting paragraph with selective bold-black emphasis.
- Alternating section backgrounds: white and warm off-white bands, no borders — background colour alone creates rhythm.
- Flat colour-block panels, not card shadows: feature sections pair a text column with a solid flat-colour panel containing a screenshot/mockup. No drop shadows or gradients — colour blocking does the work.
- Numbered feature lists: thin-divider rows with a small numeral (01, 02, 03...) instead of icon grids.
- Pill buttons throughout: fully rounded corners on primary and secondary buttons.
show.partners: Chomp, me&u, Clever Cafe Company, Square, Restaurants & Catering Australia) is 5 integration/affiliate partners, not a customer count, so it must not be relabelled or styled as a "trusted by" customer-trust band. Keep the existing star rating + review count as the hero-adjacent social proof (homepage flow item 2 below); keep the partner logos in their own "Friends in High Places" section further down the page, captioned for what they are.Decision: replace the custom Owl Carousel with the official Trustpilot TrustBox widget (Carousel or Grid style), rather than building a custom scroll-snap layout. Trustpilot's embed is a single official script, not a bundle of legacy jQuery plugins, so it fits the "fewer moving parts" goal better than hand-rolling a replacement. It also pulls reviews live, removing the need to keep the testimonials display in sync with new reviews by hand. Load the TrustBox script
async/defer to avoid blocking render. Schema.org Review/AggregateRating JSON-LD in site.js stays manually maintained as-is — the widget doesn't emit structured data, so it solves the on-page display only, not the rich-results data, which is a separate concern already handled.Visual direction and palette
Primary green accent (#54af50) and heading/body text colour (#344767) stay unchanged — both are already used across Trustpilot, LinkedIn, Crunchbase, and the canonical entity description tracked in the offsite profile register, so a brand colour change would mean re-touching every external profile for no benefit. Everything else is made bolder and more playful per Michael's review (proposed in palette-preview.html):
| Role | Colour |
|---|---|
| Primary accent (CTAs, links, eyebrow labels, numbered digits) | HospoSure green #54af50 |
| Heading / body text | Dark slate-blue #344767 |
| Section background | White #ffffff Warm off-white #faf9f6 |
| Flat panel — rotating set |
Sunshine yellow
#ffd866
Citrus orange #ff8a5c
Mint teal #7dd3c0
Soft violet #a78bfa
Bubblegum pink #ff9ec4
|
| Flat panel — light tint variants |
#fff3d6
#ffe3d6
#e3f7f1
#ede5fd
#ffe6f0
|
No dark/navy hero — kept light and white-led throughout to suit the brighter palette. Inter or Geist typeface (self-hosted or Google Fonts, replacing Rubik). Flat colour-block panels carry no shadow; small UI/content cards keep a soft shadow with 12-16px radius. No carousels, no WOW.js scroll animations — CSS transitions only, with prefers-reduced-motion support.
Feature priority and homepage flow
Financial modelling is important but does not present well visually. Lead with the two tangible, time-saving features and use financial modelling as a credibility anchor.
| Feature | Role | Visual treatment |
|---|---|---|
| Test Kitchen | Lead differentiator | Food photography grid, recipe count ("200+ chef-tested recipes"), cost-per-serve overlays, on a flat tint panel. Message: the costing is already done — skip weeks of recipe development. |
| Square POS integration | Second feature, clear time-saver | 3-step flow graphic: Build menu in HospoSure → Review costings → Export to Square, on a flat tint panel. Message: your menu live on Square before opening day. |
| Financial modelling | Credibility anchor, not the hook | Numbered-list stat callouts (cash flow, overheads, labour, COGS). No charts or spreadsheet visuals. Message: banks want projections — we build them for you. Leads directly into pricing CTA. |
Recommended homepage section order
- Hero: outcome-first headline + app screenshot/mockup
- Logo/social proof bar: star rating + review count immediately below hero
- Test Kitchen section: flat-panel mockup, food photography, recipe count, time-saving message
- Square POS section: flat-panel flow diagram or dual-screen mockup
- Financial modelling: numbered-list stat callouts, bank-ready report message, pricing CTA lead-in
- Testimonials
- Pricing anchor and CTA
Build requirements
| Criterion | Why it matters |
|---|---|
| Design tokens defined first | Colours, spacing scale, type scale locked in Tailwind @theme before any component work |
Component partials in _includes/ | card.njk, badge.njk, section-header.njk, eyebrow-label.njk, numbered-list-row.njk — added incrementally as the homepage build reveals what repeats, not built speculatively upfront |
| Homepage approved before other pages | The only page exercising every token/component at once — settles the visual reference before any other page makes its own ad hoc styling calls |
Dedicated /pricing route | Full pricing page, not just a section |
| Testimonials section | 9 reviews need prominence |
| Fast, static output | No JS frameworks, no SSR — keep the performance advantage |
| Schema.org preserved | WebSite, Organization, SoftwareApplication, AggregateRating, Review, FAQPage all kept for rich results; consolidation into schema.njk happens last, once layout markup is stable, so a rich-result regression isn't competing with layout churn |
Build steps
- Create
redesignbranch - Install
tailwindcss,@tailwindcss/postcss,postcss,cssnano,alpinejs,heroicons, and@11ty/eleventy-img; remove Bootstrap and the plugins it doesn't need to keep running (WOW.js, Isotope, Magnific Popup, Owl Carousel). Keep the jQuery library itself loaded —jquery.validate.min.js(contact form) andjquery.ajaxchimp.min.js(The Pass's live Mailchimp signup) both depend on it and aren't migrated until step 6. Only drop jQuery core once contact-us and The Pass are rebuilt and confirmed working without it. Wire Tailwind into the build via aneleventy.beforehook in.eleventy.js(PostCSS pipeline: Tailwind → cssnano) rather than a separate CLI watch process — one build process for both HTML and CSS, current recommended approach for Eleventy 3 + Tailwind v4. - Wire
@11ty/eleventy-imginto the image pipeline and re-process existing images through it for consistent responsive sizing — one-off migration, not per-page repeated work - Define design tokens (colours, type, spacing) in Tailwind's CSS-first
@themeblock - Build base layout (
main.html) with nav and footer in Tailwind/Alpine, preserving schema, PostHog, andnav.jsoninclude-tag logic verbatim. Preserve the two conventionssrc/js/analytics.jsdepends on: every CTA stays a real<a href="...app.hosposure.com.au...">(not an Alpine@click-handled button doing JS-only navigation), and every major section keeps anidattribute, sincegetSectionLabel()walks up viael.closest('[id]')to label which section a CTA click came from. Breaking either silently losescta_clickedevents or their section label — the exact regression fixed in a recent commit. - Build and approve homepage to 90% — use as visual reference for all other pages
- Propagate to remaining pages in order: pricing → The Pass → guides → FAQ/about/contact → privacy/terms → legacy blog (if still linked)
- Consolidate Schema.org into
_includes/schema.njk - QA on the
redesignbranch (no separate staging environment exists) before merging tomaster— merge triggers a live S3 deploy perCLAUDE.md, so it requires explicit go-ahead, not an automatic last step
Pre-flight considerations
- Colour contrast on the bright panels: body/headline text on the flat tint panels stays the dark slate-blue (
#344767), never white-on-pastel, to keep WCAG AA contrast. Check this explicitly once the homepage panels are built, since pastel yellow/pink backgrounds fail contrast fast with light text. - Tailwind v4 browser support: v4 relies on modern CSS (cascade layers,
color-mix) requiring roughly Safari 16.4+/Chrome 111+/Firefox 128+. Worth a quick check of the PostHog browser/device breakdown for hosposure.com.au traffic before committing, to confirm the audience (cafe founders, likely on recent phones/laptops) isn't meaningfully on older browsers. - Copy review checkpoint: since section copy is now in scope alongside the hero (not just presentation), build in an explicit content review pass once the homepage is at 90%, separate from the visual sign-off, so tone changes get the same scrutiny as the redesign itself.
Depends on the website rebuild shipping first — don't theme the app against tokens still in flux. Goal: the click-through from the marketing site into app.hosposure.com.au feels like one product, not two. The app (hosposure.mui) is a completely different stack, React 19 + MUI 5 on Next.js, built on the "Material Dashboard 2 PRO" Creative Tim theme, with AWS Amplify for auth, so this is a token-translation exercise, not a copy of the website's Tailwind build.
Three theming surfaces to align, not one
- MUI theme (
src/assets/theme/base/colors.jsand friends) — covers every dashboard component. Highest leverage, lowest risk: one set of token files, cascades everywhere automatically. - Amplify Studio theme (
src/ui-components/studioTheme.js) — a separate token system for@aws-amplify/ui-reactcomponents, likely covering login/signup. This is the literal first screen after clicking through from the marketing site, so it matters most for the "feels seamless" perception, but is easy to forget since it's a different theming API to MUI's. - Marketing site tokens (Tailwind
@themeblock) — the source everything else should match.
Recommended approach
- Wait until the website rebuild's tokens are finalised and live, not while still in flux
- Extract the final tokens (green accent, dark text colour, radius/spacing scale, light tint palette) into one shared source of truth — a small JSON/TS file referenced by both repos, rather than hex codes copy-pasted and left to drift again
- Theme the MUI layer first using that shared source
- Align the Amplify Studio theme to match — prioritise this given it's the actual transition screen
- Shell-first: nav, sidebar, buttons, cards — the chrome around every screen — before touching dense functional screens
- Leave deep data screens (financial modelling tables, menu builder) for a deliberately separate, later pass: apply the accent colour/radius/type there too, but don't import marketing-site patterns (flat colour panels, giant headlines) into dense working UI — usability over visual consistency for real work surfaces
Base tech stack: do we need to upgrade it first?
Checked current versions against latest (2026-06-16):
| Package | Installed | Latest | Action |
|---|---|---|---|
| React | 19.2.3 | 19.2.7 | Routine patch bump, no urgency |
| Next.js | 16.1.1 | 16.2.9 | Routine minor bump, no urgency |
| aws-amplify | 6.14.4 | 6.18.0 | Routine minor bump, no urgency |
| @aws-amplify/ui-react | 6.1.1 | 6.15.4 | Routine minor bump, no urgency |
| @mui/material | 5.17.1 | 9.1.1 | Four major versions behind — see below |
Recommendation: don't bundle the MUI v5→v9 upgrade into this theming work. MUI v5 is still fully supported and its theming system (the part this task actually touches) works fine as-is. The jump to v9 spans several major versions with real breaking changes along the way (Pigment CSS as a styling option, Grid component changes, Emotion defaults), and is exactly the kind of large, separate migration that deserves its own scoped project with its own test pass, not something silently absorbed into a visual-alignment task on a production app with live customer data. Track the MUI upgrade as its own future tech-debt item, prioritised only if there's a concrete driver (security advisory, deprecated API blocking something, a feature only available in newer MUI) — not "because it's not the latest."
| # | Issue | Impact | File |
|---|---|---|---|
| 1 | aggregateRating count wrong (5 vs 9) | Low | src/_data/site.js |
| 2 | Resource page is empty | Medium | src/resource.html |
| 3 | Demo flow has no price anchor | High | src/index.html |
Three of HospoSure's strongest features are either absent or buried. These need to be surface-level, named, and specific.
| Feature | Current state | Required change |
|---|---|---|
| 200+ recipe Test Kitchen library | Referenced vaguely as "expert recipe templates" | Name it: "200+ chef-tested recipes in the Test Kitchen library" |
| Square menu management | Framed as a one-time setup step | Reframe as ongoing: "manage your live Square menu directly from HospoSure" |
| AI chat assistant | Completely absent from the site | Add a dedicated feature section with screenshot or demo |
These three features separate HospoSure from a generic spreadsheet. They should appear in the hero, features section, and pricing page.
For each feature, write:
- A one-sentence headline that leads with the benefit
- A two-sentence description
- A supporting visual (screenshot or gif)
Files to update: src/_data/show.json features and hero sections
9 real 5-star reviews exist in structured data. Two are named businesses ("The Chai Room", "Little Shop of Waffles" in Sydney). Ensure they are visible above the fold or close to it.
Add the Trustpilot widget if not already present.
Done: Hero social proof strip added (5 stars + 4.3/5 + Trustpilot link). Star ratings uncommented on all 8 rated review cards. Trustpilot widget swapped from Review Collector to MicroStar display.
Current flow: visitor goes to app with no price anchor. Add:
- A brief pricing mention on the homepage: "Free demo, then $499 one-time"
- A "What happens after the demo?" section on the homepage
- In the app: surface the upgrade prompt after a meaningful action, not on arrival
Instagram (https://www.instagram.com/hospo_sureau) is defined in src/_data/site.js but is not included in the sameAs array on the Organization schema. LinkedIn and Facebook are present. Adding Instagram completes the social profile set and strengthens entity recognition by Google and LLMs.
Fix: In src/_data/site.js, add instagram to the sameAs array alongside linkedIn and facebook. One line change.
Pillar 2: AISO
Months 1–6 · Goal: Build organic and AI search visibility"How to open a cafe in Australia" and related queries are high-intent searches from people actively planning to spend money. HospoSure is the exact answer. Ranking for these terms is a compounding long-term asset.
Every major AI tool surfaces answers differently under the hood, but the signals they all respond to are the same: well-indexed content, clear product descriptions, and credible third-party citations. One strategy covers all of them.
| AI tool | How it sources answers | What this means for HospoSure |
|---|---|---|
| Google AI Overviews | Draws directly from Google's own search index and ranking signals. Confirmed by Google: no separate AIO algorithm exists. | Ranking well in organic search is the prerequisite. Google AI Optimization Guide |
| Perplexity | Performs live web search on every query and synthesises from indexed pages. Behaves most similarly to Google AIO. | Strong organic rankings and crawlable content feed directly into Perplexity answers. |
| ChatGPT | With browsing enabled: performs live search via Bing. Without browsing: draws from training data (knowledge cutoff applies). | Bing indexing matters. Directory listings, reviews, and external citations also feed the training data that informs non-browsing responses. |
| Claude | Primarily draws from training data. Web search available in some modes. Surfaces products that are well-documented and frequently cited across the web. | Named reviews on G2, Capterra, Trustpilot, and partner citations are the main levers. |
| Grok | Draws from training data and real-time X (Twitter) content. Social discussion and mentions on X influence visibility. | Active presence and mentions on X contribute. Named citations and directory listings also help via training data. |
| Gemini | Draws from Google's index and training data. Tightly integrated with Google Search signals. | Same as Google AIO — organic ranking and entity clarity are the primary signals. |
| Microsoft Copilot | Powered by Bing search. Live web retrieval on most queries. | Bing indexing and strong organic presence feed Copilot answers directly. |
The common thread: be findable, well-described, and well-cited. A product with strong organic rankings, consistent entity language, directory listings, and named reviews will surface across all of these tools — because those signals feed both search indexing and the training data that LLMs draw from.
Tactics confirmed ineffective by Google — do not action
- Creating
llms.txtfiles - Chunking content into small pieces for AI comprehension
- Rewriting content specifically for AI systems
- Over-emphasising structured data as a requirement for AI visibility
- Pursuing inauthentic mentions across the web
Primary keywords — use in H1, page title, URL
| Keyword | Cluster | Intent |
|---|---|---|
| cafe financial modelling | Financial modelling | High |
| cafe financial projections | Financial modelling | High |
| cafe cash flow report | Financial modelling | High |
| cafe recipe library | Test kitchen library | High |
| cafe recipe templates | Test kitchen library | High |
| cafe recipe costing | Recipe costing tools | High |
| Square menu integration cafe | Square menu export | High |
| Square POS cafe integration | Square menu export | High |
| cafe business planning | Cafe startup planning | High |
| cafe startup planning | Cafe startup planning | High |
| opening a cafe Australia | Cafe startup planning | High |
| pre-opening cafe planning | Cafe startup planning | High |
Secondary keywords — use in H2/H3, body copy, features
| Keyword | Cluster |
|---|---|
| cafe overheads calculation | Financial modelling |
| cafe labour costs | Financial modelling |
| cafe COGS | Financial modelling |
| bank-ready cafe reports | Financial modelling |
| cafe test kitchen library | Test kitchen library |
| expert cafe recipe templates | Test kitchen library |
| pre-costed cafe recipes | Test kitchen library |
| cafe batch recipe templates | Test kitchen library |
| cafe dish performance analysis | Recipe costing tools |
| cafe food cost calculator | Recipe costing tools |
| export menu to Square POS | Square menu export |
| Square POS menu setup cafe | Square menu export |
| POS integration cafe | Square menu export |
| Australian cafe planning | Cafe startup planning |
| cafe founder | Cafe startup planning |
| pre-opening cafe setup | Cafe startup planning |
Target query clusters
| Cluster | Example queries | Intent |
|---|---|---|
| Cafe startup planning | "how to open a cafe in Australia", "cafe business plan template Australia" | High |
| Financial modelling | "cafe startup costs Australia", "cafe break-even calculator" | High |
| Test kitchen library | "cafe recipe library", "pre-costed cafe recipes", "cafe batch recipes Australia", "expert cafe recipe templates" | High |
| Recipe costing tools | "cafe recipe costing spreadsheet", "menu cost calculator Australia", "cafe food cost calculator" | High |
| Square menu export | "export menu to Square POS", "Square POS menu setup cafe", "Square POS cafe integration" | High |
| POS and software | "cafe point of sale", "cafe planning software Australia", "best POS for cafe" | High |
| Comparison | "HospoSure alternative", "cafe business planning tool" | High |
Keyword research findings (competitor gap analysis)
Research against clevercafecompany.com.au and thehospitalitycoach.net. Keywords below are either uncontested or competitors ranking poorly — priority targets for new content and on-page optimisation.
| Keyword | Vol/mth | Opportunity | Cluster |
|---|---|---|---|
| cafe point of sale | 260 | High — target POS guide page | POS and software |
| point of sale for coffee shop | 260 | High — target POS guide page | POS and software |
| pos for cafe | 260 | High — target POS guide page | POS and software |
| cafe recipe library | — | High — no competitors ranking, direct product match | Test kitchen library |
| pre-costed cafe recipes | — | High — uncontested, high purchase intent | Test kitchen library |
| export menu to Square POS | — | High — bottom-of-funnel, no competitors targeting this | Square menu export |
| ato benchmark | 600 | High — competitor pos 47, low competition | Financial modelling |
| ato benchmarks | 300 | High — competitor pos 62, low competition | Financial modelling |
| cafe business plan | 140 | High — core intent keyword | Cafe startup planning |
| setting up a coffee shop | 140 | High — startup intent | Cafe startup planning |
| how to open a cafe | 80 | High — competitor pos 51 | Cafe startup planning |
| how to start a cafe | 50 | High — competitor pos 56 | Cafe startup planning |
| best pos for cafe | 30 | Medium — specific buyer intent | POS and software |
| opening a cafe checklist | 20 | Medium — competitor pos 16, high intent | Cafe startup planning |
| buying a cafe | 20 | Medium — competitor pos 3, well-contested | Cafe startup planning |
| cafe consultant sydney | 20 | Low — geo-specific, target in copy | Cafe startup planning |
Competitor research conducted against clevercafecompany.com.au and thehospitalitycoach.net using keyword gap analysis. Volumes sourced from keyword research tool data. Verify in GSC once site is indexed.
ATO benchmarks opportunity: "ato benchmark" (600/mth) and "ato benchmarks" (300/mth) are high-volume informational keywords where competitors rank very poorly (pos 47 and 62). A single guide covering ATO cafe benchmarks for labour, COGS, and overheads could capture significant organic traffic and directly supports HospoSure's financial modelling messaging.
Test kitchen library opportunity: "cafe recipe library" and "pre-costed cafe recipes" have no competitors ranking. These queries match the test kitchen library directly and should be targeted by a dedicated guide or landing page. High purchase intent, low competition.
Square menu export opportunity: "export menu to Square POS" and related queries are bottom-of-funnel with no competitors targeting them. A short guide or feature page on the Square menu integration could capture high-intent visitors who are actively setting up their cafe POS.
- Every page needs a unique, keyword-rich
<title>and meta description - Add descriptive alt text to all images
- Add an H1 to every page if missing
- Verify structured data with Google's Rich Results Test after implementation
- Fix
aggregateRating.ratingCountinsite.jsto match actual review count
Schema.org implementation — priority order
Schema.org remains relevant for Google rich results and LLM/AIO visibility. Focus on the four high-value types below. Legislation type for Terms and Privacy pages is not worth implementing. Google: Intro to structured data · Rich Results Test
| Type | Page | Value | Status |
|---|---|---|---|
Organization | Sitewide (via layout) | Entity recognition by Google and LLMs. Name, URL, logo, social links, contact. | Done |
SoftwareApplication | Homepage (/) | Enables app rich results. applicationCategory, operatingSystem, offers (pricing), aggregateRating. | Done |
FAQPage | FAQ page (/faq) | FAQ rich result — expands listing in search with accordion Q&A. High click-through impact. | Done |
AggregateRating | Homepage (nested in SoftwareApplication) | Review stars in search results. Requires ratingValue, ratingCount, bestRating. | Done |
Blog | Blog index (/the-pass) | Low impact but correct typing. Minimal effort. | To do |
BlogPosting | Each blog post | Correct typing. headline, datePublished, author, image. Low direct impact. | To do |
Schema.org properties — SoftwareApplication (homepage)
| Property | Value |
|---|---|
@type | SoftwareApplication |
name | HospoSure |
url | https://hosposure.com.au |
applicationCategory | BusinessApplication |
operatingSystem | Web |
description | Cafe business planning and financial modelling software for Australian cafe startups. Recipe costing, cash flow projections, and Square POS integration. |
offers.price | 39 |
offers.priceCurrency | AUD |
aggregateRating.ratingValue | Pull from site.js |
aggregateRating.ratingCount | Pull from site.js (keep in sync with actual reviews) |
aggregateRating.bestRating | 5 |
Schema.org properties — Organization (sitewide)
| Property | Value |
|---|---|
@type | Organization |
name | HospoSure |
url | https://hosposure.com.au |
logo | URL to logo image |
email | hello@hosposure.com.au |
sameAs | LinkedIn, Facebook, Instagram, Trustpilot URLs |
areaServed | AU |
Homepage optimisation checklist
- H1 contains the primary seed keyword
- Clear statement of what HospoSure is, who it is for, and what makes it different
- Internal links to main feature/service sections
- Links to recent blog posts and guides
- FAQ section present and linked
- Real photos and video integrated (not stock)
- Step-by-step product walkthrough visible on the page
- Pricing section present and accurate
- Social proof (Trustpilot reviews) above the fold or near CTA
Blog post optimisation checklist
- Primary keyword in H1, first paragraph, and at least one H2
- Target keyword density approximately 2% across the post
- Internal links to at least 2 other posts and to the pricing or demo page
- FAQ section at the bottom targeting long-tail variants
- Author byline present
- Date published and date updated visible
- At least one real image with descriptive alt text
- CTA at the end linking to demo or pricing
Per-page title and meta description targets
| Page | Title | Meta description |
|---|---|---|
| Homepage | Cafe Business Planning and Financial Modelling Australia | Cafe business planning and modelling, recipe analysis, and financial metrics. Easy-to-use software with access to accredited hospitality coaching and expert mentorship on demand. |
| Blog index | The Pass — Guidance for Cafe Founders | Useful guidance and home truths for cafe management and pre-opening planning. |
| FAQ | FAQ — HospoSure Cafe Planning Software | Quick answers to frequent questions about HospoSure's cafe planning and financial modelling tools. |
| About Us | About HospoSure — Our Purpose and Vision | Meet the team behind HospoSure and learn why we built Australia's cafe business planning platform. |
| Contact Us | Contact HospoSure — Get in Touch | We're here to help you every step of the way. Reach out with any questions about HospoSure. |
Current page structure for reference when planning content updates or schema implementation.
| Page | Section structure |
|---|---|
| Homepage | Header/Nav · Hero · Product Overview · Product Process (1-2-3) · Process Detail (Modelling, Recipe Analysis, Dashboard) · Key Features · Partnerships · Founder Problems · Testimonials · Pricing · CTA · Footer |
| Blog index (The Pass) | Header/Nav · Hero · Post list · Footer |
| Blog post | Header/Nav · Post header (title, date, tags) · Body · CTA · Footer |
| FAQ | Header/Nav · Hero · FAQ accordion · Footer |
| About Us | Header/Nav · Hero · Team cards · Purpose/vision · Footer |
| Contact Us | Header/Nav · Contact form · Footer |
| Terms of Use | Header/Nav · Legal content · Footer |
| Privacy Policy | Header/Nav · Legal content · Footer |
Navigation: Home · The Pass · FAQ · About Us · Contact Us · Sign In
11 posts exist. Before writing new content:
- Use PostHog or GSC to identify the top 3 posts by traffic
- Strengthen those three first: update facts, add internal links, improve headings, expand thin sections
- Interlink posts to each other and back to the pricing/demo CTA
Keyword density: Aim for approximately 2% usage of the primary keyword throughout each piece of content. Use semantic variations naturally rather than forcing exact matches. Google: Creating helpful content
Content by funnel stage
Plan content across all three stages. Awareness content drives traffic; consideration and decision content drives conversions.
| Stage | Content type | Example | Status |
|---|---|---|---|
| Awareness | Blog posts | "How to open a cafe in Australia" | Planned |
| How-to guides | "How to cost a cafe menu" | Planned | |
| Free resources | Demo access, templates | Done | |
| Case studies | Real cafe founder stories using HospoSure | Not started | |
| Consideration | Testimonials | Trustpilot reviews on site | Done |
| "Best X for Y" posts | "Best POS system for cafes in Australia" | Planned | |
| "X vs Y" comparisons | "HospoSure vs spreadsheets for cafe planning" | Not started | |
| Decision | Complete category guides | "Complete guide to cafe financial modelling" | Not started |
New posts to prioritise
| Post title | Stage | Target cluster | Word count |
|---|---|---|---|
| "ATO benchmarks for cafes: what your numbers should look like" | Awareness | Financial modelling | ~1,800 |
| "How to open a cafe in Australia: the complete pre-opening checklist" | Awareness | Startup planning | ~2,500 |
| "How to cost a cafe menu in Australia" | Awareness | Menu costing | ~1,800 |
| "Cafe startup costs in Australia: what you actually need to budget" | Awareness | Financial modelling | ~2,000 |
| "How to calculate break-even for a cafe" | Awareness | Financial modelling | ~1,500 |
| "Best POS system for cafes in Australia: Square vs the alternatives" | Consideration | POS and software | ~1,500 |
| "Square POS for cafes: connect your sales data to your planning" | Consideration | POS and software | ~1,500 |
| "Cafe business plan template: what banks actually want to see" | Decision | Startup planning | ~2,000 |
Priority: The ATO benchmarks post targets 600+ monthly searches where competitors rank very poorly — write it first. Case studies and "X vs Y" comparisons are the biggest content gaps; plan at least one of each in Phase 2.
- Sitemap submitted to GSC
- Canonical tags on all pages
- No broken internal links
- Mobile-friendly (verify in GSC)
- Core Web Vitals passing (check in GSC)
- HTTPS throughout
- Robots.txt correct (not blocking crawl of important pages)
PageSpeed Insights · Google Search Console · Google SEO Starter Guide
Each keyword cluster needs at least one dedicated guide page to rank. Without a purpose-built page, a cluster will not appear in GSC regardless of on-page work elsewhere. Guides live at root URLs (/slug/) using the existing guide layout. Priority order is based on search volume, competition, and product fit.
Page structure for each guide: URL slug matching the primary keyword. H1 containing the primary keyword. 1,500 to 2,000 words covering the topic thoroughly. FAQ section at the bottom targeting long-tail variants. Internal links to related cluster guides and the demo CTA. One or two external links to authoritative sources (ATO, Square docs, etc.).
| Cluster | Guide title / URL | Priority | Rationale | Status |
|---|---|---|---|---|
| ATO benchmarks | /ato-cafe-benchmarks/ | 1 | 900/mo combined volume, competitors at pos 47 and 62. Fastest realistic win. Directly supports financial modelling messaging. | To do |
| Test kitchen library | /cafe-recipe-library/ | 2 | Uncontested queries, direct product match. No competitors ranking. High purchase intent. | To do |
| Square menu export | /square-pos-cafe-menu-integration/ | 3 | Bottom-of-funnel, no competitors targeting it. Visitors searching this are actively setting up their cafe. | To do |
| Cafe startup planning | /how-to-open-a-cafe-in-australia/ (expand existing) | 4 | High volume, high intent. Guide exists but needs expansion to 1,500+ words with FAQ. | To do |
| Recipe costing tools | /cafe-food-cost-calculator/ (expand existing) | 5 | Existing how-to-cost guide covers adjacent content. Needs a calculator-focused variant. | To do |
| Financial modelling | /cafe-financial-modelling/ | 6 | Core product pillar. Competitive cluster — build after easier wins are indexed. | To do |
| POS and software | /cafe-point-of-sale/ | 7 | High volume (260/mo) but competitive. Build after Square menu export guide is live. | To do |
The blog is being retired. All posts move to the guides format at root URLs (/slug/). The blog index (/blog/) redirects to /guides/. A new guides summary page (/guides/) is created to list all guides. hosposure-partners-with-square is dropped with no redirect.
Content migration plan
| Blog post | Action | New URL | 301 from |
|---|---|---|---|
| a-guide-to-cafe-startup-and-business-planning | Migrate and reformat as guide | /cafe-startup-business-planning/ | /blog/a-guide-to-cafe-startup-and-business-planning/ |
| cafe-overheads | Migrate and reformat as guide | /cafe-overheads/ | /blog/cafe-overheads/ |
| cafe-marketing-strategy | Migrate and reformat as guide | /cafe-marketing-strategy/ | /blog/cafe-marketing-strategy/ |
| what-cafe-management-tools-actually-matter | Migrate and reformat as guide | /cafe-management-tools/ | /blog/what-cafe-management-tools-actually-matter/ |
| mastering-financial-literacy-for-long-term-success | Migrate and reformat as guide | /cafe-financial-literacy/ | /blog/mastering-financial-literacy-for-long-term-success/ |
| cafe-crew-and-culture | Migrate and reformat as guide | /cafe-crew-and-culture/ | /blog/cafe-crew-and-culture/ |
| operations-and-management | Migrate and reformat as guide | /cafe-operations-and-management/ | /blog/operations-and-management/ |
| selecting-suppliers | Migrate and reformat as guide | /cafe-selecting-suppliers/ | /blog/selecting-suppliers/ |
| choosing-and-using-ingredients | Migrate and reformat as guide | /cafe-ingredients-guide/ | /blog/choosing-and-using-ingredients/ |
| menu-development | Migrate and reformat as guide | /cafe-menu-development/ | /blog/menu-development/ |
| partnering-with-councils | Migrate and reformat as guide | /cafe-council-partnerships/ | /blog/partnering-with-councils/ |
| hosposure-partners-with-square | Drop — no redirect | — | — |
Definition of done
- All posts above migrated to
src/guides/using guide layout (no author byline, no post date, hero and FAQ sections added) - 301 redirects configured for all migrated posts
/blog/index 301 redirects to/guides//guides/summary page live, listing all guides with title, description, and cluster tag- Nav updated to remove blog link, add guides link
- Old
src/blog/directory andblog.htmltemplate removed - GSC monitored for redirect coverage after deploy
The monthly LLM visibility check is currently manual. Partial automation is achievable today using LLM APIs. Full automation is not possible — Google AI Overviews has no API and must remain a manual browser check.
What can be automated
| Tool | Automated? | Reason |
|---|---|---|
| ChatGPT (GPT-4o) | Yes | OpenAI API, paid — ~$0.05/month for this script |
| Claude | Yes | Anthropic API, paid — ~$0.05/month for this script |
| Gemini | Yes | Google AI API, free tier via AI Studio |
| Perplexity | No | No free API tier — $20/month Pro required. Manual check; note sources cited. |
| Google AI Overviews | No | No API exists. Manual browser check from Australian IP or VPN. |
| Grok | No | API in limited beta. Manual check at x.com. |
API access and cost per tool
| Tool | Free API? | Cost | Approach |
|---|---|---|---|
| Gemini | Yes | Free via Google AI Studio (use gemini-2.5-flash-lite model) | Automate — no cost |
| Claude | No | ~$0.05/month for 15 queries | Automate — negligible cost |
| ChatGPT | No | ~$0.05/month for 15 queries at GPT-4o pricing | Automate — negligible cost |
| Perplexity | No | $20/month Pro required for API access | Manual check — note sources cited, more useful than yes/no |
| Google AI Overviews | No API | — | Manual browser check from Australian IP or VPN |
| Grok | Limited beta | — | Manual check at x.com for now |
Script
marketing/check-ai-visibility.js — Node.js script that queries ChatGPT, Claude, and Gemini with all target queries, checks each response for "HospoSure", and writes results to marketing/ai-visibility-YYYY-MM-DD.csv. Run monthly.
Required .env keys (missing keys are skipped gracefully):
OPENAI_API_KEY— platform.openai.com/api-keysANTHROPIC_API_KEY— console.anthropic.com/settings/keysGEMINI_API_KEY— aistudio.google.com/app/apikey (free)
Definition of done
- API keys added to
.envfor OpenAI, Anthropic, and Gemini - Script runs successfully and produces a CSV baseline
- Perplexity, Google AIO, and Grok checked manually and results recorded in the AIO visibility tracker in Metrics
- Script run monthly alongside the GSC review
- Evaluate dedicated GEO tracking tool (Otterly.ai, Peec.ai) once site is ranking and there is meaningful data to track
One new AISO-targeted post per month. Prioritise depth over volume. A single 2,000-word post that fully answers a high-intent query is worth more than five 500-word posts.
Use this or a variant wherever the brand appears: directories, partner sites, press mentions, social bios. Consistent entity language helps Google and LLMs recognise HospoSure as a named product in a specific category.
Canonical description used across profiles: "HospoSure is Australian cafe business planning software helping cafe founders open profitably. It combines financial modelling, cash flow projections, menu costing with 200+ chef-tested recipes from the Test Kitchen library, and direct Square POS menu management in one platform. Founders use HospoSure to build bank-ready financial reports, calculate overheads and labour costs, cost their menu before opening, and publish their menu directly to Square POS without re-entry."
| Action | Why it helps | Effort |
|---|---|---|
| Write genuinely helpful, expert-led long-form guides | Google and LLMs pull from indexed content. First-hand expertise (Tim, Chetan) is a direct signal. | Medium |
| Add clear entity language to the site | "HospoSure is Australian cafe business planning software..." stated plainly, not implied | Low |
| List on G2, Capterra, Product Hunt | Authoritative third-party sources LLMs use to verify product existence and category | Low |
| Complete Crunchbase and LinkedIn company profiles | Establishes the entity as real, named, and categorised | Low |
| Earn named reviews on Trustpilot, G2, Capterra | Reviews mentioning product name, category, and location are cited by LLMs more often | Ongoing |
| External citations from partners | Clever Cafe and other partners describing HospoSure with its full name, category, and URL | Medium |
Run each query manually in ChatGPT, Perplexity, and Google AI Overviews monthly. Record whether HospoSure appears, where in the response, and how it is described. Branded search volume in GSC ("HospoSure" queries) is a useful proxy for LLM-driven awareness — track it monthly as a trend.
Target queries by cluster
| Cluster | Query |
|---|---|
| Cafe startup planning | "best cafe business planning tool Australia" |
| Cafe startup planning | "how to plan opening a cafe in Australia" |
| Cafe startup planning | "cafe pre-opening checklist Australia" |
| Financial modelling | "cafe financial modelling software Australia" |
| Financial modelling | "how to do cash flow projections for a cafe" |
| Financial modelling | "cafe startup costs calculator Australia" |
| Test kitchen library | "cafe recipe library Australia" |
| Test kitchen library | "pre-costed cafe recipes Australia" |
| Recipe costing tools | "how to cost a cafe menu Australia" |
| Recipe costing tools | "cafe food cost calculator" |
| Square menu export | "how to export menu to Square POS" |
| Square menu export | "Square POS cafe planning software" |
| ATO benchmarks | "ato cafe benchmarks labour COGS" |
| Branded | "what is HospoSure" |
| Branded | "HospoSure review" |
Tracking signals
| Signal | Frequency |
|---|---|
| Manual LLM query checks (ChatGPT, Perplexity, Google AI Overviews) | Monthly |
| Branded search volume in GSC ("HospoSure" queries — proxy for LLM-driven awareness) | Monthly |
| Brand mention tracking via Google Alerts | Ongoing |
Pillar 3: Offsite
Months 1–6 · Goal: Build authority and referrals| Directory | Priority | Notes |
|---|---|---|
| Trustpilot | Done | Already present |
| G2 | High | LLMs frequently cite G2 reviews — listing pending, support ticket raised 2026-06-15 |
| Capterra / GetApp | Done | Listing submitted 2026-06-15 via g2digitalmarkets.com — covers both Capterra and GetApp |
| Product Hunt | Done | Profile created 2026-06-15 |
| Crunchbase | Done | Profile created 2026-06-15 |
| LinkedIn Company Page | Done | Page complete — website, phone, specialties, logo present. Two copy updates still needed: (1) tagline should read "Australian cafe business planning software — financial modelling, menu costing, and Square POS integration"; (2) Overview should open with the canonical entity sentence ("HospoSure is Australian cafe business planning software that helps cafe founders build financial models, cost their menus, and connect to Square POS before they open.") before describing the product detail. |
| SourceBottle / HARO (AU) | Medium | Expert quote placements generate press mentions |
Offsite profile register
Master list of every offsite profile, so entity copy, contact details, and login access stay tracked in one place. Update the "Last touched" column whenever a profile is created or edited.
| Profile | URL | Login / access | Last touched |
|---|---|---|---|
| Trustpilot | trustpilot.com/review/hosposure.com.au | Michael | 2026-06-15 (entity copy updated) |
| facebook.com/hosposure | Michael | 2026-06-15 (entity copy updated) | |
| TBC | Tim (admin access pending) | Not yet updated | |
| LinkedIn Company Page | TBC | Tim (admin access pending) | Page built; copy updates pending |
| Crunchbase | TBC | Michael | 2026-06-15 (profile created) |
| Product Hunt | TBC | Michael | 2026-06-15 (profile created) |
| Capterra / GetApp | TBC | Michael (submitted via g2digitalmarkets.com) | 2026-06-15 (submitted, awaiting approval) |
| G2 | TBC | Michael (support ticket raised) | 2026-06-15 (ticket raised, listing pending) |
Citations — business directory mentions
Citations (consistent name, URL, and contact details across directories) build trust signals for Google. Focus on Australian and hospitality-relevant directories first.
| Directory | Priority | Notes |
|---|---|---|
| Yellow Pages (yellowpages.com.au) | Medium | Australian business directory, broad reach |
| True Local | Medium | Australian local business directory |
| Yelp | Low | Low AU relevance but adds citation breadth |
| Manta | Low | SME directory, adds entity presence |
Q&A sites
Answering relevant questions on Q&A platforms builds brand visibility and can generate referral traffic. Focus on genuine, helpful answers — do not spam links.
| Platform | Approach |
|---|---|
| Quora | Answer questions about opening a cafe in Australia, cafe financial planning, Square POS setup. Link to relevant blog posts where genuinely useful. |
| Reddit (r/smallbusiness, r/australia) | Participate in cafe founder discussions. Build credibility before mentioning HospoSure. |
Clever Cafe Company is already converting. This model works. Scale it.
| Partner type | Example | Lead quality | Effort |
|---|---|---|---|
| Hospitality business coaches | Clever Cafe Co. | Very high | Medium |
| TAFE hospitality departments | TAFE NSW, William Angliss | High | Medium |
| Council small business programs | Business Victoria, Business Connect NSW | High | Medium |
| Commercial kitchen incubators | Shared kitchen operators | Medium | Low |
| Hospitality accountants | Boutique firms specialising in food business | High | Medium |
Offer: referral commission per paid conversion, co-branded content, or resource sharing.
Target 3–5 backlinks per quarter from relevant sites.
| Method | Target sites | Effort |
|---|---|---|
| Guest posts | Cafe industry blogs, hospitality association newsletters | Medium |
| Expert quotes | Food business press, startup media in AU | Low (via SourceBottle) |
| Partner mentions | Every partner site should mention and link to HospoSure | Low |
| Resource page listings | University entrepreneurship centres, TAFE resource pages | Low |
| PR (milestone-based) | App launch updates, customer success stories | Medium |
Ask satisfied customers at the right moment:
- After they complete their first financial model (in-app prompt)
- After they receive their bank-ready report
- After a successful opening (follow-up email at 30 days post-onboarding)
Ask for: Trustpilot review, Google review, and optionally refer a friend. One click per ask.
| Channel | Priority | Cadence | Content type |
|---|---|---|---|
| High | 2x per week | Cafe numbers, customer results, practical tips | |
| Medium | 2x per week | Carousels from blog posts, cafe startup visuals | |
| Low | 1x per week | Repurpose LinkedIn posts |
LinkedIn content pillars
- The numbers behind opening a cafe (financial insight posts)
- Customer results and named business stories
- Behind the product: what we built and why
- Practical tips: cafe planning, menu costing, Square POS
Pillar 5: Email Marketing
Months 1–6 · Goal: Nurture leads and convert demos to paid| Source | Method |
|---|---|
| Homepage opt-in | Lead magnet: "The 10 Numbers Every Cafe Owner Must Know Before Opening" PDF |
| Resource page | Same opt-in, different context |
| Blog post upgrades | Relevant checklist or template download at end of high-traffic posts |
| Demo signup | Automatically add all demo signups to the nurture sequence |
Triggered on opt-in.
| Day | Content | |
|---|---|---|
| 1 | 0 | Deliver the lead magnet. Introduce HospoSure in one paragraph. No hard sell. |
| 2 | 2 | The biggest financial mistake cafe founders make (links to blog post) |
| 3 | 4 | How to know if your menu will actually make money (menu costing angle) |
| 4 | 7 | Customer story: how [named business] used HospoSure to open confidently |
| 5 | 10 | Soft CTA: "Ready to see it working for your cafe? Start your free demo." |
Triggered when someone starts a demo but has not paid.
| Day | Content | |
|---|---|---|
| 1 | 1 | "Here is what to do first in your demo" — guided quick win |
| 2 | 3 | "What does the financial model tell you?" — surface the value |
| 3 | 7 | Address the most common objection: "Is $499 worth it?" |
| 4 | 14 | Urgency without pressure: "Your demo data is saved. Pick up where you left off." |
| 5 | 21 | Final nudge: direct offer, clear CTA, easy reply option |
Triggered 30 days after becoming a paid customer.
| Trigger | Content | |
|---|---|---|
| 30-day check-in | 30 days post-payment | "How is the planning going?" Personal feel, not automated-looking |
| Review request | 45 days post-payment | Ask for Trustpilot or Google review. Direct link. No login friction. |
| Referral ask | 60 days post-payment | "Know anyone else planning to open a cafe?" One-line ask, no pressure. |
Start with Mailchimp (free up to 500 contacts, 1,000 emails/month). Migrate to ActiveCampaign or ConvertKit when sequences become more complex or the list exceeds 500.
| Metric | Target |
|---|---|
| Welcome sequence open rate | 40%+ (industry average 25%) |
| Demo nurture click-through rate | 5%+ |
| Demo-to-paid conversion from email | Track separately from organic conversion |
| List growth per month | Set baseline once capture is live |
Pillar 6: Reputation
Ongoing · Goal: Build trust signals across Google, Trustpilot, and G29 real 5-star Trustpilot reviews exist in structured data. Two mention named businesses in Sydney. This is a strong foundation. The gap is that these reviews are not being actively grown or distributed.
Reviews feed three things simultaneously: conversion (social proof on-site), AIO (LLMs cite named reviews), and trust (Trustpilot widget). Google Business Profile is not applicable as HospoSure is an online-only business with no physical premises.
| Platform | Priority | Why |
|---|---|---|
| Trustpilot | High | Already present. Need to actively solicit new reviews. |
| G2 | High | LLMs and software buyers cite G2. Even 5–10 reviews establishes presence. |
| Capterra | Medium | Gartner-owned, broad buyer reach. |
| Low | Declining relevance but still visible in search. |
Ask at the right moment, not randomly. Three moments where customers are most likely to say yes:
- After completing their first financial model in the app (in-app prompt)
- After downloading their bank-ready report (high-value moment)
- 45 days after becoming a paid customer (via automated email)
Make it one click. Direct link to the review platform. No login friction where possible.
Respond to every review, positive or negative.
- Positive: short, personal, mention the customer's business or detail if they shared it
- Negative: acknowledge the issue, offer to resolve via email, do not argue publicly
Responses signal to both Google and potential customers that the business is active and cares.
Reviews that include the product name, category, and location are more likely to be cited by LLMs. When asking for reviews, a brief prompt helps:
Do not script it. Just surface the idea.
Brand Context
HospoSure Pty Ltd · ACN 662 503 808| Stage | Pain | Message |
|---|---|---|
| Awareness | "Opening a cafe is overwhelming and risky" | "Plan your cafe with expert-proven tools" |
| Consideration | "I need financial projections but don't know where to start" | "Build bank-ready cash flow reports in hours, not weeks" |
| Decision | "Will this actually work for my specific cafe?" | "Free demo + money-back guarantee" |
| Retention | Ongoing menu optimisation, POS sync, performance tracking | Surface feature value in-app at the right moments |
- Australian-specific: Tailored to AU market, regulations, and terminology
- All-in-one: Replaces multiple disconnected tools (spreadsheets, POS, recipes)
- Expert-backed: Recipes and templates from hospitality professionals
- Practical focus: Designed for operators, not accountants
Core features (must-have)
- Financial modelling engine
- Recipe costing calculator
- Cash flow projections
- Menu builder
Differentiating features (competitive edge)
- Square POS integration
- Test kitchen recipe library
- Dish performance analysis
- Bank-ready report export
Supporting features (value-add)
- Overhead calculators
- Labour cost planning
- Pre-opening checklists
- Demo access
| Use | Avoid |
|---|---|
| cafe | café |
| expert | veteran |
| modelling | modeling |
| pre-opening planning | generic "planning" |
| test kitchen library | recipe collection / templates |
| dish performance analysis | menu analytics |
| revolutionary, game-changing | hype language of any kind |
Current
- Square POS — primary POS integration (OAuth + manual token). Core integration is live; feature development is continuing. Ensure all marketing copy and onboarding docs reflect the current state of the integration.
- AWS Amplify — backend infrastructure
- Trustpilot — review platform
Potential future
- Xero / MYOB (accounting)
- Additional POS systems (Toast, Lightspeed)
- Supplier ordering platforms
Customer success
- Cafe opens on time and on budget
- Secures bank funding with HospoSure reports
- Menu performs profitably in first 6 months
- Avoids common startup financial mistakes
Business success
- User activation rate (free to paid conversion)
- Feature adoption (especially POS sync)
- Customer retention (monthly churn)
- Review ratings (Trustpilot, Google)
| Name | Role | Responsibility |
|---|---|---|
| Michael Roberts | Technical Director | Architecture, product development, cloud infrastructure, technology strategy |
| Tim Noye | Commercial Director | Commercial strategy, partnerships, hospitality operations expertise |
| Chetan Shroff | Customer Service | Onboarding, pre-opening planning support, Square POS implementation |
Overview
How everything connects and what we are trying to achieveEach pillar owns a stage in the customer journey. They are not independent activities — they feed each other. Reputation earned in stage 5 loops back to amplify discovery in stage 1, compounding returns over time.
Prioritised by revenue impact. Complete Tier 1 before starting Tier 2. Items are tagged by who owns them and which pillar they belong to.
Tier 1 — Do first (highest impact, no dependencies)
| # | Action | Pillar | Owner | Effort | Why it matters |
|---|---|---|---|---|---|
| 1 | Instrument conversion events in the app | Onsite | Michael | Medium | PostHog captures pageviews but nothing downstream. Every other optimisation is flying blind until this is done. |
| 2 | Create Capterra and G2 listings | Offsite | Tim / Michael | Low | G2 and Capterra are cited by LLMs when recommending SaaS tools. Direct feed into AISO visibility. ~1 hour each. |
| 3 | Update LinkedIn company page copy — linkedin.com/company/hosposure. Page is structurally complete. Two copy changes needed: update the tagline to "Australian cafe business planning software — financial modelling, menu costing, and Square POS integration"; rewrite the Overview to open with the canonical entity sentence. | Offsite | Tim | Low | Current tagline ("Cafe planning and modelling") and Overview copy are too abstract for LLM entity recognition. Consistent entity language across the site, directories, and LinkedIn is the signal that gets HospoSure cited in AI-generated answers. |
| 4 | Add canonical entity language to the website | AISO | Michael | Low | Add plainly to the homepage: "HospoSure is Australian cafe business planning software...". No rebuild needed — a single copy change. Helps Google and LLMs recognise the brand in its category. |
Tier 2 — Start alongside the website rebuild
| # | Action | Pillar | Owner | Effort | Dependency |
|---|---|---|---|---|---|
| 5 | Website rebuild: Eleventy 3 + Tailwind CSS v4 | Onsite | Michael | High | Directory listings done first so external profiles link to the new site on launch. See Onsite task 4 for full spec. |
| 6 | Expand partner channel: TAFEs, councils, hospitality accountants | Offsite | Tim | Medium | Clever Cafe is already converting. This model works — scale it. See Offsite for target partner list. |
Tier 3 — Deferred (needs Tier 1 and 2 first)
| Action | Blocked by |
|---|---|
| Blog content cluster | New website needed first |
| AISO cluster content (7 guides) | Entity language on site + directory listings first |
| In-app referral and review prompts | Conversion events must be instrumented first |
| Backlink outreach (3–5/quarter) | Content must exist to link to |
Goals
12-month target: 15 new customers per monthUpdated monthly. Status reflects GSC ranking data and automated LLM visibility checks. Green = on track or better. Amber = partial progress. Red = not started or no movement.
Keyword cluster rankings (GSC)
| Cluster | Status | Current | 6-month target |
|---|---|---|---|
| Financial modelling | Not started | Not ranking, 0 impressions | Pos <20, 50+ impressions/mo |
| Cafe startup planning | Not started | Not ranking, 0 impressions | Pos <20, 100+ impressions/mo |
| Test kitchen library | Not started | Not ranking, 0 impressions | Pos <10, 50+ impressions/mo |
| Recipe costing tools | Not started | Not ranking, 0 impressions | Pos <20, 50+ impressions/mo |
| Square menu export | Not started | Not ranking, 0 impressions | Pos <10, 30+ impressions/mo |
| POS and software | Not started | Not ranking, 0 impressions | Pos <20, 100+ impressions/mo |
| ATO benchmarks | Not started | Not ranking, 0 impressions | Pos <10, 100+ impressions/mo |
LLM visibility (automated, monthly)
| Tool | Status | Non-branded mentions | Branded mentions | Goal |
|---|---|---|---|---|
| Claude | Baseline only | 0 / 13 queries | 2 / 2 branded queries | 1+ non-branded cluster mention |
| Gemini | Baseline only | 0 / 13 queries (4 errors) | 2 / 2 — wrong description | Correct description + 1+ cluster mention |
| ChatGPT | Not checked | — | — | 1+ non-branded cluster mention |
| Perplexity | Not checked | — | — | 1+ non-branded cluster mention |
| Google AIO | Not checked | — | — | Appear in 1+ cluster query AIO |
| Grok | Not checked | — | — | 1+ non-branded cluster mention |
Overall AISO goal
By month 6 (December 2026): at least 4 of 7 keyword clusters ranking in GSC with 30+ impressions per month each, and HospoSure appearing correctly (right description, right category) in at least 2 of the 4 major LLMs for at least 1 cluster query per tool. Branded queries should return an accurate description across all tools.
Goal: Put the measurement and content foundations in place so every subsequent decision is data-driven and the site starts converting existing traffic.
Definition of done: GA4 firing, GSC connected, sitemap submitted, hero copy updated, three key features visible on the homepage, pricing page live, G2/Capterra/Product Hunt listings created.
Focus: Onsite fixes, analytics baseline, feature prominence, directory listings, entity presence for AIO.
Goal: Turn cold traffic into leads and start nurturing demos toward payment. Build the email engine and publish the first high-intent SEO content.
Definition of done: Lead magnet live, email capture on homepage and resource page, welcome and demo nurture sequences running in Mailchimp, first blog post published, LinkedIn posting at cadence, three new partner conversations started.
Focus: Email list building, nurture sequences, blog strategy, social activation, partnership outreach.
Goal: Compound the gains from Phases 1 and 2. Build organic authority, grow the review presence, and activate paid search once conversion is proven.
Definition of done: One SEO post published per month, 3–5 backlinks earned per quarter, G2 and Capterra at 10+ reviews each, retention email sequence live, LLM visibility checked monthly, paid search launched.
Focus: Ongoing SEO content, backlink building, review growth, retention emails, LLM visibility monitoring, paid acquisition.
Metrics
Monthly review| Metric | What it tells you | Where to check |
|---|---|---|
| Organic sessions | Whether SEO is working | PostHog |
| Demo signups | Top-of-funnel conversion | PostHog |
| Demo-to-paid conversion rate | Bottom-of-funnel efficiency | PostHog |
| New customers/month | The headline number | PostHog |
| Email list size and monthly growth | Lead nurture health | Email platform |
| Welcome sequence open rate | Email content quality (target: 40%+) | Email platform |
| Demo nurture conversion to paid | Email channel revenue contribution | Email platform |
| LinkedIn followers and average post impressions | Social reach and authority growth | LinkedIn Analytics |
| Instagram followers, saves per carousel, and bio link clicks | Social engagement quality and traffic contribution | Instagram Insights |
| Social-attributed sessions | Social channel traffic contribution | PostHog (source: social) |
| Social-attributed demo signups (UTM tracked) | Social channel revenue contribution | PostHog |
| Review count across Trustpilot, G2, Capterra | Reputation growth | Each platform |
| Average review rating | Reputation quality | Each platform |
| Branded search volume | AIO proxy: people finding HospoSure via LLMs then Googling it | GSC |
| Average position for target keywords | SEO ranking progress | GSC |
| Backlinks earned | Offsite authority growth | GSC or Ahrefs |
| LLM visibility (manual) | Appears in top 3 answers for target queries | Manual check |
June 2026 baseline. PostHog data: last 30 days to 8 June. GSC data: last 3 months to 8 June. LLM visibility: automated run 10 June. Use as the comparison point for all future monthly snapshots.
Traffic overview (PostHog)
| Metric | Value |
|---|---|
| Total pageviews | 174 |
| Unique visitors | 76 |
| Sessions | 103 |
| Pages per session | 1.69 |
Weekly trend (PostHog)
| Week | Pageviews | Unique visitors | Sessions |
|---|---|---|---|
| 11 May | 6 | 5 | 5 |
| 18 May | 48 | 25 | 29 |
| 25 May | 49 | 23 | 31 |
| 1 Jun | 71 | 34 | 38 |
Week of 1 June: +45% pageviews and +48% sessions vs prior two weeks.
Top pages (PostHog)
| Page | Pageviews | Unique visitors |
|---|---|---|
| / (homepage) | 104 | 59 |
| /pricing/ | 18 | 5 |
| /the-pass/ | 10 | 7 |
| /about-us/ | 10 | 8 |
| /the-pass/what-makes-the-best-eggs-benedict/ | 5 | 4 |
| /faq/ | 4 | 4 |
| /contact-us/ | 4 | 3 |
| /blog/what-cafe-management-tools-actually-matter/ | 4 | 4 |
| /how-much-does-it-cost-to-open-a-cafe-in-australia/ | 2 | 2 |
/pricing/ at 18 pageviews is a notable intent signal. No conversion events instrumented yet.
Traffic sources (PostHog)
| Source | Pageviews | Unique visitors |
|---|---|---|
| Direct | 113 | 47 |
| Google (organic) | 19 | 8 |
| Bing (organic) | 14 | 5 |
| app.hosposure.com.au (internal) | 9 | 2 |
| 9 | 9 | |
| 2 | 2 |
Device split (PostHog)
| Device | Pageviews | Visitors |
|---|---|---|
| Desktop | 128 (74%) | 43 |
| Mobile | 46 (26%) | 33 |
GSC — top queries
77 clicks, ~1,100 impressions total. 59 of 77 clicks are branded. Non-branded organic is near zero — content creation is the prerequisite.
| Query | Clicks | Impressions | CTR | Avg position |
|---|---|---|---|---|
| hosposure | 59 | 70 | 84% | 1.0 |
| cafe menu development sydney | 0 | 25 | 0% | 3.3 |
| hospos | 0 | 7 | 0% | 38.6 |
| freecafe | 0 | 3 | 0% | 6.7 |
| opening a coffee shop | 0 | 1 | 0% | 1.0 |
GSC — top pages by impressions
| Page | Clicks | Impressions | CTR | Avg position |
|---|---|---|---|---|
| / | 71 | 275 | 25.8% | 4.8 |
| /about-us | 2 | 163 | 1.2% | 2.7 |
| /contact-us | 1 | 103 | 1.0% | 3.9 |
| /faq | 0 | 101 | 0% | 1.9 |
| /blog | 0 | 96 | 0% | 1.9 |
| /resource | 0 | 51 | 0% | 2.6 |
| /blog/partnering-with-councils/ | 1 | 19 | 5.3% | 6.5 |
| /blog/cafe-overheads/ | 1 | 15 | 6.7% | 9.8 |
| /blog/what-cafe-management-tools-actually-matter/ | 0 | 13 | 0% | 6.0 |
| /blog/cafe-marketing-strategy/ | 0 | 11 | 0% | 11.1 |
/faq and /blog each have ~100 impressions at position ~2 but 0% CTR — title tags and meta descriptions need review.
GSC — cluster rankings
None of the target keyword clusters are ranking yet. No dedicated guide pages exist — content creation is the prerequisite.
| Cluster | GSC avg position | Impressions/mo | Target (6 months) |
|---|---|---|---|
| Financial modelling | Not ranking | 0 | Pos <20, 50+ impressions/mo |
| Cafe startup planning | Not ranking | 0 | Pos <20, 100+ impressions/mo |
| Test kitchen library | Not ranking | 0 | Pos <10, 50+ impressions/mo |
| Recipe costing tools | Not ranking | 0 | Pos <20, 50+ impressions/mo |
| Square menu export | Not ranking | 0 | Pos <10, 30+ impressions/mo |
| POS and software | Not ranking | 0 | Pos <20, 100+ impressions/mo |
| ATO benchmarks | Not ranking | 0 | Pos <10, 100+ impressions/mo |
LLM visibility — automated (Claude and Gemini, 10 June)
ChatGPT skipped (no API key). "Error" = transient Gemini 503. Zero non-branded cluster visibility. Gemini finds the brand name but hallucinated the description ("insurance solutions", "booking platform") — entity language work is the immediate priority.
| Cluster | Query | Claude | Gemini | ChatGPT |
|---|---|---|---|---|
| Cafe startup planning | best cafe business planning tool Australia | No | No | Skipped |
| Cafe startup planning | how to plan opening a cafe in Australia | No | Error | Skipped |
| Cafe startup planning | cafe pre-opening checklist Australia | No | No | Skipped |
| Financial modelling | cafe financial modelling software Australia | No | No | Skipped |
| Financial modelling | how to do cash flow projections for a cafe | No | No | Skipped |
| Financial modelling | cafe startup costs calculator Australia | No | No | Skipped |
| Test kitchen library | cafe recipe library Australia | No | Error | Skipped |
| Test kitchen library | pre-costed cafe recipes Australia | No | No | Skipped |
| Recipe costing tools | how to cost a cafe menu Australia | No | No | Skipped |
| Recipe costing tools | cafe food cost calculator | No | Error | Skipped |
| Square menu export | how to export menu to Square POS | No | Error | Skipped |
| Square menu export | Square POS cafe planning software | No | No | Skipped |
| ATO benchmarks | ato cafe benchmarks labour COGS | No | Error | Skipped |
| Branded | what is HospoSure | Yes | Yes (wrong description) | Skipped |
| Branded | HospoSure review | Yes | Yes (wrong description) | Skipped |
LLM visibility — manual checks outstanding
| Tool | Status | Notes |
|---|---|---|
| ChatGPT | Not checked — no API key | Add OPENAI_API_KEY to .env and rerun script |
| Perplexity | Not checked | Manual check at perplexity.ai — note sources cited |
| Google AIO | Not checked | Manual check from Australian IP or VPN |
| Grok | Not checked | Manual check at x.com |
Facebook page posting is not included. Page reach has declined sharply; effort is better spent in Groups where the audience is active and engaged. A Facebook page should exist for completeness and Meta Ads infrastructure but is not a posting channel.
Setup checklist