// DokuWiki: RSS Meta Headers

In diesem DokuWiki, welches ich als Blog und persönliche Website verwenden möchte, habe ich keinen Bedarf an RSS Meta Headers. Diese zeigen auf Feeds, die die letzten Änderungen („Recent Changes“), sowie den aktuellen Namensraum („Current Namespace“) des Wikis darstellen und werden von den meisten Browsern rechts in der Adressleiste durch ein RSS-Icon kenntlich gemacht. Hier der entsprechende Code im Seitenquelltext:

<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/feed.php"/>
<link rel="alternate" type="application/rss+xml" title="Current Namespace" href="/feed.php?mode=list&amp;ns=blog:2011-08-25"/>

Um diese Meta Headers loszuwerden suchte ich nach einer Lösung, wie ich diese überschreiben könnte. Das Plugin Meta Headers kannte ich bereits aus älteren Projekten und erfüllt genau diese Funktion. Zusätzlich ist das Plugin so gut dokumentiert, dass die Einrichtung und Konfiguration wirklich einfach fällt.

Installation des Plugins

Zuerst installiere ich das Meta Headers Plugin über den Plugin Manager, dazu gebe ich folgende URL an:

https://cloud.github.com/downloads/chimeric/dokuwiki-plugin-metaheaders/plugin-metaheaders.tgz

Anlegen der Konfigurationsdatei

Nun lege ich die Konfigurationsdatei mit folgendem Pfad an:

<dokuwiki>/conf/metaheaders.conf.php

Bearbeiten der Konfigurationsdatei

Nachdem ich die Konfigurationsdatei angelegt und geöffnet habe, füge ich folgenden Code ein (siehe Dokumentation des Plugins):

<?php
$clear[] = array ( 'type' => 'application/rss+xml' );
$headers['link'][] = array( 'type' => 'application/rss+xml',
                            'rel' => 'alternate',
                            'title' => 'Blog RSS',
                            'href' => '/feed.php?mode=blogtng&blog=default' );

/feed.php?mode=blogtng&blog=default verlinkt hier auf den Pfad zum Blog Feed und muss an deinen Feed angepasst werden!

Ergebnis

Dieses Plugin ändert nun jenen Teil der Meta Headers von:

<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/feed.php"/>
<link rel="alternate" type="application/rss+xml" title="Current Namespace" href="/feed.php?mode=list&amp;ns=blog:2011-08-25"/>

auf:

<link type="application/rss+xml" rel="alternate" title="Blog RSS" href="/feed.php?mode=blogtng&amp;blog=default"/>

→ Der Browser zeigt bzw. erkennt nun nur noch den Blog Feed, was das Ziel dieser Umschreibung ist.

Weitere Anwendungsgebiete

Beispielsweise könnte man mit diesem Verfahren die RSS Feeds auf Feedburner hosten, um den Traffic auf dem eigenen Webserver zu vermindern. Zuvor müsste man die durch die feed.php generierten Feeds natürlich auch bei Feedburner einrichten. Zu beachten ist, dass nach den Änderungen durch dieses Plugin die ursprünglichen Feeds natürlich immer noch existieren, nur nicht mehr in den Meta Tags angezeigt werden

Update: Standard RSS-Feeds blocken

Casper hat mich gerade darauf aufmerksam gemacht, dass man durch Anfügen folgendes Codes an die .htacces im DokuWiki Webroot:

# Allow only blog RSS
RewriteCond %{QUERY_STRING}           !^mode=blogtng&blog=default$
RewriteRule ^feed.php$                feed.php?mode=blogtng&blog=default [L]

die RSS-Feeds, die hier in den Meta Tags überschrieben wurden komplett „blocken“ kann und auf den Blog Feed (im obigen Beispiel) umleiten kann. Bitte beachte, dass dieser Ausschnitt evtl. angepasst werden muss!

Hello World!

This is the personal website of Christoph Winkler aka chrisge.
Here you will find a sort of blog and some information about me and my projectshave fun!

Recent Comments
Latest Tweets

Follow me on Twitter...

QR-Code: aktuelle Seiten-URL
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 3.0 Unported