Para empezar vamos a activar el motor de reescritura RewriteEngine:
RewriteEngine On
Deshabilitamos la posibilidad de listar los archivos de las carpetas, por razones de seguridad:
Options -Indexes
Agregamos o eliminamos el prefijo www. para prevenir contenido duplicado (reemplaza el ejemplo por tu propio dominio):
# Agrega www (para quitar las www cambia www.sywoody.com por sywoody.com)
RewriteCond %{HTTP_HOST} !^www.sywoody.com$ [NC]
RewriteRule ^(.*)$ http://www.sywoody.com/$1 [R=301,L]
Deshabilitar las ETags, como lo recomienda ySlow:
Header unset ETag
FileETag None
Suprime mostrar errores de PHP, por razones de seguridad (aunque esto no funciona en algunos Hosts):
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0
Controla el caché de los archivos para hacer más rápida la carga de tu blog:
ExpiresActive On
ExpiresDefault A0
<FilesMatch "\.(gif|jpg|jpeg|png|swf)$">
# 2 weeks
ExpiresDefault A1209600
Header append Cache-Control "public"
</FilesMatch>
<FilesMatch "\.(xml|txt|html)$">
# 2 hours
ExpiresDefault A7200
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
<FilesMatch "\.(js|css)$">
# 3 days
ExpiresDefault A259200
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
Asegura el archivo .htaccess evitando que los demás lo puedan ver:
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
Asegura el archivo wp-config.php evitando que los demás lo puedan ver:
<Files wp-config.php>
Order Deny,Allow
Deny from all
</Files>