Nach einer ganzen Reihe von MODx-Projekten ringe ich zur Zeit wieder verstärkt mit Wordpress. Manche sehen es ja als eine Art Feature von MODx an, dass das CMS keinen Schnipsel HTML ausgibt, den man ihm nicht explizit verordnet hat, aber für mich ist das aber kein Feature, sondern eine Selbstverständlichkeit. Außer schlichter Bösartigkeit gibt es keinen Grund, Mehrzweck-Content-Management-Systemen irgendwelchen HTML-Output fest einzuprogrammieren. Das bedeutet dann natürlich, dass Wordpress entweder kein CMS ist oder dass die Entwickler mit Satan und/oder dem Imperator im Bunde sind, denn an mehreren Stellen hat WP quasi-fest eingebautes HTML und diverse Funktionen der Marke Facepalm an Bord.

Am auffälligsten sind dabei ein Meta-Element mit Generator-Infos und ein Style-Element, die beide ungefragt in den Head geschrieben werden. Das Style-Element, das eine Regel für .recentcomments a enthält, stammt vom Recent-Comments-Widget und lässt sich mit einer einfachen Action entfernen. Dazu einfach den folgenden Code in die functions.php werfen:

function theme_cleanup_widget(){
	global $wp_widget_factory;
	remove_action('wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style'));
}
add_action('widgets_init', 'theme_cleanup_widget');

Eine ähnliche Prozedur hilft beim Generator-Meta-Tag:

function theme_cleanup_generator(){
	return false;
}
add_filter('the_generator','theme_cleanup_generator');

Wenn alle Welt erfahren soll, welche Software Seite X antreibt, sollte man versuchen, dem Webentwickler das Leben möglichst leicht zu machen, denn dann wird dieser von sich aus Loblieder singen (siehe z.B. MODx). Komische Funktionen fest einzubauen ist diesem Ziel nicht zuträglich. Man denke nur an jenen Filter, der aus jedem „Wordpress“ ein „WordPress“ macht – danke Chef, aber ich schreibe in meinen Blogposts wie ich will. Wer hierfür nicht zu einem Plugin greifen möchte, behilft sich mit den folgenden 6 Zeilen:

remove_filter('the_title', 'capital_P_dangit');
remove_filter('the_content', 'capital_P_dangit');
remove_filter('comment_text', 'capital_P_dangit');
remove_filter('the_title', 'capital_P_dangit', 11);
remove_filter('the_content', 'capital_P_dangit', 11);
remove_filter('comment_text', 'capital_P_dangit', 11);

Wenn man neben dem Default-HTML auch die Standardeinstellungen und den Democontent von Wordpress auf bequeme Art und Weise loswerden oder verändern möchte, hilft ein Plugin wie dieses von Thomas Scholz – installieren, aktivieren, fertig ist das saubere Wordpress!