Bei WordPress handelt es sich um das meist genutzte Content Ma­nage­ment System (CMS) der Welt. Als Open-Source-Projekt lässt sich eine WordPress-In­stal­la­ti­on komplett vom Benutzer be­ar­bei­ten. Die Fle­xi­bi­li­tät von WordPress ist an sich ein großer Vorteil. Jedoch erfordert so gut wie jede WordPress-Site einige An­pas­sun­gen, um wirklich er­folg­reich zu werden. Möchte man bei­spiels­wei­se Google Analytics oder ein ver­gleich­ba­res Tracking-Script einbinden, benötigt man einen Weg, um Code-Schnipsel in das vom Theme vor­ge­ge­be­ne Gerüst zu in­te­grie­ren. Einer der häu­figs­ten ad­mi­nis­tra­ti­ven Aufgaben besteht deshalb darin, den WordPress-Header zu be­ar­bei­ten. Wie man dabei am besten vorgeht, erklären wir in diesem Artikel.

Was ist der WordPress-Header, und welche Elemente enthält er?

Der Begriff WordPress-Header führt oft zu Ver­wir­run­gen. Im Zu­sam­men­hang mit einer Website be­zeich­net der Header den sicht­ba­ren Kopf­be­reich einer Seite. Dort befinden sich bei­spiels­wei­se das Logo und ein Menü — fast jede Seite weist diesen Bereich auf. An­de­rer­seits umfasst ein HTML-Dokument, um­gangs­sprach­lich als „Seite“ be­zeich­net zwei Kom­po­nen­ten: Den HTML-Head (<head>) und den HTML-Body (<body>). Sichtbare Elemente stehen aus­schließ­lich im HTML-Body, während im HTML-Head aus­schließ­lich un­sicht­ba­re Elemente vorkommen.

Managed Hosting für WordPress
Erstellen Sie Ihre Website mit AI, wir über­neh­men den Rest
  • Keine Vor­kennt­nis­se nötig dank be­nut­zer­freund­li­cher AI-Tools
  • Voll­stän­dig anpassbar mit Themes und Plugins
  • Einfache Updates und minimaler Admin-Aufwand

In der Tat umfasst der WordPress-Header sowohl den HTML-Head als auch den Kopf­be­reich der Seite. Wenn wir davon sprechen, den Header zu be­ar­bei­ten, geht es in WordPress also um zwei Arten von Elementen:

  1. Un­sicht­ba­re Elemente im HTML-Head
  2. Sichtbare Element im Seiten-Header

Wir gehen im Folgenden auf beide Arten von Elementen im Detail ein.

Un­sicht­ba­re Elemente im HTML-Head

Die Elemente im HTML-Head sind für den mensch­li­chen Sei­ten­be­su­cher nicht sichtbar. Sie werden statt­des­sen vom Browser und von Such­ma­schi­nen aus­ge­wer­tet. Zu den am häu­figs­ten im HTML-Head an­zu­tref­fen­den Elementen gehören:

  • Links zu Style­sheets
  • Links zu Script-Dateien
  • Links zu Schrift­ar­ten
  • Links zu Favicons
  • Ver­schie­de­ne Arten von Meta-Tags
Hinweis

Im HTML-Head plat­zier­te Script-Tags führen unter Umständen. zu Per­for­mance-Einbußen beim Laden der Seite. Je nach An­wen­dungs­fall lässt sich dem Problem mit modernen At­tri­bu­ten wie ‚async‘ und ‚defer‘ Herr werden. Ansonsten ist es oft emp­feh­lens­wert, Script-Tags im WordPress-Footer un­ter­zu­brin­gen.

Sichtbare Elemente im Seiten-Header

Der Seiten-Header enthält sichtbare Elemente am Anfang der Seite. Seit HTML5 ist es ge­bräuch­lich, den Seiten-Header mit einem <header>-Element zu rea­li­sie­ren. Dies ist jedoch nicht zwingend vor­ge­schrie­ben. Prin­zi­pi­ell lässt sich auch ein <div>-Element dafür einsetzen. Im Seiten-Header findet man oft die folgenden Elemente:

  • Logo
  • Menü
  • Header-Image
  • Suchmaske
New call-to-action

Wie kann man den WordPress-Header be­ar­bei­ten?

Wie eingangs erklärt, gilt es zu un­ter­schei­den: Geht es darum, zu­sätz­li­chen Code im HTML-Head un­ter­zu­brin­gen, oder möchte man das visuelle Er­schei­nungs­bild der Site verändern? Wir kon­zen­trie­ren uns hier auf das Einbinden zu­sätz­li­cher nicht-visueller Elemente im HTML-Head.

Visuelle Än­de­run­gen am Seiten-Header sind deutlich komplexer. Wie genau man dabei vorgeht, hängt vom ein­ge­setz­ten Theme ab. Ferner erfordern diese Än­de­run­gen in der Regel Design-Kennt­nis­se und Coding-Fer­tig­kei­ten.

Hinweis

Auf Ihrer Site ein­ge­bun­de­ne Script-Tags erfordern eventuell die Zu­stim­mung der Nutzer, bevor sie auf der Seite geladen werden dürfen. Das ist ins­be­son­de­re dann der Fall, wenn die Prozesse Cookies setzen oder per­sön­li­che Daten sammeln. Es muss also bei jedem zu­sätz­li­chen Script mit­be­dacht werden, wie dieses in eine be­stehen­de Cookie-Consent Lösung ein­ge­bun­den wird.

Die folgenden drei Wege bieten sich an, um zu­sätz­li­chen Code im HTML-Head des WordPress-Headers zu plat­zie­ren:

  1. Plugin einsetzen
  2. Theme-Code mo­di­fi­zie­ren
  3. Google Tag Manager nutzen

Die genannten Methoden haben allesamt Vor- und Nachteile, welche wir in der folgenden Übersicht für Sie zu­sam­men­ge­stellt haben:

Methode Vorteil Nachteil
Plugin einsetzen einfache Bedienung Code-Snippets werden in Datenbank ge­spei­chert; schwierig mit Cookie-Consent zu in­te­grie­ren; mangelnde Kontrolle; kann Per­for­mance-Probleme ver­ur­sa­chen
Theme mo­di­fi­zie­ren Code-Snippets werden Teil der Codebase; visuelle Än­de­run­gen möglich; perfekte Kontrolle auch für komplexe An­wen­dungs­fäl­le benötigt Be­ar­bei­ten des Theme-Codes und Coding-Kennt­nis­se
Google Tag Manager nutzen einfache Bedienung; Code-Snippets werden zentral außerhalb der Website verwaltet; gut mit Cookie-Consent zu in­te­grie­ren; prin­zi­pi­ell möglich auch komplexe An­wen­dungs­fäl­le zu rea­li­sie­ren benötigt einmalige Ein­rich­tung

Ein Plugin einsetzen, um den WordPress-Header zu be­ar­bei­ten

Das WordPress-Plugin-Ver­zeich­nis enthält eine Reihe von Plugins zum Einfügen von Code in den HTML-Head. Derartige Plugins eignen sich primär, um Meta-Tags, Style­sheets oder Scripte auf der Seite ein­zu­bin­den. An­de­rer­seits fehlt für ge­wöhn­lich die Mög­lich­keit, dem Seiten-Header visuelle Elemente hin­zu­zu­fü­gen. Die Plugins sind durch­ge­hend einfach in der Bedienung und lassen sich weit­ge­hend ohne Coding-Kennt­nis­se nutzen. Je nach Plugin ist die Kontrolle über den ein­ge­füg­ten Code mehr oder weniger stark be­schränkt. Hier eine Übersicht breit ein­ge­setz­ter Header-Code Plugins:

Wir zeigen hier Schritt für Schritt, wie Sie das Plugin „Header and Footer Scripts“ nutzen, um zu­sätz­li­chen Code im HTML-Head des WordPress-Headers zu plat­zie­ren:

Den Theme-Code mo­di­fi­zie­ren, um den WordPress-Header zu be­ar­bei­ten

Diese Methode bietet volle Kontrolle über den Inhalt des WordPress-Headers. Vor­ge­nom­me­ne Än­de­run­gen werden Teil der Theme-Codebase und un­ter­lie­gen damit der Ver­si­ons­kon­trol­le. Es handelt sich um die prä­fe­rier­te Methode für erfahrene Nutzer und Admins. Es gibt mehrere Her­an­ge­hens­wei­sen, um den Theme-Code zu mo­di­fi­zie­ren:

  1. Code der Template-Datei header.php hin­zu­fü­gen
  2. Zu­sätz­li­che Funk­tio­nen in der Datei functions.php anlegen
  3. Ein Child-Themes erstellen und die Än­de­run­gen dort ein­pfle­gen
Methode Vorteil Nachteil
Code in header.php hin­zu­fü­gen kon­zep­tu­ell leicht ver­ständ­lich; exakte Kontrolle der Rei­hen­fol­ge der Code-In­ji­zie­run­gen; funk­tio­niert auch für visuelle Än­de­run­gen Än­de­run­gen hart­ko­diert; bei wie­der­hol­ten Än­de­run­gen Risiko, un­über­sicht­lich zu werden
Funk­tio­nen in functions.php anlegen saubere Trennung von Dar­stel­lung und Funk­tio­na­li­tät; Rei­hen­fol­ge der Code-In­ji­zie­rung lässt sich festlegen höhere Kom­ple­xi­tät; kann für Laien ver­wir­rend sein
Child-Theme erstellen Än­de­run­gen sind Update-sicher, lassen sich bei Bedarf leicht rück­gän­gig machen ge­ring­fü­gig höherer Aufwand; erfordert ein­ma­li­gen Wechsel des Themes

Code in header.php hin­zu­fü­gen

Die di­rek­tes­te Methode, Code im WordPress-Header zu plat­zie­ren, besteht darin, die Datei header.php zu be­ar­bei­ten. Bei dieser WordPress-Datei handelt es sich um ein Standard-Template, welches in so gut wie jedem Theme vorhanden ist. Schauen wir uns am Beispiel des of­fi­zi­el­len Theme „Twen­tyT­wen­ty“ an, wie eine typische header.php-Datei aufgebaut ist:

<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" >
    <link rel="profile" href="https://gmpg.org/xfn/11">
    <?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
    <?php
    wp_body_open();
    ?>
    <header id="site-header" class="header-footer-group" role="banner">

Hier sehen wir den Code des WordPress-Headers: Der HTML-Head steht zwischen öffnendem <head> und schlie­ßen­dem </head> Tag. Neben ein paar Meta-Tags enthält der HTML-Head den Aufruf der WordPress-Funktion wp_head. Es handelt sich dabei um einen WordPress-Hook, zu Deutsch „Haken“. An diesen wird pro­gram­ma­tisch an­ge­knüpft, um weitere Elemente im HTML-Head zu plat­zie­ren. Diese Elemente landen vor dem schlie­ßen­den </head>-Tag. Der wp_head-Hook ist damit aus­schließ­lich für das Hin­zu­fü­gen nicht-visueller Elemente geeignet.

Um dem HTML-Head weitere Elemente hin­zu­zu­fü­gen, plat­zie­ren Sie deren Code einfach vor oder nach der Zeile mit dem wp_head()-Aufruf. Dabei müssen Sie beachten, dass die Rei­hen­fol­ge der Elemente unter Umständen eine Rolle spielt. Dies ist nor­ma­ler­wei­se der Fall für Style­sheets und Scripte. Bei Meta-Tags hingegen spielt die Rei­hen­fol­ge für ge­wöhn­lich keine Rolle. Beachten Sie, dass Style­sheet- und Script-Tags nicht manuell im WordPress-Header platziert werden sollten — dazu mehr im folgenden Abschnitt.

Auf den HTML-Head folgt das HTML-Body-Element. Wir sehen hier das öffnende <body>-Tag, gefolgt von einem Header-Element <header id="site-header">. Dieser Seiten-Header enthält die sicht­ba­ren Elemente, wie Header-Bild, Logo und Menü. Jeglicher HTML- oder PHP-Code, den wir hier einfügen, wird im Browser dar­ge­stellt.

Wir können also prin­zi­pi­ell den Seiten-Header um weitere sichtbare Elemente ergänzen. Dabei gilt jedoch, Vorsicht walten zu lassen. Wenn Sie feh­ler­haf­ten Code einfügen, lädt Ihre Site mög­li­cher­wei­se nicht mehr, oder es kommt zu Dar­stel­lungs­feh­lern. Da die header.php-Datei ein globales Template ist, ist davon im schlimms­ten Fall jede einzelne Seite betroffen!

Funk­tio­nen in functions.php anlegen

Wie die header.php-Datei ist die functions.php eine in den meisten WordPress-Themes ver­tre­te­ne Datei. Es handelt sich jedoch nicht um ein PHP-Template, welches direkt in HTML übersetzt wird. Vielmehr enthält die functions.php Code zur Kon­fi­gu­ra­ti­on des Themes und der Site. Ins­be­son­de­re ist es möglich, Funk­tio­nen zu de­fi­nie­ren und mit den bereits erwähnten WordPress-Hooks zu ver­knüp­fen. Als einfaches Beispiel fügen wir pro­gram­ma­tisch einen Robots-Meta-Tag im HTML-Head ein:

function robots_meta() {
    echo '<meta name="robots" content="index, follow, noarchive">';
}
add_action( 'wp_head', 'robots_meta' );

Zunächst de­fi­nie­ren wir in der functions.php eine neue Funktion, welche den HTML-Code des Meta-Tags ausgibt. Wir nennen diese robots_meta(), wobei der Name frei wählbar ist. Sie sollten jedoch einen Namen wählen, der wi­der­spie­gelt, was die Funktion macht. Direkt nach der Funk­ti­ons­de­fi­ni­ti­on folgt ein Aufruf der WordPress-Funktion add_action(). Dieser übergeben wir den Wert ‚wp_head‘ als Namen des WordPress-Hooks, mit dem wir unsere Funktion ver­knüp­fen möchten sowie ‚robots_meta‘ als Namen unserer Funktion. Ein Aufruf von wp_head() führt dann zum Aufruf von robots_meta(); der in robots_meta() ent­hal­te­ne HTML-Code wird im HTML-Head aus­ge­ge­ben.

Mo­di­fi­zie­ren wir unser Beispiel: Zum Einen erlauben wir durch Weglassen von ‚noarchive‘ auf der WordPress-Start­sei­te (‚is_front_page()‘) das Aufnehmen der selbigen in den Google-Cache. Zum Anderen schließen wir Seiten, auf denen WordPress-Kom­men­ta­re aktiviert sind (‚is_single() && comments_open()‘), per ‚noindex‘ von der In­di­zie­rung aus:

function robots_meta() {
    if ( is_front_page() ) {
        echo '<meta name="robots" content="index, follow">';
    }
    else if ( is_single() && comments_open() ) {
        echo '<meta name="robots" content="noindex, follow, nocache">';
    }
    else {
        echo '<meta name="robots" content="index, follow, nocache">';
    }
}
add_action( 'wp_head', 'robots_meta' );

Zu­sätz­li­che Scripte und Style­sheets in WordPress einbinden — wie man es richtig macht

Manchmal ist es notwendig, eine externe Software, wie ein Tracking-Script oder eine Cookie-Consent Lösung auf einer WordPress-Site ein­zu­bin­den. Oft wird empfohlen, ein Code-Schnipsel direkt in den WordPress-Header ein­zu­fü­gen, um zu­sätz­li­che Script- oder Style­sheet-Dateien zu laden. In der Praxis benötigt dies einiges an Fein­ge­fühl. Denn: Die Rei­hen­fol­ge ist bei Scripten und Style­sheets kritisch!

Zuletzt de­fi­nier­te Stil-Ei­gen­schaf­ten kom­ple­men­tie­ren bzw. über­schrei­ben früher de­fi­nier­te Ei­gen­schaf­ten. Dreht man die Rei­hen­fol­ge der Stil-De­fi­ni­tio­nen um, kann dies zu schwer­wie­gen­den Dar­stel­lungs­feh­lern führen. Bei Scripten ist es ähnlich. Greift ein Script auf Variablen oder Funk­tio­nen zu, die in einem anderen Script definiert wurden, ergibt sich eine Ab­hän­gig­keit. Das abhängige Script muss zwingend zuletzt geladen werden.

In WordPress gibt es spezielle Funk­tio­nen und Hooks, um zu­sätz­li­che Scripte und Style­sheets ein­zu­bin­den. Dabei werden die Scripte und Style­sheets auf­ge­reiht (auf Englisch „enqueue“), was sich im Namen der Funk­tio­nen und Hooks wi­der­spie­gelt: Diese beginnen mit ‚wp_enqueue‘. Wir zeigen hier bei­spiels­hal­ber, wie innerhalb der functions.php sauber Style­sheets und Scripte geladen werden:

function add_theme_scripts() {
  wp_enqueue_style( 'main-style', get_stylesheet_uri() );
 
  wp_enqueue_script( 'main-script', get_template_directory_uri() . '/js/main.js', array( 'jquery' ));
}
add_action( 'wp_enqueue_scripts', 'add_theme_scripts' );

Child-Theme erstellen

Nimmt man Code-Än­de­run­gen an einem WordPress-Theme vor, sollte man in den meisten Fällen zunächt ein Child-Theme erstellen. Das Child-Theme „erbt“ den Code des „Parent-Theme“, wobei selektiv Be­stand­tei­le hin­zu­ge­fügt und über­schrie­ben werden können. Die Nutzung eines Child-Theme stellt sicher, dass Än­de­run­gen vom ur­sprüng­li­chen Theme-Code getrennt werden. Ferner wird so er­mög­licht, Updates am Parent-Theme ein­zu­spie­len, ohne dabei Än­de­run­gen zu über­schrei­ben. Die beiden bereits vor­ge­stell­ten Methoden lassen sich im Rahmen eines Child-Theme einsetzen.

Domain kaufen
Re­gis­trie­ren Sie Ihre perfekte Domain
  • Inklusive 1 SSL-Wildcard-Zer­ti­fi­kat pro Vertrag
  • Inklusive Domain Lock
  • Inklusive Domain Connect für einfache DNS-Ein­rich­tung

Google Tag Manager einsetzen, um den WordPress-Header zu be­ar­bei­ten

Neben den bekannten Methoden, ein Plugin ein­zu­set­zen bzw. den Theme-Code zu mo­di­fi­zie­ren, um Code im WordPress-Header zu plat­zie­ren, gibt es noch einen dritten Weg. Dabei greift man auf den Google Tag Manager zurück. Dieser wird einmalig in der Site ein­ge­bun­den, entweder per In­te­gra­ti­on in den Theme-Code, oder per Plugin. Über ein eigenes Interface im Google-Konto werden Tracking-Codes und Meta-Tags verwaltet, die sich dann einfach in die WordPress-Site in­te­grie­ren lassen. Für Marketing-Manager ist dies oft die prä­fe­rier­te Methode, da sie un­ab­hän­gig von Code-Experten spe­zi­fi­schen Code im HTML-Head verankern können.

Fazit

Sofern es gilt, um­fang­rei­che Header-Code-Än­de­run­gen an einer kom­mer­zi­el­len WordPress-Site zu verwalten, nutzen Sie am besten den Google Tag Manager. Sind Sie selbst Ent­wick­ler, oder haben Sie Zugriff auf Coding-Experten, bietet sich die Er­stel­lung eines Child-Theme an. Auf Plugins zum Ändern des WordPress-Header sollten Sie nur in den sim­pels­ten An­wen­dungs­fäl­le zu­rück­grei­fen.

Zum Hauptmenü