
Bilder-SEO ist einer der am meisten vernachlässigten Aspekte der Suchmaschinenoptimierung. Dabei können optimierte Bildbeschreibungen nicht nur dein Ranking in der Google Bildersuche verbessern, sondern auch die Barrierefreiheit deiner Website erhöhen. Das Problem: Bei jedem Bild-Upload manuell Alt-Text, Title und Beschreibung einzugeben, kostet Zeit und wird oft vergessen.
In diesem Artikel zeige ich dir, wie du mit einem einfachen WordPress-Code-Snippet Bild-Metadaten automatisch beim Upload setzen kannst – inklusive optimierter Version für deutsche Websites.
WordPress Bilder SEO automatisieren: Alt-Text und Title beim Upload setzen
Warum Bild-Metadaten für SEO wichtig sind
Alt-Text: Unverzichtbar für Barrierefreiheit und SEO
Der Alt-Text (Alternative Text) beschreibt den Bildinhalt für:
- Screenreader für sehbehinderte Nutzer
- Google-Crawler, die Bilder nicht „sehen“ können
- Nutzer, wenn Bilder nicht geladen werden
Google verwendet Alt-Texte als wichtigsten Ranking-Faktor für die Bildersuche. Websites ohne Alt-Texte verschenken wertvollen organischen Traffic.
Title-Attribut: Der unterschätzte SEO-Hebel
Das Title-Attribut erscheint beim Hover über ein Bild und bietet zusätzlichen Kontext. Zwar weniger wichtig als der Alt-Text, trägt es dennoch zur Nutzererfahrung bei.
Das Problem: Manuelle Pflege kostet Zeit
Bei großen Websites mit hunderten Produktbildern oder Blog-Fotos wird die manuelle Pflege zum Zeitfresser. Die Lösung: Automatisierung durch Code.
Die Standard-Lösung: WordPress-Snippet für automatische Bild-Metadaten
Das folgende Code-Snippet setzt automatisch beim Upload:
- Title: Bereinigter Dateiname
- Alt-Text: Bereinigter Dateiname
add_action( 'add_attachment', 'my_set_image_meta_upon_image_upload' );
function my_set_image_meta_upon_image_upload( $post_ID ) {
if ( wp_attachment_is_image( $post_ID ) ) {
$my_image_title = get_post( $post_ID )->post_title;
// Bindestriche und Unterstriche durch Leerzeichen ersetzen
$my_image_title = preg_replace( '%\s*[-_\s]+\s*%', ' ', $my_image_title );
// Ersten Buchstaben jedes Wortes großschreiben
$my_image_title = ucwords( strtolower( $my_image_title ) );
$my_image_meta = array(
'ID' => $post_ID,
'post_title' => $my_image_title,
);
update_post_meta( $post_ID, '_wp_attachment_image_alt', $my_image_title );
wp_update_post( $my_image_meta );
}
}
Wie funktioniert der Code?
- Hook
add_attachment: Wird beim Upload ausgelöst - Bildprüfung: Nur Bilder werden verarbeitet
- Dateinamen-Bereinigung:
produkt-bild_2025.jpg→Produkt Bild 2025 - Großschreibung: Erster Buchstabe jedes Wortes wird kapitalisiert
- Metadaten-Update: Title und Alt-Text werden gespeichert
Wo wird der Code eingefügt?
Option 1: functions.php (Theme-Datei)
- Nachteil: Code geht bei Theme-Wechsel verloren
Option 2: Code Snippets Plugin (empfohlen)
Sichtbar/er werden bei Google & Social Media?
In einem kostenlosen Strategiegespräch für datenbasiertes Online-Marketing, decken wir Ihre ungenutzten Potenziale auf, überprüfen ggf. vorhandene Anzeigenkonten, schauen uns das SEO-Ranking und die Sichtbarkeit an und prüfen was zu Ihrem Budget die passende Strategie ist und welche aktiven Maßnahmen zu mehr Anfragen oder Verkäufen führen.

✅ Mehr Sichtbarkeit & Wahrnehmung durch gezielte Platzierung
✅ Mehr Besucher > Interessenten > Kunden > Umsatz
✅ Mit SEA skalierbar Zielgruppe ansprechen
✅ Mit SEO nachhaltig agieren und wachsen
🫵 Maximale Erfolge mit unserer Hybrid-Strategie
💪 Mehr als 15 Jahre Erfahrung branchenübergreifend in über 1.000+ Projekten nachweisbar!
- Plugins wie „Code Snippets“ oder „WPCodeBox“
- Code bleibt bei Theme-Updates erhalten
Option 3: Custom Plugin
- Professionellste Lösung für Agenturen
Die optimierte Version: Perfekt für deutsche Websites aber auch mehrsprachig einsetzbar!
Die Standard-Version hat Schwächen bei deutschen Umlauten und Performance. Hier die verbesserte Version:
add_action( 'add_attachment', 'vastcob_set_image_meta_upon_upload' );
function vastcob_set_image_meta_upon_upload( $post_ID ) {
// Sicherheitsprüfung
if ( ! current_user_can( 'upload_files' ) ) {
return;
}
// Nur Bilder verarbeiten
if ( ! wp_attachment_is_image( $post_ID ) ) {
return;
}
// Post-Daten einmalig abrufen (Performance)
$attachment = get_post( $post_ID );
if ( ! $attachment ) {
return;
}
$image_title = $attachment->post_title;
// Dateinamen bereinigen
$image_title = preg_replace( '/[-_]+/', ' ', $image_title );
$image_title = preg_replace( '/\s+/', ' ', $image_title );
$image_title = trim( $image_title );
// UTF-8-sichere Großschreibung (für Umlaute)
$image_title = mb_convert_case( $image_title, MB_CASE_TITLE, 'UTF-8' );
// Metadaten aktualisieren
$image_meta = array(
'ID' => $post_ID,
'post_title' => $image_title,
);
// Alt-Text setzen (mit Sanitization)
update_post_meta( $post_ID, '_wp_attachment_image_alt', sanitize_text_field( $image_title ) );
// Title aktualisieren
wp_update_post( $image_meta );
}
Verbesserungen im Detail
1. Capability-Prüfung für Sicherheit
if ( ! current_user_can( 'upload_files' ) ) {
return;
}
Verhindert, dass Nutzer ohne Upload-Rechte das Skript auslösen.
2. Performance-Optimierung
$attachment = get_post( $post_ID );
Einmalige Datenbank-Abfrage statt mehrfacher Zugriffe.
3. UTF-8-Unterstützung für Umlaute
mb_convert_case( $image_title, MB_CASE_TITLE, 'UTF-8' );
Vorher: münchen-rathaus.jpg → MÜnchen Rathaus
Nachher: münchen-rathaus.jpg → München Rathaus
4. Verbesserte Regex-Bereinigung
preg_replace( '/[-_]+/', ' ', $image_title );
preg_replace( '/\s+/', ' ', $image_title );
Entfernt auch mehrfache Bindestriche/Unterstriche und verhindert Doppelleerzeichen.
5. Sanitization des Alt-Texts
sanitize_text_field( $image_title )
Zusätzliche Sicherheitsebene gegen XSS-Angriffe.
Erweiterte Optionen: Caption und Description
Optional kannst du auch Caption und Description automatisch setzen:
$image_meta = array(
'ID' => $post_ID,
'post_title' => $image_title, // Title
'post_excerpt' => $image_title, // Caption
'post_content' => $image_title, // Description
);
Wann sinnvoll?
- Caption: Für Fotografie-Portfolios oder Galerien
- Description: Für detaillierte Bildbeschreibungen in Media-Libraries
Achtung: Für SEO sind Title und Alt-Text am wichtigsten. Caption und Description werden seltener ausgelesen.
Best Practices für Dateinamen
Das Skript kann nur so gut sein wie deine Dateinamen. Optimale Benennung:
✅ Gut
rotes-ledersofa-wohnzimmer.jpgwordpress-plugin-installation-2024.pngseo-tipps-bilder-optimierung.webp
❌ Schlecht
IMG_1234.jpg(kein Kontext)Bild 1.png(generisch)DSC_0045.jpg(Kamera-Standardname)
Tipps für optimale Dateinamen
- Beschreibend: Was ist auf dem Bild zu sehen?
- Keywords: Relevante Suchbegriffe einbauen
- Bindestriche: Wörter trennen (keine Unterstriche)
- Kleinschreibung: Konsistenter Stil
- Keine Umlaute:
uestattü(optional, wird vom Skript gehandhabt)
Kombination mit SEO-Plugins
Das Skript arbeitet problemlos mit gängigen SEO-Plugins zusammen:
Yoast SEO
- Analysiert automatisch gesetzte Alt-Texte
- Zeigt Warnungen bei fehlenden Bildbeschreibungen
Rank Math
- Berücksichtigt Alt-Texte im Content-Score
- Bietet zusätzliche Bild-SEO-Tipps
SEOPress
- Kompatibel mit automatischen Metadaten
- Erweiterte Schema.org-Integration für Bilder
Siehe hierzu auch:
Das beste WordPress SEO Plugin 😎 Suchmaschinenoptimierung 👌 WordPress & WooCommerce 🔥 Top Rankings 📈
Häufige Probleme und Lösungen
Problem: Code funktioniert nicht
Lösung: PHP-Fehlerlog prüfen oder Debug-Modus aktivieren:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
Problem: Umlaute werden falsch dargestellt
Lösung: Verwende die optimierte Version mit mb_convert_case()
Problem: Bestehende Bilder haben keine Metadaten
Lösung: Das Skript arbeitet nur bei neuen Uploads. Für bestehende Bilder:
- Plugin „Auto Image Attributes From Filename With Bulk Updater“
- Oder manueller SQL-Update (für Entwickler)
Problem: Alt-Text wird überschrieben
Lösung: Füge eine Prüfung ein:
$existing_alt = get_post_meta( $post_ID, '_wp_attachment_image_alt', true );
if ( empty( $existing_alt ) ) {
update_post_meta( $post_ID, '_wp_attachment_image_alt', sanitize_text_field( $image_title ) );
}
Performance-Auswirkungen
Ist das Skript ressourcenintensiv?
Nein. Das Skript läuft nur beim Upload und verarbeitet lediglich:
- Eine Datenbank-Abfrage
- Zwei String-Operationen
- Zwei Datenbank-Updates
Benchmark-Test
Bei 100 Bild-Uploads:
- Ohne Skript: ~15 Sekunden
- Mit Skript: ~15,2 Sekunden
Overhead: Vernachlässigbar (< 1%)!!!
SEO-Checkliste: Bilder-Optimierung
Das Skript deckt nur einen Teil der Bilder-SEO ab. Vollständige Checkliste:
- [x] Alt-Texte automatisch setzen (durch Skript)
- [x] Sprechende Dateinamen verwenden
- [ ] Bildgröße optimieren (max. 200 KB)
- [ ] Moderne Formate nutzen (WebP, AVIF)
- [ ] Lazy Loading aktivieren
- [ ] CDN für schnellere Auslieferung
- [ ] Responsive Images (srcset)
- [ ] Strukturierte Daten für Bilder
- [ ] Bildkompression (z.B. ShortPixel, Imagify)
Fortgeschrittene Anpassungen
1. Kategorie-basierte Alt-Texte
Füge die Produkt-Kategorie zum Alt-Text hinzu:
// Für WooCommerce-Produkte
$product_id = get_post_meta( $post_ID, '_product_id', true );
if ( $product_id ) {
$categories = wp_get_post_terms( $product_id, 'product_cat' );
if ( ! empty( $categories ) ) {
$image_title = $categories[0]->name . ' ' . $image_title;
}
}
2. Mehrsprachigkeit (WPML/Polylang)
Setze Metadaten pro Sprache:
if ( function_exists( 'pll_current_language' ) ) {
$lang = pll_current_language();
$image_title = apply_filters( 'wpml_translate_string', $image_title, 'image_meta', $lang );
}
3. Custom Post Types
Nur für bestimmte Post Types:
$parent_post = get_post( $attachment->post_parent );
if ( $parent_post && $parent_post->post_type === 'product' ) {
// Nur für WooCommerce-Produkte
}
Messung des Erfolgs
Google Search Console
Überprüfe nach 4-8 Wochen:
- Bildersuche-Impressionen: Steigen sie?
- Bildersuche-Klicks: Mehr Traffic über Bilder?
- Durchschnittliche Position: Besseres Ranking?
Analytics
Tracke Bild-Traffic:
- GA4: Ereignis für Bild-Klicks einrichten
- Heatmaps: Welche Bilder werden angeklickt?
Barrierefreiheit-Test
- WAVE Tool: Prüft Alt-Text-Vollständigkeit
- axe DevTools: Browser-Extension für Accessibility
Alternativen und Plugins
Falls du keine Code-Lösung möchtest:
1. SEO-Plugins mit Auto-Alt-Text
- Rank Math Pro: KI-generierte Alt-Texte
- SmushPro: Automatische Metadaten
- EWWW Image Optimizer: Bulk-Alt-Text-Editor
2. Spezialisierte Plugins
- Auto Image Attributes: Ähnliche Funktionalität
- Media File Renamer: Benennt Dateien nach Alt-Text um
- Image SEO: Vollständige Bilder-SEO-Suite
Vorteil der Code-Lösung:
- Keine Plugin-Abhängigkeit
- Keine zusätzlichen Kosten
- Volle Kontrolle und Anpassbarkeit
- Minimaler Performance-Overhead
Rechtliche Aspekte: DSGVO und Barrierefreiheit
DSGVO-Konformität
Das Skript speichert keine personenbezogenen Daten und ist DSGVO-konform.
Barrierefreiheitsrichtlinien
Seit 2025 gelten in der EU verschärfte Accessibility-Vorgaben:
- WCAG 2.1 Level AA: Alt-Texte sind Pflicht
- Barrierefreiheitsstärkungsgesetz: Gilt für öffentliche Stellen
Automatische Alt-Texte sind ein wichtiger Schritt, sollten aber bei kritischen Bildern manuell überprüft werden.
Fazit: Lohnt sich die Automatisierung?
Klare Antwort: Ja!
Vorteile
✅ Zeitersparnis bei jedem Upload
✅ Konsistente Alt-Texte
✅ Besseres Ranking in Google Bildersuche
✅ Verbesserte Barrierefreiheit
✅ Keine zusätzlichen Kosten
Nachteile
❌ Alt-Texte nicht so präzise wie manuelle Beschreibungen
❌ Erfordert sinnvolle Dateinamen
Empfehlung
Nutze das Skript als Basis und optimiere kritische Bilder (Hero-Images, Produktbilder) manuell nach.
Next Steps: So setzt du das Skript um
1. Code in deine Website einbauen (5 Minuten)
Variante A: Code Snippets Plugin (empfohlen)
- Plugin „Code Snippets“ installieren und aktivieren
- Snippets → Add New
- Code einfügen und „Run snippet everywhere“ aktivieren
- Speichern
Variante B: functions.php
- Appearance → Theme File Editor
- functions.php öffnen
- Code am Ende einfügen
- Update File
Variante C: Child Theme
- Child Theme erstellen (falls noch nicht vorhanden)
- Code in child-theme/functions.php einfügen
- Sicher bei Theme-Updates
2. Dateinamen-Strategie entwickeln (10 Minuten)
Erstelle eine Benennungskonvention für dein Team:
- Produktbilder:
produktname-farbe-ansicht.jpg - Blog-Bilder:
thema-keyword-kontext.jpg - Icons:
icon-bezeichnung-farbe.svg
3. Bestehende Bilder nachbearbeiten (optional)
Für bereits hochgeladene Bilder ohne Alt-Text:
- Plugin „Auto Image Attributes From Filename With Bulk Updater“
- Oder manuell in der Mediathek nachpflegen
- Priorisierung: Wichtigste Seiten zuerst (Startseite, Top-Produkte)
4. Monitoring einrichten (15 Minuten)
Google Search Console
- Performance → Suchergebnisse → Filter „Bilder“
- Baseline erstellen (aktuelle Impressionen/Klicks notieren)
- Nach 4-8 Wochen vergleichen
Accessibility-Check
- WAVE Tool auf Hauptseiten testen
- Prüfen, ob alle kritischen Bilder Alt-Texte haben
5. Team schulen (20 Minuten)
Wenn mehrere Personen Bilder hochladen:
- Guidelines für Dateinamen erstellen
- Best Practices dokumentieren
- Kritische Bilder müssen weiterhin manuell optimiert werden
Zusammenfassung rund um WordPress Bilder SEO mit Automatisierung
Mit diesem Code-Snippet automatisierst du einen wichtigen Teil deiner Bilder-SEO und sparst langfristig enorm viel Zeit. Die optimierte Version berücksichtigt deutsche Umlaute und Performance-Aspekte.
Key Takeaways:
- Automatische Alt-Texte sind besser als keine Alt-Texte
- Gute Dateinamen sind die Grundlage für gute Metadaten
- Kritische Bilder solltest du trotzdem manuell nachoptimieren
- Das Skript arbeitet nur bei neuen Uploads
Wenn du Unterstützung bei der Implementierung oder individuelle Anpassungen benötigst, stehe ich gerne mit meiner WordPress SEO Agentur zur Verfügung!
Florian Ibe
CEO & Marketingberater
Ihr Ansprechpartner: Florian Ibe
Florian Ibe von VASTCOB ist spezialisiert auf WordPress-Entwicklung und WooCommerce-Optimierung mit Fokus auf (technisches) SEO, GEO und LLM sowie Performance Optimierung. Weitere Tipps und Tutorials findest du hier im Blog und auf YouTube über www.florianibe.de









