WordPress: Rich Snippet Tester bringt „missing required field updated“

Ich habe kürzlich meinen Blog mit entsprechenden Autor-Informationen ausgestattet, um in den Google-Suchergebnissen mit Bild und Namen aufzutauchen. Wer weiß, vielleicht spielt das ja irgendwann mal irgendeine Rolle^^ Man kann nie wissen.

Fakt ist, dass ich, um zu testen ob es funktioniert, das sogenannte „Test-Tool für strukturierte Daten“ ausprobiert habe (engl. rich snippet test). Soweit war da auch alles ok, nur ein Feld hat gefehlt und zwar „updated“. Ein kurzes Googleln brachte die Erkenntnis, dass Google ein Feld erwartet in dem steht, wann der entsprechende Beitrag das letzte mal geändert wurde. Möchte man einfach nur diesen ärgerlichen Fehler beseitigen, kann man einfach die Erstellungszeit mit als Zeit auszeichnen, an der zuletzt upgedated wurde. Wie das funktioniert wird hier beschrieben. Aber ich dachte mir: Das muss auch schöner gehen!

Zuerst muss man herausfinden, an welcher Stelle die Meta-Informationen der Beiträge generiert werden. Im oben verlinkten Artikel ist das in der functions.php der Fall. Beim Theme twentyfourteen ist das aber nicht so. Deshalb hab ich nach einer Zeichenkette gesucht, die ich kannte:

$ cd /pfad/zum/theme/
$ grep -rl "<span class="entry-date">" *
image.php
inc/template-tags.php
inc/widgets.php

Die Suche ergab 3 Dateien; die erste und die letzte kann man aber ausschließen. Also muss man in der Datei inc/template-tags.php suchen:

<?php // Set up and print post meta information. printf( '<span class="entry-date"> <a href="%1$s" rel="bookmark"><time class="entry-date" datetime="%2$s">%3$s</time></a> </span> <span class="byline"> <span class="author vcard"><a class="url fn n" href="%4$s" rel="author">%5$s</a></span> </span>', esc_url( get_permalink() ), esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), get_the_author() ); ?> weiterlesen