# 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 | | Email | 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:** 1. **Hero** — "Willkommen bei complex care solutions" + subline about healthcare company 2. **Image-Text pairs** — Schilddrüsen-Zweitmeinung + Gallenblasen-Zweitmeinung CTAs 3. **Card Grid** — "Die besten Lösungen" (3 cards: Expertenmeinungen, Spezialisierte Unterstützung, Smarte Technologie) 4. **Text Section** — "Wir schaffen Mehrwert" (3 paragraphs about quality, cost control, quality assurance) 5. **Quote/Text** — "Unser Versprechen" (company values statement) 6. **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:** 1. **Hero** — "Die beste Versorgung für unsere Patienten" 2. **Text** — "Umfassende medizinische Lösungen" (overview) 3. **Card Grid** — 3 service cards (Zweitmeinung, Intensivpflegeberatung, Medikationsanalyse) with descriptions 4. **Contact Footer** **Payload Blocks:** - `hero-block` - `text-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:** 1. **Hero** — "Zweitmeinung rettet Leben" + CTA 2. **Section: Kardiologie** — Headline + description + image + 2 blurbs (Qualifizierte Kardiologen, Schnelle Zweitmeinungen) 3. **Section: Onkologie** — Headline + description + image + 2 blurbs 4. **Section: Chirurgie** — Headline + description + image 5. **Section: Intensivmedizin** — Headline + description + image + 2 blurbs 6. **Section: Vorteile** — "Eine zweite Meinung für Ihre Gesundheit" + 3 benefit blurbs 7. **CTA** — "Holen Sie sich eine Zweitmeinung" 8. **Testimonials** — 3 patient testimonials (Basalzellkarzinom, Radiologie, Herzstolpern) 9. **Contact Footer** + integrated Divi contact form **Payload Blocks:** - `hero-block` - `image-text-block` × 4 (Kardiologie, Onkologie, Chirurgie, Intensivmedizin) — each with sub-features - `card-grid-block` (3 benefit cards) - `cta-block` - `testimonials-block` (3 testimonials) - `contact-form-block` **Testimonials to seed (Collection):** 1. "Nach einer Gewebeprobe wurde ein Basalzellkarzinom diagnostiziert..." — anonymous patient 2. "Die radiologische Zweitmeinung, die ich erhielt, war ein echter Lebensretter!..." — anonymous patient 3. "Seit einiger Zeit bemerkte ich ein Herzstolpern in meiner Brust..." — anonymous patient --- #### 3.4 Ärzte (ID: 20, slug: `aerzte`) **Content Structure:** 1. **Hero** — "Kompetente Unterstützung für Sie und Ihre Patienten" (subtitle: "Für Ärzte") 2. **Text** — "Die beste Unterstützung für Ihre Patienten" (intro question) 3. **Card Grid** — 6 feature cards (Qualitätsdiagnose, Lokale Kapazitäten, Leitlinien, Expertennetzwerk, Über-/Fehlversorgung minimieren, Schnelle Prozesse + Transparenz, Beitrag zum Patientenwohl) 4. **CTA** — "Werden Sie Teil unseres Expertennetzwerks!" 5. **Contact Footer** **Payload Blocks:** - `hero-block` (with "Für Ärzte" subtitle) - `text-block` (intro) - `card-grid-block` (features) - `cta-block` - `contact-form-block` --- #### 3.5 Versicherungen (ID: 22, slug: `versicherungen`) **Content Structure:** 1. **Hero** — "Für höchste Versorgungsqualität, intelligent und wirtschaftlich" (subtitle: "Für Krankenkassen") 2. **Text** — "Hochwertige Lösungen für Ihre Versicherten" 3. **Card Grid** — 3 service areas (Datenbasierte Forschung + §25b SGB V, Innovationen §68 SGB V, Strategie) 4. **Card Grid** — "Ihre Vorteile" (3 benefit cards: Kostenersparnis, Bessere Versorgung, Wettbewerbsvorteil) 5. **Image-Text: Data Science** — "Data Science und KI intelligent nutzen" + 3 blurbs 6. **Image-Text: Expertise** — "Spezialisierte Expertise" + description 7. **Image-Text: Strategie** — "Strategie- und Organisationsentwicklung" + 2 blurbs 8. **Contact Footer** **Payload Blocks:** - `hero-block` - `text-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:** 1. **Hero** — "Gesundheit in den besten Händen" + company description 2. **Text** — "Die Geschichte hinter der Gründung" (Martin Porwoll / Whistleblower story) 3. **Card Grid** — "Woran wir glauben" + 3 paragraphs about values 4. **Text** — "Was wir mitbringen" + 3 competency items (Expertise, Netzwerk, Ethische Grundhaltung) 5. **Timeline** — Company history timeline (Divi custom CSS timeline) 6. **Contact Footer** **Payload Blocks:** - `hero-block` - `text-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 layout - `contact-form-block` --- #### 3.7 Motivation (ID: 30, slug: `motivation`) **Content Structure:** 1. **Hero** — "Patientenwohl im Mittelpunkt" (subtitle: "Unsere Motivation") 2. **Text** — "Unser Fokus" + 3 paragraphs (patientenzentriert, Transparenz, Expertennetzwerk) 3. **Text** — "Motivation und Geschichte" (Martin Porwoll / Zytoskandal founding story) 4. **Quote** — Martin Porwoll quote about Zytoskandal and his mission 5. **Text** — "Der Zytoskandal Bottrop" (detailed scandal description) 6. **Text** — "Martin Porwolls Weg zum Streiter für das Patientenwohl" 7. **Contact Footer** **Payload Blocks:** - `hero-block` - `card-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:** 1. **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:** 1. **Hero** — "Impressum" 2. **Text** — Full legal text (company info, Handelsregister, Kontakt, USt-ID, EU-Streitschlichtung, Verbraucherschlichtung) 3. **Contact Footer** **Payload Blocks:** - `hero-block` - `text-block` (legal text, width: narrow) - `contact-form-block` --- #### 3.10 Datenschutzerklärung (ID: 16, slug: `datenschutzerklaerung`) **Content Structure:** 1. **alfright.eu widget** — Privacy policy generated dynamically 2. **Contact Footer** **Payload Blocks:** - `hero-block` (headline: "Datenschutzerklärung") - `html-embed-block` (alfright.eu `
` widget with key `f60250224d4a459a90dbeeb289cd47f9`) - `contact-form-block` **alfright embed code:** ```html
``` **Note:** c2s uses the alfright.eu `
` 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 | |----------|-----|--------| | LinkedIn | https://de.linkedin.com/company/complex-care-solutions-gmbh | Confirmed | | Facebook | https://www.facebook.com/complex-care-solutions-GmbH | Confirmed | | Instagram | — | 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:** 1. Patienten → `/patienten` - Zweitmeinung → `/zweitmeinung` (submenu) 2. Ärzte → `/aerzte` 3. Versicherungen → `/versicherungen` 4. Über uns → `/ueber-uns` 5. Motivation → `/motivation` 6. Kontakt → `/kontakt` **footerMenu:** 1. Datenschutz → `/datenschutzerklaerung` 2. Impressum → `/impressum` ### 4.4 Contact Form (1 form, 4 fields) | Field | Type | Required | |-------|------|----------| | Name | text | yes | | Email | email | yes | | Betreff | text | yes | | Nachricht | textarea | yes | Email notification → `kontakt@complexcaresolutions.de` ### 4.5 Testimonials (3 records) 1. Basalzellkarzinom patient — quote about finding right therapy 2. Radiology second opinion patient — "Lebensretter" quote 3. 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`) 1. Create site settings for tenant 10 2. Create 5 social links 3. Create navigation (mainMenu with Patienten submenu + footerMenu) 4. Create contact form (4 fields) 5. Create 3 testimonials 6. Create 10 pages with block-based layout 7. Create 1 blog post ### Phase 2: Media Migration 1. Download all 55 media files from WordPress on Hetzner 1 2. Upload to Payload via Local API 3. 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.**