Skip to content
Now accepting Q2 projects — limited slots available. Get started →
Migration Service

Contao to Astro Migration | Social Animal

Your Contao Site Runs On A Stack Nobody Outside Germany Can Fix

  • Contao locks you into a German-language ecosystem where hiring internationally becomes impossible and documentation requires translation layers
  • PHP rendering queries your database on every single page load, creating performance walls that no caching layer fully eliminates
  • No headless mode exists — your frontend stays permanently welded to Contao's Symfony templating with no escape hatch to modern architecture
  • The extension marketplace stays DACH-focused and tiny, leaving you stranded when you need maintained plugins for headless commerce or multi-region i18n
  • Symfony templating offers zero path to component islands, partial hydration, or selective JavaScript — your interactivity ships monolithically or not at all
  • Every feature addition requires navigating a small, regionally-concentrated community where English support threads are sparse and outdated
  • Ship pre-rendered static HTML from CDN edges and watch mobile Lighthouse scores leap from 45–65 into the 95–100 range without caching tricks
  • Turn on built-in i18n routing with proper hreflang and expand into new countries through config changes instead of CMS rebuilds
  • Eliminate PHP servers and MySQL databases entirely — your hosting bill drops from $30–150/month to $0–20 on Vercel or Netlify
  • Astro islands hydrate only visible, interactive components and ship zero default JavaScript — your TTI collapses and your bounce rate follows
  • Plug in any headless CMS you want or write in markdown — your content never gets locked behind a single platform's API again
  • Hire from the global Next.js and React talent pool instead of hunting for bilingual Symfony developers in a shrinking niche

Why Teams Outgrow Contao

Contao is a solid open-source CMS. It earned its reputation in the DACH region (Germany, Austria, Switzerland) by being clean, well-structured, and genuinely pleasant to administrate. For small-to-mid business sites in German-speaking markets, it's been a reliable workhorse.

But reliability and growth potential aren't the same thing. If you're reading this, you've probably hit at least one of these walls:

  • The ecosystem stops at the border. Contao's community, documentation, and extension marketplace are overwhelmingly German-language. The moment you need to build for international audiences or hire developers outside the DACH region, the talent pool shrinks to almost nothing.
  • PHP monolith architecture. Contao runs on Symfony under the hood — server-rendered pages, a traditional LAMP/LEMP stack, and all the scaling headaches that come with it. Every page request hits your database.
  • Template limitations. Contao's templating system works fine for standard layouts, but the moment you need dynamic islands, partial hydration, or modern component architecture, you're fighting the framework instead of building with it.
  • Performance ceilings. Server-rendered PHP pages with database queries on every request will never match the speed of pre-rendered static HTML. Your Lighthouse scores reflect this.
  • No headless story. Contao has no native headless mode. There's no first-party API layer that lets you decouple your frontend from your backend. You're locked into Contao's rendering pipeline.

None of this makes Contao bad. It makes it wrong for what you're trying to do next.

What Astro Gives You

Astro is a modern web framework built around one principle: ship less JavaScript. Pages are pre-rendered to static HTML at build time. Interactive components only hydrate when they need to — a pattern called islands architecture.

For teams migrating from Contao, the practical impact is immediate:

Performance That's Not Even Close

Contao pages typically score 45-65 on Lighthouse mobile. Astro sites routinely hit 95-100. This isn't marketing — it's the architectural difference between server-rendering PHP on every request versus serving pre-built HTML from a CDN edge node 50ms from your visitor.

Time to First Byte drops from 1.2-2.5 seconds to under 300 milliseconds. For users in Munich, Zürich, or anywhere else, the site feels instant.

International-Ready by Default

Astro has first-class i18n routing built in. You define your locales, and Astro generates properly structured /de/, /en/, /fr/ routes with correct hreflang tags. No plugins, no workarounds. Your Contao site that served Germany well can now serve the world.

Use Any CMS — or None

Astro's frontend-agnostic. Pair it with a headless CMS like Storyblok (also DACH-born, with excellent multilingual support), Sanity, Contentful, or even markdown files. Your content team keeps a familiar editing experience. Your developers get a modern stack.

Component Freedom

Astro components use a clean .astro syntax, but you can also drop in React, Vue, Svelte, or Solid components wherever you need interactivity. Contao's PHP templates become clean, typed, composable components.

Our Migration Process

Contao stores content in a MySQL/MariaDB database with its own schema. There's no export button that gives you clean, portable content. We've built custom extraction scripts that handle this.

Step 1: Content Audit and Extraction

We connect directly to your Contao database and export everything — articles, pages, news items, events, file references, metadata — into structured JSON or Markdown. Our scripts handle Contao's tl_content, tl_article, and tl_page tables, preserving parent-child relationships and content element ordering.

We map every URL in your current sitemap and flag content that's outdated, duplicate, or missing.

Step 2: Information Architecture

Your Contao site's page tree becomes an Astro route structure. We redesign the information architecture where needed, especially if you're adding language versions. Navigation, breadcrumbs, and internal linking get planned before a single component is built.

Step 3: Template-to-Component Rebuild

Every Contao template and content element gets rebuilt as an Astro component. Contao's ce_text, ce_image, ce_gallery, and custom elements each become typed, reusable components with proper props. No PHP, no Twig, no Symfony — just clean HTML, scoped CSS, and minimal JavaScript where needed.

Step 4: CMS Integration

If your editors need a visual CMS, we integrate one. Storyblok is our default recommendation for DACH-market teams — it's Berlin-based, has strong multilingual content modeling, and provides a visual editor that's genuinely better than Contao's backend. We also work with Sanity, Contentful, and Decap CMS depending on your needs.

Step 5: Deployment and CDN

Astro sites deploy to Vercel, Netlify, or Cloudflare Pages. Static assets are served from global CDN edge nodes. No PHP server to maintain, no MySQL to patch, no hosting provider to negotiate with. Your DevOps burden drops to near zero.

SEO Preservation Strategy

Migrating a Contao site without losing rankings requires surgical precision:

  • Full URL mapping. Every Contao URL is mapped to its Astro equivalent. We generate a complete redirect map before launch.
  • 301 redirects at the edge. Redirects are configured at the CDN/hosting level for instant resolution — no application-layer processing.
  • Metadata migration. Page titles, meta descriptions, Open Graph tags, and structured data from Contao are preserved or improved.
  • hreflang implementation. If you're adding languages, we implement proper hreflang tags and submit updated sitemaps to Google Search Console.
  • Canonical URLs. Every page gets a canonical tag. No duplicate content issues.
  • Performance boost = ranking boost. Core Web Vitals are a ranking factor. Moving from Contao's server-rendered pages to Astro's edge-delivered static HTML improves LCP, FID, and CLS scores — which Google rewards.

We monitor Search Console and analytics for 90 days post-launch to catch and resolve any indexing issues.

Timeline and Pricing

A typical Contao-to-Astro migration for a 20-50 page business site takes 6-10 weeks:

  • Weeks 1-2: Content extraction, audit, and architecture planning
  • Weeks 3-6: Component development, CMS integration, and content migration
  • Weeks 7-8: QA, performance optimization, and redirect testing
  • Weeks 9-10: Staged rollout, monitoring, and post-launch support

Pricing starts at $8,000 for straightforward brochure sites and scales with complexity, number of languages, and custom functionality. We scope every project with a fixed quote after the initial audit — no surprises.

If you're also running TYPO3 properties, we bundle migrations for the DACH market at reduced rates. Same extraction methodology, same Astro expertise, consolidated timeline.

Ready to Move Beyond Contao?

Your Contao site served you well in the German market. Astro lets you keep that foundation while building something faster, more flexible, and ready for international growth.

Learn more about our Astro development capabilities or request a free migration audit below.

How It Works

The migration process

01

Discovery & Audit

We map every page, post, media file, redirect, and plugin. Nothing gets missed.

02

Architecture Plan

New stack designed for your content structure, SEO requirements, and performance targets.

03

Staged Migration

Content migrated in batches. Each batch verified before the next begins.

04

SEO Preservation

301 redirects, canonical tags, sitemap, robots.txt — every ranking signal carried over.

05

Launch & Monitor

DNS cutover with zero downtime. 30-day monitoring period included.

Before vs After

Contao vs Astro

Metric Contao Astro
Lighthouse Mobile 45-65 95-100
TTFB 1.2-2.5s <0.3s
Build Time N/A (server-rendered) <30s for 50 pages
Hosting Cost $30-150/mo $0-20/mo
Developer Experience PHP/Symfony templates Modern component architecture (TS/JSX)
API/Headless None Full (any headless CMS)
FAQ

Common questions

Can you extract all my content from Contao's database?

Yes. We connect directly to Contao's MySQL database and extract content from its core tables — `tl_page`, `tl_article`, `tl_content`, `tl_news`, and any custom tables your setup uses. Our scripts preserve content element ordering, parent-child relationships, file references, and metadata. Everything comes out as structured JSON or Markdown, ready for Astro or whatever headless CMS you're moving to.

Will my Google rankings drop during the migration?

We build a full 301 redirect map, preserve all metadata, and maintain URL structure wherever possible. Then there's the Core Web Vitals side — Astro's static output genuinely moves the needle on LCP and CLS, and Google notices. Most clients see rankings stabilize within 2-4 weeks and start climbing within 90 days. We're watching Search Console the whole time.

Do my editors need to learn to code after moving to Astro?

No. We pair Astro with a headless CMS — Storyblok, Sanity, or Contentful — that gives your editors a proper visual interface. Honestly, it's usually a cleaner experience than Contao's backend. Your content team creates and edits in the CMS, and Astro rebuilds the pages automatically on publish. They don't touch a config file.

How does pricing compare to maintaining our Contao hosting?

Contao requires PHP hosting with MySQL, which typically runs $30-150/month for managed environments, plus whatever time you spend on server maintenance. Astro sites deploy to Cloudflare Pages or Vercel, where most business sites fit comfortably within free or $20/month tiers. Server patching, PHP version upgrades, database maintenance — that whole category of work just disappears.

Can you migrate our Contao site and our TYPO3 site together?

Absolutely. We bundle Contao and TYPO3 migrations for DACH-market clients. Both run on PHP/MySQL stacks, and our extraction scripts handle either database. Bundling consolidates the discovery phase, shrinks the total timeline, and costs less than running two separate projects.

What if we need server-side functionality like forms or authentication?

Astro supports server-side rendering (SSR) and API routes for anything that needs to be dynamic. Contact forms, authentication, search, and e-commerce integrations run through Astro's server endpoints or third-party services. Content pages stay static and fast. Dynamic functionality lands exactly where you need it.

Ready to migrate?

Free assessment. We'll audit your current site and give you a clear migration plan — no commitment.

Get your free assessment →
Get in touch

Let's build
something together.

Whether it's a migration, a new build, or an SEO challenge — the Social Animal team would love to hear from you.

Get in touch →