Códigos que puedes agregar al archivo .htaccess para acelerar, optimizar y asegurar tu WordPress

Los archivos de acceso a hipertexto, normalmente abreviados como htaccess, se añaden siempre (manual o automáticamente) al directorio de un sitio WordPress, y por lo general están ocultos. Hay muchas cosas que puedes hacer con estos archivos, dependiendo de tus objetivos, entre ellas mejorar la seguridad y velocidad de tu página.

Sólo ten en cuenta que incluso un pequeño error en htaccess puede causar grandes cambios en tu sitio, así que mantén un registro de todo lo que hagas, para que puedas revertirlo si hace falta.

Estas son algunas aplicaciones que puedes agregar a través del archivo .htaccess de tu wordpress:

1. Crea una lista negra para impedir el acceso al sitio desde determinadas direcciones IP

Los sitios web están hechos para tener visitantes. Sin embargo, esos visitantes pueden convertirse ocasionalmente en un problema. A veces, hay ciertos visitantes del sitio que no son bienvenidos. Los archivos Htaccess pueden utilizarse para bloquear a esos visitantes en particular. Esto también es útil para mantener a los bots alejados de tu sitio (si así lo requieres). El código utilizado para crear tu lista negra es el siguiente:

<limit get="GET" post="POST" put="PUT">
 order allow,deny
 allow from all
 deny from 123.456.789
 deny from 93.121.788
 deny from 223.956.789
 deny from 128.456.780
 </limit>

Puedes añadir tantas direcciones IP como quieras de esta manera, para mantener tu sitio libre de alborotadores. Si alguien está haciendo spam en tu sitio, este pequeño trozo de código es tu nuevo mejor amigo.


2. Crea una redirección mientras se realiza el mantenimiento del sitio

Mientras estás realizando el mantenimiento de tu página, puede ser que quieras que los visitantes sean redirigidos a una dirección que les permita saber qué está pasando. Puedes usar el archivo htaccess para lograr esto, agregando el siguiente código:

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

Asegúrate de haber creado antes un documento html para ser mostrado durante el mantenimiento del sitio, ya que el nombre o dirección de ese archivo será el que agregues al código. Esa es la página a la que este código enviará a los visitantes mientras se realizan las labores de mantenimiento, actualización, seguridad o restablecimiento de tu site. Como se trata de una redirección temporal, estamos sirviendo una respuesta de cabecera 302.


3. Crea redireccionamientos 301 mediante archivos htaccess

En otras ocasiones puedes requerir que el redireccionamiento de tus visitantes hacia una dirección diferente sea permanente. Esto es útil cuando has eliminado secciones de tu sitio que los usuarios aún pueden encontrar a través de enlaces o motores de búsqueda. También es útil cuando has movido el contenido de una página a una nueva página, con una dirección diferente. Usando el siguiente código se mostrará la nueva página en lugar de una página de error, cuando alguien haga clic en el enlace que ya no funciona.

#301 Redirects
 Redirect 301 /abc/file.html http://www.yourblogname.com/def/file.html

4. Acelere tu sitio web desactivando el guardado automático de las revisiones

WordPress guarda las revisiones de tus páginas y entradas en tiempo real a medida que las vas creando. Aunque esta es una característica increíblemente útil, también puede ralentizar la velocidad de tu sitio. A veces, la gente está dispuesta a sacrificar la comodidad de que las páginas se guarden automáticamente para tener un sitio web más rápido. Para desactivar completamente la función de autoguardado de WordPress, añadr el siguiente código en tu archivo wp.config.php (NO en el .htaccess)

define('WP_POST_REVISIONS', false );

Si quieres recuperar la función de autoguardado más adelante, simplemente borra esa línea de código.


5. Bloquea todas las direcciones IP, excepto la tuya, para que no puedan acceder a los archivos de administración

Si quieres asegurarte de que ninguna dirección IP, excepto la tuya, pueda acceder al directorio wp_admin de tu sitio, existe un código que te permite bloquear el acceso de todas las demás direcciones IP al directorio. El directorio wp_admin es donde se encuentran todos los archivos relacionados con el panel de control de WordPress. Esto incluye todas las funciones administrativas como escribir posts, moderar comentarios, instalar temas, usar plugins, etc.

Dado que WordPress permite el acceso total a los administradores, bloquear el acceso de otras personas a sus archivos de administración puede evitar que los hackers accedan a tu sitio. Para bloquear todas las direcciones excepto la suya, el código a utilizar es:

 AuthUserFile /dev/null
 AuthGroupFile /dev/null
 AuthName "WordPress Admin Access Control"
 AuthType Basic
 <limit get>
 order deny,allow
 deny from all
 allow from xx.xx.xx.xx
 </limit>

6. Prohibe a un solo spammer el acceso a tu sitio

Ya hemos hablado de un código que te permite bloquear múltiples direcciones IP de tu sitio, sin embargo, a veces es sólo un spammer el que está causando problemas. En ese caso, tiene sentido utilizar un código más simple que sólo prohíba esa dirección IP en particular. Para ello, sólo añade su dirección IP en el siguiente código.

## USER IP BANNING
 <limit get post="POST">
 order allow,deny
 deny from xxx.xx.xxx.xxx
 allow from all
 </limit>

El uso de este código permite el acceso a todo el mundo, excepto a aquellos que intentan acceder a tu sitio desde la IP que ha estado causando problemas (agregada en el código).


7. Coloca como inaccesibles archivos claves

El archivo wp-config.php contiene información sensible como el usuario, contraseña y nombre de la base de datos de tu sitio wordpress, en un formato no encriptado. Gracias a que los archivos PHP están ocultos, esta información no es inmediatamente visible utilizando un navegador, pero si alguien fuera a hackear tu página, este es uno de los primeros archivos a los que probablemente intentaría acceder, debido a la información que contiene.

El uso de este código hará inaccesible el poder llegar al archivo wpconfig.php

# protect wpconfig.php
 <files wp-config.php>
 order allow,deny
 deny from all
 </files>

8. Sólo permite subir archivos de menos de 10 MB´ s

Los archivos de gran tamaño pueden ralentizar considerablemente un sitio web. Una forma sencilla de garantizar que los archivos sean más pequeños es utilizar un código que limite el tamaño de los archivos que se pueden cargar. Esto puede evitar que un sitio se atasque al intentar abrir demasiados archivos grandes a la vez, y permitir que el sitio siga funcionando a una velocidad óptima. El siguiente código puede ser utilizado para lograr este propósito:

#limit file uploads to 10mb
 LimitRequestBody 10240000

Si prefieres establecer un límite más alto, también puedes establecer el tamaño máximo de subida a 20MB` s, o cualquier otro tamaño de archivo que elijas. Cuando se intente subir archivos de mayor tamaño al asignado la solicitud será denegada.


9. Añade protección por contraseña a tus directorios

Añadir protección con contraseña a los directorios de tu site es fácil de hacer usando tu archivo htaccess. Hay muchas razones por las que un webmaster querría hacer esto. Por ejemplo si tienes una carpeta llamada backup, donde guardas los respaldos de tu site, seguro querrás que nadie pueda ingresar a ella; también puede suceder que tengas una con el nombre de descargas, donde sólo quieres que pasen aquellos que tienen su password de acceso.

Para ello, simplemente añade el siguiente código a tu archivo htaccess:

 AuthType Basic
 AuthName "restricted area"
 AuthUserFile /usr/local/var/www/html/.htpasses
 require valid-user

10. Permitir que se corrijan automáticamente los errores ortográficos en la URL

Añadiendo una directiva de verificación ortográfica a tu archivo htaccess, los usuarios que escriban mal algo en una url podrán seguir accediendo al archivo. Este código no es suficiente para corregir errores graves de ortografía, sin embargo, cuando el problema es un error tipográfico o de una letra, el corrector puede corregir los pequeños errores y encontrar el documento correcto. Para añadir esta función a tu sitio, simplemente utiliza el siguiente código:

<ifmodule mod_speling.c>
 CheckSpelling On
 </ifmodule>

11. Asegura los archivos de los plugins de WordPress

Los plugins son increíblemente útiles, pero también pueden dejar tu sitio web vulnerable a los atacantes. A veces los archivos de los plugins permiten el acceso directo a usuarios no autorizados, lo que supone un grave problema de seguridad. Debido a que los plugins proporcionan tantas funciones impresionantes a los sitios de WordPress, no tiene sentido dejar de usarlos por completo, tan sólo porque algunos de ellos dejan lagunas que hacen posible el acceso externo. Simplemente usa las siguientes cuatro líneas de código para evitar que cualquiera, excepto tú, tenga acceso directo a los archivos de tus plugins.

<files ~ ".(js|css)$"="".(js|css)$"">
 order allow,deny
 allow from all
 </files>

12. Añade una barra al final de tu url

Las urls con una barra al final suelen indicar un directorio. Las urls que no tienen una barra al final suelen ser archivos. Aunque es posible que dos páginas diferentes con distinto contenido tengan urls idénticas aparte de la barra al final, esto puede ser confuso para los usuarios y los motores de búsqueda.

Si deseas añadir una barra al final de una url utilizando tu archivo htaccess, el siguiente código lo hará automáticamente por tí:

#trailing slash enforcement
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_URI} !#
 RewriteCond %{REQUEST_URI} !(.*)/$
 RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]

13. Redirige a los usuarios a una página de error 404 personalizada

Un error 404 se produce cuando la página solicitada no se encuentra. Esto suele ocurrir porque la página ha sido movida o eliminada. El uso de una página de error 404 personalizada es una buena idea para mantener tu sitio racionalizado y de aspecto profesional. Puedes utilizar el siguiente código para redirigir a los usuarios a tu página personalizada, cuando lleguen a una que ya no existe en la dirección que han escrito.

# custom error pages
 ErrorDocument 401 /err/401.php
 ErrorDocument 403 /err/403.php
 ErrorDocument 404 /err/404.php
 ErrorDocument 500 /err/500.php

14. Evita que los spammers hagan publicaciones en tu sitio

Los que se dedican a crear spam a través de los formularios de comentarios (si los tienes activos) en las entradas o posts de tu sitio wordpress, utilizan bots que automatizan esta dañina práctica.

Una forma de hacerles frente es agregando este código a tu archivo htaccess:

 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]

15. Añade y personaliza permalinks, para crear mejores urls

Uno de los trucos de htaccess más populares es añadir un código que permita a los webmasters crear y personalizar la configuración de los enlaces permanentes de su sitio. Esto hace que las urls sean más limpias, e incluyan sus palabras clave, en lugar de cadenas de símbolos y números aleatorios. Lograr esto es tan simple como añadir el siguiente código a tu archivo htaccess:

# BEGIN WordPress
 <ifmodule mod_rewrite.c="mod_rewrite.c">
 RewriteEngine On
 RewriteBase /
 RewriteRule ^index.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
 </ifmodule>
 # END WordPress

16. Utiliza el archivo htaccess para forzar el almacenamiento en caché

La caché forzada no acelera la carga inicial o por primera vez de una página, pero si un sitio ya ha sido cargado tan sólo una vez en un navegador, la caché forzada sí puede acelerar la carga de la página, si nada en ella ha cambiado, y para hacer que esto suceda este es el código:

 FileETag MTime Size
 ExpiresActive on
 ExpiresDefault "access plus x seconds"

17. Finalmente, aunque suene obvio, crea un archivo htaccess si no tienes uno

Si tu sitio no tiene ya un archivo htaccess, es fácil crearlo y luego subirlo. Para ello, sólo tienes que crear un archivo de texto, dejarlo en blanco, guardarlo como .htaccess (importantísimo el . al principio del nombre) y luego subirlo a la misma carpeta donde se encuentran los archivos de tu instalación WordPress.

Los códigos htaccess (dados arriba, o cualquier otro) tienen que ser implementados con total precisión (sin error alguno), o tu sitio puede caerse por completo. Es importante que crees una copia de seguridad del archivo htaccess antes de realizar cualquier cambio en él. Guarda esta copia de seguridad externamente, ya sea usando la nube, bajándola a tu computador o usando una unidad externa (como un pendrive), para asegurarte de que tendrás acceso a la copia guardada por si la necesitas.

Después de cada cambio que hagas en tu archivo htaccess, actualiza tu página, para asegurarte de que tu sitio web sigue en línea y funcionando como debe (recuerda limpiar caché si utilizas un plugin para tal fin). Debido a que un solo error puede hacer que tu sitio se caiga, es importante saber exactamente cuándo se produjo cualquier problema, esto ayudará a identificar la línea de código que necesita ser corregida (o eliminada).

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Hazlo cómodo

Porque montar, editar, mejorar, ampliar, actualizar y optimizar tu sitio web wordpress no tiene por qué ser costosísimo, un dolor de cabeza interminable, ni un trabajo mediocre.

Contáctanos