10 .htaccess hacks voor WordPress

Waarschuwing!

Zorg bij het veranderen van een .htaccess bestand altijd dat je een backup maakt, zo kun je altijd het origineel terug zetten als er iets fout mocht gaan.

1 – Banning a WordPress Spammer met .htaccess

Ja inderdaad, spam is erg vervelend. Wordt jij gek van bepaalde personen die jouw blog overladen met spam, toch kun je dit makkelijk voorkomen met een spammers IP lijst in je .htaccess.

Verander het IP adres op regel 3 in het IP adres van de spammer. Voeg voor elke spammer een nieuwe regel toe.

<Limit GET POST>
order allow,deny
deny from 200.49.176.139
allow from all
</Limit>

2 – Het gebruik van de browser cache

Een goede manier om de laadtijd van je blog te optimaliseren is met gebruik van browser cache. Deze code zal niet rechtstreeks de laadtijd van hele blog verbeteren, maar het helpt je server door het verzenden van een 304 file die zal vertellen dat een bestand niet is veranderd.

Alle bestanden die niet geüpdate zijn worden hierdoor direct geladen. Deze hack is vooral handig voor blogs die veel afbeeldingen gebruiken.

FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>

3 – Redirect WordPress RSS feeds naar Feedburner met .htaccess

Welke blogger gebruikt geen feedburner? Tuurlijk, FeedBurner is een mooie service. Je weet precies wat er allemaal gebeurd met je rss-feeds en je kan het redelijk aan je wensen aanpassen.

Het enige probleem is dat je de theme-bestanden handmatig moet bewerken om je standaard RSS URl te laten verwijzen naar die van Feedburner. Gelukkig is er een leuke hack voor je .htaccess, zodat het jou een hoop tijd spaart!

Vergeet niet om regel 6 te veranderen!

# temp redirect wordpress content feeds to feedburner
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/catswhocode [R=302,NC,L]
</IfModule>

4 – Statische gegevens samenvoegen

Wist jij dat je samengevoegde data kunt versturen naar je bezoekers, die zij dan uitgepakt geleverd krijgen? Deze code zal jou (en je bezoekers) een hoop bandbreedte schelen en je pagina’s zullen “minder zwaar” worden.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

5 – Redirect bezoekers naar een “In Onderhoud Pagina”

Als je jouw blog aan het upgraden bent, of je ontwerp moet verandert worden, is het geen goed idee om je bezoekers te laten zien waar je mee bezig bent. Ze zien dan vaak foutmeldingen of stukken scripts. De oplossing is om een leuke “onderhoud pagina” te maken waarop je bezoekers belanden tijdens het upgraden van je site.

Vervang onderhoud.html (regel 2) in de pagina waar je de lezers heen gestuurd moeten worden, en het IP-adres op regel 3 in je eigen IP.

Je ziet dat er een 302 redirect wordt gebruikt, dit zorgt ervoor dat je onderhoudspagina niet geïndexeerd wordt.

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

6 – Verwijder /category/ uit je WordPress URL

Standaard wordt de WordPress category permalink zo weergegeven:

http://www.positie1.nl/category/wordpress

Zoals hierboven is de category van weinig waarde. Zo kun je het verwijderen:
Maak eerst een backup van je .htaccess bestand. Open het en voeg de volgende regel toe:

RewriteRule ^category/(.+)$ http://www.positie1.nl/$1 [R=301,L]

Nadat je het bestand opgeslagen hebt zal de URL er als volgt uitzien:

http://www.positie1.nl/wordpress

7 – Redirect datum en naam permalinks naar /%postname%/

Ga naar je WordPress admin en login, ga naar Instellingen → Permalinks en selecteer Aangepaste structuur. Vul hier /%postname%/ in. Je permalinks zien er nu uit als op mijn blog:

http://www.positie1.nl/naam-van-het-artikel

Om een redirect te maken vanaf je oude permalink naar je nieuwe permalink kun je de volgende code gebruiken in je .htacces bestand.

directMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.positie1.nl/$4

Dit is vooral handig voor iedereen die hun permalink willen veranderen als ze al meerdere artikelen hebben geplaatst en geen inkomende links willen verliezen.

8 – Weigeren een spam reacties vanuit de bron

Ben jij ook ziek van de dagelijkse hoeveelheid spam reacties? We hebben natuurlijk Akismet, maar er is ook een .htaccess truc om te voorkomen dat spammers uberhaubt iets kunnen plaatsen op je blog. Het feit is dat de meeste spammers gebruik maken van bots.

Deze code zal de bron (de pagina waar de spammer zijn reacties vanaf stuurt) op sporen en zal de spammer blokkeren als hij toegang wil tot het wp-comments-post.php bestand.

Verander gewoon lijn 4 met jouw blog URl en plaats het in je .htacces bestand.

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*positie1.nl.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

9 – Bescherm je WordPress blog tegen hotlinking

Hotlinking is het gebruik van jouw afbeelding door een andere site. Veel bloggers maken gebruik van hotlinking, en hebben hierdoor minder bandbreedte. Jouw bandbreedte kan hierdoor flink oplopen. Deze nuttige code beschermt je WordPress blog tegen hotlinking.

RewriteEngine On
#Replace ?positie1\.nl/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?positie1\.nl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

10 – Alleen je eigen IP adres toelaten op wp-admin

Heb je geen gezamenlijke weblog, en wil je dat alleen jij naar de wp-admin directory kan! Deze code zal het werk doen.

Alles wat je moet doen is je static IP-adres invullen op regel 8. Wil je iemand anders toevoegen die toegang krijgt tot wp-admin dan kun je simpel een nieuwe regel toevoegen met: allow from xx.xx.xxx.xx

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Example Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT>

2 Comments

  1. Pascal Beyens

    Haha, die regel nr 10. Daar gaan er nog velen mee vloeken.
    :)

    Help! Ik kan niet meer in de admin van mijn blog…
    :)

  2. Inderdaad, die regel 10 sluit je hele blog als je het verkeerd doet.

    Ik zou even een kleine edit doen als ik Ilonka was.

Leave a Reply


Get Adobe Flash playerPlugin by wpburn.com wordpress themes