Dit artikel is geoptimaliseerd voor Drupal 7
Drupal is een van de populairste content management systemen. Het kan, mits wat optimalisering, zowel grote als kleine websites aan. Dit artikel zal u helpen om uw CMS klaar te maken om grote hoeveelheden verkeer aan te kunnen, zonder aan snelheid in te boeten.
Het eerste deel van dit artikel zal u standaard optimalisatie technieken tonen, die geschikt zijn voor elke hosting, zelfs wanneer u geen gebruik maakt van caching opties.
Pas nadat u de algemene optimalisatie volledig uitgevoerd hebt, kunt u beginnen aan het tweede deel van het artikel, dat u toont hoe uw CMS kan profiteren van de Performance hosting tools.
Dit artikel schetst de gebruikelijke optimalisatie die in Drupal gedaan kan worden.
Hier volgen enkele optimalisatie tips om Drupal soepeler te laten draaien.
Standaard geactiveerd bij Drupal 8
Activeer dit in de back-end van Drupal als volgt:
Log in op uw Drupal admin
Klik op Configuratie bovenaan de admin balk
Klik in de rubriek Development op Performance
Vink hier aan:
Cache pages voor anonieme gebruikers
Cache blocks
Kik op Configuratie bewaren
OPGELET: activeer APC niet wanneer u de optionele Redis caching add-on gaat gebruiken!
(Voer deze wijzigingen voor APC niet uit in settings.php – doe dat in de back-end).
Activeer APC in My Combell.
APC is verkrijgbaar voor PHP 5.4 en lager
Log in op My Combell
Ga naar Mijn Producten >> Web hosting details
In het linkerpaneel gaat u naar PHP instellingen
U bent nu in het Overzicht. Controleer de PHP versie.
Wissel naar het AAN/UIT tabblad.
Zet APC op Aan.
Wijzigingen in PHP vragen wat tijd. Om te controleren of uw wijziging doorgevoerd werd, gaat u naar het tabblad PHP. Kijk of u een onderdeel APC vindt. Als het daar is, hebt u met succes APC geactiveerd.
Klik op de link om Drupal APC te downloaden en installeer die in /sites/all/modules/.
Activeer APC vanuit de Modules afdeling van uw back-end.
Voeg nu de volgende code toe aan het settings.php bestand.
Dit bestand kan gevonden worden in /sites/default/settings.php (vanuit de root van uw Drupal installatie).
/**
Add APC Caching.
*/
$conf['cache_backends'][] = 'sites/all/modules/apc/drupal_apc_cache.inc';
$conf['cache_class_cache'] = 'DrupalAPCCache';
$conf['cache_class_cache_bootstrap'] = 'DrupalAPCCache';
//$conf['apc_show_debug'] = TRUE; // Remove the slashes to use debug mode.
Controleer nu of de site nog werkt. Zo ja, ga dan verder met de volgende stap.
Voeg de volgende code toe aan het settings.php bestand:
$conf['page_cache_without_database'] = TRUE;
$conf['page_cache_invoke_hooks'] = FALSE;
Dit zorgt ervoor dat ook de page caching de APC aanroept.
Controleer voor alle zekerheid of de site nog werkt.
Voorbereiding
Download de Drupal Boost module en installeer die in uw Drupal folder, in sites/all/modules.
Activeer de module vanuit de Modules afdeling in uw back-end.
Ga naar Configuration >> Development >> Performance en verwijder het vinkje naast Cache pages for anonymous users.
Controleer dat de cache map in Configuration > System > Boost > File System wel degelijk 755 permissies heeft.
.htaccess
Maak een back-up van uw origineel .htaccess bestand.
Kopieer de op maat aangemaakte .htaccess regel vanuit Configuration > System > Boost > .htaccess > .htaccess Generation en kopieer die naar uw .htaccess bestand. Zorg ervoor dat u het segment op de juiste plaats plakt; zie hiervoor de instructies onderaan de aangemaakte tekst.
Controleer of de website nog altijd werkt. Is dat niet het geval, herstel uw .htaccess bestand en probeer het opnieuw.
Proficiat, uw Drupal heeft een boost gekregen! Voor eventuele problemen met de Boost module installatie, kunt u op de link klikken.
Dit toont een stroom die Drupal Boost zal toevoegen:
De client kan proactief werken met meerdere subdomeinen, om media sneller te laden. Wanneer een client data te traag downloadt, dan is het interessant om met de Firefox plugin Firebug te bekijken wat er juist geladen wordt. Zijn er bijvoorbeeld meer dan 50 aparte items die geladen moeten worden, dan moet misschien op het volgende gewezen worden.
Dit betekent dat, wanneer er 50 items geladen moeten worden, dit de laadtijd vertraagt, gezien alle acties die in wacht gezet worden tot er een verbinding beschikbaar is. Pas dan zal het volgende element van uw site geladen worden, enzovoort enzoverder, tot alle items geladen zijn. De snelheid hangt uiteraard ook af van de grootte van de items.
Een CSS sprite kan dit voorkomen, omdat er dan slechts één beeldbestand is dat geladen moet worden. Daardoor zijn er minder connecties nodig. Bovendien kan vaak ook de totale grootte herleid worden.
Klik op de link voor meer informatie over CSS sprites
Een andere manier om de laadtijd in uw code te verminderen, is door bijvoorbeeld meerdere subdomeinen te gebruiken. Uw browser beperkt het aantal gelijktijdige connecties per domein, maar de browser zal domeinnaam.be zien, css.domeinnaam.be, imaes.domeinnaam.be, en die allemaal als aparte domeinen beschouwen. Daardoor krijgt u een hoger aantal simultane connecties.
Door bijvoorbeeld de afbeeldingen te laten downloaden via images.domeinnaam.be en de css-bestanden via css.domeinnaam.be, kunt u de laadtijd versnellen. De bestanden zullen tegelijkertijd downloaden en de connecties overschrijden de beperkingen van de browser. Met deze methode kunt u zelfs drie keer meer simultane connecties realiseren.
Voorbereiding
CLEAN URLs moet actief zijn.
CSS / Javascript Aggregation moet actief zijn.
Download en installeer
Download Aggregate Cache door op de link te klikken.
Installeer in /sites/all/modules
Activeer de module vanuit de Modules afdeling in uw back-end.
Maak volgende aanpassingen om de browser sneller te laten beginnen met het renderen, zodat de laadtijd beduidend vermindert.
Plaats Javascript in de footer van de website, zodat het later in het proces geladen wordt (nadat de pagina voor een groot deel gerendered is).
Zet enkel de meest kritieke CSS code inline in de themabestanden, en laat de rest asynchroon laden via LoadCSS (zie ook https://github.com/filamentgroup/loadCSS).
De module zorgt ervoor dat kritieke JavaScript inline geplaatst kan worden.
Download de "Magic" module door op de link te klikken.
Installeer in /sites/all/modules
Activeer de module vanuit de Modules afdeling van uw back-end.
Nog enkele tweak opties:
Aaneenschakeling (Concatenatie) van bestanden, (zoals CSS bestanden).
Het essentiële (van js, css en andere) inline in de PHP bestanden zetten.
CSS Spriting
WordPress is het populairste content management systeem. Online vindt u enorm veel tips & tricks die u vertellen hoe u het meeste kan halen uit uw WordPress.
Dit artikel bevat links naar verschillende goede bronnen, naast onze eigen support artikels over WordPress.
In de WordPress Codex vindt u goede artikels over verschillende interessante onderwerpen:
Zoekt u naar een uitgebreide lijst die informatie bevat over verschillende onderwerpen en u interessante opties toont, dan is dit een goed adres:
http://premium.wpmudev.org/blog/wordpress-career-boosting-resources/
Uiteraard vindt u ook veel goede handleidingen bij Google en how-to's die u stap-voor-stap begeleiden op YouTube
Wanneer u wijzigingen wil aanbrengen aan uw WordPress website, dan is het aan te bevelen om die eerst te testen. Of u nu een nieuw thema aanbrengt, nieuwe plug-ins of nieuwe content, u wil die wellicht eerst uittesten. Deze stappen tonen u hoe u een werkende kopie (staging copy) van uw WordPress website maken kunt, waarmee u dan aan de slag kunt, terwijl uw originele website nog altijd online staat. Deze handleiding zal u ook helpen wanneer u uw WordPress website naar een andere host wil overzetten.
In dit artikel gebruiken wij deze website als voorbeeld: http://ninefortwowebhosting.com/. Let er dus op dat u, bij het volgen van deze stappen, telkens deze string vervangt door uw eigen domeinnaam.
Maak uw staging subsite aan. Dat zal het adres zijn voor uw staging website.
Kopieer u uw officiële website naar de staging versie, zodat u die kunt bewerken. Log in naar SSH. Voer dit uit vanuit ssh root directory:
rsync -rtv www/ subsites/staging.ninefortwowebhosting.com/
Dit zal echter niet voldoende zijn om uw staging kopie te laten werken. U hebt ook de database details.
U hebt ook bepaalde details van de database nodig om een backup te kunnen maken. Die kunt u ophalen in uw configuratie door het volgende commando uit te voeren:
cat www/wp-config.php | grep DB_
De output zal er ongeveer zo uitzien:
define('DB_NAME', 'ID111111_user'); define('DB_USER', ' ID111111_user '); define('DB_PASSWORD', XXXXXXXXXX); define('DB_HOST', 'mysql111.hosting.brand.com'); define('DB_CHARSET', 'utf8'); define('DB_COLLATE', '');
Maak een kopie van uw database gebruikersnaam
Maak een database backup. Download het dump bestand via rsync of ftp.
Nu kunt u, vanuit het controlepaneel, de nieuwe DB aamaken die gebruikt zal worden voor de staging kopie.
U kunt deze tool gebruiken: https://wpdomainchanger.com/ om de URL's van de originele WordPress te wijzigen naar de staging WordPress. Download de gewijzigde database dump.
Nu moet u het wp-config.php bestand van de staging kopie updaten met de nieuwe DB details. Open het config bestand:
nano www/wp-config.php
Wijzig de volgende strings met de details van de nieuwe database die u aangemaakt hebt:
In deze string vult u de naam van uw nieuwe database in
define('DB_NAME', 'ID111111_name'); In deze string vult u uw nieuwe gebruikersnaam (username) in
define('DB_USER', ' ID111111_user '); In deze string vult u uw nieuw wachtwoord in
define('DB_PASSWORD', XXXXXXXXXX); In deze string vult u uw nieuwe database host in
define('DB_HOST', 'mysql111.hosting.brand.com');
Nu test u of uw kopie werkt.
Uw CMS hosting bevat een vooraf geïnstalleerd Content Management Systeem (CMS) zoals WordPress, Magento, Joomla of Drupal. Indien u uw CMS opnieuw wil installeren, volgt u deze stappen:
Opgelet! Indien u uw CMS opnieuw installeert zal uw hosting pakket volledig reset worden. Al uw gehoste data - uw CMS, thema's, apps, accounts, enz. - zullen gewist worden.
Log in op het controlepaneel van uw my rs-host
Bovenaan volgt u 'Mijn Producten' > 'Web hosting'.
In de tabel zal u uw hosts zien. Klik op 'Hosting Details' bij de host waarvoor uw CMS geïnstalleerd is.
Ga naar het verticaal menu links. U bent nu in het Overzicht. De tweede optie zal de naam van uw CMS bevatten - dat zal WordPress, Magento, Joomla of Drupal zijn. Klik daarop om naar uw CMS overzicht te gaan.
Wissel naar het Herinstalleren tabblad.
Na de herinstallatie van uw CMS moet u een nieuw wachtwoord aanmaken. Klik op de link indien u daarbij hulp nodig hebt een nieuw cms admin wachtwoord instellen
Uw CMS hosting bevat een vooraf geïnstalleerd Content Management Systeem (CMS) zoals WordPress, Magento, Joomla of Drupal. Deze installatie heeft een standard admin of beheerder - een standaard gebruiker.
Om het wachtwoord voor die gebruiker te wijzigen, volgt u de link hieronder:
Log in op het controlepaneel van uw my rs-host
Bovenaan volgt u ‘Mijn Producten’ > ‘Web hosting’.
In de tabel zal u uw hosts zien. Klik op ‘Hosting Details’ bij de host waarvoor uw CMS geïnstalleerd is.
Ga naar het verticaal menu links. U bent nu in het Overzicht. De tweede optie bevat de naam van uw CMS - dat zal WordPress, Magento, Joomla of Drupal zijn. Klik erop om naar uw CMS overzicht te gaan.
Wissel naar het tabblad Admin Wachtwoord Instellen
Kies een sterk wachtwoord, vul het opnieuw in en klik op Wachtwoord Instellen.
U bent klaar.
Magento is een van de populairste CMS voor e-commerce. Het kan zowel grote als kleine webwinkels aan, mits wat optimalisering. Dit artikel zal u helpen om uw CMS voor te bereiden zodat het grote hoeveelheden verkeer aankan zonder aan snelheid in te boeten.
Het eerste deel van dit artikel zal u de standaard optimaliseringstechnieken tonen, die voor elke hosting geschikt zijn, zelfs wanneer u geen gebruik maakt van de caching opties.
Pas nadat u de algemenen optimalisering afgerond hebt, kunt u overgaan naar het tweede deel van het artikel. Daarin wordt getoond hoe uw CMS kan profiteren van de Performance hosting tools.
Dit artikel schetst de gebruikelijke optimalisaties die in Magento gedaan kunnen worden.
Sommige optimaliseringen zijn gratis, sommige zijn voorlopig niet te betalen, sommigen vereisen een upgrade.
Stap 1: Activeer APC in My rs-host
APC is verkrijgbaar voor PHP 5.4 en lager
Log in op My rs-host
Ga naar Mijn Producten >> Web hosting details
In het linkerpaneel gaat u naar PHP instellingen
U bent nu in het Overzicht. Controleer de PHP versie.
Wissel naar het AAN/UIT tabblad.
Zet APC op Aan.
Wijzigingen in PHP vragen wat tijd. Om te controleren of uw wijziging doorgevoerd werd, gaat u naar het tabblad PHP. Kijk of u een onderdeel APC vindt. Als het daar is, hebt u met succes APC geactiveerd.
Stap 2: Nu moet u ook de user cache configureren.
Maak een SSH account aan in het hosting pakket.
Voor het gemak, voeg SSH keys toe voor Mac-gebruikers. Als u een Windows-gebruiker, klik hier.
Open een terminal of commandoprompt en leg de verbinding. Voeg deze lijnen toe aan het local.xml (/app/etc/local.xml) bestand onder de<global>
tag:
<cache>
<backend>apc</backend>
<prefix>someprefix</prefix>
</cache>
Stap 3: Controleer of de caching werkt! U hebt het apc.php bestand nodig. Hiervoor moet u de laatste installatie van APC downloaden.
Upload apc.php naar uw Magento map.
Open het apc.php bestand in uw browser. De pagina zal u informatie geven over de file caching.
In uw terminal of commandoprompt, opent u nu uw apc.php bestand en wijzigt u de ADMIN_USERNAME en ADMIN_PASSWORD. Opslaan.
Open het apc.php bestand opnieuw in uw browser. Ga naar het User Cache Entries tabblad.
Login met de gebruikersnaam en het wachtwoord dat u zopas ingesteld hebt.
U ziet nu de user cache entries.
Om nog meer te optimaliseren kunt u Gzip gebruiken en het verstrijken van de cache. Kopieer en plak de volgende code onderaan het .htaccess bestand:
# BEGIN mod_deflate
# Insert output filter by type
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml
AddOutputFilterByType DEFLATE application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/cgi-php5
AddOutputFilterByType DEFLATE application/cgi-php53
AddOutputFilterByType DEFLATE application/cgi-php54
# Don't compress images, compressed files, docs nor movies
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:avi|mov|mp3|mp4|rm)$ no-gzip dont-vary
# END mod_deflate
# BEGIN expires
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0
# Set up caching on media files for 1 year
ExpiresDefault A29030400
Header append Cache-Control "public"
# Set up caching on media files for 1 week
ExpiresDefault A604800
Header append Cache-Control "public"
# Set up 2 Hour caching on commonly updated files
ExpiresDefault A7200
Header append Cache-Control "proxy-revalidate"
# Force no caching for dynamic files
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
# END expires
U moet eerst APC stoppen vooraleer u deze stap uitvoert; nadien moet u APC weer herstarten.
Reindexing of het herindexeren herschikt de indexen van de producten - van de indexen opgeslagen in verschillende tabellen, tot een enkele tabelstructuur. Database queries worden hierdoor eenvoudiger en sneller.
Open een terminal of een commandoprompt en leg verbinding.
Blader in uw bestanden naar de Shell map in uw installatie map: [Magentofolder]/shell
Voer het volgende commando uit:
php indexer.php
U krijgt nu de opties te zien. Voer de volgende commando's uit:
Een cronjob plannen (schedule) voor cron.php om elke vijf min geopend te worden via My Combell.
Cron.php is een standaard bestand dat gevonden wordt in de root map van de Magento webshop installatie. Het beheert de regelmatige automatische uitvoering van essentiële taken.
Wanneer Flat catalogs geactiveerd zijn, dan worden nieuwe cataloogtabellen met enkele rij gaandeweg aangemaakt die regelmatig geüpdatet kunnen worden via de Magento cron.
Log in op uw Magento back-end om flat catalogs te activeren
Kopieer en plak de volgende code onderaan uw .htaccess bestand
#Leverage Browser Caching
## EXPIRES CACHING ##
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
## EXPIRES CACHING ##
Het wordt aanbevolen om automatische patching te activeren voor uw klanten. Dit is namelijk een malware scanner die zwakke plekken in bestanden opspoort en automatisch verhelpt. Dat doet deze tool door de broncode van de website te wijzigen. De tool zoekt enkel naar reeds gekende zwakke plekken. Dat is waarom hij het best werkt met populaire open source systemen en CMS. Klik op de link om meer te vernemen over hoe u autopatching kunt gebruiken.
U kunt automatische patching activeren voor uw klanten door het aan hun service packet toe te voegen:
Log in op uw reseller controlepaneel.
Kies "Service packs" uit het menu links.
Klik op de button 'Wizjig' voor uw pakket.
Controleer onderaan bij het vak "Autopatching actief".
Klik op 'Service pack wijzigen" om de wijzigingen in uw pakket door te voeren.
Automatische patching is nu actief. Uw klanten kunnen nu het tabblad 'Automatische patching'" zien in hun menu via 'Site Instellingen'.