Página 1 de 1

Configuración de un archivo .htaccess para WordPress: mejora la seguridad y el rendimiento

Publicado: 09 Sep 2025, 13:00
por Guillermo
Un archivo .htaccess bien configurado es esencial para optimizar la seguridad y el rendimiento de tu sitio WordPress. Este archivo permite realizar diversas configuraciones a nivel de servidor, y es especialmente útil para proteger tu sitio contra ataques y mejorar la velocidad de carga.

NOTA MUY IMPORTANTE!!: Recuerda hacer siempre una copia de seguridad de tu actual archivo .htaccess antes de sobreescribirlo.

Aquí va un ejemplo de un archivo .htaccess para mejorara el rendimiento y la seguridad de tu instalación de WordPress, con configuraciones adicionales y sin cambios realizados por plugins:

Código: Seleccionar todo

# Reglas de Reescritura de WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# Proteger el Archivo .htaccess
<Files .htaccess>
    Order Allow,Deny
    Deny from all
</Files>

# Deshabilitar la Navegación de Directorios
Options -Indexes

# Redirigir a HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Evitar Hotlinking
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?tusitio.com [NC]  # Reemplaza con tu dominio
RewriteRule \.(jpg|jpeg|png|gif|bmp|webp)$ - [F,NC,L]

# Deshabilitar el acceso a archivos PHP en el directorio de subidas
<Directory "/wp-content/uploads/">
    <Files "*.php">
        Order Deny,Allow
        Deny from all
    </Files>
</Directory>

# Proteger el archivo xmlrpc.php
<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>

# Configuración de compresión Gzip
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript
</IfModule>
Qué hacen estas reglas

1. Deshabilitar el Acceso a Archivos PHP en el Directorio de Subidas
Esta regla evita que se ejecuten scripts PHP en el directorio de subidas (/wp-content/uploads/). Esto es crucial porque, si un atacante logra subir un archivo PHP malicioso, podría ejecutarlo y comprometer la seguridad de tu sitio. Al denegar el acceso a archivos PHP en este directorio, se reduce significativamente el riesgo de ataques.

2. Proteger el archivo xmlrpc.php

El archivo xmlrpc.php es un punto de entrada que a menudo es objetivo de ataques de fuerza bruta. Esta regla deniega el acceso a este archivo, lo que ayuda a prevenir intentos no autorizados de acceder a tu sitio a través de este método. Si no utilizas la funcionalidad de XML-RPC, es recomendable mantener esta protección.

3. Configuración de compresión Gzip

La compresión Gzip reduce el tamaño de los archivos enviados desde el servidor al navegador, lo que puede mejorar significativamente la velocidad de carga de tu sitio. Esta regla habilita la compresión para varios tipos de archivos, incluyendo HTML, CSS y JavaScript, lo que resulta en una experiencia de usuario más rápida y eficiente.

Consideraciones finales
Recuerda reemplazar tusitio.com con tu dominio real en la sección de hotlinking para que funcione correctamente. Además, siempre es recomendable hacer una copia de seguridad de tu archivo .htaccess actual antes de realizar cambios. Un archivo .htaccess bien configurado no solo mejora la seguridad de tu sitio, sino que también optimiza su rendimiento, lo que es fundamental para mantener una buena experiencia de usuario y un buen posicionamiento en los motores de búsqueda. Si tienes más preguntas o necesitas ayuda adicional, ¡no dudes en preguntar!



NOTA A POSTERIORI: ¿Esto siempre funcionará?:

Código: Seleccionar todo

# Configuración de compresión Gzip
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript
</IfModule>
La configuración de compresión Gzip que has mencionado generalmente funcionará en la mayoría de los servidores que tienen habilitado el módulo mod_deflate de Apache. Sin embargo, hay algunas consideraciones importantes a tener en cuenta:

Consideraciones sobre la configuración de compresión Gzip

- Módulo mod_deflate: La directiva <IfModule mod_deflate.c> comprueba si el módulo mod_deflate está habilitado en el servidor. Si no está habilitado, las reglas dentro de este bloque no se ejecutarán. La mayoría de los servidores Apache modernos tienen este módulo habilitado por defecto, pero es bueno verificarlo.

- Compatibilidad del Navegador: La compresión Gzip es compatible con la mayoría de los navegadores modernos. Sin embargo, algunos navegadores muy antiguos pueden no soportar Gzip. Aun así, esto es poco probable que sea un problema en la actualidad.

- Configuración del Servidor: Algunos servidores pueden tener configuraciones específicas que afectan la compresión. Por ejemplo, si estás utilizando un servidor compartido, es posible que el proveedor de hosting tenga restricciones sobre la compresión Gzip.

- Archivos Excluidos: Es posible que desees excluir ciertos tipos de archivos de la compresión, como imágenes (JPEG, PNG, GIF) y archivos de video, ya que estos ya están comprimidos y la compresión adicional no proporcionará beneficios significativos.

- Pruebas de Compresión: Después de implementar la compresión Gzip, es recomendable probar si está funcionando correctamente. Puedes usar herramientas en línea como GTmetrix o Google PageSpeed Insights para verificar si la compresión Gzip está habilitada y funcionando en tu sitio.

Ejemplo de exclusión de archivos

Si decides excluir ciertos tipos de archivos de la compresión, puedes hacerlo de la siguiente manera:

Código: Seleccionar todo

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript
    # Excluir archivos de imagen de la compresión
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
</IfModule>

En resumen, la configuración de compresión Gzip que has proporcionado funcionará en la mayoría de los casos, siempre que el módulo mod_deflate esté habilitado y no haya restricciones específicas en el servidor. Es una buena práctica habilitar la compresión Gzip para mejorar el rendimiento de tu sitio web.