Sidebar
ein-/ausblenden

WP - RSSFeed mit CSS gestallten

Plugin für WordPress SEO

Anzeige

Der RSS-Feed ist ein wesentlicher Bestandteil von Blogs und auch immer mehr andere Seiten bieten diese Art der Information an. Über Sinn und Unsinn eines Feeds und ob er den gesamten Inhalt oder nur Auszüge enthalten soll, ist nicht Themas dieses Beitrags.
Fakt ist, wer einen Feed anbietet, muss sich im klaren sein, dass dieser auch durch Suchmaschinen idenziert wird. Er wird somit also zum Suchobjekt.
Kommt nur ein "Kombuterleihe" über eine Suchmaschine auf einen RSSFeed, also die reine XML-Datei, wird er diesen Code in den meisten Fällen wieder verlassen und die Seite nicht besuchen - er ist mit dem Code überfordert. Der Anwender wird sich eine andere Quelle zu seinem Suchbegriff zu Gemüte führen. Dies ist natürlich nicht im Sinne das Seitenbetreibers, der in der Regel die Daten ins Netz stellt, damit sie gelesen werden.

Nun, es gibt eine kleine Möglichkeit, den Leser darauf aufmerksam zu machen, in dem man den Feed mit eine wenig CSS so formatiert, dass er auch in einem Browser leserlich erscheint. Unter modernen Browsern, wie z.B. Mozillas Firefox, kann außerdem zusätzlicher Content hinzugefügt werden, in dem man den geneigten Leser darauf hinweist, dass er sich auf einem Feed befindet und doch besser die Website besuchen soll.

Screenshot RSSFeed mit CSS formatiert

Um das ganze auch mit WordPress zu realisieren, müssen allerdings die Dateien, welche die Feeds erstellen ein wenig verändert werden. Alle Dateien findet ihr im Root-Verzeichnis eures Blogs. Dort sollte auch eure Stylesheet für den RSS Feed liegen.
Eine ähnliche Art und Weise habe ich schon mal in dem Artikel "Image für den RSS-Feed" beschrieben, in dem unser RSSFeed mit einem Icon/ Image versehen wurde, damit der Feed in denn Readern besser identifiziert wird und damit ein wenig eindeutiger für den User ist.

Achtung:

Sicherheitskopien sind im Vorfeld anzufertigen !

Anleitung:

Ich erläutere das ganze mal an der Datei wp-rss.php, die sich auch im root-Verzeichnis von WP befindet. Dort muss der Code um eine Zeile erweitert werden, so dass der Verweis zum Stylesheet vorhanden ist.
Folgender Code muss bei den genannten Dateien hinzugefügt werden. Achtet darauf, dass ihr den Pfad zu eurem StyleSheet richtig angebt.


<?xml-stylesheet href="rss.css" type="text/css"?>

In der wp-rss.php sieht es dann folgendermaßen aus.


<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>
<?php echo '<?xml-stylesheet href="rss.css" type="text/css" ?>'; ?>
<!-- generator="wordpress/<?php echo $wp_version ?>" -->
<rss version="0.92">
<channel>
	<title>&lt;?php bloginfo_rss('name') ?&gt;</title>

Für den Feed Version 2.0 (wp-rss2.php) sieht es ähnlich aus. Auch dort muss der Verweis hinterlegt werden.


<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>
<?php echo '<?xml-stylesheet href="rss.css" type="text/css" ?>'; ?>

Als Stylesheet legt ihr eine CSS-Datei ab. In meinem Fall ist es die rss.css und liegt im Hauptverzeichnis. Ein Beispiel für eine einfache Formatierung und den Hinweis, dass sich der Leser auf einer XML-Datei, auf dem RSSFeed, befindet könnt ihr im folgender Area sehen. Dieses Stylesheet ist ausschließlich ausreichend für den RSS-Feed Version 0.9*. Da als Standard in den meisten Readern die Version 2* eingelesen wird und diese Version auch von den Suchmaschinen indiziert wird, müsst ihr diese ein wenig aufwändiger beabeiten. Dazu findet ihr ein Beispiel im zweiten Codearea.

Beispiel-Code für das Stylesheet zum Feed V0.9*:


rss {
display:block;
margin:10px;
padding: 10px 0;
font-size: 62.5%;
}

rss:before {
content:"\00BB  Sie befinden sich auf einem RSS-NewsFeed, nicht auf der Website. Bitte besuchen Sie die Website bueltge.de";
font-size: 2em;
color: red;
margin: 10px;
}

channel {
display:block;
background-color:#eee;
font-size: 1.2em;
font-family: Verdana, Arial, Helvetice, sans-serif;
padding: 5px 0;
}

item {
display: block;
padding:10px;
margin: 5px 0;
border-top:1px solid #CCC;
border-bottom:1px solid #CCC;
background-color: white;
}

channel>title, channel>description, channel>lastBuildDate {
display: block;
margin: 10px;
background-color: #eee;
color: #556B2F;
}

channel>lastBuildDate {
font-size: .8em;
}

channel>lastBuildDate:before {
content:"Letzte Aktualisierung: ";
}

channel>title {
font-size:1.6em;
font-weight:bold;
}

channel>description {
font-size:1em;
margin-bottom:10px;
font-weight:bold;
}

item>title {
font-weight:bold;
}

item>title:after {
content:" \00BB ";
}

item>link {
color: #556B2F;
font-size: .9em;
}

item>link:before {
content:"Link zum Beitrag: ";
color: black;
}

channel>link, channel>language, channel>docs, channel>image {
display: none;
}

Beispiel-Code für das Stylesheet zum Feed V2*:


rss {
display:block;
margin:10px;
padding: 10px 0;
font-size: 62.5%;
}

rss:before {
content:"\00BB  Sie befinden sich auf einem RSS-NewsFeed, nicht auf der Website. Bitte besuchen Sie die Website bueltge.de";
font-size: 2em;
color: red;
margin: 10px;
}

channel {
display:block;
background-color:#eee;
font-size: 1.2em;
font-family: Verdana, Arial, Helvetice, sans-serif;
padding: 5px 0;
}

item {
display: block;
padding:10px;
margin: 5px 0;
border-top:1px solid #CCC;
border-bottom:1px solid #CCC;
background-color: white;
}

channel>title, channel>description, channel>pubDate {
display: block;
margin: 10px;
background-color: #eee;
color: #556B2F;
}

channel>pubDate {
font-size: .8em;
}

channel>pubDate:before {
content:"Letzte Aktualisierung: ";
}

channel>title {
font-size: 1.6em;
font-weight: bold;
}

channel>description {
font-size: 1.1em;
margin-bottom: 10px;
font-weight: bold;
}

item {
font-size: 0px
}

item>title {
font-weight:bold;
font-size: 12px;
}

item>title:after {
content:" \00BB ";
}

item>link, item>pubDate, item>category {
color: #556B2F;
font-size: 11px;
}

item>link:before {
content:" Link zum Beitrag: ";
color: black;
}

item>pubDate:before {
color: black;
content:" erstellt am: ";
margin-left: 100%;
}

item>category:before {
color: black;
content:" in Kategorie: ";
}

item>description:before {
color: black;
font-weight:bold;
content:" \00BB ";
}

item>description {
font-size: 11px;
margin-left: 100%;
}

item>description:after {
color: black;
font-weight:bold;
content:" \00AB ";
}

channel>link, channel>generator, channel>language, channel>docs, channel>image {
display: none;
}

item>comments, item>guid {

display: none;
}

Weiterführende Links:

16 Kommentare und 5 Trackbacks zu „WP - RSSFeed mit CSS gestallten“

  1. 1
    Trackback von BloggingTom
  2. 2
    Kommentar von Thomas

    Interessanter Artikel - Mit dem CSS style ist es warscheinlich auch moeglich bilder zu formatieren. Wenn ich ein Bild in mein Artikel einfuege dann sieht das zwar gut im Artikel aus (Text laueft um Bild), aber im RSS funktioniert das nicht.

    Hast Du einen Vorschlag wie ich das machen koennte?

    Vielen Dank

  3. 3
    Kommentar von Frank Bültge

    Nein, so weit mir bekannt ist, kann man Links und Bilder nicht so einfach formatieren. Dafür ist RSS nciht gemacht. Es ist in dem Fall vielleicht sinnvoll, die Bilder zu deaktivieren - display: none.

  4. 4
    Kommentar von Thomas

    Vielen Dankk fuer die Antwort. Was muss ich in mein RSS feed einfuegen um die Bilder zu deaktivieren?

  5. 5
    Kommentar von Frank Bültge

    Hallo Thomas,
    habe mal meinen Feed (RSS V.2) geladen, unter FF, und kann das Problem nicht so richtig nach vollziehen. Die Bilder werden in meinem Fall garnicht gealden. Bekomme nur den Link zum Bild in Codeform. Aber prinzipiell sorgst du mit display: none für das Ausblenden von Bereichen.

    Tag, ID oder class {
    display: none;
    }

  6. 6
    Pingback von Basic Thinking Blog » CSS für RSS Feeds?
  7. 7
    Pingback von Mastblau RSS formatieren
  8. 8
    Kommentar von Markus

    Macht feedburner nicht so etwas auch?

    Naja, ansonsten natürlich total genial, da auch der Kommentarfeed ab und an in den Google-Ergebnisseiten auftaucht. Werde ich mal ausprobieren

  9. 9
    Kommentar von Frank Bültge

    Sowas macht Feedburder. Aber eben ein externe Applikation und keine lokale Geschichte.
    LG Frank

  10. 10
    Pingback von Links » Betamode
  11. 11
    Kommentar von Martin Hiegl

    Wie wär's mit nem Plugin, welches das macht? ;-)

  12. 12
    Kommentar von Frank Bültge

    Halte ich nicht für sonderlich sinnvoll, weil man ja doch die WP-Core-Dateien verändern muss nd der Aufwand ist eher klein im Bereich WP. Die Anpassung im CSS empfindet eh jeder anders und gestalltet sie auch anders. Und das ist ja die meiste Arbeit.
    LG Frank

  13. 13
    Kommentar von cay

    Hi, die RSS CSS ist ne super Sache. Nur leider zeigt der IE mit die Description in der Schriftgröße 1 an. Woran kann es liegen.

    Danke cay

  14. 14
    Kommentar von Frank Bültge

    hy cay,
    der IE hat so seine Probleme mit CSS. Die hier verwendeten CSS-Tags sind selten IE-Konform.
    Entwerder auf die IE7-Version warten oder extra anpassen.
    LG Frank

  15. 15
    Kommentar von Melanie

    Hi,
    habe gerade deine Anleitung in meinem WordPress Blog umgesetzt, hat super funktioniert, auch wenn anschließend mein normales Design irgendwie zerschossen wurde. Warum auch immer!
    Naja nun funktioniert zumindestens alles wieder wie es soll im Firefox. Also nochmal vielen Dank!

    Gruß
    Melanie

  16. 16
    Kommentar von Jared

    hallo frank
    ich hab mir deinen feed angesehn und irgendwie wird deine css nicht erkannt! liegt das an meinem browser oder an dir?

    wollt dir nur bescheid geben falls du es vllt nicht gemerkt hast. bei bedarf schick ich dir auch gerne einen screenshot..

    lg
    Jared

  17. 17
    Kommentar von Jared

    sorry frank wenn ich stören sollte, aber ich bastel nun seit 2 tagen rum und bekomme kein ergebnis!

    ich habe genauso gemacht wie du es beschrieben hast, die dateien liegen auf dem server, wp-rss2 ist bearbeitet aber es verändert sich überhaupt nichts! liegt es an WP 2.13? hab ich etwas vergessen?

    komme alleine nicht mehr weiter.. :(

  18. 18
    Kommentar von Frank Bültge

    Hy Jared,
    die Browser neuer Generation bringen eine eigene Formatierung mit und somit ist diese Art und Weise eigentlich hinfällig. Es bringt nicht wirklich was. Wenn du unbedingt formatieren willst, dann geht es besser mit xsl.
    * bei mir ist es auch nicht mehr drin, habe es seit einigen Updates nicht mehr im Feed.
    LG Frank

  19. 19
    Kommentar von Jared

    hinfällig? schade...
    obwohl ich schon die meisten browser benutzt habe gefällt mir die struktur der feeds einfach nicht. dann werd ich mal nach xsl suchen.

    danke dir für den tip

    lg
    Jared

  20. 20
    Kommentar von Frank Bültge

    Habe dir ein Beispiel, wie man XML mit XSL formatiert per Mail gesandt, sollte recht schlüssig sein - für mehr war noch nie Zeit.

  21. 21
    Pingback von Basic Thinking Blog » Wordpress Tipps: RSS und Datenbank

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.