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.
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…Habe dir im Trac geantwortet. Ich denke auch, dass das Attribut entfernt werden sollte (wobei da noch ein zweites ist, was du vergessen hast 😉 ). Ideal wäre die Lösung das Attribut per Filter oder Parameter schnell hinzufügen zu können.
Falkenauge, du. Und Weltverbesserer! 😉
Ich kann es nicht lassen … also beides. 🙂