Alt- und Title-Tag bei Bildern automatisch setzten

Alt- und Title-Tag in Wordpress
Inhaltsverzeichnis

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);Code-Sprache: PHP (php)

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);Code-Sprache: PHP (php)

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.

Christian Pust
WordPress & Onlinemarketing Experte mit über 15 Jahren Erfahrung. Entwickler & CEO von Trackboxx – der Google Analytics Alternative.

11 Antworten

  1. 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. 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. Hi Niels, damit habe ich es nicht getestet, aber ich vermute nicht. Ich meine für Woocommerce gibt es auch entsprechende Plugins.

  3. Hallo,

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

  4. Hallo Christian,

    gibt es ein Plugin, welches einfach nur den schon gesetzten Titel übernimmt?

    Wir haben bei WordPress in der Mediathek immer Alt, Titel, Beschriftung und Beschreibung gesetzt. Alt wird im Code angezeigt und die Beschriftung auch, aber der Titel (title=””) wird leider ignoriert. Diesen muss man immer wieder per Hand mit tittle=”Titeltext” einfügen.

    Ein Apfelbaum mit schönen roten Äpfeln. Quelle: XYZ

    Wir würden aber gerne, dass auch der title=”” mit übernommen wird (so, dass man den Titel lesen kann, wenn man mit der Maus darüber fährt, ohne es immer per Hand setzen zu müssen).

    Z.B.:
    Ein Apfelbaum mit schönen roten Äpfeln. Quelle: XYZ

    Folgende Plugins funktionieren leider nicht wie gewünscht:
    1. Auto Image Attributes From Filename With Bulk Updater (Add Alt Text, Image Title For Image SEO)

    2. Bulk Auto Image Title Attribute (Image Title tag) optimization (Image SEO) + Woocommerce

    Grüße Emanuel

Schreibe einen Kommentar

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

Das könnte dich auch interessieren

Du benötigst Unterstützung bei deinem WordPress Projekt?

Dein Ansprechpartner
Christian