htaccess SEO
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.
SEO y .htaccess
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 :).
SEO
Trucos para vconfigurar el archivo .htaccess
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).
#1 Bloquear IPs de usuarios o bots indeseados
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):
<Limit GET POST 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>
#2 Redireccionar el día y el nombre de los enlaces permanentes a /% postname%/
Seguridad en WordPress Como 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://http://www.tu_dominio.com//$4
Si quieres configurar unos enlaces permanentes más óptimos, te aconsejo cambiar /% postname%/ por /% category%/% postname%/.
#3 Redireccionar las visitas a una página de mantenimiento
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123.123.123.123
RewriteRule $ /maintenance.html [R=302,L]
#4 Redireccionar hacia www o sin www con .htaccess
Seguridad en WordPress Como configurar htaccess para evitar Hackeos redirecciones 301
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.tu_dominio.com [NC]
RewriteRule ^(.*)$ http://tu_dominio.com/$1 [L,R=301]
#5 Configurar URLs canonical con .htaccess
# Set the canonical url
RewriteEngine On
RewriteCond %{HTTP_HOST} ^tu_dominio\.com$ [NC]
RewriteRule ^(.*)$ http://www.tu_dominio.com/$1 [R=301,L]
#6 Redireccionar tu feed hacia FeedBurner
Este truco redirecciona http://www.tupaginaweboblog.com/feed a .
# temp redirect wordpress content feeds to feedburner
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ [R=302,NC,L]
</IfModule>
#7 Redireccionar tu feed de comentarios hacia FeedBurner
# temp redirect wordpress comment feeds to feedburner
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^comments/feed/?([_0-9a-z-]+)?/?$ [R=302,NC,L]
</IfModule>
#8 Redirecciones 301 para SEO con .htaccess
Utiliza el siguiente código para redirigir a una página específica sin mostrar la antigua página de error.
Seguridad en WordPress Como configurar htaccess para evitar Hackeos redirecciones 301
<a class=”_hootified” a=”” href=”#” #seo”=”” onclick=”javascript:var e = document.createEvent(“CustomEvent”); e.initCustomEvent(“hootletEvent”, true, true, {type: “hash”, value: “#SEO”}); document.body.dispatchEvent(e); return false;”>#SEO</a> Friendly 301 Redirects
Redirect 301 /abc/file.html http://www.tu_dominio.com/def/file.html
#9 Forzar la cache desde .htaccess
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”
#10 Permitir únicamente tu IP para acceder al panel de administración de WordPress
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
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT>
#11 Bloquear comentarios a peticiones no referenciadas (Spam)
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} !.*tu_dominio.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
#12 Bloquear una IP spam
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
<Limit GET POST>
order allow,deny
deny from 200.49.176.139
allow from all
</Limit>
#13 Denegar acceso al fichero de configuración wp-config de WordPress
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
<files wp-config.php>
order allow,deny
deny from all
</files>
#14 Limitar el peso de los archivos subidos a 20mb
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
#15 Personalizar la página de error 404 con .htaccess
# custom error pages
ErrorDocument 401 /err/401.php
ErrorDocument 403 /err/403.php
ErrorDocument 404 /err/404.php
ErrorDocument 500 /err/500.php
#16 Añadir barra (/) al final de las URLs
Para añadir una barra al final de tus enlaces (URLs), inserta el siguiente código en tu archivo .htaccess:
<a class=”_hootified” a=”” href=”#” #trailing”=”” onclick=”javascript:var e = document.createEvent(“CustomEvent”); e.initCustomEvent(“hootletEvent”, true, true, {type: “hash”, value: “#trailing”}); document.body.dispatchEvent(e); return false;”>#trailing</a> slash enforcement
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !#
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://tu_dominio.com/$1/ [L,R=301]
#17 Proteger directorios con contraseñas
Seguridad en WordPress Como configurar htaccess para evitar Hackeos acceso denegado
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
#18 Resolver errores en los enlaces (URLs) con .htaccess
Este truco puede ser útil para auto-corregir errores ortográficos de tus enlaces (URLs).
<IfModule mod_speling.c>
CheckSpelling On
</IfModule>
#19 Asegurar los plugins de WordPress
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:
<Files ~ “\.(js|css)$”>
order allow,deny
allow from all
</Files>