🔒 Intern · Nicht indexierbar
Interne Dokumentation & Styleguide
Diese Seite dokumentiert die Website-Struktur, das Design-System und die Modul-Anwendungen von umantis.com. Sie ist passwortgeschützt und via robots-Meta als noindex markiert, damit sie nicht in Suchmaschinen erscheint.
1. Website-Struktur
Die Navigation folgt dem Mega-Menu (inc/mega-menu-data.php). Jede Page hat einen eindeutigen Slug, WP-ID und gehört zu einem Bereich. Glossar-Seiten sind hier ausgeblendet (eigene CPT-ähnliche Logik).
Startseite
Produkte – Die HR-Suite
Produkte – Recruiting
Produkte – People
Produkte – Operations
Produkte – Insights
Lösungen
Unternehmen
News & Resources
Kontakt & Konversion
Rechtliches
WordPress-Einstellungen
show_on_front= pagepage_on_front= /home/ (ID 407) – rendert jedoch überfront-page.phppage_for_posts= 0 (bewusst leer – /news/ ist eine Custom-Landingpage, kein Blog-Archiv)- Site-Icon (Favicon) =
/wp-content/uploads/site-icon/umantis-site-icon.png
2. Typografie
Zwei lokal gehostete Web-Fonts (DSGVO-konform, font-display:swap).
Headline Font
Ubuntu
Weights: 400 · 500 · 700
Einsatz: H1, H2, H3, H4, Logo-nahe Elemente
CSS-Variable: --um-font-heading
Body & UI Font
Outfit
Weights: 400 · 500 · 600 · 700 · 800
Einsatz: Body-Text, Buttons, Labels, Meta
CSS-Variable: --um-font-body
Heading-Skala
H1 – Page Hero
clamp(2rem, 4vw, 3.25rem) · 700 · -0.018em · 1.12
H2 – Section Title
clamp(1.5rem, 3vw, 2.25rem) · 700 · -0.015em · 1.18
H3 – Subsection (Violett)
clamp(1.125rem, 2vw, 1.5rem) · 500 · Violett #781e5f · 1.3
H4 – Card Title
1.125rem · 500 · 1.4
Body – Fliesstext. Outfit 400, 1rem, line-height 1.65. Für langen Lesefluss optimiert, Farbe #000.
1rem · 400 · 1.65
Lead – Intro-Absatz nach H1/H2. Etwas grösser, muted-Farbe.
.lead · clamp(1.0625rem, 1.5vw, 1.25rem) · 1.6 · Grau 60
Badge / Eyebrow
0.75rem · 700 · Letter 0.06em · Uppercase · Primärrot
3. Farbsystem
1:1 aus dem Umantis CI/CD (Frontify, Stand 09.01.2024). Alle Werte sind als CSS-Variablen in :root hinterlegt – nirgends sonst hardcoded.
Primärfarben
Neutral / Schwarz-Reihe
Rot-Reihe
Blau-Reihe (dark surfaces)
Violett-Reihe
Ocker / Warn
CI-Gradient
4. Spacing, Radii & Shadows
Spacing-Skala (8px-Grid)
--um-space-xs
0.25rem · 4px
--um-space-sm
0.5rem · 8px
--um-space-md
1rem · 16px
--um-space-lg
1.5rem · 24px
--um-space-xl
2rem · 32px
--um-space-2xl
3rem · 48px
--um-space-3xl
4rem · 64px
--um-space-4xl
6rem · 96px
Zusätzlich: --um-space-section: clamp(4rem, 8vw, 7rem) für vertikalen Section-Abstand.
Container-Breiten
--um-content-max= 1200px · Standard-Section--um-content-narrow= 860px · Lesefluss (News-Artikel, Legal)--um-content-wide= 1400px · Hero / Feature-Grids--um-gutter= clamp(1rem, 3vw, 2rem) · Responsive seitlicher Abstand
Border-Radii
4px
–um-radius-sm
8px
–um-radius-md
12px
–um-radius-lg
16px
–um-radius-xl
999px
–um-radius-pill
Shadows
–um-shadow-sm
0 1px 2px rgba(0,0,0,0.05)
–um-shadow-md
0 4px 12px rgba(0,0,0,0.08)
–um-shadow-lg
0 8px 30px rgba(0,0,0,0.12)
–um-shadow-card
0 2px 8px rgba(0,0,0,0.06)
5. Komponenten
Buttons
Klassen: .um-btn · Modifier: --primary · --secondary · --ghost · --sm
Padding Default: 0.875rem 1.75rem, Radius --um-radius-md, Border 2px.
Badge / Eyebrow
Klasse: .um-badge – Section-Eyebrow, Kategoriekennung auf Cards.
Post-Card (Template)
Template: template-parts/card-post.php
Logo-Kategorien (news, partner) nutzen .um-card__media--contain mit CI-getöntem Hintergrund statt Crop.
Filter-Pills (News / Partner)
HR-Wissen
Events
Gutenberg: .um-filter-pill (News) · JS-gesteuert auf /partner/ via data-partner-filters.
Sections
.um-section– Standard-Section, vertikales Padding--um-space-section.um-section--alt– grauer Hintergrund (#ededed).um-section--dark– Blau 6 (#2a2a2a), weisse Schrift.um-section__header– zentrierter Block mit Eyebrow + H2 + Lead, max-width 860px
6. Module & Templates
Template-Dateien (Theme umantis-base)
Produktseiten-Builder
Gemeinsame Produkt-Pages (Bewerbermanagement, HR-Core, Zeitwirtschaft usw.) werden zentral via lib-product-page.php / um_build_product_page($slug, $config) aufgebaut.
Konfigurierbar: Hero, Pillar-Grid, Feature-List, Facts, Testimonial, FAQ, Final-CTA. CTA-Overrides möglich (cta_primary_text/url, hero_primary_text/url).
Custom-Page-Templates
- /karriere/ → 11 Benefit-SVG-Icons, Remote/CH/DE-Marker, Flat-Grid
- /hr-suite_smartkmu/ → 6 Module, 3 Benefits, 5 Steps, 6 FAQ
- /hr-suite_flex/ → 16 Module, 3 Säulen, 5 Phasen, 5 FAQ, Max-Planck-Testimonial
- /presse/ → Download-Cards (mailto:), 4 Facts, Boilerplate, Carousel, Kontakt-CTA
- /news/ → Editorial-Hero, Filter-Pills, Query-Loop (3-Spalten, 12/Seite)
- /partner/ → JS-gefiltertes Grid mit Logo-Contain-Treatment
- /impressum/ · /datenschutz/ → Minimaler Rechtsstand
7. SEO & AI-GEO
SEO-Layer ohne Plugin – liest aus den Yoast-Postmeta-Keys (migrationsfest).
Pro Page ausgegeben
<title>aus_yoast_wpseo_titlemeta name="description"aus_yoast_wpseo_metadesc- Open Graph (type · title · description · url · image · site_name · locale)
- Twitter Card
summary_large_image - JSON-LD Graph:
Organization+WebSite+WebPage+BreadcrumbList - Canonical via WP-Core
rel_canonical() - Robots:
index,follow,max-image-preview:large,max-snippet:-1
Für AI-GEO optimiert
- Deklarative Meta-Descriptions (150–160 Zeichen, fakten-reich, zitierbar)
inLanguage=de_CH,datePublished,dateModified- Entities als
@id-Graph verknüpft – Organization wird nur 1× definiert - Article-Schema für Posts inkl.
author,keywords,articleSection
8. Migration-Workflow
Sämtliche Inhalte werden reproduzierbar über PHP-Scripts angelegt (Blog/migration/). Ausführung:
cd Blog/migration ./run.sh 30-news-page.php ./run.sh 48-hr-suites.php ./run.sh 55-styleguide.php
bootstrap.php– lädt WP-Kontext mit LocalWP-MySQL-Socketlib.php,lib-product-page.php– Shared Helpers- Alle Scripts sind idempotent – können beliebig oft laufen
kses_remove_filters()am Script-Anfang, damit Inline-SVGs nicht gestrippt werden
Aktive Migration-Scripts
9. Betriebs-Erkenntnisse & Konventionen
Gesammelte Konventionen aus der laufenden Marker.io-Abarbeitung (Stand Mai 2026). Diese Regeln gelten verbindlich für alle weiteren Anpassungen an der Staging-Site umantis.com.
9.1 Bilder immer lokal — nie von umantis.com hotlinken
Der Hotlink-Schutz von umantis.com ist inkonsistent: referrer-basiert blockierte Bilder erscheinen mal, mal nicht („tote Bilder“). Jedes Bild deshalb server-seitig in die WP-Mediathek importieren und lokal referenzieren.
SVG wird vom WP-Upload blockiert → Datei per curl direkt in wp-content/uploads/ spiegeln und URL umschreiben. Verifikation: img.naturalWidth>0 (Achtung Lazy-Load: vor dem Check ins Viewport scrollen).
9.2 Buttons nie violett beim Hover
Die generische Regel a:hover { color: var(--um-color-secondary) } (Violett #781e5f) ist nur für Text-Links gedacht. Sie ist global so eingeschränkt, dass sie keine button-artigen Elemente mehr trifft:
Deckt alle Button-Systeme ab (um-btn, vp-btn, wp-block-button__link, wp-element-button). Buttons behalten ihre Basisfarbe (meist Weiss auf dunklem Grund). Sekundär-/Outline-/Ghost-Buttons: Text bleibt im Hover weiss, nie violett.
9.3 Footer = umantis.com-Struktur
Footer (umantis-base/footer.php) folgt umantis.com: kompakte Brand-Spalte (Logo + 1 Kurzbeschreibung + 1 Kontaktblock: Telefon/Öffnungszeiten, E-Mail, eine Adresse St. Gallen + Social) und rechts die 4 ausgerichteten Link-Spalten Produkte / Lösungen / Unternehmen / Kontakt + Legal-Bar. Kein 3-fach-USP-Block, keine 3 Telefonnummern, keine 3 vollen Standort-Adressen (das machte den Footer unbalanciert/zu lang).
9.4 Modulseiten-Pattern (Gutenberg)
Produkt-/Modulseiten sind reine Gutenberg-Block-Seiten im post_content (Standard-Template). Aufbau in dieser Reihenfolge:
- Hero
wp:groupdunkel (#2a2a2a): Breadcrumb, Eyebrow (= Menü-Kategorie, rot#de323c), H1, Lead, Bullet-Liste, 2 Buttons (primär rot „Demo vereinbaren“ + Outline), Hero-Bild rechts. - Feature-Sektionen alternierend
um-product-section/um-product-section--altmitum-screenshot(Bild) +um-product-feature-text(H2 + Text + optional Bullets +um-feature-benefit-Tag). - Trust-Strip
um-swiss-trust(Hosting CH/DE, DSGVO/DSG, ISO-27001, keine US-Hyperscaler). - CTA-Footer
um-cta-footer(#1a1a1a) mit Demo-Buttons.
Fehlt eine Seite auf Staging, die es auf umantis.com gibt → vollständig portieren (alle Inhalte ins Block-Pattern, Bilder lokal). Beispiele diese Session: /mitarbeiterkommunikation/, /job-marketing/. Anlegen via wp post create <file> --post_type=page --post_name=<slug>, dann Mega-Menü-Link in inc/mega-menu-data.php setzen.
9.5 Wording-Konventionen
- Legal entschärfen: kein „revisionssicher“, „garantiert gesetzeskonform“, „rechtssicher“ → stattdessen „nachvollziehbar dokumentiert“, „gesetzeskonform konfigurierbar“, „je nach Signatur-Typ rechtsgültig (QES nach ZertES/eIDAS)“.
- Keine V3-fremden Features behaupten: reine V2-Funktionen entfernen (z.B. Active Sourcing, Videointerviews) oder klar als „Geplant ab 2027“ kennzeichnen.
- Region-neutral (CH+DE): „Absenzen, Ferien“ → „Abwesenheiten, Ferien/Urlaub“; Browser-Lösung „MyAbacus“ → „Self-Service“ (offene Terminologie-Linie beachten).
- Konfiguration statt Automatik: „Software kennt die Gesetze“ → „lässt sich gesetzeskonform konfigurieren“; Benefit-Tags variieren statt überall „Automatisiert statt manuell“.
9.6 Deploy & Cache (wichtig!)
Aktives Theme = umantis-brand (Child). Es hat kein eigenes footer.php → nutzt das Parent umantis-base/footer.php. Edits an Templates/CSS daher in umantis-base.
Nach PHP-/Template-/Menü-Edits reicht der Page-Cache-Purge NICHT. Zusätzlich PHP-OPcache zurücksetzen, sonst bleibt die alte Datei aktiv:
style.css nutzt filemtime-Cache-Busting (CSS-Edits sofort live); für PHP/Templates gilt obiger OPcache-Hinweis. Theme-Änderungen committen + pushen (Deploy-Key), Seiten-Inhalte via wp post update. Helper: scripts/kwp.sh, kssh.sh, kpurge.sh (lesen keys.env zeilenweise, da das Passwort ein ( enthält — nicht sourcen).
Zugriff: Diese Seite ist passwortgeschützt (Passwort: intern) und über <meta robots="noindex,nofollow"> vor Crawlern ausgeschlossen. Intern-Sharing via direkter URL + Passwort. Aktualisiert via Blog/migration/55-styleguide.php.