Was ALT-Texte leisten müssen

Wenn Du ALT-Texte ignorierst, ärgert sich zuerst Google.
Dann der Barrierefreiheitsbeauftragte.
Dann Deine Nutzer.

Ein guter ALT-Text ist:

  • sachlich
  • kurz
  • verständlich
  • nicht redundant
  • hilfreich für SEO und Menschen mit Screenreader

Und ja, nervig zu pflegen.

Ziel: Automatisieren mit KI

Ich will Dir zeigen, wie Du per PHP automatisch ALT-Texte erzeugst.
Nicht stumpf nach Dateiname. Sondern mit echter Bildbeschreibung.
Generiert durch eine KI.

Dazu brauchst Du:

  • eine Bildanalyse-API (Azure, Google, OpenAI etc.)
  • einen WordPress-Hook
  • saubere Absicherung gegen Schrottausgabe

Bildbeschreibung beim Upload ergänzen

add_filter('wp_generate_attachment_metadata', 'ds_alttext_ai', 10, 2);

function ds_alttext_ai($metadata, $attachment_id) {
    $path = get_attached_file($attachment_id);

    if (!file_exists($path)) {
        return $metadata;
    }

    $image_data = file_get_contents($path);
    $alt = ds_ki_bildbeschreibung($image_data);

    if ($alt && strlen($alt) < 255) {
        update_post_meta($attachment_id, '_wp_attachment_image_alt', sanitize_text_field($alt));
    }

    return $metadata;
}

Die KI-Anbindung (API-Call simuliert)

function ds_ki_bildbeschreibung($image_data) {
    // Hier: Base64-Encode für die API
    $encoded = base64_encode($image_data);

    $response = wp_remote_post('https://deine-api.url/analyse', [
        'headers' => [
            'Authorization' => 'Bearer DEIN_API_TOKEN',
            'Content-Type'  => 'application/json',
        ],
        'body' => json_encode([
            'image' => $encoded,
        ]),
        'timeout' => 15,
    ]);

    if (is_wp_error($response)) {
        return null;
    }

    $body = json_decode(wp_remote_retrieve_body($response), true);

    if (isset($body['alt_text'])) {
        return $body['alt_text'];
    }

    return null;
}

Sicherheit und Logging

KI liefert manchmal Unsinn.
Oder sie liefert gar nichts.
Deshalb solltest Du loggen, was reinkommt – und was rausgeht.

function ds_log_alttext($attachment_id, $alt_text) {
    $log_path = WP_CONTENT_DIR . '/alttext-log.txt';
    $log_line = date('c') . " | ID: $attachment_id | $alt_text\n";
    file_put_contents($log_path, $log_line, FILE_APPEND);
}

Dann rufst Du ds_log_alttext() direkt nach dem ALT-Update auf.
Hilft beim Nachvollziehen – besonders wenn’s mal nicht passt.

Manuelle Nachbesserung per Bulk

Du willst bestehende Bilder nachträglich prüfen und ALT-Texte ergänzen?

Mit WP-CLI geht das sauber und reproduzierbar:

wp media list --format=ids | while read id; do
  alt=$(wp media get $id --field=alt)
  if [ -z "$alt" ]; then
    pfad=$(wp media get $id --field=path)
    beschreibung=$(curl -X POST https://deine-api.url/analyse -F "file=@$pfad")
    wp media update $id --alt="$beschreibung"
  fi
done

Funktioniert mit jeder Shell. Muss nicht schick sein. Hauptsache, es läuft.

Was Du damit erreichst

  • Barrierefreiheit verbessert
  • Google zufriedener
  • Redaktion entlastet
  • Alt-Texte, die wirklich helfen

Und das ohne viel manuelles Gefummel.
Die KI erledigt die Fleißarbeit – Du gibst den Rahmen vor.

Tags:

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert