Ergebnis 1 bis 7 von 7

Thema: gallery_default.html5 erzeugt keinen title tag

  1. #1
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.861
    Contao-Projekt unterstützen

    Support Contao

    Standard gallery_default.html5 erzeugt keinen title tag

    Hallo,

    ich musste feststellen, dass das Galerie Template keinen title tag erzeugt/mit gibt » darüber wiederum meckert SEO

    Das image wird wohl aus diesem Teil eingefügt:
    Code:
    ...
    <figure class="image_container">
    <?php $this->insert('picture_default', $col->picture); ?>
    ...
    Und das Ergebnis bringt nur den alt tag mit sich
    Code:
    ...
    <img src="assets/images/5/praxis_001-d11cf5d5.jpg" alt="mein-ALTtxt" width="400" height="400">
    ...
    Auch wenn in der Dateiverwaltung der Titel eingetragen ist, bringt die Galerie den Titel nicht mit. Der ALT tag wird wohl vom Titel aus den Meta-Daten der Dateiverwaltung erstellt, aber es gibt keinen <title>.
    Im Einzelbild habe ich die Möglichkeit im CE noch den Titel mit einzufügen, aber im CE Galerie gibt's diese Möglichkeit ja nicht

    Wo bzw. wie bringe ich den <title> mit in das <img>?
    Gibt's ne Abhilfe dazu?
    Beispiel brauche ich keines verlinken, denn es scheint in allen Galerien so zu sein, egal welche Contao Version.

    Kann mir jemand weiterhelfen? Workaround?
    Danke schon mal
    Grüsse
    Bernhard


  2. #2
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.751
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Gerade mal geschaut.
    Dafür verantwortlich sollte das picture_default.html5 (Originaltemplate oder eigene Kopie) sein. Prinzipiell wird der Titel ausgegeben, wenn vorhanden, aber bei Contao 3 gibt es, soweit ich mich erinnere einigen Mischmasch mit titel, alt und caption. Bei der Galerie werden die Meta-Daten aus der Dateiverwaltung gezogen, dabei wandert der Inhalt des Feldes title in das alt-Attribut und caption in figcaption. Wenn man das anders haben will, müsste man das picture_default entsprechend anpassen. Falls es nicht für alle Bilder gelten soll ein angepasstes Template mit anderem Namen nutzen und dafür sorgen, dass es im Galerie-Template verwendet wird (ungetestet).
    Für SEO (in Bezug auf Ranking) hat das titel-Atribut bei Bildern aber m.E. keinen direkten Einfluss. Kann bei Bildern ohne Bildunterschrift vielleicht für Nutzer hilfreich sein, da es ja als Tool-Tip erscheint. Wenn eine verbale Beschreibung für die Bilder wichtig ist, würde ich persönlich aber auf die Bildbeschreibung setzen.
    Geändert von mlweb (26.09.2017 um 18:24 Uhr)
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  3. #3
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.861
    Contao-Projekt unterstützen

    Support Contao

    Standard

    ... Wenn man das anders haben will, müsste man das picture_default entsprechend anpassen. ...
    Nun ja, aber wohin anpassen, wenn's denn im Standard vorhanden ist
    Code:
    <img src="<?= $this->img['src'] ?>"<?php if ($this->img['srcset'] !== $this->img['src']) echo ' srcset="' . $this->img['srcset'] . '"'; ?><?php if (!empty($this->img['sizes'])) echo ' sizes="' . $this->img['sizes'] . '"'; elseif (!$this->sources) echo ' width="' . $this->img['width'] . '" height="' . $this->img['height'] . '"'; ?> alt="<?= $this->alt ?>"<?php if ($this->title) echo ' title="' . $this->title . '"'; ?><?php if ($this->class) echo ' class="' . $this->class . '"'; ?><?= $this->attributes ?>>
    Zumindest macht es für mich den Anschein, als wäre sowohl <alt> als auch <title> ins picture_default.html5 reingepackt.
    ... jetzt auch mal unabhängig von der Frage, ob sich der title tag positiv auf die Semantic auswirken würde ...
    Grüsse
    Bernhard


  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Der title Tag kommt by default ins <a>.

  5. #5
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.861
    Contao-Projekt unterstützen

    Support Contao

    Standard

    ja schon ... aber im <a> sucht die Semantic nicht ... sondern im <img>

    Ich möchte nicht päpstlicher als der Papst sein - sondern eigentlich möcht ich's nur verstehen, wenn man eigentlich den <title> im <img> einträgt, dann sollte es ja auch im <img> per default eingetragen sein, oder verstehe ich das falsch?
    Grüsse
    Bernhard


  6. #6
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.751
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Der title Tag kommt by default ins <a>.
    Bei der Core-Galerie wird in Contao 3, dass was in der Dateiverwaltung bei den Meta-Informationen unter Titel eingegeben wird, im alt-Attribut ausgegeben.
    Wenn Du das auch im title-Attribut haben willst, dann ist es möglich, dass dort auch auszugeben

    Code:
    <img src="<?= $this->img['src'] ?>"<?php if ($this->img['srcset'] !== $this->img['src']) echo ' srcset="' . $this->img['srcset'] . '"'; ?><?php if (!empty($this->img['sizes'])) echo ' sizes="' . $this->img['sizes'] . '"'; elseif (!$this->sources) echo ' width="' . $this->img['width'] . '" height="' . $this->img['height'] . '"'; ?> alt="<?= $this->alt ?>" title="<?= $this->alt ?>"; <?php if ($this->class) echo ' class="' . $this->class . '"'; ?><?= $this->attributes ?>>
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  7. #7
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.861
    Contao-Projekt unterstützen

    Support Contao

    Standard

    vielen Dank!
    ... ein kleiner Fehler mit einem Semikolon hatte sich da noch eingeschlichen, aber den konnte ich erkennen ;-)

    für die Nachleser:
    hier mal das angepasste template 'picture_default.html5'
    Das Core-Standard-Template findet man hier: system/modules/core/templates/picture
    dieses in den "eigenen" Templateordner kopieren und hiermit ersetzen (Zeile 10 ist der Unterschied)

    Code:
    <?php if ($this->sources): ?>
      <picture>
        <!--[if IE 9]><video style="display: none;"><![endif]-->
        <?php foreach ($this->sources as $source): ?>
          <source srcset="<?= $source['srcset'] ?>"<?php if (!empty($source['sizes'])) echo ' sizes="' . $source['sizes'] . '"'; ?><?php if (!empty($source['media'])) echo ' media="' . $source['media'] . '"'; ?>>
        <?php endforeach; ?>
        <!--[if IE 9]></video><![endif]-->
    <?php endif; ?>
    
    <img src="<?= $this->img['src'] ?>"<?php if ($this->img['srcset'] !== $this->img['src']) echo ' srcset="' . $this->img['srcset'] . '"'; ?><?php if (!empty($this->img['sizes'])) echo ' sizes="' . $this->img['sizes'] . '"'; elseif (!$this->sources) echo ' width="' . $this->img['width'] . '" height="' . $this->img['height'] . '"'; ?> alt="<?= $this->alt ?>" title="<?= $this->alt ?>" <?php if ($this->class) echo ' class="' . $this->class . '"'; ?><?= $this->attributes ?>>
    
    <?php if ($this->sources): ?>
      </picture>
    <?php endif; ?>
    
    <?php if ($this->sources || $this->img['src'] !== $this->img['srcset']): ?>
      <script>
        window.respimage && window.respimage({
          elements: [document.images[document.images.length - 1]]
        });
      </script>
    <?php endif; ?>
    Grüsse
    Bernhard


Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •