El fichero .htaccess (fichero de acceso a hipertexto) es un archivo de configuración del nivel de directorio que permite la gestión descentralizada de la configuración del servidor web. Un archivo .htaccess es siempre agregado en el directorio raíz y con él se pueden modificar muchos parámetros de configuración de WordPress, como pueden ser:
- La configuración del servidor (server’s global configuration)
- El tipo de contenido (content type)
- El conjunto de caracteres (character set)
Con todas estas propiedades el archivo .htaccess se convierte en clave que garantizar y mejorar la funcionalidad de las páginas web y blogs que tengan una instalación WordPress.
El archivo .htaccess es vital para hacer un buen trabajo de posicionamiento en motores de búsqueda. Como consultor SEO, a la hora de posicionar una página o blog en los motores de búsqueda como Google, lo uso para:
- Crear redirecciones: Por ejemplo para un trabajo de cambio de dominio, donde habría que mantener las visitas del anterior dominio
- Mejora de la velocidad de carga habilitando la compresión con .htaccess: Es un apartado que muy pocas páginas web usan y que da muy buenos resultados
- Reescritura de enlaces (URL)
- Soluciones al contenido duplicado: Por ejemplo capando los accesos a ciertos contenidos para que ya no estén duplicados
- Moderar comentarios
- Un largo etc
Cuando instalas WordPress se crea un fichero .htaccess que WordPress usa por defecto, pero ese fichero puede ser mejorado, utilizando consejos como los que te ofrezco a continuación. Ten cuidado al implementarlos, y siempre guarda una copia de seguridad antes de cambiar nada, por si tienes que volver hacia atrás .
A continuación vamos con unos cuantos trucos traducidos de “20 htaccess hacks to prevent your WordPress site from hacking“ para saber cómo configurar y optimizar .htaccess para evitar “Hackeos” que dificultarán y evitarán en gran medida la piratería en tu página web o blog en WordPress. Algunos de estos consejos son para:
- Bloquear direcciones IP específicas
- Redirigir las visitas a la página de mantenimiento cuando se está rediseñando una página web o blog en particular
- Restringir direcciones IP para que nadie pueda acceder al panel de administración de tu WordPress
- Muchos otros trucos o consejos para configurar y optimizar el archivo .htaccess en WordPress.
Antes de seguir, tengo que dejar claro que en este artículo muestro los consejos más importantes para configurar .htaccess para evitar “Hackeos”, pero si lo que quieres es profundizar en el tema y configurar correctamente tu fichero .htaccess no puedes dejar de leer la guía de referencia de .htaccess (en inglés).
Apache puede ser utilizado para bloquear usuarios o bots indeseados a nuestra página web o blog. Este código permite visitar la página web o blog a cualquier persona, excepto a quien tenga las siguientes direcciones IP (cambiar las IPs con las IPs que quieras bloquear):
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
Seguridad en WordPress: Cómo configurar .htaccess para evitar “Hackeos”: Redirecciones 301
Lo primero que debes de hacer es acceder a tu panel de administración de WordPress, ir a Ajustes → Enlaces permanentes (permalinks) y seleccionar “personalizar”. Rellena el campo con /% postname%/:
Ahora tenemos que redirigir todos los backlinks (enlaces entrantes) usando la antigua estructura de enlaces permanentes (permalinks) a la nueva estructura de enlaces permanentes. Para ello, tendrás que editar el archivo .htaccess. e insertar las siguiente líneas de código:
RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.xxx.com/$4
Si quieres configurar unos enlaces permanentes más óptimos, te aconsejo cambiar /% postname%/ por /% category%/% postname%/.
RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123.123.123.123 RewriteRule $ /maintenance.html [R=302,L]
Redirecciones 301 .htaccess
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^yourblogname.com [NC] RewriteRule ^(.*)$ http://www.yourblogname.com/$1 [L,R=301]
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.yourblogname.com [NC] RewriteRule ^(.*)$ http://yourblogname.com/$1 [L,R=301]
RewriteEngine On RewriteCond %{HTTP_HOST} ^yourblogname.com$ [NC] RewriteRule ^(.*)$ http://www.yourblogname.com/$1 [R=301,L]
Este truco redirecciona http://www.tupaginaweboblog.com/feed a http://feeds.feedburner.com/tupaginaweboblog.
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/webanddesigners [R=302,NC,L]
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^comments/feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/webanddesigners [R=302,NC,L]
Redirecciones .htaccess
Utiliza el siguiente código para redirigir a una página específica sin mostrar la antigua página de error. Redirect 301 /abc/file.html http://www.yourblogname.com/def/file.html
Este código para el .htaccess no ayudará en la carga inicial de la página web o blog, pero si lo hará significativamente en posteriores cargas enviando estados 304 cuando los elementos solicitados no se hayan modificado.
FileETag MTime Size ExpiresActive on ExpiresDefault "access plus x seconds"
Reemplaza la IP de la línea de código “with allow from xx.xx.xx.xx” con la tuya para que sólo tu IP pueda acceder al panel de administración wp-admin de wordpress.
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Wordpress Admin Access Control" AuthType Basic order deny,allow deny from all allow from xx.xx.xx.xx
Simple truco para evitar que los spammers publiquen o ataquen tu página web o blog.
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]
Para bloquear ciertas direcciones IP para evitar que accedan a tu página web o blog, añade las siguientes líneas de código en tu archivo .htaccess y sustituye la dirección IP del ejemplo con la que quieras bloquear.
## USER IP BANNING order allow,deny deny from 200.49.176.139 allow from all
El archivo wp-config.php de WordPress incluye toda la información importante, como el nombre de base de datos. Es vital tenerlo bien protegido.
# protect wpconfig.php order allow,deny deny from all
Para limitar el tamaño de los archivo que subes en wordpress hasta 20MB, utiliza el siguiente código:
# limit file uploads to 10mb LimitRequestBody 10240000
# custom error pages ErrorDocument 401 /err/401.php ErrorDocument 403 /err/403.php ErrorDocument 404 /err/404.php ErrorDocument 500 /err/500.php
Para añadir una barra al final de tus enlaces (URLs), inserta el siguiente código en tu archivo .htaccess:
RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !# RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]
Acceso denegado .htaccess
Una forma sencilla de proteger mediante contraseña los directorios de tus blogs.
AuthType Basic AuthName "restricted area" AuthUserFile /usr/local/var/www/html/.htpasses require valid-user
Este truco puede ser útil para auto-corregir errores ortográficos de tus enlaces (URLs).
CheckSpelling On
Los plugins de wordpress suelen tener “puertas traseras” y suelen ser sitios por los que los hackers pueden entrar en tu página web o blog. Para evitar que otras personas tengan acceso directo a los archivos de tus plugins usa el siguiente código:
order allow,deny allow from all
Leer más:http://ignaciosantiago.com/blog/web/seguridad-en-wordpress-como-configurar-htaccess-para-evitar-hackeos/#ixzz2SXC9BCCR
Gracias por compartir
Under Creative Commons License: Attribution Non-Commercial Share Alike
Follow us: @ignaciosantiago on Twitter |Ignaciosantiagop on Facebook