Configurar el archivo .htaccess para WordPress

Para aquellos que tenéis problemas con este archivo o no sabéis lo que es el archivo .htaccess, se va a explicar en esta entrada lo esencial y cómo configurarlo correctamente para WordPress. Te vamos a exponer las funciones de mayor interés que se pueden realizar con este archivo.

¿Qué es el archivo .htaccess? 

El .htaccess es un archivo de configuración que es interpretado por servidores web Apache y otros servidores web compatibles, el archivo .htaccess define la configuración y el funcionamiento para la carpeta donde se encuentra el archivo .htaccess.

Al tratarse de un archivo oculto lleva el “.” delante, indicado así en sistemas operativos UNIX / Linux.

Se trata de un archivo oculto, por eso lleva el ‘.’ delante que se indica así en sistemas operativos basados en UNIX / Linux.

El archivo .htaccess es modificado solo por quien tiene permisos de administrador / root, ya que es un archivo de vital importancia para tu web y un uso inadecuado podría hacer que tu web se “destruyera”.

Para editar este archivo, simplemente tendrás que acceder a tu servidor donde tengas los archivos de tu web, y  ahí lo encontrarás en el directorio raíz. Para ello puedes acceder desde el panel de tu hosting, o con herramientas como FileZilla.

Configurar archivo .htaccess para WordPress

WordPress por defecto ya trae el fichero .htaccess que permite que WordPress funcione.

Por defecto este archivo aparecerá así:

# BEGIN WordPress

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

#

END WordPress

Pero para mejorar la seguridad y el rendimiento de tu WordPress, deberás realizar algunos ajustes como los expuestos a continuación.

Proteger el acceso al propio archivo .htaccess         

Para evitar ataques indeseados hacia este archivo, se deberá añadir:

Order allow,deny

Deny from all

 

Proteger el área de Administración por IP

Para limitar desde que direcciones IP puedes acceder al área de administración:

AuthUserFile /dev/null

AuthGroupFile /dev/null

AuthName “WordPress Admin Access Control”

AuthType Basic

order deny,allow

deny from all

# Aquí deberá ir la IP que quieras permitir

allow from xx.xx.xx.xxx

# Aquí otra IP que quieras permitirallow from xx.xx.xx.xxx

Deshabilitar el browsing de directorios

Impide que los usuarios puedan ver la estructura de ficheros de una determinada carpeta de tu servidor. Con lo siguiente estaría listo:

Options –Indexes

 

Desactivar Hotlinking de imágenes

En ocasiones webs externas hacen referencia a imágenes de tu web, esto evidentemente lleva al consumo de recursos de tu servidor para cargar esas imágenes en la otra web externa.

Este código nos permitirá que solo se carguen imágenes que se muestren en tu dominio o desde Google:

#disable hotlinking of images with forbidden or custom image option

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tudominio.com [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

Deshabilitar PHP en algunos directorios

Ejecutar PHP dentro de los directorios /wp-includes/ o /wp-content/ podría ser un problema de hacking como la construcción de una backdoor “puerta trasera”. De esta forma los atacantes pueden colocar código malicioso en un directorio.

La solución a esto vendría a ser crear un archivo .htaccess en cada directorio que se desee proteger principalmente en los dos mencionados al principio de este apartado e incluir el siguiente código en dicho archivo:

deny from all 

Crear redirecciones 301

Esta configuración puede llegar a ser muy importante debido a que si tenemos un enlace roto podemos redireccionar la URL antigua a la URL nueva es decir la que funciona correctamente, o simplemente por el motivo que sea queremos una redirección, y esto se consigue de la siguiente forma:

Redirect 301 /urlantigua/https://www.tudominio.es/urlnueva 

Enviar a los motores de indexación hacia robots.txt y evitar los bots maliciosos

Los bots maliciosos que pueden sobrecargar nuestro servidor realizando muchas peticiones de indexación. Una forma de evitar esto y además dirigir adecuadamente a los motores ‘no maliciosos’ a nuestro archivo robots.txt insertaremos este código:

RewriteBase /
RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC]
RewriteCond %{REQUEST_URI} robots.txt [NC]
RewriteRule .* http://your-site.com/robots.txt [R=301,L]

Bloquear comentarios spam

Otra función bastante interesante de este archivo vendría a ser bloquear el spam:

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

En conclusión, el archivo .htaccess muy importante para nuestra web, y que bien configurado es una herramienta híper potente del que depende gran parte de los recursos de nuestro servidor y la seguridad de nuestra web.

Deja un comentario