Optimaliseer je site

Leseenheid

Moeilijkheidsgraad

4

Laat ons eens stil staan bij de normen waaraan een goede site moet voldoen. Deze les is samengesteld door onderzoek op verschillende fora en eigen ervaring.

  1. Drupal in orde zetten
    • Updates OK (desnoods met patches)
    • Status OK
    • Backups zijn  recent
    • Veilig. Geen anonieme aanmelding. Gebruik captcha voor alle formulieren. Zeker geen full HTML voor anonieme gebruikers.
  2. Multischerm en multibrowser
    • Responsive, adaptive en fluid
    • Getest in verschillende browsers
  3. Vermijd subdomeinen
    • Het is mijn ervaring dat ze minder snel zijn dan hoofddomeinen.
  4. Gestructureerd
    • Denk op voorhand na over je site
    • Pathauto staat actief en is goed insgesteld
    • Gebruiksvriendelijke URL's staat aan
  5. Database staat in orde
    • Je kunt op de server de database laten controleren
  6. Enkel wat nodig is
    • Bestanden en databases op de server. Gebruik de filemanager van het Control Panel. Zoveel sneller dan FTP.
    • Drupal zelf. Deïnstalleer niet gebruikte modules en verwijder ze daarna van je site
    • Verwijder inhoud die je niet meer gebruikt. Een menulink weg doen is niet voldoende. Google onthoudt nog pagina's die hij ooit bezocht heeft.
    • CSS injector is fantastisch, maar als je site goed draait is het beter dat je de CSS in je (sub)thema integreert.
    • Taalinstellingen? Indien niet nodig, gebruik geen meertalige site.
  7. Zoekmachine vriendelijk
    • Gebruik veel en goede taxonomietermen. Zoekmachines boren zich zo een weg naar de volledige inhoud.
    • XML (zie Drupal 1)
    • Metatags goed instellen
    • Content Optimizer zorgt voor goede trefwoorden en inhoud.
    • Maak dat er veel sites naar jou linken. Gebruik link wederom link...
  8. Zorg voor een verband met de sociale media.
    • Maak bvb een Facebook pagina aan van je site op Facebook en onderhoud die!
  9. Snelheid
    • Drupal cache aanzetten maar... Boost, is beter dan de Drupal cache
    • Geen externe bestanden. Gebruik indien mogelijk geen CDN's
  10. Wettelijk in orde
    • Cookietoelating moet gevraagd worden volgens een Europese wet.

Een hele boterham... Ik veronderstel dat je in staat bent om het grote deel van bovenstaande instellingen naar je hand te zetten. Ik beperk mij dan ook tot de nieuwigheden of de zaken die een welgekomen herhaling kunnen zijn..

Meta tags

Een must voor elke goede site... Hiermee bepaal je per node wat voor trefwoorden je wilt, ofwel ben je tevreden met de standaard metatags.

XML-sitemap

(herhaling uit Drupal 1) De meest geavanceerde manier om zoekrobots de weg te tonen. Deze sitemap kan je zelfs volledig verbergen op je site. Via de Cron kan je ook zelf gaan melden aan de zoekrobots dat er iets nieuw qua inhoud werd toegevoegd.

Installeren en activeren. Merk op dat je hier al op voorhand kunt bepalen wat je wil opnemen.

Als je ook XML_sitemap user activeert, dan krijg je deze melding ivm de rechten. Je zult ook een Cron moeten uitvoeren om een eerste keer te indexeren.

Bij de instellingen krijg jde deze interface. Er werd een sitemap aangemaakt. Als je daarop klikt zie je dat de homepage werd opgenomen, verder niets.

We gaan naar de instellingen en duiden aan wat we willen doorgeven aan de zoekmachines. Je kunt de prioriteit (=soort belangrijkheid) en de vernieuwings frequentie van de zoekmachine instellen. Zo zie je dat de voorpagina dagelijks moet bezocht worden. De levensduur zet je ook liefst op één dag. Standaard staat er geen minimum.

We gaan ook onze hoofdmenu integreren. Via deze menu boort de robot zich in de volledige site.

Bij inhoud nemen we hier nog enkel inhoudstypes mee. Als je nu zou een nieuw menu of inhoudstype maken dan zal je zien dat daar vanaf nu ook altijd de XML sitemap instellingen zullen gevraagd worden.

Een fractie van wat het bestand genereert met bovenstaande instellingen:

Mocht je er niet genoeg van krijgen kan je nog extra links handmatig toevoegen.

Bij zoekmachines komt nu standaard Bing (Microsoft) en Google aan bod. All er niets gewijzigd is wordt er geen nieuwe sitemap doorgestuurd. Knap.

Wil je zeker zijn van de nieuwe mapstructuur.. Je kunt ook manueel de sitemap opbouwen.

Content Optimizer

Verwijder ongebruikte modules

Soms blijven er resten achter van modules die je ooit hebt geïnstalleerd. Zo zie je bij de tabel system, dat de viewstree module niet actief is. Je moet dus de regel manueel verwijderen in de tabel zelf.

Deze regel blijkt herdnekkig staan. Eigenaardig maar zelfs deïnstalleren helpt niet. Dit is een print van de deïnstallatie

Verwijder via het controlpanel de map. Dit is veel vlugger dan met FTP.

Boost

Een CMS is een handig ding. Je kunt er zo veel mee instellen. Nadeel is dat telkens opnieuw de pagina moet opgesteld worden volgens de instellingen van ons. Omdat dit tijdrovend is en de servers overbelast hebben ze cache uitgevonden. Drupal neemt als het ware een kopie van de pagina en zal deze tonen, telkens er een bezoeker komt. Voor de admin is er trouwens geen cache, wat de inhoud betreft. De Cache van Drupal kan overruled worden door zelf de cache te regelen. Er zijn tal van modules die dit kunnen. Boost is de beste. Zie onderstaande print.

 

Het principe is simpel. Er wordt van elke pagina een html pagina gemaakt. Geen PHP die moet worden uitgevoerd. Zo is de snelheid die van pagina's die niet door een CMS worden samengesteld.

We installeren Boost. (bij mij duurde dit lang, blijkbaar een serieuze module) De Crawler dient om op bepaalde tijstippen zelf de cache te vernieuwen. Nu wordt dit gedaan door de eerste bezoeker van de pagina. De tweede heeft er al geen last meer van..

Tal van tabbladen... De cache verlooptijd zet ik op een paar dagen... Zet ook de cache van Drupal zelf af! Verken eerst volledig de mogelijkheden van Boost.

Vooraleer dit werkt is er echter nog iets te regelen...

Deze mapenstructuur werd aangemaakt.

Geef ze ook schrijfrechten (cache, normal,...) zoals hieronder beschreven. Vink ook toepassen op submappen aan!

Er moet ook in de .htaccess van Drupal (niet van Boost) code worden aangebracht. Deze vind je hier. Kopieer alle code in het tekstvak en plak het in de .htaccess van Drupal.

Als je nu als anomnieme gebruiker (admin wordt niet gecached!!) pagina's bezoekt dan onstaan er html bestanden. Merk op dat er per inhoudstype een map wordt aangemaakt.

Nu moeten we nog duidelijk maken aan de zoekmachines dat ze niet in de php pagina van boost moeten zoeken. Voeg in robots.txt (in sites root) de lijn toe: Disallow: /boost_stats.php.

Test zelf de boost crawler uit als je dit wil. Deze zorgt voor een systematische update van je de cash. Zo moet er niet telkens iemand op een pagina geklikt hebben, vooralleer de cache in werking treedt.

De snelheid van een site kan je meten door gebruik te maken van bvb http://www.webpagetest.org/ Zij leveren een analyse van je site met vermelding van de tussenstappen. Zeer interessant om te weten waar je zwaktes zitten.

In detail:

Database in orde zetten

Je databases moeten geregeld eens onderhouden worden; soms kunnen daar foutjes een restjes in voorkomen.

Je kunt eerst een analyse doen. Als alles ok staat is het goed.

Desnoods kan je optimaliseren.

 

Cookie wetgeving

Cookies slaan kleine stukjes informatie op via je browser. Meestal gaat het over onschuldige zaken zoals taalkeuze. Als je bvb bij de site van de NMBS een taalkeuze voorgeschoteld krijgt, dan zal dezelfde site, de dag nadien deze vraag niet meer stellen, tenzij je geen cookies bewaart natuurlijk. Soms is het commerciëler. Google gebruikt cookies om te kijken wat je als trefwoorden zoekt. Het gebeurt dat je bvb naar informatie van een bepaald merk zoekt en dan toevallig bij het volgende bezoek een advertentie van een gelijkaardig toestel ziet. Google Analytics kan niet zonder cookies. Puriteinen binnen de EU hebben in 2012 een wet gestemd die het verplicht maakt om de gebruiker van een site te laten kiezen of er cookies mogen opgeslagen worden of niet. Bij Drupal en andere CMS'sen is het simpel. Als ze het niet aanvaarden dan kunnen ze niet verder op de site. Drupal maakt namelijk gebruik van een aantal cookies om te zien of de browser javascript toelaat of niet en ook als je inlogt. Drupal moet toch weten waar je toegang toe hebt on waar niet..

Standaard heeft Drupal deze cookies.

De code wordt zo ingesteld.

Kijk eens in je browser welke cookies er verzameld worden en door wie. Elke cookie heeft ok een vervaldatum.

bij drupalisfun zie je er 2. De onderste is de controle op javascript, de andere bij het aanmelden.

We zijn nog braaf. Dit is onze Joomla site..

Om in regel te zijn met de wet, is er een module. (De straffen zijn trouwens immens groot..)

Installeer en vooraleer naar de instellingen te gaan, maak je eerst een basic page aan met wat uitleg over cookies. Bewaar de URL. Stel dan alles in naar wens. Je moet wel de pop up inschakelen anders krijg je niets te zien.

Deze instelling is handig. Als de gebruiker verder klikt is hij automatisch akkoord.

En ja, hier vul je de URL in.

Ik heb hier een print met de 'meer uitleg' pagina én de popup. Twee vliegen in één klap. Je ziet dat ik een link heb ingevoegd naar de site die zowat alles over cookies weet.

Bij Drupal kan je niet neen zeggen. Je kunt enkel meer informatie vragen. Zeg je ja of klik je verder op de site dan krijg je een cookie. Grappig hé, dat je antwoord in een cookie wordt bewaard. Zo wordt je gedurende dagen niet meer gestoord met dezelfde vraag..

Als programmeur kan je bij het niet aanwezig zijn van deze cookie, nu wel inhoud geven die geen cookies nodig heeft. Aangezien vele modules cookies bewaren (zelfs modulefilter heb ik gemerkt), is dit echter in Drupal onbegonnen werk. Dat ze dan naar een andere site gaan..

Patches

Tekortkomingen in het programma worden opgevangen in nieuwe versies. Soms zijn er zaken die echter opgelost raken door een verbetering aan te brengen aan de huidige versie van de module. Op de Drupal fora zijn tal van zulke 'patches' te vinden.

Als je er eentje bekijkt, dan opent er zich op het eerste zicht een vreemde code. Deze code kan gelezen worden door speciale programma's die deze patch automatisch uitvoeren. Wij gaan zo ver niet gaan.. Een patch kan je ook manueel toepassen. De kop toont waar je de wijzigingen moet aanpassen. Dan komen er cijfers die tonen welke regels er moeten gewijzigd worden. vb regel 128, de 10 volgende daarop. Overal waar er - (min) staat, moet weg. Waar er +(plus) staat moet je toevoegen, zonder de + natuurlijk. Waar er niets voor staat moet je laten staan: deze worden getoond om duidelijk te maken waar je de code moet zoeken. Ik heb al een paar patches moeten toepassen. Zeker je bestand eerst backuppen...