Plaatsen van <link>s in de <head>
Het plaatsen van <link>s in de <head> is een onderdeel van de juiste specificatie voor het bouwen van een geoptimaliseerde website. Wanneer een pagina voor het eerst wordt geladen, worden HTML en CSS gelijktijdig geparseerd; HTML creëert de DOM (Document Object Model) en CSS creëert de CSSOM (CSS Object Model). Beide zijn nodig om de visuals op een website te creëren, wat zorgt voor een snelle "first meaningful paint" timing. Deze progressieve rendering is een categorie waarin de prestatiescores van optimalisatiesites worden gemeten. Het plaatsen van stylesheets onderaan het document is wat progressieve rendering in veel browsers belemmert. Sommige browsers blokkeren rendering om te voorkomen dat elementen van de pagina opnieuw moeten worden geverfd als hun stijlen veranderen. De gebruiker blijft dan een blanco witte pagina zien. Andere keren kunnen er flitsen van ongestyleerde inhoud (FOUC) optreden, die een webpagina zonder toegepaste styling tonen.
Plaatsen van <script>s net voor </body>
<script> tags blokkeren HTML-parsing terwijl ze worden gedownload en uitgevoerd, wat uw pagina kan vertragen. Door de scripts onderaan te plaatsen, kan de HTML eerst worden geparseerd en aan de gebruiker worden weergegeven.
Een uitzondering voor de positionering van <script>s onderaan is wanneer uw script document.write() bevat, maar tegenwoordig is het geen goede gewoonte om document.write() te gebruiken. Bovendien betekent het plaatsen van <script>s onderaan dat de browser de scripts pas kan downloaden nadat het hele document is geparseerd. Dit zorgt ervoor dat uw code die DOM-elementen moet manipuleren geen fout zal veroorzaken en het hele script zal stoppen. Als u <script>s in de <head> moet plaatsen, gebruik dan het defer attribuut, wat hetzelfde effect zal bereiken van het script pas uitvoeren nadat de HTML is geparseerd, maar de browser kan het script eerder downloaden.
Denk eraan dat het plaatsen van scripts net voor de afsluitende </body> tag de illusie zal wekken dat de pagina sneller laadt op een lege cache (omdat de scripts het downloaden van de rest van het document niet blokkeren). Als u echter code hebt die u wilt uitvoeren tijdens het laden van de pagina, zal deze pas beginnen met uitvoeren nadat de hele pagina is geladen. Als u die scripts in de <head> tag plaatst, zouden ze eerder beginnen met uitvoeren - dus op een geprimede cache zou de pagina eigenlijk sneller lijken te laden.
<head> en <body> tags zijn nu optioneel
Volgens de HTML5-specificatie zijn bepaalde HTML-tags zoals <head> en <body> optioneel. De stijlgids van Google raadt zelfs aan om ze te verwijderen om bytes te besparen. Deze praktijk wordt echter nog steeds niet breed toegepast en de prestatiewinst zal waarschijnlijk minimaal zijn en voor de meeste sites waarschijnlijk niet van belang zijn.