// CASE STUDY — UPSOUL.COM.AU

We Rebuilt Our Own Website. Here's the Data.

Before we build websites for clients, we do it for ourselves. This page documents the move from a React/Vite site to Astro — what broke, what improved, and what the numbers look like now.

Last updated: 8 June 2026 · This page is updated as new data comes in.

// SPECIAL OFFER — LIMITED TIME

Free 5-page website build when you sign up to any plan.

This offer could end any day. No coupon needed — mention it on your call.

CLAIM OFFER ↗

// THE OLD SITE

The Old Site: React + Vite

The previous upsoul.com.au ran on a React + Vite stack. It looked fine on screen. Under the hood, it had a fundamental problem: it shipped almost no HTML.

THE PROBLEM FOR PERFORMANCE

React renders pages in the browser using JavaScript. Every visitor downloads the JS bundle, runs it, and then sees content. Slow on first load, especially on mobile. Google measures this — and penalises it.

THE PROBLEM FOR SEO

When a search bot crawls a React site, it hits an almost-empty HTML shell. The content it needs to index is locked inside JavaScript that most bots don't execute. The result: pages that exist but don't rank.

PAGESPEED INSIGHTS — BEFORE (React/Vite)

45

PERFORMANCE

95

ACCESSIBILITY

95

BEST PRACTICES

84

SEO

// THE DECISION

Why We Moved to Astro + Cloudflare

We didn't want a website builder. We wanted full ownership of the codebase — something we could version-control, deploy instantly, and hand to a client as proof that the stack works.

01

Astro — ships zero JavaScript by default

Every page renders to static HTML. Bots can read it. Browsers load it instantly. JavaScript is added only where it's genuinely needed.

02

Cloudflare Workers — edge-deployed globally

The site runs at the network edge, not in one data centre. Fast everywhere. Zero cold starts. Free SSL, DDoS protection, and a 99.9%+ uptime SLA built in.

03

GitHub — version-controlled, auditable

Every change is tracked. Every deployment is a commit. We can roll back anything in seconds, and every edit is documented with a reason.

04

AI-assisted development — speed without cutting corners

We used AI coding tools to build faster. Every line was reviewed by a human. The result is clean code that we understand, own, and can maintain — not a black box.

// THE NEW SITE

The New Site: Astro on Cloudflare

Launched 8 June 2026. PageSpeed scores measured on day one against the live domain.

PAGESPEED INSIGHTS — AFTER (Astro + Cloudflare)

93

PERFORMANCE

95

ACCESSIBILITY

100

BEST PRACTICES

100

SEO

SCREENSHOT — GOOGLE PAGESPEED INSIGHTS

upsoul.com.au · 8 June 2026

Google PageSpeed Insights scores for upsoul.com.au — Performance 93, Accessibility 95, Best Practices 100, SEO 100

BEFORE → AFTER COMPARISON

METRIC BEFORE AFTER CHANGE
Performance 45 93 +48
Accessibility 95 95
Best Practices 95 100 +5
SEO 84 100 +16

// TIMELINE

This Page Updates as Data Comes In

Indexing takes weeks. Rankings take months. We document each milestone honestly — the ugly baseline included. Come back here to see what's changed.

8 JUNE 2026 ● LIVE

Site launched on Astro + Cloudflare

New Astro site deployed to Cloudflare Workers. PageSpeed 93/95/100/100 measured on day one. Sitemap submitted to Google Search Console. Indexing requests sent for all 25 published pages.

SEARCH PERFORMANCE — 7 MAR TO 8 JUN 2026

20 TOTAL CLICKS

Three months of search data from the old React/Vite site. No keyword research, no SEO strategy, no structured content. This is the floor we're building from.

Google Search Console — Performance 7 Mar – 8 Jun 2026
Google Search Console performance chart showing 20 total web search clicks from 7 March to 8 June 2026

INDEXING STATUS — AS OF LAUNCH

42

NOT INDEXED

10

INDEXED

42 of 52 pages on the old site were not indexed by Google — no sitemap, no indexing requests, no SEO-friendly HTML for bots to read. The new site launched with a sitemap and immediate indexing requests.

Google Search Console — Indexing 10 Mar – 29 May 2026
Google Search Console indexing chart showing 42 not indexed and 10 indexed pages

INDEXING ERRORS — MONTHS OF NOTIFICATIONS

Google Search Console had been flagging indexing issues for months on the old site. Most errors traced back to the React/Vite architecture — bots couldn't reliably parse pages that were rendered in JavaScript rather than shipped as HTML.

These notifications kept coming because the underlying problem was never fixed — it was baked into the framework choice. Switching to Astro removes the root cause entirely.

GSC — Indexing error notifications (old site)
Google Search Console indexing error notifications from the old React/Vite site

What we did on day one

  • → Submitted sitemap to Google Search Console
  • → Requested indexing for all 25 published pages
  • → Submitted sitemap to Bing Webmaster Tools
  • → robots.txt open to all crawlers including AI bots
  • → JSON-LD structured data on every page
JULY 2026 ● PENDING

First indexing update

We'll report how many pages are now indexed, whether impressions have started moving, and what the early keyword data looks like.

Q3 2026 ● PENDING

Three-month search performance

First meaningful look at clicks, impressions, and keyword rankings. This is where SEO work starts showing up in the numbers.

// WHY THIS MATTERS FOR YOU

We Do This to Our Own Site First

We're not selling a theory. Every decision on this site — the framework, the hosting, the content strategy, the indexing process — is the same one we make for clients. You're looking at the product.

Astro framework — the same stack we build every client site on. Ships clean HTML, ranks better, loads faster.

Cloudflare Workers — edge-deployed, fast everywhere in Australia, free SSL included.

GitHub version control — every change tracked, every deployment auditable. No cowboy edits.

Real keyword research + documented SEO strategy — not guessing, not generic. Every page has a target and a reason.

// PRICING

Simple, Transparent Pricing

All prices in AUD. No hidden fees. No lock-in contracts beyond 30 days notice.

STARTER

$397 /month AUD

A properly built, SEO-optimised website — then we hand it over. No ongoing content or monitoring.

  • Business interview — we understand your market, customers, and keywords before writing a word
  • SEO-optimised website — real keyword research, proper on-page structure, not just a pretty template
  • Submitted to Google Search Console so Google finds you from day one
  • CRM set up and connected to your forms and calendar
  • Automated lead capture — every enquiry flows into your CRM
  • Hosting + technical maintenance — nothing breaks
  • Up to 3 edits per month (copy, images, service updates)
  • No ongoing SEO content or ranking monitoring
BOOK A FREE CONSULTATION
RECOMMENDED

GROWTH

$1,697 /month AUD

Everything in Starter, plus active ongoing SEO — content, ranking management, and monthly reporting.

  • Everything in Starter
  • 2 SEO blog posts per month — researched, written, reviewed, published
  • Keyword strategy built around your market and customers
  • Google Search Console + GA4 managed for you
  • Monthly ranking report — you always know where you stand
  • Quarterly strategy review
BOOK A FREE CONSULTATION ↗

WEBSITE BUILD

Custom website — scoped per project, any size

CONTACT FOR QUOTE →

ADDITIONAL PAGE

Extra service or landing page for existing clients — keyword-targeted, SEO-optimised

$497 AUD

GBP SETUP + OPTIMISATION — ADD-ON

Google Business Profile claimed, fully optimised, categories set, services + photos added, Q&A seeded. One-off per location.

$500 AUD

GBP MONTHLY MANAGEMENT — ADD-ON

Weekly posts, photo uploads, review replies, Q&A management, and a monthly performance report. Per location.

$500 AUD/mo

Cancel anytime with 30 days written notice. All prices in Australian dollars, GST not included.

Not sure what you need?

Use the pricing calculator to build your estimate — website build, monthly plan, GBP add-ons, all in one total.

CALCULATE MY PRICE →

// WANT THIS FOR YOUR BUSINESS?

The Same Stack, Built for Your Business

We'll review your current site, check your local keywords, and show you what's possible — no obligation.