Invalides HTML durch Custom Logo

Wer schon mal die Google Search Console genutzt hat, der kennt die strukturierten Daten, auch Rich Snippets, mit denen Semantik hinzugefügt werden kann. Mit der Custom-Logo-Funktion von WordPress geht da aber ein wenig schief …

Als ich vor einiger Zeit für einen Kunden ein Theme eingerichtet habe ist mir ein Fehler im Markup aufgefallen:

„Error: The “itemprop” attribute was specified, but the element is not a property of any item.“

Es wurde also einem Element per itemprop eine Zusatzinformation hinzugefügt, aber dem übergeordneten Element fehlt der itemscope und itemprop. Wie das prinzipiell funktioniert findet man bei schema.org in einem „Getting Started“-Artikel. Auf der Website des Projekts kann auch die gesamte Hierarchie nachgelesen werden.

In meinem Fall fehlte also einfach einem übergeordneten Element eine Definition, dass es sich zum Beispiel um eine Webseite handelt:

<html lang="en" itemscope itemtype="http://schema.org/WebPage“>

Ich habe dem Theme die Schuld gegeben und nicht weiter darüber nachgedacht, bis ich nun mehrfach auf diesen Fehler stieß und dem ganzen mal nachgegangen bin. Zu meiner Überraschung konnte ich das itemprop Attribut im ganzen Theme aber nicht finden. Ein Blick in den Quelltext brachte mich dann auf das Logo und so suchte ich mal in WordPress nach itemprop und wurde fündig.

Die Custom-Logo-Funktion setzt dieses Attribut für das Logo und die URL und erzeugt so den invaliden Code, denn für einen korrekten Code muss dem übergeordneten Element noch itemscope und itemprop hinzugefügt werden.

Eine Warnung dazu findet sich jedoch weder bei der Funktion selbst, noch im Theme-Handbuch.

Natürlich gibt es dazu schon ein Ticket, mit genau den richtigen Diskussionen und Schlussfolgerungen.

Nachtrag: Es gibt einen Filter mit dem der HTML-Output der Funktion angepasst werden kann. Aber wer das Problem kennt, der sollte IMO besser die zusätzliche Semantik nutzen und zum Beispiel sein html-Element entsprechend auszeichnen, anstatt das Attribut zu entfernen.

4 Antworten auf Invalides HTML durch Custom Logo

  1. Interessanter Post, da noch nicht gefixt. Ich halte es, wie im Ticket diskutiert, für das beste, das itemprop-Attribute einfach ganz zu entfernen; das habe ich nun in einem aktualisierten Patch auch getan. Mal sehen, was (wann) passiert…

Schreibe einen Kommentar

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