Migrates all WordPress content to Payload CMS blocks: 10 pages, 3 testimonials, navigation, contact form, social links, site settings, and 1 blog post. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
15 KiB
complexcaresolutions.de → Payload CMS Migration Analysis
Source: WordPress (Divi Builder) on Hetzner 1 Target: Payload CMS Tenant ID 10 Date: 2026-02-28
1. Site Overview
| Property | Value |
|---|---|
| Domain | complexcaresolutions.de |
| WordPress URL | https://www.complexcaresolutions.de |
| Theme | Divi + Divi-c2s-child |
| Brand Colors | Navy #004166, Gold #B3AF09 |
| Phone | 0800 80 44 100 |
| Fax | 0800 80 44 190 |
| kontakt@complexcaresolutions.de | |
| Company | complex care solutions GmbH |
| Address | Hans-Böckler-Str. 19, 46236 Bottrop |
| Geschäftsführer | Martin Porwoll |
| HRB | 15753 (AG Gelsenkirchen) |
| USt-IdNr | DE334815479 |
| Social Media | LinkedIn, Facebook, Instagram, Twitter, YouTube |
| Datenschutz | alfright.eu (key: f60250224d4a459a90dbeeb289cd47f9, tenant: alfright_schutzteam) |
| Media Files | 55 images/uploads |
| Status | WordPress returning HTTP 500 (broken) |
2. Navigation Structure
Hauptmenü (7 items)
| Order | Label | Slug | Parent |
|---|---|---|---|
| 1 | Patienten | patienten | — |
| 2 | Zweitmeinung | zweitmeinung | Patienten (submenu) |
| 3 | Ärzte | aerzte | — |
| 4 | Versicherungen | versicherungen | — |
| 5 | Über uns | ueber-uns | — |
| 6 | Motivation | motivation | — |
| 7 | Kontakt | kontakt | — |
Footer Menu (2 items)
| Order | Label | Slug |
|---|---|---|
| 1 | Datenschutz | datenschutzerklaerung |
| 2 | Impressum | impressum |
3. Page Inventory & Content Mapping
Pages TO MIGRATE (10 substantial pages)
3.1 Startseite (ID: 11, slug: startseite)
Content Structure:
- Hero — "Willkommen bei complex care solutions" + subline about healthcare company
- Image-Text pairs — Schilddrüsen-Zweitmeinung + Gallenblasen-Zweitmeinung CTAs
- Card Grid — "Die besten Lösungen" (3 cards: Expertenmeinungen, Spezialisierte Unterstützung, Smarte Technologie)
- Text Section — "Wir schaffen Mehrwert" (3 paragraphs about quality, cost control, quality assurance)
- Quote/Text — "Unser Versprechen" (company values statement)
- Contact Footer — Phone, email, social media, contact form
Payload Blocks:
hero-block(headline, subline, CTA)image-text-block× 2 (Schilddrüsen + Gallenblasen sections)card-grid-block(3 cards: "Die besten Lösungen")text-block("Wir schaffen Mehrwert")quote-block("Unser Versprechen")contact-form-block
3.2 Patienten (ID: 987511082, slug: patienten)
Content Structure:
- Hero — "Die beste Versorgung für unsere Patienten"
- Text — "Umfassende medizinische Lösungen" (overview)
- Card Grid — 3 service cards (Zweitmeinung, Intensivpflegeberatung, Medikationsanalyse) with descriptions
- Contact Footer
Payload Blocks:
hero-blocktext-block(intro)card-grid-block(3 service cards linking to subpages)contact-form-block
3.3 Zweitmeinung (ID: 32, slug: zweitmeinung, LARGEST PAGE 48KB)
Content Structure:
- Hero — "Zweitmeinung rettet Leben" + CTA
- Section: Kardiologie — Headline + description + image + 2 blurbs (Qualifizierte Kardiologen, Schnelle Zweitmeinungen)
- Section: Onkologie — Headline + description + image + 2 blurbs
- Section: Chirurgie — Headline + description + image
- Section: Intensivmedizin — Headline + description + image + 2 blurbs
- Section: Vorteile — "Eine zweite Meinung für Ihre Gesundheit" + 3 benefit blurbs
- CTA — "Holen Sie sich eine Zweitmeinung"
- Testimonials — 3 patient testimonials (Basalzellkarzinom, Radiologie, Herzstolpern)
- Contact Footer + integrated Divi contact form
Payload Blocks:
hero-blockimage-text-block× 4 (Kardiologie, Onkologie, Chirurgie, Intensivmedizin) — each with sub-featurescard-grid-block(3 benefit cards)cta-blocktestimonials-block(3 testimonials)contact-form-block
Testimonials to seed (Collection):
- "Nach einer Gewebeprobe wurde ein Basalzellkarzinom diagnostiziert..." — anonymous patient
- "Die radiologische Zweitmeinung, die ich erhielt, war ein echter Lebensretter!..." — anonymous patient
- "Seit einiger Zeit bemerkte ich ein Herzstolpern in meiner Brust..." — anonymous patient
3.4 Ärzte (ID: 20, slug: aerzte)
Content Structure:
- Hero — "Kompetente Unterstützung für Sie und Ihre Patienten" (subtitle: "Für Ärzte")
- Text — "Die beste Unterstützung für Ihre Patienten" (intro question)
- Card Grid — 6 feature cards (Qualitätsdiagnose, Lokale Kapazitäten, Leitlinien, Expertennetzwerk, Über-/Fehlversorgung minimieren, Schnelle Prozesse + Transparenz, Beitrag zum Patientenwohl)
- CTA — "Werden Sie Teil unseres Expertennetzwerks!"
- Contact Footer
Payload Blocks:
hero-block(with "Für Ärzte" subtitle)text-block(intro)card-grid-block(features)cta-blockcontact-form-block
3.5 Versicherungen (ID: 22, slug: versicherungen)
Content Structure:
- Hero — "Für höchste Versorgungsqualität, intelligent und wirtschaftlich" (subtitle: "Für Krankenkassen")
- Text — "Hochwertige Lösungen für Ihre Versicherten"
- Card Grid — 3 service areas (Datenbasierte Forschung + §25b SGB V, Innovationen §68 SGB V, Strategie)
- Card Grid — "Ihre Vorteile" (3 benefit cards: Kostenersparnis, Bessere Versorgung, Wettbewerbsvorteil)
- Image-Text: Data Science — "Data Science und KI intelligent nutzen" + 3 blurbs
- Image-Text: Expertise — "Spezialisierte Expertise" + description
- Image-Text: Strategie — "Strategie- und Organisationsentwicklung" + 2 blurbs
- Contact Footer
Payload Blocks:
hero-blocktext-block(intro)card-grid-block(service areas)card-grid-block(Vorteile)image-text-block(Data Science)image-text-block(Expertise)image-text-block(Strategie)contact-form-block
3.6 Über uns (ID: 28, slug: ueber-uns)
Content Structure:
- Hero — "Gesundheit in den besten Händen" + company description
- Text — "Die Geschichte hinter der Gründung" (Martin Porwoll / Whistleblower story)
- Card Grid — "Woran wir glauben" + 3 paragraphs about values
- Text — "Was wir mitbringen" + 3 competency items (Expertise, Netzwerk, Ethische Grundhaltung)
- Timeline — Company history timeline (Divi custom CSS timeline)
- Contact Footer
Payload Blocks:
hero-blocktext-block(Gründung)text-block(Woran wir glauben)card-grid-block(Was wir mitbringen - 3 competency cards)timeline-block(company history) — NOTE: Timeline had extensive custom CSS in WordPress; may simplify to text or card layoutcontact-form-block
3.7 Motivation (ID: 30, slug: motivation)
Content Structure:
- Hero — "Patientenwohl im Mittelpunkt" (subtitle: "Unsere Motivation")
- Text — "Unser Fokus" + 3 paragraphs (patientenzentriert, Transparenz, Expertennetzwerk)
- Text — "Motivation und Geschichte" (Martin Porwoll / Zytoskandal founding story)
- Quote — Martin Porwoll quote about Zytoskandal and his mission
- Text — "Der Zytoskandal Bottrop" (detailed scandal description)
- Text — "Martin Porwolls Weg zum Streiter für das Patientenwohl"
- Contact Footer
Payload Blocks:
hero-blockcard-grid-block(3 focus areas)text-block(Motivation und Geschichte)quote-block(Martin Porwoll quote)text-block(Zytoskandal)text-block(Porwolls Weg)contact-form-block
3.8 Kontakt (ID: 26, slug: kontakt)
Content Structure:
- Contact Section — Phone, email, social media + Divi contact form (Name, Email, Betreff, Nachricht)
Payload Blocks:
contact-form-block(linked to form)
Note: The WordPress Kontakt page is essentially just the contact footer section that appears on every page. The form has 4 fields: Name, Email, Betreff (Subject), Nachricht (Message).
3.9 Impressum (ID: 14, slug: impressum)
Content Structure:
- Hero — "Impressum"
- Text — Full legal text (company info, Handelsregister, Kontakt, USt-ID, EU-Streitschlichtung, Verbraucherschlichtung)
- Contact Footer
Payload Blocks:
hero-blocktext-block(legal text, width: narrow)contact-form-block
3.10 Datenschutzerklärung (ID: 16, slug: datenschutzerklaerung)
Content Structure:
- alfright.eu widget — Privacy policy generated dynamically
- Contact Footer
Payload Blocks:
hero-block(headline: "Datenschutzerklärung")html-embed-block(alfright.eu<div>widget with keyf60250224d4a459a90dbeeb289cd47f9)contact-form-block
alfright embed code:
<div data-alfidcl-type="dps" data-alfidcl-tenant="alfright_schutzteam" data-alfidcl-lang="de-de" data-alfidcl-key="f60250224d4a459a90dbeeb289cd47f9"></div>
<script src="https://app.alfright.eu/js/alcl/alcl.js" async></script>
Note: c2s uses the alfright.eu <div> widget (not iframe like zweitmeinu.ng). This requires both the div AND the script tag to be embedded.
Pages TO SKIP (4 placeholder/empty pages)
| Page | Reason |
|---|---|
| Blog (ID: 24) | Empty — only 29 chars of content (empty Divi placeholder) |
| Medikationsanalyse (ID: 34) | Only contains contact footer section, no real content |
| Intensivpflegeberatung (ID: 38) | Only contains contact footer section, no real content |
| Klinik (ID: 987510888) | Lorem ipsum placeholder content |
Blog Post TO MIGRATE (1)
"Geheimnis der guten Fürsorge" (ID: 987511216)
Slug: geheimnis-der-guten-fuersorge-warum-uebertherapie-ein-gesellschaftliches-problem-ist
Content: Long-form article (~7800 chars) about Übertherapie (over-treatment) in healthcare
Structure: Pure text (Gutenberg paragraphs), no Divi shortcodes
Category: Blog/News
Payload Collection: posts (with tenant_id = 10)
Content: Rich text (Lexical paragraphs)
4. Collections to Seed
4.1 Site Settings (1 record)
site_name: "complex care solutions GmbH"
site_url: "https://complexcaresolutions.de"
company_name: "complex care solutions GmbH"
address: "Hans-Böckler-Str. 19"
zip: "46236"
city: "Bottrop"
phone: "0800 80 44 100"
fax: "0800 80 44 190"
email: "kontakt@complexcaresolutions.de"
4.2 Social Links (2 confirmed + 3 placeholder)
| Platform | URL | Status |
|---|---|---|
| https://de.linkedin.com/company/complex-care-solutions-gmbh | Confirmed | |
| https://www.facebook.com/complex-care-solutions-GmbH | Confirmed | |
| — | Listed in nav but no URL set in WordPress | |
| Twitter/X | — | Listed in nav but no URL set in WordPress |
| YouTube | — | Listed in nav but no URL set in WordPress |
Seed only LinkedIn + Facebook (the others have no URLs configured).
4.3 Navigation (1 record)
mainMenu:
- Patienten →
/patienten- Zweitmeinung →
/zweitmeinung(submenu)
- Zweitmeinung →
- Ärzte →
/aerzte - Versicherungen →
/versicherungen - Über uns →
/ueber-uns - Motivation →
/motivation - Kontakt →
/kontakt
footerMenu:
- Datenschutz →
/datenschutzerklaerung - Impressum →
/impressum
4.4 Contact Form (1 form, 4 fields)
| Field | Type | Required |
|---|---|---|
| Name | text | yes |
| yes | ||
| Betreff | text | yes |
| Nachricht | textarea | yes |
Email notification → kontakt@complexcaresolutions.de
4.5 Testimonials (3 records)
- Basalzellkarzinom patient — quote about finding right therapy
- Radiology second opinion patient — "Lebensretter" quote
- Heart patient — Herzstolpern/stress diagnosis
4.6 Pages (10 pages)
See Section 3 for full content mapping.
4.7 Posts (1 blog post)
"Geheimnis der guten Fürsorge – warum Übertherapie ein gesellschaftliches Problem ist"
5. Media Files to Migrate
55 total WordPress media files. Key images:
| Image | Used On |
|---|---|
| c2s_master_logo_400x130.png | Site logo |
| Favicon-c2s.png | Favicon |
| c2s_startseite.jpg | Homepage hero |
| c2s_startseite_2.jpg | Homepage section |
| c2s_startseite_loesungen.jpg | Homepage solutions |
| c2s_startseite_versprechen.jpg | Homepage promise |
| zweitmeinung.jpg | Zweitmeinung hero |
| zweitmeinung_desktop.jpg | Zweitmeinung wide |
| zweitmeinung_herz.jpg | Kardiologie section |
| zweitmeinung_onkologie.jpg | Onkologie section |
| zweitmeinung_chirurgie.jpg | Chirurgie section |
| zweitmeinung_intensiv.jpg | Intensivmedizin section |
| patienten.jpg | Patienten hero |
| aerzte.jpg | Ärzte hero |
| krankenversicherung.jpg | Versicherungen hero |
| medikationsanalyse.jpg | Medikationsanalyse hero |
| tbvs-image-person-1024x1024-1.png | Martin Porwoll portrait |
| tbvs-image-2560x1440-1.png | Hero background |
| post-4.jpg | Blog post image |
| Various AdobeStock_*.jpg | Section backgrounds |
Strategy: Upload to Payload media collection with tenant_id: 10. Download from WordPress wp-content/uploads/ on Hetzner 1.
6. Key Differences from zweitmeinu.ng
| Aspect | zweitmeinu.ng (Tenant 12) | complexcaresolutions.de (Tenant 10) |
|---|---|---|
| Pages | 9 seeded | 10 needed |
| Services | 6 (dedicated collection) | Embedded in page content (no service collection needed) |
| FAQs | 24 items | None |
| Blog Posts | 0 | 1 |
| Testimonials | 0 | 3 |
| Contact Form | 4 fields | 4 fields (same: Name, Email, Betreff, Nachricht) |
| Datenschutz | iframe (alfright.eu) | div widget (alfright.eu, different key) |
| Target Audience Pages | None | 3 (Patienten, Ärzte, Versicherungen) |
| Content Volume | Medium | Large (Zweitmeinung page alone is 48KB) |
7. Implementation Plan
Phase 1: Seed Script (scripts/seed-c2s.ts)
- Create site settings for tenant 10
- Create 5 social links
- Create navigation (mainMenu with Patienten submenu + footerMenu)
- Create contact form (4 fields)
- Create 3 testimonials
- Create 10 pages with block-based layout
- Create 1 blog post
Phase 2: Media Migration
- Download all 55 media files from WordPress on Hetzner 1
- Upload to Payload via Local API
- Link media IDs to pages/blocks (hero images, image-text sections)
Phase 3: Frontend (complexcaresolutions.de)
- Either create dedicated Next.js frontend OR
- Reuse existing frontend framework (like zweitmeinu.ng's BlockRenderer pattern)
- Same design system: Navy #004166, Gold #B3AF09
Phase 4: DNS/Hosting Cutover
- Replace WordPress on Hetzner 1 with Next.js frontend
- Point domain to new frontend
- Verify all pages, SEO, redirects
8. Existing Payload Data (Tenant 10)
| Collection | Count |
|---|---|
| Pages | 0 |
| Site Settings | 0 |
| Navigations | 0 |
| Services | 0 |
| Forms | 0 |
| Posts | 0 |
| FAQs | 0 |
| Social Links | 0 |
| Testimonials | 0 |
Tenant 10 is completely empty — clean slate for seeding.