Maand: februari 2022

WordPress Tips en Trucs

WordPress website traag? Performance probleem oplossen

Is je WordPress website traag? Of worden berichten die je klaarzet niet gepubliceerd? Vaak wordt de oplossing voor perfomance problemen gezocht in bijvoorbeeld caching van je website (zie het gratis boek), verwijderen oude of ongebruikte plugins of andere aanpassingen in de website zelf waardoor je snelheidswinst kunt boeken. Een prima idee natuurlijk. Maar er is meer finetuning beschikbaar voor je WordPress website!

Heb je een drukbezochte website dan kunnen deze oplossingen onvoldoende zijn. Of als het hostingplatform van je aanbieder simpelweg onvoldoende is.

Een goede webhost zal natuurlijk zorgen voor voldoende performance maar vooral bij de spotgoedkope webhosters mankeert het nogal eens aan afdoende hardware of er worden gewoon véél te veel websites op één server geplaatst. Kiezen voor goede webhosting is de eerste stap voor een goede performance van je WordPress website.

Het WP-CRON bestand

Een 2e probleem is het wp-cron bestand in WordPress. Elke keer als iemand je website bezoekt (dus ook indexering door zoekmachines e.d.) wordt dit scriptje gestart. Het zorgt er bijvoorbeeld voor dat berichten die klaar staan voor publicatie gecheckt worden als in:

“Moet dit bericht al gepubliceerd worden?”

– ja: publiceren.

– nee: verder gaan.

Daarnaast voegen complexe plugins ook een aantal ‘onzichtbare’ functies toe aan WordPress. Dit zijn functies waardoor het systeem goed kan blijven werken, of zoals gezegd acties uitvoert.

WordPress website traag

Zeker als je website heel druk bezocht wordt zorgt dit voor een hoop extra ‘load’ op de webserver waar je site op staat. Onzinnig load vaak en het maakt je website traag.

Dat kan beter. De meeste hostingbedrijven hebben een ‘control panel’ voor je beschikbaar zoals cPanel of DirectAdmin. Daarin kun je deze cron-taken automatiseren met vaste intervals. Dat zorg voor veel minder load op de webserver of het VPS waarop je gehost wordt. En maakt jouw website veel sneller!

In het bestandje wp-config.php in je WordPress hoofdmap kun je een kleine aanpassing doen. Tussen de regels

/* Add any custom values between this line and the "stop editing" line. */

/* That’s all, stop editing! Happy blogging. */

Voeg je deze regel toe en zet daarmee wp-cron.php “uit”. Als in, dat WordPress het niet meer opstart.

define('DISABLE_WP_CRON', true);

Dan komt het er dus zo uit te zien:

/* Add any custom values between this line and the "stop editing" line. */
define('DISABLE_WP_CRON', true);
/* That’s all, stop editing! Happy blogging. */

Sla het bestand nu op. Maak vervolgens in je control panel een cron-job aan. Onderstaand een voorbeeld. Toelichting onder de afbeelding.

WordPress website traag wp-cron

(Voorbeeld DirectAdmin cronjob instellen)

1 – Bij minuut vul ik hier in: */5. Dat betekent: elke 5 minuten dit proces starten. Je kunt het ook half uur, elk uur of een aantal malen per dag laten uitvoeren.

2 – Bij Command vul je het commando in. In dit geval (voorbeeld!!)

/usr/bin/wget -O /dev/null https://gratiswordpressboek.nl/wp-cron.php

3 – aangezien ik niet elke 5 minuten een mail wil ontvangen dat het succesvol gedraaid heeft klik op de button “Prevent email” – dit voegt een stukje toe aan de opdracht die voorkomt dat er elke keer mail verzonden wordt.

4 – vervolgens klik je op [Add] en wordt de regel opgeslagen als opdracht.

WordPress cronjob DirectAdmin

Publicatieproblemen website oplossen

Soms kun je merken dat als je een bericht klaar zet om bijvoorbeeld op een bepaalde tijd te laten publiceren (afbeelding hier naast) dit niet gebeurt. De status in het dashboard is dan “mislukt”.

De oorzaak is… wp-cron is niet geactiveerd omdat er geen bezoekers op je site zijn geweest. Daarom is het bericht niet gepubliceerd. Zeker op websites die niet zo druk bezocht worden een lastig fenomeen. Al helemaal als je bijvoorbeeld elke dag een nieuw bericht op een vaste tijd wilt publiceren.

Ook dit is met bovenstaande oplosbaar omdat de cron-taak een “bezoeker” simuleert die de wp-cron.php afstart.

Een cronjob die in dit voorbeeld elk half uur zou draaien zou pas om 18:00 tot publicatie leiden. Tussen de 5 en 10 minuten volstaat voor de meeste websites zo is onze ervaring.

Voorbeelden Cron-jobs

Er zijn meerdere mogelijkheden qua instellingen voor cron-jobs. Soms schrijven bepaalde programma’s ook een bepaalde manier voor. In het DirectAdmin panel staan een paar voorbeelden maar soms werkt het nét allemaal even anders, .. kom je er niet uit? “Google is your friend” maar natuurlijk moet je webhost ook (kunnen) helpen.

We kunnen hier dus helaas niet een oplossing of correct commando geven die bij elk hostingbedrijf, laat staan voor elke plugin, werkt.

Zoekmachine Optimalisatie SEO Google

Website Performance verbeteren met Expire Headers

Je website moet snel zijn. Supersnel. Dit kun je verbeteren met een eenvoudige aanpassing, de Website Performance verbeteren met Expire Headers kost weinig tijd en is voor iedereen makkelijk te realiseren.

De performance verbeteren met expire headers is een manier om te zorgen dat je website een stuk sneller wordt. Dit heeft niet alleen een belangrijk voordeel voor de gebruikservaring van de bezoekers van een website maar ook voor de indexering van je website (SEO) in Google. Want de Expire Headers wordt als weging voor je Google Ranking meegenomen.

Wat zijn Expire Headers?

Expires headers vertellen de browser of bijvoorbeeld een afbeelding of ander onderdeel van een pagina op een website moet worden aangevraagd bij de bron, de server waar de website op staat, of dat deze kan worden opgehaald uit de cache van de browser: de lokale computer van de bezoeker.

Wanneer u een Expire Header instelt voor een bron, zoals alle jpeg- en png-afbeeldingen, slaat de browser die bronnen op in zijn cache. De volgende keer dat de bezoeker terugkomt op de pagina, wordt deze sneller geladen, omdat de browser die afbeeldingen al beschikbaar heeft.

Het verbeteren van de laadsnelheid van een site verbetert uiteindelijk de functionaliteit en heeft vele voordelen, waaronder lagere bouncepercentages (dat wil zeggen: men wacht niet tot de website geladen is maar haakt voortijdig af), hogere gemiddelde tijd die op de site wordt doorgebracht, enz. (omdat niemand van trage websites houdt!).

Vooral voor mobiele apparaten kan dit een groot verschil maken. Aangezien 60-70% van de internetgebruikers dit doet via hun mobiele apparaat is het van groot belang daar altijd rekening mee te houden.

Als uw site sneller is dan die van uw concurrenten, ziet u mogelijk ook een betere positie in de zoekresultaten van Google. Een ander voordeel is dat een betere sitesnelheid ook de kosten kan verlagen van het hosten van een site die veel bandbreedte op uw server opslokt.

Toepassen Expire Headers

Expire Headers kun je toevoegen aan het .htaccess bestand. Zoals uit onderstaande testen blijkt krijg je daarmee een betere score bij Google en PingDom.

Open met de filemanager in DirectAdmin, een ander control panel of via je FTP-programma het .htaccess bestand of maak deze aan als deze er nog niet is. Kopieer en plak onderstaande in de .htaccess. Pas het eventueel aan naar eigen voorkeuren.

Bij WordPress plakken wij het altijd na de beveiligingsinstallingen en voor de WordPress instellingen.

Dit werkt niet alleen goed voor WordPress uiteraard maar ook voor andere websites.

## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/svg "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 3 days"
</IfModule>
## EXPIRES HEADER CACHING ##

Expire Headers Testen

Onderstaand een voorbeeld van een WordPress website zónder expire headers en ná toevoegen van de expire headers.

Voor Expire headers

De testwebsite is een (nieuwe) ewbsite, gemaakt met WordPress en gehost bij Brinkman.IT. De website heeft een geoptimaliseerde lay-out met een basis-thema waar vervolgens met Elementor de pagina is opgebouwd. Een zo efficiënt, en volledig op snelheid gericht, mogelijke website.

Test PingDom / Google Pagespeed

Website performance verbeteren Expire Headers (voor)

Na expire headers

De laadtijd kan altijd een paar millisecondens verschillen, wat in dit geval belangrijk is, is de ‘performance grade’, die springt van een score van 87 naar 96. Een aanzienlijk verschil van ruim 10%.

Website performance verbeteren Expire Headers (na)

Expire headers en SEO

Ook voor de SEO score maakt het verschil. Hoewel de test geen groot verschil lijkt te tonen was vooral bij de Pagespeed-test bij Google een groot verschil te zien.

SEO score Expire HeadersSEO score Expire Headers

Natuurlijk is het toepassen van Expire Headers geen ‘silver bullet’ om je SEO opeens een stuk te verbeteren of je laadsnelheid. Als een website vele MB’s inlaadt en slecht ontworpen is zal dit weinig verschil maken. Het is een combinatie van factoren.

Website SEO testen kan via heel veel websites. Bovenstaande is getest via https://www.websiteseocheck.nl/

 

 

wordpress website gehackt

Extra maatregelen voor WordPress dashboard beveiliging

WordPress kan op vele manieren beveiligd worden. WordPress dashboard beveiliging moet serieus worden genomen wanneer u WordPress gebruikt. Het WordPress dashboard beveiligen tegen ongeoorloofd inloggen is erg eenvoudig en effectief uit te voeren door gebruik te maken van een IP “whitelisting” middels de .htaccess. Dit klinkt ingewikkelder dan het is. Het is voor iedereen in een paar minuten uit te voeren.

!! Let op.
Deze methode is geen afdoende beveiliging maar een goede aanvulling op uw beveiliging

WordPress dashboard beveiliging

1. Zoek uw IP adres

Ga naar bijvoorbeeld https://ipchicken.com/ of https://whatismyipaddress.com/

2. Pas .htaccess aan

Pas via de filemanager in DirectAdmin (of een ander control panel) of via FTP in de map /wp-admin/ het bestandje .htaccess aan. Voeg onderstaande regels er aan toe waarbij u “xx.xx.xx.xx” vervangt met uw zojuist gevonden IP-adres bovenstaand:

<Files wp-login.php>
	Order Deny,Allow
	Deny from all
	Allow from xx.xx.xx.xx
</Files>

3. Sluit het .htaccess bestand af en sla het op.

Vanaf nu kan er alléén maar vanaf dit ip-adres contact worden gemaakt met de WordPress inlog pagina.

Voordeel WordPress dashboard beveiliging

Alleen vanaf een bekend ip-adres kan worden ingelogd in de admin-pagina. Dat betekent dat het hackers aanzienlijk moeilijker wordt gemaakt in te breken via  de standaard WordPress inlog, brute-force inlogpogingen worden hier meteen mee geblokkeerd.

Brute-force aanvallen behoren tot de meest voorkomende aanvallen op WordPress websites en kunnen de bereikbaarheid en performance van uw website ernstig schaden.

Het grote voordeel van ‘whitelisting’ is dat bij de login maar één controle hoeft plaats te vinden. Is het ip-adres toegestaan op deze link? Bij blacklisting is er een lange lijst van ip’s die niet toegestaan zijn. En dat kost meer ‘rekenkracht’ bij de server waar uw website op staat.

Nadeel WordPress dashboard beveiliging

IP-adressen wijzigen soms. Dat betekent dat u het ip-adres soms moet aanpassen tenzij u een vast (zakelijk) ip-adres hebt.

wordpress website gehackt

Help! Mijn WordPress Website is Gehackt!

Uw WordPress Website is Gehackt. Wat te doen als je website gehackt is? Hoe kun je WordPress schoon maken van malware?

Is uw website gehackt? Dan is het zaak om onmiddellijk actie te ondernemen.

Hoe komen hackers binnen?
Hackers komen meestal binnen in een website doordat er sprake is van achterstallig onderhoud. Wanneer beveiligingsupdates voor een website niet of niet op tijd zijn gedaan ontstaan er beveiligingslekken. Deze beveiligingslekken bieden een hacker eenvoudig toegang tot je website.

Deze lekken kunnen ontstaan in WordPress zelf, in plugins en, vaak over het hoofd gezein, in WordPress thema-files (WordPress themes).

Direct te ondernemen acties

  • blokkeer de toegang tot uw website (voor bezoekers)
  • pas direct alle wachtwoorden aan van uw account (controlpanel, ftp, email)
  • pas ook direct het wachtwoord van uw website aan (voorzover nog mogelijk), eventueel via phpMyAdmin, kijk bijvoorbeeld hier hoe dat moet.

Tekenen dat uw WordPress website is gehackt

  • wachtwoord om in te loggen werkt niet meer
  • er staat zomaar onbekende, vaak discutabele, inhoud op de website
  • de site verwijst door naar een andere, onbekende, site
  • pop-up schermen die u nooit geinstalleerd hebt in uw website
  • de website is enorm traag of onbereikbaar (niet veroorzaakt door fouten in uw website)
  • nieuwe gebruikers in uw systeem (die u niet hebt aangemaakt)
  • een melding van uw eigen antivirus- of malware programma als u uw eigen website bezoekt
  • melding van Google of je webbrowser dat je website schadelijk is
  • je website werkt plotseling niet meer

Stappenplan schoonmaken WordPress

WordPress is één van de meest populaire website systemen. Door het feit dat het zo eenvoudig is te installeren en beheren. En omdat je er zo makkelijk een website mee kunt maken en onderhouden, ook met meerdere redacteuren.

Helaas heeft dat bedieningsgemak ook een keerzijde. Veel mensen installeren WordPress en de nodige plugins en, zo constateren we regelmatig, doen nóóit de benodigde updates. Terwijl het onderhouden van uw website grotendeels geautomatiseerd kan bij veel hostingproviders (zie hier video voor informatie).

U kunt uw gehackte website door ons schoon laten maken (voorzover nog mogelijk!), zelf het probleem oplossen of een andere (externe) expert inhuren.

  1. Maak een backup van de huidige situatie. Zorg uiteraard dat een eerdere backup niet overschreven wordt!
  2. Probeer een eerdere backup terug te zetten. Is het probleem daarmee opgelost (meestal niet) ga dan naar stap 7.
  3. Blokkeer de toegang tot uw website voor bezoekers! U wilt immers niet dat anderen eventueel ook een virus of malware binnenkrijgen door uw toedoen?
  4. Scan uw website (alleen mogelijk als u er nog in kunt) met een goede beveiligingsplugin zoals WordFence;
  5. Verwijder alle malware en eventuele kwaadaardige plugins;
  6. herstel geïnfecteerde bestanden en database, voor zover nog mogelijk;
  7. Stel nieuwe wachtwoorden in plus, wat bijna altijd vergeten wordt: vervang de keys in de wp-config (klik hier om nieuwe te genereren);
  8. Update uw WordPress website (WordPress, Plugins, thema’s);
  9. installeer, voorzover nog niet gedaan, een goede beveiligingsplugin.

Doe, tot slot, eventueel een blacklist check.

Export/import
Als het niet mogelijk is de website te schonen is de beste oplossing vaak: uw data exporteren met een plugin of via phpMyAdmin de database exporteren (in dat geval kunnen bij herstel vanuit dit bestand plugins en thema-bestanden niet meer worden teruggeplaatst), de website verwijderen, opnieuw installeren en met behulp van de plugin de data terug te zetten.

De kans is echter redelijk groot dat in de data (inhoud database, teksten) er het nodige gecorrumpeerd kan zijn.

Komt u er niet (meer) uit of durft u het opschonen zelf niet uit te voeren dan kunt u bijvoorbeeld contact met BrinkmanIT opnemen voor een eventuele oplossing.

Kosten herstellen website
Onderhoud van de software is absoluut noodzakelijk. Naast zelf (gedeeltelijk) geautomatiseerd onderhouden kunt u BrinkmanIT ook vragen het onderhoud te doen via het Managed WordPress abonnement. Het herstellen van een gehackte website door een “externe partij” is niet gratis, wij brengen hier kosten (uurtarief) voor in rekening. We werken hierbij op “no cure – no pay” basis.