Zum Hauptinhalt springen
„Ein Bug ist ein Feature, das noch keine Doku hat.“
  • Oxygen Builder
  • PHP
  • Schema.org
  • Secure Custom Fields
  • SEOPress
  • WordPress

Alengraphy – Fotografen-Website

Oxygen 6.2, SCF, SEOPress und eigener JSON-LD-Graph

Startseite von alengraphy.de: Hochzeits- und Portraitfotograf Alen Zecevic in Singen am Bodensee

Unter dem Namen Alengraphy arbeitet Alen Zecevic als Hochzeits- und Portraitfotograf in Singen am Bodensee. Er fotografiert editorial, analog auf Film und digital. Die Website alengraphy.de habe ich 2023 aufgebaut und am 14.08.2026 mit einem editorialen Redesign-Pass und einer kompletten SEO-Überarbeitung neu gestartet. Konzept, Design, Entwicklung und SEO liegen bei mir.

Die Aufgabe

Die Seite muss zwei Dinge leisten: Bilder in hoher Qualität zeigen und für lokale Suchanfragen rund um Singen und den Bodensee auffindbar sein. Alen pflegt Galerien, Texte und Referenzen selbst, deshalb müssen Inhalte in klar benannten Feldern liegen statt im Builder.

Beim Relaunch kamen die 301-Weiterleitungen der alten Portfolio-, Blog- und Rechtsseiten-Pfade dazu, und die strukturierten Daten sollten aus einer zentralen Quelle kommen statt aus Plugin-Vorgaben.

Die Umsetzung

Aufbau in Oxygen: Templates und Components

Die Seite läuft auf Oxygen 6.2 mit dem Oxygen Zero Theme. Neun Templates decken die Seitentypen ab: site_main, site_wedding, site_portrait, site_standort, site_contact, site_gallery, site_about, site_text_blank und wartungsarbeiten. 35 Components liefern die wiederkehrenden Bausteine, darunter start_hero, start_pakete_preise, die Preiskarten portrait_basic, portrait_classic und portrait_premium, wedding-price-essential, -signature, -luxury und -fullstory, wedding_ablauf, wedding_extras, standort_faq_item, standort_location_item, kontaktformular, header, footer sowie column-2-images, column-3-images und spacer. Die Navigation bleibt kurz: Hochzeit, Portrait, Über mich, Kontakt.

Inhalte in Secure Custom Fields und lokale Landingpages

Die Inhalte liegen in Secure Custom Fields 6.9.6: 7 Feldgruppen mit 138 Feldern. Die Gruppen heißen „Startseite – Inhalte“, „Wedding – Inhalte“, „Standort-Seite“, „Über mich – Inhalte“, „Galerie Einstellungen“ und „Footer“; dazu kommt die Optionsseite „Unternehmensdaten & SEO“ mit seo_firmenname, seo_person, seo_beschreibung, Adresse, Geo-Koordinaten, Instagram, Einzugsgebiet und OG-Bild. Galerien laufen über SCF-Galeriefelder.

Von den 16 Seiten sind 8 lokale Landingpages auf dem Template site_standort: Hochzeitsfotograf Singen, Konstanz, Radolfzell, Schaffhausen, Villingen-Schwenningen, Paarshooting Bodensee, Paarshooting Singen und Standesamt Fotograf Singen. Jede füllt denselben Feldsatz: lp_ort, lp_kicker, lp_h1, lp_hero_bild, lp_intro, einen Locations-Repeater, Galerie, Abschnittstext, FAQ-Repeater und CTA. Dazu kommen /hochzeitsfotograf-bodensee/ auf dem Wedding-Template, /portraitfotograf-singen/ auf dem Portrait-Template sowie Über mich, Kontakt, Datenschutz, Impressum und Cookie-Richtlinie. Ein neuer Ort ist damit eine Frage von Inhalten, nicht von Layout.

Eigenes Plugin und eigener Code

Der endlos laufende horizontale Bild-Slider auf der Startseite ist ein eigenes Plugin, „Infinite Horizontal Slider“ 1.0.0. Es registriert den Post Type entry (7 Einträge) mit der Taxonomie slider. Der übrige eigene Code liegt in drei PHP-Dateien im Sandbox-Verzeichnis des Agent Connectors; alengraphy-seo.php (531 Zeilen) bündelt die 301-Weiterleitungsmap der Vorgängerseite, die strukturierten Daten und den Ladezeit-Feinschliff.

SEO und strukturierte Daten

SEOPress 10.3 liefert Sitemap und Meta-Daten. Den Knowledge Graph habe ich bewusst auf „none“ gestellt und das Standard-WebSite-Schema über den Filter seopress_schemas_website_html ersetzt, damit es keine doppelten Knoten gibt. Stattdessen gibt alengraphy-seo.php einen zusammenhängenden JSON-LD-@graph aus, gespeist aus der SCF-Optionsseite: Person, WebSite mit alternateName „Alen Zecevic“, WebPage, Service mit Offer und PriceSpecification, PostalAddress, GeoCoordinates, ContactPoint, das Einzugsgebiet als 14 City-Knoten, BreadcrumbList und SiteNavigationElement. Die Standortseiten ergänzen eine FAQPage (Question/Answer).

SEOPress liest Bilder nur aus klassischem Beitragsinhalt, Oxygen-Seiten haben keinen. Deshalb baut alengraphy-image-sitemap.php täglich per Cron einen eigenen Bildindex und füllt über den Filter seopress_sitemaps_single_img die Bild-Sitemap, jede Originaldatei nur einmal.

Performance und Medien

In der Mediathek liegen 299 WebP-Dateien und 47 JPEG. WPvivid Imgoptim liefert WebP per <picture>-Element aus und aktiviert Lazy Loading; das erste Bild, das LCP-Element, nehme ich davon aus. alengraphy-images.php ergänzt fehlende srcset- und sizes-Angaben im ausgelieferten HTML über einen Output-Puffer ab template_redirect. Sonst gibt etwa der Slider nur die Originaldatei aus, und ein Smartphone lädt 2560 Pixel breite Bilder für 390 Pixel Anzeige.

Formulare, Sicherheit und Betrieb

Buchungsanfragen laufen über ein Kontaktformular mit Breakdance Forms for Oxygen, ergänzt um Breakdance Elements for Oxygen. Two Factor sichert den Login, WPvivid Backup Pro die Installation; WPvivid Staging stellt eine Testumgebung bereit. Gehostet wird bei netcup mit Plesk und Apache. Die Google Search Console ist seit dem 26.09.2026 per HTML-Datei verifiziert, die Wartung läuft über Agent Connector for WP per MCP.

Technik im Detail

  • WordPress 7.1.3, PHP 8.5, Oxygen 6.2 mit Oxygen Zero Theme
  • Secure Custom Fields 6.9.6: 7 Feldgruppen, 138 Felder, Optionsseite „Unternehmensdaten & SEO“
  • 9 Oxygen-Templates, 35 Components, 16 Seiten, davon 8 lokale Landingpages
  • SEOPress 10.3: Sitemap aktiv, Knowledge Graph auf „none“, WebSite-Schema per Filter ersetzt
  • Eigenes Plugin „Infinite Horizontal Slider“ 1.0.0: Post Type entry (7 Einträge), Taxonomie slider
  • alengraphy-seo.php (531 Zeilen): 301-Weiterleitungsmap, JSON-LD-@graph, LCP-Bild ohne Lazy Loading, OG-Bild aus SCF
  • alengraphy-image-sitemap.php: täglicher Bildindex per Cron, Filter seopress_sitemaps_single_img
  • alengraphy-images.php: srcset/sizes-Ergänzung per Output-Puffer ab template_redirect
  • Breakdance Forms for Oxygen, Breakdance Elements for Oxygen, Two Factor, Agent Connector for WP
  • WPvivid Backup Pro, WPvivid Imgoptim (WebP, Lazy Loading), WPvivid Staging

Design und Rollen

Das Design ist mein eigenes; im Impressum steht „Technische Umsetzung und Webdesign Tomislav Zecevic“. Konzept, Design, Entwicklung und SEO lagen bei mir: 2023 der Erstaufbau, 2026 der Relaunch mit editorialem Redesign-Pass und SEO-Überarbeitung.

Das Ergebnis

Alen pflegt Galerien, Texte und Referenzen selbst; die lokalen Landingpages sind auf die organische Suche ausgelegt. Mehr dazu unter Websites und SEO und Performance.

Projekt-Details

Jahr
2023 · Relaunch 2026
Kunde
Alengraphy – Alen Zecevic
Rolle
Konzept, Design, Entwicklung, SEO
Stack
Oxygen Builder, PHP, Schema.org, Secure Custom Fields, SEOPress, WordPress

Interesse an so einem Projekt?

Ich baue Websites, Tools und Apps – schnell, sauber, pixelgenau.

Projekt anfragen