Nichts ist so alt wie die Zeitung von gestern. Das gilt nicht nur Printmedien, sondern auch für Websites: Um langfristig gute Platzierungen in den Suchmaschinen zu bekommen und eine relevante Quelle für Deine Leser zu bleiben, musst Du aktuelle Inhalte bieten.
Der Haken: Das Aktualisieren selbst ist kein Problem. Die meisten WordPress-Themes zeigen allerdings nicht an, dass der Artikel auf den neuesten Stand gebracht wurde. Wenn Du es dabei belässt, vertust Du eine große Chance.
Weshalb solltest Du Deine Seite aktualisieren?
Gründe, Deine Artikel zu aktualisieren, gibt es viele: Google liebt frischen Content und aktuelle Seiten. Eine nachträgliche Überarbeitung eines Textes ist deshalb durchaus positiv. Denn Google möchte den Nutzern möglichst aktuelle Ergebnisse liefern und keine veralteten Blogbeiträge.
Manchmal sind Inhalte auch so veraltet, dass sie schlichtweg falsch sind. Dann müssen sie natürlich auch auf den neuesten Stand gebracht werden. Auch, wenn Du feststellst, dass Du unbeabsichtigt eine falsche Information verwendet hast, sollte dies verbessert werden.
Und nicht zuletzt sind Korrekturen und Anpassungen immer ein Grund, einen Inhalt zu aktualisieren: Korrigierte Rechtschreibfehler oder eine Anpassung für einen neuen Stil im Blog sind nur zwei Beispiele.
Wie gibst Du die Aktualisierung am besten an?
Bei den meisten Themes erscheint unterhalb des Artikeltitels die Datumsangabe, wann der Artikel ursprünglich veröffentlicht wurde:
Die beste Möglichkeit, solche Aktualisierungen anzugeben, besteht in einem doppelten Datum: Das Erstellungsdatum zeigt Seitenbesuchern an, wann die Ursprungsform des Artikel verfasst wurde. Das Änderungsdatum ist ein Hinweis darauf, dass der Inhalt noch immer aktuell ist.
Um gerade bei größeren Seiten nicht alles manuell eingeben zu müssen, empfiehlt sich zudem eine automatische Ausgabe des Änderungsdatums. Du kannst Dich dabei zwischen verschiedenen Varianten entscheiden: Einer vollautomatischen Ausgabe oder einem Shortcode, den zu manuell in den geänderten Inhalt einfügst.
Änderungsdatum automatisiert angeben
Dies ist die einfachste und zeitsparendste Methode. Dir stehen zwei Möglichkeiten zur Verfügung, dies umzusetzen: Das Datum vor dem Content ausgeben oder es in der Template-Datei einfügen.
Automatisch vor dem Content anzeigen
Hier wird einfach vor dem eigentlichen Text ein kurzer Hinweis auf die Aktualisierung vorangestellt:
Indem Du einen entsprechenden Code in die functions.php
einfügst, läuft alles weitere vollautomatisch ab. Sofern eine Aktualisierung vorliegt, wird das Änderungsdatum über dem Artikel eingefügt. Innerhalb des Codes kannst Du auch angeben, dass die Änderung älter als z. B. 24 Stunden sein soll. So kannst Du nach der Veröffentlichung noch kleinere Anpassungen vornehmen, ohne dass dies als Update gewertet wird.
Dies ist der Code für Deine functions.php
:
// Änderungsdatum einfügen function wp_change_date($content) { if (is_single() && get_post_type() == 'post') { $article_made = get_the_date('U'); $article_updated = get_post_modified_time('U'); // Nur anzeigen, wenn Aktualisierung nach mehr als drei Tagen erfolgte if (($article_updated - $article_made) > 259200) { $content = 'Artikel aktualisiert am ' . get_the_modified_date('d.m.Y') . $content; } } return $content; } add_filter('the_content', 'wp_change_date');
Folgende Variablen kannst du für Deine Zwecke anpassen:
$content
: Den Text zwischen den Apostroph kannst Du anpassen, z.B. in 'Update: 'get_the_modified_date('d.m.Y')
: Mit den Variablen zwischen den Apostroph in der Klammer steuerst Du die Art wie das Datum ausgegeben wird. Mehr dazu in unserem Artikel WordPress Datums- und Zeitformat einstellen.if (($artikel_aktualisiert - $artikel_erstellt) > 86400)
: die Zahl am Ende sind die Sekunden, die mindestens zwischen der Veröffentlichung und der Veränderung des Artikels vergangen sein müssen, damit ein Aktualisierungsdatum angezeigt wird. Dabei entspricht 24 x 60 x 60 x 3 = 259200 Sekunden also drei Tagen. Soll es nur mindestens ein Tag sein, müsste die Zahl 24 x 60 x 60 = 86400 lauten.
Automatisch in der Template-Datei einfügen
Diese Möglichkeit ähnelt der vorherigen sehr. Der Unterschied besteht darin, dass Du die Stelle, an welcher das Datum eingefügt wird, frei in der Template-Datei auswählst. Das ist allerdings etwas anspruchsvoller und Du solltest Dich schon ein wenig mit den Template Dateien eines Themes auskennen. Dafür musst Du zwei Dateien Deiner WordPress-Installation ändern.
Füge dafür diesen Code in die functions.php
Datei Deines Themes ein:
// Änderungsdatum einfügen function wp_change_date() { $article_made = get_the_date('U'); $article_updated = get_post_modified_time('U'); // Nur anzeigen, wenn Aktualisierung nach mehr als drei Tagen erfolgte if (($article_updated - $article_made) > 259200) { echo 'Aktualisiert am ' . get_the_modified_date('d.m.Y'); } }
Dann erstellst Du für das passende Template Deines Themes, in der Regel ist dies die single.php
, eine Kopie in dem Child Theme Ordner und fügst Du nun an der gewünschten Stelle diese Zeile ein:
<?php echo wp_change_date(); ?>
Dadurch kannst Du kontrollieren, wo das Änderungsdatum erscheinen soll.
Änderungsdatum manuell per Shortcode eingeben
Wenn Du mehr Kontrolle darüber bewahren möchtest, in welchen Artikeln das Änderungsdatum ausgegeben wird, ist das Einfügen per Shortcode eine gute Alternative. Dafür fügst Du wieder einen entsprechenden Code in die functions.php
ein:
// Änderungsdatum Shortcode function wp_change_date() { $article_made = get_the_date('U'); $article_updated = get_post_modified_time('U'); // Nur anzeigen, wenn Aktualisierung nach mehr als drei Tagen erfolgte if (($article_updated - $article_made) > 259200) { $str = 'Aktualisiert am ' . get_the_modified_date('d.m.Y'); } return $str; } add_shortcode( 'aenderungsdatum', 'wp_change_date' );
Anschließend kannst Du dem Shortcode [aenderungsdatum] das Datum genau dort einfügen, wo Du es möchtest. Allerdings setzt diese Option voraus, dass Du daran denkst den Shortcode zu nutzen, wenn Du einen Text aktualisierst.
Das Aktualisierungsdatum anstelle des Veröffentlichungsdatums anzeigen
Am professionellsten wirkt es meist, wenn die Anzeige des Aktualisierungsdatums genau an der Stelle stattfindet an der sonst das Veröffentlichungsdatum zu sehen ist:
Dafür füge folgenden Code in die functions.php
Datei Deines Themes ein:
function wp_change_date( $the_date ) { if ( 'post' === get_post_type() ) { $the_time = get_post_time( 'His' ); $the_modified = get_post_modified_time( 'His' ); $last_modified = sprintf( __( 'Aktualisiert am %s', 'Divi' ), esc_html( get_post_modified_time( 'd.m.Y' ) ) ); $date = $the_modified !== $the_time ? $last_modified : get_post_time( 'd.m.Y' ); return $date; } } add_action( 'get_the_date', 'wp_change_date' ); add_action( 'get_the_time', 'wp_change_date' );
Fazit: Änderungsdatum anzeigen lassen
Damit keiner Deiner Besucher denkt, dass die Informationen in Deinen Artikeln vielleicht mehrere Jahre alt und damit vermutlich falsch oder nicht mehr relevant sind, solltest Du unbedingt das Änderungsdatum Deiner Artikel anzeigen lassen.
Vielen Dank! Das letzte Code Snippet hat's gebracht.
Viele Grüße!
Servus Nils,
Zuerst vielen Dank für diesen Beitrag. Dein letzter Code (Aktualisierungsdatum anstelle des Veröffentlichungsdatums) funktioniert jedoch wird die folgende Zeile noch davor eingefügt:
Warning: A non-numeric value encountered in /.../htdocs/blog/wp-content/themes/generatepress/inc/structure/post-meta.php on line 167
Bitte um einen Tipp zur Korrektur.
Liebe Grüße!
Hallo Günter,
ich habe den besagten Code gerade nochmal mit dem Standard Theme Twenty Twenty getestet und hatte keinerlei Probleme. Meine Vermutung wäre, dass das Problem speziell in Verbindung mit dem offenbar von dir verwendeten Theme Generatepress auftritt. Das habe ich auf die Schnelle nicht testen können.
Allerdings habe ich über Google den Hinweis gefunden, dass Generatepress diese Funktion integriert hat und das Aktualisierungsdatum sowieso immer ausgibt. Dies wird normalerweise aber nicht angezeigt, sondern per CSS versteckt. Eine entsprechende Anpassung per CSS wird hier beschrieben How to show published and updated dates und hier findest du einen Weg wie du nur das Generatepress Aktualisierungsdatum per
functions.php
Eintrag anzeigen lassen kannst: generate_post_date_show_updated_onlyHerzlichen Dank für deine rasche und kompetente Hilfe! Klappt perfekt!
Schande über mich, weil ich das nicht selbst herausgefunden habe.
Liebe Grüße aus Wien und ein frohes Fest!
Günter
Das wünsche ich dir auch Günter!
PS: ... und vielleicht hilft das später ja noch anderen, die auf das gleiche Problem stoßen.
Allerdings... 👍