Webdesign, WordPress Programmierung, Online und Social Media Marketing - Dienstleistungen & Blog
Da ich persönlich kein SEO Plugin in meinen Blogs benutze, muss ich für die notwendigen Dinge auf WordPress Funktionen oder eigens programmierte Lösungen zurückgreifen. So auch für die Meta Description und die Meta Keywords. Für beide greife ich auf die benutzerdefinierten Felder von WordPress zurück. Ein entsprechendes benutzerdefiniertes Feld ist schnell erstellt und auch recht einfach in den Theme Dateien individuell abrufbar. So kann ich bei jedem Artikel eine eigene individuelle Meta Description sowie auch die entsprechenden Meta Keywords eingeben.
Doch dies alleine ist keine Allroundlösung, da man nicht unbedingt für alle Artikel die Meta Description manuell erstellen möchte. Also muss noch ein Zusatz her, die Meta Description automatisch aus dem Artikel Content erstellt, sofern keine eigene Meta Description über das entsprechende benutzerdefinierte Feld vorhanden ist.
Als erstes lege ich die beiden benutzerdefinierten Felder in WordPress in einem meiner Artikel an. Diese nenne ich description und keywords.
Um diese benutzerdefinierten Felder für die Meta Description und Meta Keywords im Quelltext auszugeben, muss die header.php des Themes an der gewünschten Stelle im Head-Bereich (zwischen <head> und </head>) angepasst werden.
Benutzerdefiniertes Feld description als Meta Description ausgeben:
<?php if ( is_single() ) {
$my_own_desc = get_post_meta($post->ID, 'description', true);
if ( $my_own_desc != '') { ?>
<meta name="description" content="<?php echo $my_own_desc; ?>" />
<?php } } ?>
Mit diesem Code oben spreche ich erst die einzelnen Artikel an, hole dann den Inhalt des benutzerdefinierten Feldes description und wenn dies gefüllt ist, gebe ich die entsprechende Meta Description aus.
Automatische Meta Description, falls das benutzerdefinierte Feld nicht gefüllt ist:
Nun brauche ich aber noch die automatische Generierung der Meta Description aus meinem Content, sollte das benutzerdefinierte Feld description nicht gefüllt sein. Damit erweitert sich mein Code oben wie folgt:
<?php if ( is_single() ) {
$my_own_desc = get_post_meta($post->ID, 'description', true);
if ( $my_own_desc != '') { ?>
<meta name="description" content="<?php echo $my_own_desc; ?>" />
<?php } else {
global $wp_query;
$zg_post_ID = $wp_query->post->ID;
$zg_post_query = new WP_Query('p=' . $zg_post_ID . '');
while ($zg_post_query->have_posts()) : $zg_post_query->the_post();
if ($zg_post_ID== get_the_ID()) {
$desc = strip_tags(get_the_excerpt()); ?>
<meta name="description" content="<?php echo substr($desc,0,strpos($desc,".",160)+1); ?>" />
<?php } endwhile; } } ?>
Hier prüfe ich erst das Vorhandensein des benutzerdefinierten Feldes description. Falls es da ist, wird aus diesem Inhalt die Meta Description geniert. Falls dieses Feld nicht gefüllt wurde hole ich the_excerpt des entsprechenden Artikels und gebe den ersten Teil (ca. 160 Zeichen) als Meta Description aus.
Das benutzterdefinierte Feld für die Meta Keywords mit ausgeben:
Jetzt brauche ich noch eine ähnliche Lösung für die Meta Keywords. Diese sollen aber nur ausgegeben werden, wenn das benutzerdefinierte Feld keywords gefüllt wurde. Falls ich dieses nicht verwende, soll im Quelltext auch nichts ausgegeben werden. Damit verlängert sich mein Code noch einmal um 4 Zeilen und sieht dann in der Gänze wie folgt aus:
<?php if ( is_single() ) {
$my_own_desc = get_post_meta($post->ID, 'description', true);
if ( $my_own_desc != '') { ?>
<meta name="description" content="<?php echo $my_own_desc; ?>" />
<?php } else {
global $wp_query;
$zg_post_ID = $wp_query->post->ID;
$zg_post_query = new WP_Query('p=' . $zg_post_ID . '');
while ($zg_post_query->have_posts()) : $zg_post_query->the_post();
if ($zg_post_ID== get_the_ID()) {
$desc = strip_tags(get_the_excerpt()); ?>
<meta name="description" content="<?php echo substr($desc,0,strpos($desc,".",160)+1); ?>" />
<?php } endwhile; }
$my_keys = get_post_meta($post->ID, 'keywords', true);
if ($my_keys != '') { ?>
<meta name="keywords" content="<?php echo $my_keys; ?>" />
<?php } } ?>
Mit dem letzten Code Snippet im Head Bereich meines Themes kann ich über die benutzerdefinierten Felder von WordPress in jedem einzelnen Artikel die Meta Description und Meta Keywords manuell eingeben, oder aber, sollte ich dies nicht tun, wird die Meta Description automatisch aus dem Content meines Artikels generiert.
Das wichtigste ist in meinen Augen die Meta Description. Zumindest sollte sie vorhanden sein. Da der Inhalt der Meta Description – sofern Google willig ist – als beschreibender Text bei den Suchergebnissen ausgegeben wird, halte ich es für besonders wichtig, diesen für den Suchenden interessant zu gestalten. Abgesehen davon kann eine ordentliche Meta Description durchaus auch für bessere Rankings sorgen. So sollte ein jeder, dem die Besucher aus der Suchmaschine wichtig sind, ein besonders Augenmerk auf den Text der Meta Description legen.
Wer übrigens die Meta Description fast ausschließlich nur automatisch generieren lässt (wovon ich aus den oben genannten Gründen aber eher abraten würde), sollte hin und wieder in die HTML Vorschläge der Webmaster Tools sehen. Es könnten hin und wieder mal “kleine Fehler” (zu kurze, zu lange oder doppelte Metabeschreibungen) bei der automatischen Generierung passieren.
Wer diese Lösung statt in den Artikeln oder zusätzlich auf Seiten haben möchte, braucht ganz einfach nur die erste Zeile im gewünschten Code, mit dem WordPress Conditional Tag <?php if ( is_single() ) { entsprechend zu gestalten.
Für Seiten alleine wäre dies <?php if ( is_page() ) {
für Artikel und Seiten gemeinsam <?php if ( is_single() || is_page() ) {
Untertitel für die WordPress Artikel und RSS Feeds – Subtitle ohne Plugin - Vor einiger Zeit schrieb Piet über ein sehr interessantes Plugin, mit welchem man seine Blogartikel mit Untertiteln versehen kann. Aber nicht nur für die Artikel gibt es Untertitel, sondern auch [...]
WordPress Artikelbild als Bild zum Link in Google Plus ausgeben - Wie kriege ich Google Plus dazu mein WordPress Artikelbild als Bild zu meinem Link auszugeben? Eine Frage mit der ich mich 2 Tage beschäftigte, denn Google Plus wollte meine Artikelbilder, [...]
WordPress: Meist kommentierte Artikel ohne Plugin anzeigen - Wer die meist kommentierten Artikel – most commented posts – in seinem WordPress Blog anzeigen möchte, greift in der Regel auf eines der vielen Plugins zurück. Ein Plugin braucht es [...]
Random Posts – zufällig ausgewählte Artikel ohne Plugin anzeigen - Eine Version für die Verbesserung der internen Verlinkung ist die Anzeige von zufällig ausgewählten Artikeln – random posts – in der Sidebar des Blogs. Um die random posts anzeigen zu [...]
Letzte Kommentare ohne WordPress Plugin oder Widget anzeigen - Letzte Kommentare können in WordPress über das Standard-Widget angezeigt werden. Es gibt aber auch das eine oder andere Plugin für die letzten bzw. neuesten Kommentare. Für alles, was halbwegs ordentlich [...]