WordPress-Auszüge aus Inhalten generieren: Definition, Bedeutung und Funktionsweise
Das Generieren von Auszügen aus Inhalten in WordPress ist der Prozess, bei dem automatisch oder manuell kurze Zusammenfassungen von Blogbeiträgen, Seiten oder benutzerdefinierten Inhaltstypen erstellt werden. Ein Auszug (Excerpt) ist typischerweise ein Text von 55 bis 150 Wörtern, der den Hauptinhalt eines Beitrags zusammenfasst und an verschiedenen Stellen der Website angezeigt wird – in Archiven, auf der Startseite, in Suchergebnissen oder in RSS-Feeds.
WordPress bietet drei grundlegende Methoden zum Arbeiten mit Auszügen: die manuelle Eingabe durch den Autor, die automatische Generierung aus dem Beitragsinhalt und die programmgesteuerte Erstellung durch benutzerdefinierte Funktionen oder Plugins. Jede Methode hat unterschiedliche Anwendungsfälle und Auswirkungen auf die Benutzerfreundlichkeit, SEO und die Lesererfahrung.
Warum Auszüge in WordPress wichtig sind
Auszüge erfüllen mehrere kritische Funktionen in einer WordPress-Website:
- Verbesserte Lesbarkeit: Besucher können schnell erfassen, worum es in einem Beitrag geht, ohne den gesamten Text lesen zu müssen. Dies ist besonders wichtig auf Archivseiten oder bei der Anzeige mehrerer Beiträge nebeneinander.
- SEO-Optimierung: Auszüge können in Meta-Beschreibungen verwendet werden, die in Suchmaschinenergebnissen angezeigt werden. Eine gut formulierte Meta-Beschreibung erhöht die Klickrate (CTR) aus den Suchergebnissen.
- RSS-Feed-Verwaltung: RSS-Reader zeigen häufig nur Auszüge an. Dies ermöglicht es Website-Besitzern, Besucher auf ihre Website zu lenken, anstatt den gesamten Inhalt im Feed anzuzeigen.
- Konsistente Darstellung: Manuelle Auszüge ermöglichen eine konsistente Länge und Qualität über alle Beiträge hinweg, was zu einem professionelleren Erscheinungsbild führt.
- Kontrollierte Vorschau: Autoren können genau kontrollieren, welche Informationen als erste Vorschau des Beitrags angezeigt werden, anstatt sich auf einen automatisch abgeschnittenen Text zu verlassen.
Wie WordPress Auszüge speichert und abruft
In der WordPress-Datenbank wird jeder Beitrag in der Tabelle wp_posts gespeichert, die mehrere Spalten enthält. Die relevanten Spalten für Auszüge sind:
post_excerpt– Speichert den manuell eingegebenen Auszugpost_content– Speichert den vollständigen Beitragsinhalt
Wenn ein Autor einen Auszug manuell eingibt, wird dieser Text direkt in der post_excerpt-Spalte gespeichert. Wenn kein manueller Auszug vorhanden ist, kann WordPress automatisch einen aus post_content generieren, indem die ersten 55 Wörter extrahiert werden (dies ist die WordPress-Standardeinstellung, kann aber angepasst werden).
Die Funktion get_the_excerpt() ist die primäre Methode zum Abrufen eines Auszugs. Sie funktioniert nach folgendem Algorithmus:
- Prüft, ob ein manueller Auszug in
post_excerptvorhanden ist - Wenn ja, gibt sie diesen zurück
- Wenn nein, generiert sie automatisch einen Auszug aus
post_content - Wendet Filter und Hooks an, die es Plugins und Themes ermöglichen, den Auszug zu ändern
Die Unterscheidung zwischen automatischer und manueller Generierung
Manuelle Auszüge werden vom Autor im WordPress-Editor eingegeben. Im klassischen Editor gibt es ein separates Feld „Auszug" unterhalb des Inhaltseditors. Im Block-Editor (Gutenberg) befindet sich das Auszugs-Feld in der Seitenleiste unter „Dokument" oder kann über die Dokumenteinstellungen aktiviert werden. Manuelle Auszüge bieten maximale Kontrolle und Qualität, erfordern aber zusätzliche Arbeit vom Autor.
Automatische Auszüge werden von WordPress generiert, wenn kein manueller Auszug vorhanden ist. Die Funktion wp_trim_excerpt() führt diesen Prozess durch. Sie extrahiert die ersten 55 Wörter aus dem Beitragsinhalt, entfernt HTML-Tags, Shortcodes und andere Formatierungen und fügt am Ende „..." hinzu. Diese Methode ist zeitsparend, kann aber zu abgehackten oder unlogischen Zusammenfassungen führen, besonders wenn der Beitrag mit Bildern, Videos oder Shortcodes beginnt.
Technische Architektur der Auszugsgenerierung
Die WordPress-Kernfunktionen, die an der Auszugsgenerierung beteiligt sind, arbeiten zusammen in einer spezifischen Reihenfolge:
get_the_excerpt() ist der Einstiegspunkt. Diese Funktion prüft, ob ein Auszug existiert, und ruft dann wp_trim_excerpt() auf, wenn nötig. Vor der Rückgabe wendet sie den Filter get_the_excerpt an, was es Plugins ermöglicht, den Auszug zu ändern.
wp_trim_excerpt() führt die eigentliche Kürzung durch. Sie entfernt alle HTML-Tags mit strip_tags(), ersetzt mehrfache Leerzeichen durch einzelne, teilt den Text in Wörter auf und begrenzt die Anzahl auf die konfigurierte Länge (standardmäßig 55 Wörter). Die Funktion wendet auch den Filter excerpt_length an, um die maximale Wortanzahl anzupassen, und den Filter excerpt_more, um den Text am Ende hinzuzufügen.
Der Filter the_excerpt wird angewendet, nachdem der Auszug generiert wurde, aber bevor er angezeigt wird. Dies ermöglicht es Themes und Plugins, den endgültigen Auszug zu ändern, Absätze hinzuzufügen oder andere Formatierungen vorzunehmen.
Praktische Implementierung in Themes und Plugins
Um Auszüge in einem Theme anzuzeigen, wird typischerweise die Funktion the_excerpt() oder get_the_excerpt() verwendet. the_excerpt() gibt den Auszug direkt aus, während get_the_excerpt() ihn als Zeichenkette zurückgibt, die dann weiterverarbeitet werden kann.
Ein einfaches Beispiel in einer Template-Datei:
<?php the_excerpt(); ?>
Dies gibt den Auszug mit automatischer Absatzformatierung und angewendeten Filtern aus. Um den Auszug zu erhalten, ohne ihn auszugeben:
<?php $excerpt = get_the_excerpt(); echo $excerpt; ?>
Plugins können die Auszugsgenerierung anpassen, indem sie Filter verwenden. Beispielsweise kann ein Plugin die maximale Auszugslänge ändern:
add_filter( 'excerpt_length', function() { return 30; } );
Oder den Text am Ende des Auszugs ändern:
add_filter( 'excerpt_more', function() { return ' <a href="' . get_permalink() . '">Mehr lesen</a>'; } );
Einschränkungen der automatischen Auszugsgenerierung
Die automatische Auszugsgenerierung in WordPress hat mehrere bekannte Einschränkungen, die es wichtig machen, die Funktionsweise zu verstehen:
- Verlust von Formatierung: HTML-Tags werden entfernt, was bedeutet, dass Fettdruck, Kursivschrift oder Links verloren gehen.
- Shortcodes werden ignoriert: Wenn ein Beitrag mit einem Shortcode beginnt (z. B. ein Galerie-Shortcode), wird dieser entfernt und der Auszug beginnt mit dem nächsten verfügbaren Text.
- Abgehackte Sätze: Da WordPress nach Wörtern zählt, nicht nach Sätzen, kann der Auszug mitten in einem Satz enden.
- Keine semantische Analyse: WordPress versteht nicht, worum es im Beitrag geht. Es extrahiert einfach die ersten Wörter.
- Probleme mit benutzerdefinierten Feldtypen: Wenn der Beitrag mit benutzerdefinierten Feldern, Metaboxen oder Blöcken beginnt, können diese den automatischen Auszug beeinflussen.
Aus diesen Gründen wird für professionelle WordPress-Websites empfohlen, manuelle Auszüge zu verwenden oder ein Plugin zu implementieren, das intelligentere Auszugsgenerierung bietet.
Unterschied zwischen Auszug und Zusammenfassung
Es ist wichtig, zwischen einem WordPress-Auszug und einer Zusammenfassung zu unterscheiden. Ein Auszug ist eine kurze, vom System verwaltete Vorschau, die an verschiedenen Stellen der Website angezeigt wird. Eine Zusammenfassung ist ein längerer, beschreibender Text, der manchmal manuell erstellt wird und mehr Kontext bietet. In WordPress werden beide Konzepte oft mit der gleichen Funktionalität implementiert, aber die Unterscheidung ist konzeptionell wichtig.
Schritt-für-Schritt-Strategien zur Auszugsgenerierung in WordPress
Die automatische Generierung von Auszügen aus Inhalten erfordert ein strukturiertes Verständnis der verfügbaren Methoden und deren praktischen Anwendung. WordPress bietet mehrere Wege, um Auszüge zu erzeugen, wobei jeder Ansatz unterschiedliche Anforderungen und technische Komplexität mit sich bringt.
Automatische Auszugsgenerierung durch WordPress-Kernfunktionalität
WordPress schneidet automatisch Inhalte ab, wenn kein manueller Auszug vorhanden ist. Dieser Prozess verwendet die Funktion wp_trim_words(), die standardmäßig die ersten 55 Wörter extrahiert. Um diese Standardfunktionalität zu nutzen, müssen Sie zunächst sicherstellen, dass Ihre Theme-Datei post_excerpt in der add_theme_support()-Funktion aktiviert hat.
Der grundlegende Implementierungsschritt beginnt in der functions.php-Datei Ihres Child-Themes oder eines Custom-Plugins:
- Öffnen Sie die Theme-Datei functions.php
- Fügen Sie add_theme_support( 'post-excerpts' ) hinzu, falls nicht bereits vorhanden
- Bestätigen Sie, dass die Datei single.php oder relevante Template-Dateien the_excerpt() aufrufen
- Testen Sie das Frontend, um zu überprüfen, dass Auszüge angezeigt werden
Die automatische Kürzung erfolgt durch den WordPress-Filter excerpt_length. Um die Wortanzahl anzupassen, verwenden Sie einen Custom-Filter:
Dieser Filter verändert die Standardanzahl von 55 auf die gewünschte Wortanzahl. Die Funktion wp_trim_words() berücksichtigt dabei nur echte Wörter und entfernt automatisch HTML-Tags aus dem ursprünglichen Inhalt.
Manuelle Auszugserstellung versus automatische Generierung
Während die automatische Generierung effizient ist, bietet die manuelle Auszugserstellung mehr Kontrolle über die Nachricht, die Leser erhalten. Die Strategie sollte beide Methoden kombinieren:
| Aspekt | Automatische Generierung | Manuelle Erstellung |
|---|---|---|
| Zeitaufwand | Keine zusätzliche Zeit erforderlich | Erfordert redaktionelle Arbeit |
| Qualität und Relevanz | Abhängig von Anfangssätzen | Optimiert für Zielgruppe |
| SEO-Kontrolle | Begrenzte Keyword-Platzierung | Vollständige Kontrolle |
| Skalierbarkeit | Ideal für große Inhaltsmengen | Nicht skalierbar bei vielen Beiträgen |
| Benutzerfreundlichkeit | Keine zusätzlichen Schritte im Editor | Zusätzliches Feld im Beitragseditor |
Die optimale Strategie besteht darin, automatische Generierung als Fallback zu verwenden und gleichzeitig Redakteuren die Möglichkeit zu geben, manuelle Auszüge für wichtige Beiträge zu erstellen. Dies erreichen Sie durch einen bedingten Filter, der zuerst auf einen manuellen Auszug prüft.
Auszugsfeld im WordPress-Editor aktivieren
Das Auszugsfeld ist in modernen WordPress-Versionen standardmäßig verborgen. Um es für Redakteure verfügbar zu machen, müssen Sie die Anzeigeoptionen konfigurieren:
- Öffnen Sie einen Beitragseditor im WordPress-Dashboard
- Klicken Sie auf die Schaltfläche Optionen in der oberen rechten Ecke (drei Punkte)
- Wählen Sie Einstellungen oder Ansicht
- Aktivieren Sie das Kontrollkästchen neben Auszug
- Das Feld erscheint nun unterhalb des Inhaltseditors
Für Seiten (Pages) ist das Auszugsfeld standardmäßig deaktiviert. Um es zu aktivieren, verwenden Sie einen Code-Snippet in der functions.php:
Dieser Code registriert das Auszugsfeld für den Post-Typ page und macht es im Editor verfügbar.
Programmatische Auszugsgenerierung mit Filtern
WordPress bietet mehrere Hooks, um die Auszugsgenerierung anzupassen. Der get_the_excerpt-Filter ermöglicht es, den generierten oder manuellen Auszug zu modifizieren, bevor er angezeigt wird:
Dieser Filter wird auf jeden Auszug angewendet, unabhängig davon, ob er manuell erstellt oder automatisch generiert wurde. Dies ermöglicht globale Anpassungen wie das Hinzufügen von Call-to-Action-Elementen oder das Entfernen spezifischer Wörter.
Der excerpt_more-Filter kontrolliert den Text, der am Ende eines verkürzten Auszugs angezeigt wird (standardmäßig „[...]"):
Dieser Ansatz ist nützlich, um die Benutzerführung zu verbessern und Leser zum Klicken auf den vollständigen Beitrag zu ermutigen.
Auszüge aus Custom Post Types generieren
Wenn Sie Custom Post Types verwenden, müssen Sie explizit Auszugsunterstützung aktivieren. Dies geschieht bei der Registrierung des Post Types:
Das Argument 'supports' => array( 'excerpt' ) aktiviert das Auszugsfeld für den Custom Post Type. Ohne diese Konfiguration ist das Feld nicht im Editor verfügbar und the_excerpt() gibt keinen Inhalt zurück.
HTML-Tags und Formatierung in Auszügen verwalten
WordPress entfernt automatisch alle HTML-Tags aus Auszügen, wenn Sie the_excerpt() verwenden. Dies kann zu Formatierungsverlust führen, wenn Ihr Inhalt spezifische Hervorhebungen enthält. Um bestimmte Tags zu bewahren, verwenden Sie einen Custom-Filter:
Dieser Filter erlaubt <strong>, <em> und <a>-Tags im Auszug, während andere HTML-Elemente entfernt werden. Dies ist besonders nützlich, wenn Sie wichtige Begriffe oder Links in Auszügen hervorheben möchten.
Häufige Fehler bei der Auszugsgenerierung und deren Vermeidung
Mehrere Fehler können die Qualität und Funktionalität von Auszügen beeinträchtigen. Das Verständnis dieser Probleme und ihrer Lösungen ist entscheidend für eine erfolgreiche Implementierung.
Fehler 1: Verwirrung zwischen the_excerpt() und the_content()
Das Problem: Entwickler verwenden häufig the_content() statt the_excerpt() in Loop-Kontexten, was zu übermäßig langen Inhalten auf Archiv- oder Indexseiten führt.
Die Lösung: Verwenden Sie the_excerpt() für Archivseiten, Suchergebnisse und Indexseiten. Reservieren Sie the_content() für Einzelbeitragseiten. Dies verbessert nicht nur die Benutzerfreundlichkeit, sondern auch die Seitenladgeschwindigkeit.
Fehler 2: Auszugsfeld nicht für Seiten aktiviert
Das Problem: Viele Entwickler vergessen, dass das Auszugsfeld für Seiten (Pages) standardmäßig deaktiviert ist. Sie versuchen dann, the_excerpt() auf Seiten zu verwenden, erhalten aber keinen Output.
Die Lösung: Aktivieren Sie explizit Auszugsunterstützung für Seiten durch add_post_type_support( 'page', 'excerpt' ) in der functions.php-Datei.
Fehler 3: Zu kurze oder zu lange Auszüge
Das Problem: Die Standardlänge von 55 Wörtern ist nicht für alle Websites geeignet. Zu kurze Auszüge geben nicht genug Kontext, während zu lange Auszüge den Zweck verfehlen.
Die Lösung: Testen Sie verschiedene Wortlängen und messen Sie die Auswirkungen auf Click-Through-Rates. Eine Länge von 20-30 Wörtern ist oft optimal für Social-Media-Feeds, während 55-100 Wörter für Archivseiten besser geeignet sind. Verwenden Sie bedingte Filter, um unterschiedliche Längen für verschiedene Kontexte zu setzen.
Fehler 4: Unerwünschte Shortcodes in Auszügen
Das Problem: Wenn Ihr Inhalt Shortcodes enthält, werden diese in Auszügen als Text angezeigt oder verursachen Formatierungsprobleme.
Die Lösung: Verwenden Sie den excerpt_more-Filter in Kombination mit do_shortcode(), um Shortcodes zu verarbeiten, oder filtern Sie sie aus:
Dieser Code entfernt alle Shortcodes aus dem Auszug, bevor er angezeigt wird.
Fehler 5: Keine Unterscheidung zwischen manuellen und automatischen Auszügen
Das Problem: Entwickler behandeln alle Auszüge gleich, obwohl manuelle Auszüge oft bessere Qualität haben und bevorzugt werden sollten.
Die Lösung: Verwenden Sie $post->post_excerpt, um zu überprüfen, ob ein manueller Auszug vorhanden ist, und passen Sie die Anzeige entsprechend an:
Dieser Ansatz ermöglicht es, manuelle Auszüge hervorzuheben oder unterschiedlich zu formatieren.
Fehler 6: Auszüge in Feeds nicht optimiert
Das Problem: RSS-Feeds verwenden standardmäßig automatisch generierte Auszüge, was zu abgehackten oder irrelevanten Snippets führt.
Die Lösung: Verwenden Sie den the_excerpt_rss-Filter, um Feed-Auszüge zu optimieren:
Dies stellt sicher, dass RSS-Leser relevante und gut formatierte Auszüge erhalten.
Performance-Überlegungen bei der Auszugsgenerierung
Die automatische Auszugsgenerierung kann bei Websites mit Tausenden von Beiträgen zu Performance-Problemen führen. Die Funktion wp_trim_words() wird bei jeder Anfrage ausgeführt, wenn kein manueller Auszug vorhanden ist.
Um Performance zu optimieren, sollten Sie Auszüge cachen. WordPress speichert Auszüge in der Datenbank, aber dynamisch generierte Auszüge werden nicht gecacht. Verwenden Sie einen Caching-Plugin oder implementieren Sie manuelles Caching:
Dieser Code speichert den generierten Auszug in einer Transient, um wiederholte Verarbeitung zu vermeiden.
Auszüge in verschiedenen Kontexten anpassen
Unterschiedliche Seiten erfordern unterschiedliche Auszugslängen und -formate. Eine Homepage könnte längere, aussagekräftige Auszüge benötigen, während eine Suchergebnisseite kürzere Snippets bevorzugt.
Implementieren Sie kontextabhängige Filter:
Dieser Code passt die Auszugslänge basierend auf der aktuellen Seite an, was eine bessere Benutzererfahrung in verschiedenen Kontexten bietet.
Testing und Qualitätssicherung
Bevor Sie Ihre Auszugskonfiguration in Produktion gehen, sollten Sie mehrere Szenarien testen:
- Beiträge mit manuellen Auszügen anzeigen und überprüfen, dass sie korrekt angezeigt werden
- Beiträge ohne manuelle Auszüge prüfen, um sicherzustellen, dass automatische Generierung funktioniert
- Beiträge mit Shortcodes, Bildern und anderen Media-Elementen testen
- Verschiedene Bildschirmgrößen überprüfen, um sicherzustellen, dass Auszüge responsiv angezeigt werden
- RSS-Feeds validieren, um sicherzustellen, dass Auszüge korrekt exportiert werden
- Performance-Tests durchführen, besonders bei Websites mit vielen Beiträgen