Wie man den WordPress Header aufräumt (RSS, Emojis, Generator)

Wie man den WordPress Header aufräumt (RSS, Emojis, Generator)

Zuletzt überprüft: 22. September 2026
8 Min. Lesezeit
Leitfaden
Full-Stack-Entwickler

Öffne den Quellcode deiner Seite (Strg+U bzw. Cmd+Option+U). Schau dir den <head>-Bereich an. Siehst du dort Dutzende Codezeilen, die du nicht verstehst? Die meisten davon sind im Jahr 2026 überflüssig: Legacy-Manifeste, Kommentar-Feeds, Emoji-Polyfills und Generator-Meta-Tags aus einer Zeit, in der Windows Live Writer noch relevant war.

Dieses Aufräumen ist keine Kosmetik. Jeder unnötige <link> und jedes Skript kostet Bytes, Parsing-Zeit und manchmal DNS-Lookups. Auf einem WooCommerce-Shop mit vielen Plugins stapeln sich die Tags besonders schnell. Ein sauberer wp_head()-Output macht Debugging leichter und reduziert die Angriffsfläche durch Versions-Leaks.

Referenzen: wp_head(), WordPress Developer Handbook und web.dev zu LCP.

#Das Problem: Head-Bloat in WordPress

Eine frische WordPress-Installation mit Standard-Theme liefert im Frontend typischerweise unter anderem:

  • RSS-Links für Beiträge, Kategorien, Tags und Kommentare
  • wlwmanifest für Windows Live Writer
  • Really Simple Discovery (rsd_link)
  • meta name="generator" mit der Core-Version
  • Emoji-Detection-Skript plus Styles
  • Shortlink-Tags (?p=123)
  • Adjacent-Post-Links (rel="prev" / rel="next")
  • REST- und oEmbed-Discovery-Links
ElementNutzen 2026Risiko beim Entfernen
Kommentar-FeedSehr geringNiedrig
Haupt-Feed /feed/Mittel (Newsletter, Reader)Mittel
wlwmanifest / RSDLegacyNiedrig
Generator-MetaKeiner (Leak)Niedrig
Emoji-ScriptsBrowser nativNiedrig
REST-DiscoveryHoch bei headless / AppHoch, wenn du die API nutzt
ShortlinkGeringNiedrig

Die Tabelle ist die Entscheidungsgrundlage: Nicht alles rausreißen, sondern Legacy und Leakage entfernen, APIs bewusst belassen.

#Warum der Kopf aufräumen?

#Performance

Vor dem Cleanup siehst du oft 10–20 zusätzliche Tags und ein Emoji-Skript von s.w.org. Nach dem Cleanup sinkt die HTML-Größe, weniger Parser-Arbeit, und in PageSpeed-Traces fehlen die überflüssigen Requests. Der Effekt ist auf mobilen DACH-Verbindungen spürbarer als auf Glasfaser im Büro.

#Sicherheit und Informationsleakage

meta name="generator" content="WordPress x.y.z" verrät die Core-Version. Das ist kein Exploit, aber eine Einladung für Scanner, bekannte CVEs gezielt zu prüfen. Dasselbe gilt für Version-Query-Strings an Theme-CSS (style.css?ver=6.x). Generator raus, Versionsstrings an Assets separat härten.

#Wartbarkeit

Ein schlanker Head macht Diffs in Staging lesbarer. Wenn ein Plugin plötzlich drei Prefetch-Hints einfügt, fällt das sofort auf. In Audits für deutsche Mittelstandskunden ist „sauberer Head“ oft der erste schnelle Win, bevor man an Redis oder Objekt-Cache geht.

#1. RSS für Kommentare und Extra-Feeds

WordPress generiert einen separaten RSS-Feed für jeden Beitrag, jede Kategorie, jeden Tag und Kommentare. Wenn du keine News-Redaktion betreibst, in der Leute Kommentar-Threads per Reader abonnieren, ist das Ressourcenverschwendung und HTML-Rauschen.

// Kommentar-Feed-Links entfernen
add_filter( 'feed_links_show_comments_feed', '__return_false' );

// Extra-Feeds (Kategorien, Tags, Autoren) entfernen
remove_action( 'wp_head', 'feed_links_extra', 3 );

// Nur wenn du den Haupt-Feed wirklich nicht brauchst:
// remove_action( 'wp_head', 'feed_links', 2 );

Lass feed_links stehen, wenn Mailchimp, Buttondown oder ein Podcast-Setup den Site-Feed lesen. Kommentar- und Extra-Feeds kannst du in den meisten Unternehmenssites gefahrlos streichen.

#2. Windows Live Writer und RSD

Wann hast du zuletzt Windows Live Writer zum Bloggen benutzt? WordPress fügt den Manifest-Link weiterhin hinzu. Really Simple Discovery war für Remote-Publishing gedacht und ist für moderne Workflows irrelevant.

remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'rsd_link' );

Das entfernt typischerweise:

  • <link rel="wlwmanifest" type="application/wlwmanifest+xml" ...>
  • <link rel="EditURI" type="application/rsd+xml" ...>

#3. WP Emoji

WordPress lädt JS und CSS, um Zeichen wie :) in Bilder umzuwandeln. Moderne Browser haben eingebaute Emoji-Unterstützung. Das Skript ist eine zusätzliche HTTP-Anfrage plus DNS-Prefetch zu s.w.org.

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );

Wenn dein Content-Team stark mit Emojis in Mails arbeitet und die Darstellung in Outlook kritisch ist, teste die Mail-Filter einzeln. Für Frontend-Performance reichen die wp_head- und Style-Hooks.

#4. WordPress-Version (Generator)

Aus Sicherheitsgründen solltest du die Version nicht im Frontend ausgeben.

remove_action( 'wp_head', 'wp_generator' );
add_filter( 'the_generator', '__return_empty_string' );

Das leert auch Generator-Tags in Feeds. Es ersetzt keine Updates: Core, Themes und Plugins bleiben gepatcht. Du entfernst nur das Namensschild an der Haustür.

Shortlinks (?p=123) und rel="prev" / rel="next" im Head nutzen moderne Crawler kaum noch sinnvoll. Sie blähen HTML auf.

remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'template_redirect', 'wp_shortlink_header', 11 );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );

#6. REST und oEmbed bewusst entscheiden

// Nur entfernen, wenn Frontend keine Discovery braucht:
// remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
// remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
// remove_action( 'template_redirect', 'rest_output_link_header', 11 );

Headless-Setups, mobile Apps und viele Page-Builder erwarten die REST-Discovery. In einem klassischen Unternehmensblog mit wenig API-Nutzung kannst du die Links entfernen. In einem Headless-WordPress mit Next.js oder Astro als Frontend lässt du sie stehen.

#Fertiges Clean-Head-Snippet

Lege das besser als Must-Use-Plugin unter wp-content/mu-plugins/wppoland-clean-head.php ab, nicht nur in functions.php des Parent-Themes.

<?php
/**
 * Plugin Name: WPPoland Clean Head
 * Description: Entfernt Legacy-Tags aus wp_head.
 * Author: wppoland.com
 */

function wppoland_cleanup_head() {
	remove_action( 'wp_head', 'rsd_link' );
	remove_action( 'wp_head', 'wlwmanifest_link' );
	remove_action( 'wp_head', 'wp_generator' );
	remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
	remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
	remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
	remove_action( 'wp_head', 'index_rel_link' );
	remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
	remove_action( 'wp_head', 'feed_links_extra', 3 );
	remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
	remove_action( 'wp_print_styles', 'print_emoji_styles' );

	add_filter( 'feed_links_show_comments_feed', '__return_false' );
	add_filter( 'the_generator', '__return_empty_string' );
}
add_action( 'init', 'wppoland_cleanup_head' );

#Conditional cleanup für spezielle Templates

Manchmal willst du Feeds nur auf der Startseite behalten:

add_action( 'wp', function () {
	if ( ! is_front_page() ) {
		remove_action( 'wp_head', 'feed_links', 2 );
	}
} );

Oder Emojis nur im Frontend killen, im Admin aber lassen (falls Redaktion das will). Conditional Logic hält das Snippet wartbar, statt fünf Plugins mit überlappenden Cleanern zu stapeln.

#Testen nach dem Deploy

  1. Inkognito öffnen, Quelltext prüfen: Generator, wlwmanifest, emoji-script weg?
  2. Network-Tab: kein Request auf wp-emoji-release.min.js.
  3. Haupt-Feed /feed/ noch erreichbar, falls gewünscht.
  4. Gutenberg-Editor und REST-Calls (z. B. Speichern eines Beitrags) noch grün.
  5. WooCommerce-Checkout kurz durchklicken, falls Shop aktiv.

In deutschen Projekten mit Strict CSP siehst du nach dem Cleanup oft weniger Console-Noise, weil Emoji-CDN und Prefetch-Hints wegfallen. Das ist ein netter Nebeneffekt, kein Ersatz für eine echte CSP-Policy.

#Was du nicht entfernen solltest

  • viewport und Charset-Meta (Theme)
  • Canonical und hreflang (SEO-Plugin / Theme)
  • Kritische Preloads, die du bewusst gesetzt hast
  • Cookie- und Consent-Skripte (rechtlich nötig)
  • Schema/application/ld+json, sofern du es nutzt

Head-Cleanup heißt Legacy raus, nicht „alles unsichtbare löschen“.

#Zusammenspiel mit Caching und CDN

Head-Cleanup und Full-Page-Cache verstärken sich. Weniger Tags bedeuten kleinere HTML-Dokumente im Edge-Cache. Nach dem Deploy den HTML-Cache leeren (nicht nur den Browser), sonst prüfst du noch die alte Generator-Zeile. Bei Cloudflare oder einem deutschen Hoster mit Varnish: Cache-Key so belassen, dass eingeloggte Nutzer die Cleanup-Ausgabe nicht mit anonymen Besuchern vermischen.

Plugin-Cleaner und MU-Plugin gleichzeitig sind redundant. Entscheide dich für eine Quelle der Wahrheit. In Audits für Agenturen in Berlin und Hamburg sehen wir oft drei Cleanup-Plugins plus Theme-Code: dann entfernt Plugin A REST-Links, Plugin B fügt sie für oEmbed wieder ein, und niemand weiß, warum der Head wieder wächst.

#Redaktionelle Checkliste vor dem Go-live

  1. Staging mit Produktions-Plugins spiegeln (nicht nur Default-Theme).
  2. Quelltext der Startseite, eines Beitrags und einer Shop-Seite vergleichen.
  3. Feed-URL manuell im Reader testen, falls Marketing ihn nutzt.
  4. Editor speichert einen Gutenberg-Beitrag ohne REST-Fehler.
  5. Monitoring: HTML-Größe / vor/nach Cleanup notieren (einfacher Diff im Ticket).

Diese fünf Schritte dauern unter einer Stunde und verhindern die typische „wir haben Emojis gekillt und der Newsletter ist tot“-Regression.

#Nächster Schritt

Wenn du Head-Bloat, Third-Party-Skripte und Core Web Vitals zusammen angehen willst, melde dich über Kontakt. Mehr Kontext zur Geschwindigkeit: WordPress-Geschwindigkeitsoptimierung.

Nächster Schritt

Machen Sie aus dem Artikel eine echte Umsetzung

Dieser Block stärkt die interne Verlinkung und führt Nutzer gezielt zum nächsten sinnvollen Schritt im Service- und Content-System.

Soll das Thema auf Ihrer Website umgesetzt werden?

Wenn Core Web Vitals, Rendering oder WordPress-Overhead das Problem sind, setze ich einen klaren Optimierungsplan auf und implementiere ihn.

Artikel-FAQ

Häufig gestellte Fragen

Praktische Antworten zur Umsetzung des Themas.

SEO-readyGEO-readyAEO-ready3 Q&A
Kann ich feed_links komplett entfernen?#
Nur wenn niemand deinen Haupt-Feed braucht. Viele Newsletter-Tools und Podcast-Setups lesen /feed/. Kommentar-Feeds und Extra-Feeds kannst du meist gefahrlos abschalten.
Beeinträchtigt Head-Cleanup Gutenberg oder den Block-Editor?#
Nein, solange du REST-API und admin-hooks nicht pauschal killst. Die Snippets hier zielen auf Frontend-wp_head, nicht auf wp-admin.
Wohin gehört das Snippet?#
In ein Child-Theme functions.php oder besser in ein kleines Must-Use- Plugin, damit ein Theme-Wechsel die Cleanup-Logik nicht löscht.

Sie brauchen ein FAQ für Branche und Zielmarkt? Wir erstellen eine Version passend zu Ihren Business-Zielen.

Kontakt aufnehmen

Ähnliche Artikel