Contao to Astro Migration | Social Animal
Your Contao Site Runs On A Stack Nobody Outside Germany Can Fix
Why leave Contao?
- 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
What you gain
- 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.
hreflangimplementation. If you're adding languages, we implement properhreflangtags 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.
The migration process
Discovery & Audit
We map every page, post, media file, redirect, and plugin. Nothing gets missed.
Architecture Plan
New stack designed for your content structure, SEO requirements, and performance targets.
Staged Migration
Content migrated in batches. Each batch verified before the next begins.
SEO Preservation
301 redirects, canonical tags, sitemap, robots.txt — every ranking signal carried over.
Launch & Monitor
DNS cutover with zero downtime. 30-day monitoring period included.
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) |
Common questions
Contaoデータベースからすべてのコンテンツを抽出できますか?
はい。Contaoの MySQL データベースに直接接続して、コアテーブル `tl_page`、`tl_article`、`tl_content`、`tl_news`、および環境で使用されているカスタムテーブルからコンテンツを抽出します。スクリプトは、コンテンツ要素の順序、親子関係、ファイル参照、メタデータを保持します。すべて構造化された JSON またはMarkdownで出力されます。
マイグレーション中、Google のランキングが低下しますか?
完全な 301 リダイレクトマップを構築し、すべてのメタデータを保持し、可能な限りURL構造を維持します。さらに、Core Web Vitals の観点から — Astro の静的出力は LCP と CLS に真の影響を与え、Google はそれに注目します。ほとんどのクライアントは 2 〜 4 週間以内にランキングが安定し、90 日以内に上昇を始めます。
Astro に移行した後、エディターがコードを学ぶ必要がありますか?
いいえ。AstroとHeadless CMS(Storyblok、Sanity、Contentful など)を組み合わせます。これにより、エディターは適切なビジュアルインターフェイスを取得します。正直に言うと、Contao のバックエンドよりもクリーンな体験です。コンテンツチームは CMS で作成・編集し、Astro は公開時に自動的にページを再構築します。
Contao ホスティング維持のコスト比較はどうですか?
Contao は PHP ホスティングと MySQL が必要で、通常マネージド環境では月額 $30~150 程度かかり、サーバーメンテナンスに費やす時間も増えます。Astro サイトは Cloudflare Pages または Vercel にデプロイされ、ほとんどのビジネスサイトは無料または月額 $20 以内で十分です。サーバーパッチ、PHP バージョンアップグレード、データベースメンテナンス — この全カテゴリの作業が消えてなくなります。
Contao サイトと TYPO3 サイトを一緒にマイグレーションできますか?
もちろんです。DACH 市場のクライアント向けに Contao と TYPO3 マイグレーションをバンドル提供しています。どちらも PHP/MySQL スタック上で実行され、抽出スクリプトはどちらのデータベースでも対応可能です。バンドルすることで、発見フェーズが統合され、全体のタイムラインが短縮され、別プロジェクトを実行するよりコストが削減されます。
フォームや認証などのサーバー側の機能が必要な場合はどうしますか?
Astro は、動的が必要な場合、サーバー側レンダリング(SSR)と API ルートをサポートしています。コンタクトフォーム、認証、検索、e コマース統合は Astro のサーバーエンドポイントまたはサードパーティサービスで実行されます。コンテンツページは静的で高速なまま。動的機能は必要な場所に正確に配置されます。
Ready to migrate?
Free assessment. We'll audit your current site and give you a clear migration plan — no commitment.
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.