Alt- und Title-Tag für Bilder

Auch Alt-Tags müssen von Hand vergeben werden, was im Alltag eines Bloggers schon einmal nerven kann. Davon abgesehen wissen Anfänger oft nicht, wie wichtig solche Attribute bei Bildern eigentlich sind und vergessen die Eingaben deshalb. Irgendwann bekommen sie dann den Tipp, dass solche Tags für die Suchmaschinenoptimierung wichtig sind und fangen an selbige einzufügen. Alte Bilder haben in WordPress dann trotzdem keinen Alt- oder Title-Tag und diese nachträglich per Hand zu vergeben, ist bei der Menge an Bildern meistens unmöglich. Warum das Ganze also nicht einfach automatisieren? WordPress kann mit einem Snippet auch ganz von alleine den Alt- und Title-Tag setzten, sodass ihr rein gar nichts dafür tun müsst und auf zusätzliche Eingaben nach dem Bildupload komplett verzichten könnt. Lasst das Snippet für euch arbeiten, ganz automatisch.

Folgendes in die Functions.php eures Themes kopieren:

//fastWP - add alt & title to all images
function add_alt_tags($content)
{
        global $post;
        preg_match_all('/<img (.*?)/>/', $content, $images);
        if(!is_null($images))
        {
                foreach($images[1] as $index => $value)
                {
                        if(!preg_match('/alt=/', $value))
                        {
                                $new_img = str_replace('<img', '<img alt="'.$post->post_title.'"', $images[0][$index]);
                                $content = str_replace($images[0][$index], $new_img, $content);
                        }
                }
        }
        return $content;
}
add_filter('post_thumbnail_html', 'add_alt_tags', 99999);
add_filter('the_content', 'add_alt_tags', 99999);

Alt- und Title-Tag in WordPress

Das WordPress Snippet oben fügt komplett automatisiert Alt- und Title-Tag zu den Bildern hinzu und zwar zu allen Bildern die ihr jemals eingefügt habt. Dazu nutzt das Snippet den Artikelnamen, also den Titel des jeweiligen Beitrags, der sich in den meisten Fällen als Ideal dafür erweist, da er wichtige Begriffe, also Keywords enthält. Genau so etwas setzten übrigens auch teure WordPress SEO Plugins um (zum Beispiel SEO Friendly Images), nur dass diese einen Haufen Geld kosten. Mit dem Snippet bekommt ihr die Funktion quasi kostenlos und vor allem, wenn ihr die wichtigen Alt-Tags bislang vergessen habt, dürfte eure Sichtbarkeit in den Suchmaschinen nach kurzer Wartezeit auch schlagartig ansteigen. Der Title-Tag ist bei Bildern zwar weniger wichtig, doch die Integration schadet nichts und ein bisschen was bringt er allemal, zumindest in einigen Einzelfällen. In anderen wird er einfach ignoriert. Einfach mal ausprobieren und schauen was sich ändert. Für alle die bislang keine Alt- oder Title-Tags gesetzt haben, ist das Snippet eigentlich sogar Pflicht.

Alt Tag beim Upload von neuen Bildern setzen

Das folgende WordPress Snippet generiert den Alt-Tag dabei aus dem Titel des Artikels, was durchaus Sinn ergibt und von den meisten vermutlich eh genutzt wird. Wer aber einfach keine Lust hat, bei jedem kleinen Bild den Titel zum Alt-Tag zu kopieren, der lässt genau das vom Snippet nun automatisch erledigen.

Folgendes in die Functions.php eures Themes kopieren:

function image_alt_tag($content)
{global $post;preg_match_all('/<img (.*?)\/>/', $content, $images);
if(!is_null($images)) {foreach($images[1] as $index => $value)
{if(!preg_match('/alt=/', $value)){
$new_img = str_replace('<img', '<img alt="'.get_the_title().'"', $images[0][$index]);
$content = str_replace($images[0][$index], $new_img, $content);}}}
return $content;
}
add_filter('the_content', 'image_alt_tag', 99999);

Empfehlen würde ich das Snippet nur den wirklich faulen unter euch. Denn denkt immer daran, von Hand gesetzte Tags sind zum einen besser, zum anderen sollte auch die functions.php so klein wie nur irgendwie möglich gehalten werden. Also überladet sie nicht mit solchen, eigentlich doch unnützen Funktionen, da gibt es viel sinnvollere Snippets für WordPress. Wer aber eben einfach keine Lust hat Alt-Tags einzutragen, oder das früher nie gemacht hat, der optimiert so auch seine alten Bilder mit entsprechenden Angaben. Das macht dann eine Menge Sinn, weil es für die Suchmaschinenoptimierung von Vorteil ist. Ausprobieren schadet jedenfalls nie, sage ich immer, also prüft einfach selbst ob sich das Snippet für euch lohnen könnte.

9 Kommentare zu „Alt- und Title-Tag bei Bildern automatisch setzten“

  1. Avatar

    Schöner Hinweis. Funktioniert nur leider nicht. Die Seite verschwindet und es wird eine Fehlermeldung angezeigt, bei der auf die funtion.php verwiesen wird.

  2. Avatar

    Hallo Christian,

    war genau auf der Suche nach so einer Möglichkeit. Wenn ich den von Dir geschriebenen Code 1:1 übernehme erhalte ich eine Fehlermeldung im Dashboard. Bitte noch für mich als Anfänger – die o. g. Zeile so wie sie ist (ohne weitere Syntax) in die functions.php meines Child-Themes eingeben? Für mich sieht das aus wie ein exportierter Optionsblock eines Themes.

    Wünsch Dir noch ein frohes Weihnachtsfest im Kreis Deiner Familie und ein erfolgreiches Neues Jahr!

    Gruß Peter

    1. Christian

      Hi Niels, damit habe ich es nicht getestet, aber ich vermute nicht. Ich meine für Woocommerce gibt es auch entsprechende Plugins.

  3. Avatar

    Hallo,

    ich möchte dein Script nutzen. Wie kriege ich es hin, das als Alt attribute nicht der Posttitel sondern der Bildname genommen wird?

Kommentar verfassen

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

154 SEO Tools - die ultimative Liste!

Abonniere jetzt unseren Newsletter und lade dir die Liste kostenlos herunter!

Alles klar! Prüfe jetzt deinen Posteingang um die Anmeldung abzuschließen.