Pagina titel verbergen in WordPress

4 technieken: je pagina titel verbergen in WordPress

Af en toe kom je in de situatie dat je géén pagina titel wilt weergeven. Als je huidige thema niet de optie heeft om een pagina titel te verbergen, heb je toch een aantal mogelijkheden om titelloze pagina’s te realiseren, met elk voor- en nadelen. We beschrijven 4 technieken waarmee we je WordPress titel verbergen.

Geen titel opgeven

De meest eenvoudige optie is om het titelveld simpelweg leeg te laten. Het nadeel daarvan is dat de titel ook niet in de tab van je browser verschijnt, wat er vreemd uit kan zien. Ook kan Google je pagina niet beoordelen op basis van de paginatitel.

Met een plug-in zoals Yoast kun je alsnog een titel aanmaken voor SEO doeleinden via ‘Snippet bewerken’, zie de afbeelding hieronder. Google kan je pagina daardoor gewoon beoordelen én er komt ook netjes een titel in de browsertab, zonder dat er een titel bovenaan de pagina staat.

Titel instellen met Yoast SEO

Persoonlijk vind ik de titel verbergen door het leeg laten van het titel veld, in combinatie met een plug-in als Yoast, de beste en meest toegankelijke oplossing omdat je niet aan de slag hoeft met CSS en PHP. Voor de volledigheid zijn deze alternatieven hieronder uitgewerkt.

De titel verbergen via plug-ins

Er zijn een aantal plug-ins die je helpen een titel verbergen. Je kunt daarop zoeken in de WordPress Plugin Directory. De meeste van deze plug-ins zijn echter al jaren niet bijgewerkt, dus het zou kunnen dat ze voor jouw situatie niet werken. Sowieso is het af te raden om plug-ins te gebruiken die langere tijd geen updates hebben gehad. Ik beschouw dit dan ook als een houtje-touwtje-oplossing: gebruik op eigen risico.

Thema CSS aanpassen

Een alternatief voor het niet invullen van je titel, is het verbergen van de titel via CSS. Om dit voor één pagina voor elkaar te krijgen, moet je eerst weten wat de CSS klassen van de pagina en de titel zijn. Je kunt deze waarden als volgt achterhalen:

  • Navigeer in je browser naar je pagina mét titel
  • Klik met de rechtermuisknop op de titel
  • In je contextmenu zie je de optie ‘inspecteer’, selecteer deze optie.

Zie onderstaande afbeelding voor het resultaat.

Titel CSS klasse

Uit bovenstaande afbeelding blijkt dat de de CSS klassen voor de pagina en titel respectievelijk ‘post-1115’ en ‘entry-title’ zijn. De CSS klassen kun je gebruiken om het stylesheet van je thema aan te passen en de titel te verbergen.

Disclaimer: maak dit soort aanpassingen in een child theme zodat ze niet worden overschreven bij een thema update.

Via ‘Weergave’ > ‘Editor’ kun je via het bestand style.css het stylesheet van je thema aanpassen. Zorg altijd dat je een backup hebt voordat je dit doet. Vervolgens kunnen onderstaande regels worden toegevoegd, maar deze moeten worden aangepast voor jouw situatie. Waarschijnlijk hoef je alleen het gedeelte 1115 aan te passen naar het id van je pagina of bericht. Sla vervolgens je aangepaste stylesheet op.

.post-1115 .entry-title {
     display: none;
}

Het nadeel van bovenstaande methode is dat Google je waarschijnlijk een iets lagere rating geeft. Je verbergt namelijk iets voor je gebruikers wat er eigenlijk wel is. Immers, de HTML voor de titel bestaat nog steeds, je instrueert browsers enkel om de titel niet te tonen. Realiseer je ook dat je aanpassingen verloren gaan zodra je een update van je thema installeert, omdat het style.css bestand dan wordt overschreven met een nieuwe versie. Via een child theme voorkom je dat jouw aanpassingen worden overschreven.

Child theme PHP aanpassingen

Een goede, maar wat ingewikkelder manier om een titel te verbergen, is door je thema te overschrijven met een child theme. Je maakt zo een eigen micro-thema dat de eigenschappen van een ander thema (de parent) overneemt. Slechts enkele eigenschappen van het parent thema worden overschreven door het kind thema. Een child theme voorkomt dat je aanpassingen worden overschreven als het parent theme een update krijgt. Wil je in de toekomst meer veranderingen aanbrengen in je thema, dan is het werken via een child theme een goede optie.

De oplossing via CSS kan ook via een child theme gerealiseerd worden: de CSS oplossing verbergt de titel, maar de titel staat nog steeds in de code van je pagina. Netter is het om de titel helemaal niet in de code te hebben staan. Met PHP kun je het parent thema zo overschrijven dat de titel helemaal uit de code verdwijnt.

Eerst zul je een child theme moeten aanmaken. Hoe dat werkt, heb ik beschreven in het bericht WordPress thema’s aanpassen via child themes. In dat bericht wordt beschreven hoe je de footer van je thema kunt aanpassen. In dit geval willen we de titel aanpassen. Om de titel aan te passen moeten we het bestand functions.php van het child theme wijzigen door er onderstaande code aan toe te voegen:

function hide_title( $post ) {
	if ( $post->ID == '1115' ) {
		$post->post_title = '';
	}
	return $post;
}
add_action( 'the_post', 'hide_title' );

Als dit je eerste code in functions.php is, zorg dan dat je bestand begint met de regel:

<?php

Doe je dit niet, dan zul je een witte pagina of een foutmelding te zien krijgen omdat WordPress je code niet herkent als PHP code.

Bovenstaande voorbeeld is specifiek voor het bericht of de pagina met het id 1115, je kunt dit voor je eigen situatie aanpassen. Wil je echter alleen op je beginpagina de titel verbergen, gebruik dan de volgende code:

function hide_title( $post ) {
	if ( is_home() ) {
		$post->post_title = '';
	}
	return $post;
}
add_action( 'the_post', 'hide_title' );

Conclusie

Er zijn verschillende benaderingen om de titel van een WordPress pagina te verbergen. De gemakkelijkste is door het titel veld leeg te laten en dit te compenseren met een plug-in als Yoast. Het beste alternatief, maar ook meteen het meest complexe, is de titel verbergen via een child theme.

Tussenoplossingen zijn mogelijk via plug-ins of het aanpassen van de thema CSS. Deze oplossingen zijn echter af te raden als lange termijn oplossing.


Reacties

7 reacties op “4 technieken: je pagina titel verbergen in WordPress”

  1. Bedankt! Een goede en snelle oplossing voor mijn homepage!

  2. Hallo Louis,
    In mijn menu’s staan sinds kort op sommige plaatsen het raadselachtige #0 (geen titel). De pagina’s hebben wel een titel. Ik vind hierover via Google niets. Heb jij een idee?

    1. Louis Wolf

      Hoi Charles,

      Ik denk dat ik weet waar het aan ligt, maar dit heeft verder niets met het thema te maken. Pagina’s hebben een titel, maar ook de links in je menu hebben een eigen titel. Standaard zijn die hetzelfde, maar als de titel van een pagina lang is, kun je er (als je de pagina in je menu wilt opnemen) voor je menu iets korters van maken. Ik vermoed dat titel (of het label) van je menu items zijn weggevallen.

      Onder Weergave > Menu’s of Weergave > Customizer > Menu’s kun je je menu aanpassen.

  3. De hier voorgestelde optie in Yoast is leuk, maar hoe herken je dan nog pagina’s als je die voor bewerking wilt oproepen?

    1. Louis Wolf

      De optie die je noemt is een poor-mans-solution. Ik zou afraden om dit als structurele oplossing te kiezen voor het verbergen van titels. Onder anderen omdat het dan – zoals je zelf al aangeeft – lastig wordt om de juiste pagina uit je pagina overzicht te halen voor bewerking. Je kunt dan beter investeren in een aanpassing van je thema via een child theme.

  4. Beste Louis,

    Om de pagina titel te verbergen gebruik ik de plug in ‘Hide title’. Nu hoef ik deze alleen maar aan te vinken als ik een pagina aanmaak en de titel is weg.

    Echter vind ik de ruimte tussen mijn horizontale menu en waar de tekst begint in de pagina eronder nog erg groot. Deze zou ik graag op elkaar willen laten aansluiten.

    Weet jij hoe dit mogelijk is?

    Alvast bedankt voor je reactie,

    Met vriendelijke groet,
    Joey

    1. Louis Wolf

      Als je thema dit niet zelf al kan (in sommige builders zoals Divi, Enfold kun je dit instellen), zul je via een child-thema moeten werken en daar de juiste CSS aanpassen. In Chrome en Firefox kun je via je developers console (druk op F12) opzoeken welke elementen te veel ruimte claimen. In je child thema kun je vervolgens met de juiste selector de padding en margin goed instellen. In Twenty Seventeen zou het volgende moeten werken (niet getest):

      .site-content {
      padding: 0;
      margin: 0;
      }

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *