Fehlendes Title-Tag bei Bildern mit Links ergänzen

Ist in Contao (hier konkrekt Verison 4.9) ein Bild verlinkt, verschwindet der Title-Tag beim img und ist nur noch bei darüber stehenden Link zu finden. Was SEO angeht, istg das nicht immer so gewünscht. Unabhängig ob dies nun in Contao semantisch so korrekt ist oder nicht, aktuell ist es scheinbar so das in der optimalen SEO bei einem Bild immer ein Title-Tag sein sollte, auch wenn es verlink ist (ist auch of Wunsch der Kunden, der SEO-Analysetools auch e´benutzt).

Um das in Contao anzupassen, habe ich das Template picture_default.html5 angepasst. Diese im Moment sehr "schmutzige" Anpassung ist nur ein fader Kompromiss, funktioniert im Moment aber einmal. Es ist mir bsiher noch nicht gelungen den Inhalt von Title auch dauerhaft auzugeben (auch wenn das Bild einen Link hat). Was aber gut klappt ist das Alt-Tag Inhalt dauerhaft als Title-Tag auszugeben. Und da ich beides meist mit den gleichen Inhalten ausfülle ist dies eine mögliche Lösung. Gerne kann man aber eine Lösung vorschlagen wie der Title dauerhaft beim Bild bleibt. Einfach eine Mail an: info@liquid-artwork.de. Gerne veröffentliche ich die Lösung dann hier, gerne mit Namensnennung und Link.

Nun aber zu meiner "Dirty" Lösung:

Im Template picture_default.html5

<img src="<?= $this->img['src'] ?>"
<?php if ($this->img['srcset'] !== $this->img['src']): ?> srcset="<?= $this->img['srcset'] ?>"<?php endif; ?>
<?php if (!empty($this->img['sizes'])): ?> sizes="<?= $this->img['sizes'] ?>"<?php endif; ?>
<?php if (!empty($this->img['hasSingleAspectRatio']) && !empty($this->img['width']) && !empty($this->img['height'])): ?> width="<?= $this->img['width'] ?>" height="<?= $this->img['height'] ?>"<?php endif; ?> 
alt="<?= $this->alt ?>"<?php if (!empty($this->img['loading'])): ?> loading="<?= $this->img['loading'] ?>"<?php endif; ?>
<?php if ($this->title): ?> title="<?= $this->title ?>"<?php endif; ?>
<?php if ($this->class || !empty($this->img['class'])): ?> class="<?= trim($this->class.' '.$this->img['class']) ?>"<?php endif; ?>
<?= $this->attributes ?> itemprop="image">

Dies habe ich durch folgenden Code ersetzt:

<img src="<?= $this->img['src'] ?>"
<?php if ($this->img['srcset'] !== $this->img['src']): ?> srcset="<?= $this->img['srcset'] ?>"<?php endif; ?>
<?php if (!empty($this->img['sizes'])): ?> sizes="<?= $this->img['sizes'] ?>"<?php endif; ?>
<?php if (!empty($this->img['hasSingleAspectRatio']) && !empty($this->img['width']) && !empty($this->img['height'])): ?> width="<?= $this->img['width'] ?>" height="<?= $this->img['height'] ?>"<?php endif; ?>
alt="<?= $this->alt ?>"<?php if (!empty($this->img['loading'])): ?> loading="<?= $this->img['loading'] ?>"<?php endif; ?>
title="<?= $this->alt ?>"<?= $this->attributes ?> itemprop="image">

Man sieht am Ende, das der titel= nun mit dem Inhalt von alt besetzt wird. Ist wie erwähnt keine perfekte Lösung, aber es erfüllt im Moment meinen Zweck. Wer eine bessere Lösung hat, gerne melden.

Zurück

Kein Erfolg mit den hier beschriebenen Contao-Lösungen? Klappt es nicht mit dem gewünschten Contao-Update oder dem Umzug auf einen neuen Hostingserver?

Wenn die Frustration zu groß wird, einfach bei mir melden:
info@liquid-artwork.de - Ansprechpartner: Lars Scheumann

Manchmal ist es besser solche umfangreichen Aufgaben dem Profi zu überlassen, der schneller und sorgfältiger damit umgehen kann. Kostet seinen Preis, aber lohnt sich schnell, bevor man sich tagelang damit herum ärgert. LIQUID-ARTWORK betreut auch Kunden die ihre Webseite selbst erstellt haben, oder durch Dritte. Kurze Anfrage bei mir und nach einer ersten Prüfung kann ich meist einen Preis nennen. Die Anfrage alleine kostet dabei nichts!

Viele weitere, ähnliche und hoffentlich hilfreiche Beiträge findet Ihr im kompletten Contao-Helpdesk das ständig erweitert wird.

Zum Contao-Helpdesk...