En SEO debemos aprender cómo gestionar ciertas directrices para poder comunicar lo que queremos al programador y que la implementación sea satisfactoria para el proyecto.

Así bien, muchas páginas web gestionan las directrices más comunes mediante el archivo .htaccess. Para conocer un poco más al detalle este archivo y los mejores trucos para su optimización para motores de búsqueda, por favor, continúa leyendo.

¿Qué es el archivo .htaccess?

El archivo .htaccess es la abreviatura de Hypertext Access. Se trata de un archivo de acceso de hipertexto que recibe este nombre del archivo de configuración de directorios del servidor de Apach y se utiliza para recoger las directivas principales del servidor.

El nombre comienza con un “.” debido a los sistemas Unix, donde se identifican como ocultos. Por eso debemos prestar atención cuando lo renombremos en Windows para no tener problemas.

El archivo se crea de manera local, se guarda en formato de texto (.txt) nunca formato Word, y se sube al servidor mediante vía FTP incluyéndolo en la carpeta donde tiene que utilizarse.

¿Cómo funciona?

Debes tener en cuenta los comportamientos de este archivo y todas sus particularidades:

  • El comportamiento de este archivo es jerárquico en el árbol de directorios de la web, lo que significa que si tienes un archivo en el directorio raíz de la web ten en cuenta que las directrices afectarán a todas las carpetas. Por lo que no existe un único archivo htaccess sino que puede existir uno por cada directorio si es necesario.
  • Cada vez que un usuario accede a una página web el servidor escanea estos documentos y las directrices que contienen. Por lo tanto, es imprescindible que estén perfectamente configurados y no contengan ningún error para evitar incidencias.
  • Antes de hacer algún cambio ten en cuenta que lo haces sobre una copia de documento .htaccess porque si lo editas mal puedes tener problemas después.
  • Los comentarios en el archivo siempre van introducidos con una almohadilla «#».

¿Cómo optimizar el archivo htaccess para SEO?

Mediante unas directrices podemos indicar lo que queremos pedirle al servidor y así optimizar varios ámbitos. Desde el htaccess podemos:

Redirigir un subdominio a una subcarpeta

Será muy útil cuando necesitemos eliminar un subdominio y que forme parte de la carpeta de un dominio. Como es el ejemplo: hola.ejemplo.com redirección hacia www.ejemplo.com/hola

Redirecciones 301 y 302

En el archivo se incluyen las URLs antiguas y hacia las que se quiere efectuar la redirección.

# Redirección de archivos
Redirect /antigua-web.html https://www.nueva-web.html

Protección con contraseña

Se pueden proteger ciertas áreas de una web con contraseña:

# Protección con contraseña simple de .htaccess
AuthType Basic
AuthName «Área protegida»
AuthUserFile /<ruta absoluta al archivo de contraseña>/.htpasswd
AuthPGAuthoritative Off
require user User1 User2 User3

Control de acceso a carpetas

Mediante directrices se puede gestionar el acceso (prohibir o habilitar) a determinadas carpetas a todos los usuarios o mediante una IP determinada:

# Archivo para la regulación de accesos IP
Order deny,allow
Deny from .aol.com
Deny from 192.168
Allow from 192.168.220.102

Señalar el dominio principal

Mediante la regla de redirección 301 hacia dominio.com o www.dominio.com

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.

RewriteCond %{HTTPS}s ^on(s)|off

RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$

RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]

Redirecciones hacia la versión segura

Redirecciones de la web con el protocolo de seguridad:

httpsRewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Cambiar la página por defecto

En algunas webs, la página por defecto lleva como nombre /index que no resulta amigable para SEO. Se puede cambiar para que no se muestre.

DirectoryIndex pagina-ejemplo.php

Aumentar la memoria límite de PHP

El uso de las aplicaciones PHP tiene un límite determinado debido a que los scripts ocupan memoria en el servidor. Utilizando el siguiente comando se puede aumentar la capacidad:

# PHP Memory Limit
php_value memory_limit 128M

Cambiar la zona horaria del servidor

Es posible ajustar el huso horario correcto con el siguiente comando:

#Ajustar la zona horaria predeterminada
SetEnv TZ América / Washington

Codificación de los documentos

Se puede especificar el tipo de codificación por cada tipo de documento. Para una codificación bajo el UTF-8 hay que introducir este comando:

# Especificar códificación de caracteres
AddDefaultCharset utf-8

Forzar el cacheo de tu página web

Cambiando el número de segundos en la frecuencia del cacheo facilitamos que cuando el usuario nos visite la página se cargue con mayor velocidad al tener cacheados la mayoría de elementos que no han sido modificados. Esto nos ayuda sobretodo a mejorar la carga de las imágenes.

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A432000
ExpiresByType image/jpg A432000
ExpiresByType image/jpeg A432000
ExpiresByType image/png A432000
ExpiresByType image/ico A432000
ExpiresByType image/bmp A432000
ExpiresByType text/css A432000
ExpiresByType text/javascript A432000
ExpiresByType application/javascript A432000
ExpiresByType application/x-javascript A432000
</ifmodule>

Personaliza las páginas de error 404

Cuando se produzca este error porque el usuario llega a una página no encontrada, el archivo htaccess puede mostrar estas páginas de error 404 optimizadas. Muchas veces es una de las grandes olvidadas y puede marcar la diferencia entre retener al usuario o hacerle marchar.

# Mensaje de error personalizado en ubicación local
ErrorDocument 404 /ruta-de-acceso/404.html

Seguridad

Mediante este archivo puedes bloquear el acceso a determinados bots spam:

RewriteEngine on

RewriteCond %{HTTP_REFERER} buttons-for-website\.com [NC,OR]

RewriteCond %{HTTP_REFERER} darodar\.com [NC,OR]

Hotlinking

También se pueden bloquear técnicas poco éticas como es el hotlinking: Esta técnica consiste en mostrar contenido alojado en tu servidor pero en otra web diferente, por lo que el visitante aunque esté en otra web es tu servidor el que soporta la carga de mostrar ese contenido, normalmente videos o fotos.

# Prevenir hotlinking
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://tu-dominio/.*$ [NC] [OR]
RewriteCond %{HTTP_REFERER} !^http://www.tu-dominio/.*$ [NC] [OR]
RewriteRule .*\.(gif|GIF|jpg|JPG|bmp|BMP|wav|mp3|wmv|avi|mpeg)$ – [F]

Crear URLs amigables

Es posible eliminar los parámetros por defecto de las URLs y disfrazarlas para que queden más amigables y ayuden a posicionar mejor en los resultados de búsqueda. Como es el ejemplo: https://www.ejemplo.com/index.php?parametro=blog quedando mejor https://www.ejemplo.com/blog

RewriteEngine On

RewriteRule ^tienda/([^/]*)/([^/]*)/$ /index.php?categoria=$1&producto=$2 [L]

Comprime los archivos para mejorar la navegación

Mediante una regla en el htaccess puedes comprimir los archivos js, css, html y de texto de tu web para que ocupen menos durante su carga. Así facilitarás que los usuarios desde móvil consuman menos datos durante la navegación. ¡Recordemos la importancia del WPO para SEO!

<ifmodule>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
</ifmodule>

Compresión Gzip

Comprime tus archivos en el servidor para conseguir una descarga más rápida y mejorar la calidad de la navegación.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

Evitar la indexación de archivos

Nos podemos encontrar que a pesar de haber bloqueado ciertas URLs o carpetas desde el archivo robots.txt, Google las sigue indexando. Pues introduciendo el siguiente comando conseguiremos el bloqueo completo:

<Files ~ «\.pdf$»>

Header set X-Robots-Tag «noindex, follow»

</Files>

Habilita Keep-Alive

Habilitando esto se permite la conexión continua con el servidor en vez de iniciar la conexión cada vez que se carga la página. Con keep-alive aseguramos la rapidez en la descarga del sitio web.

<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>

Ahora que ya has visto todas las posibilidades que tienes con el archivo htaccess, eres libre de implementarlas. Estas reglas son válidas tanto si tienes un WordPress como CMS, código propio, como si tienes cualquier otro.

Si que es cierto que si tienes un proyecto en WordPress, ¡tu vida será más sencilla! ya que puedes editar el archivo htaccess directamente en el editor. Aún así, ¡ten mucho cuidado ya que esto no es un plugin más y es muy fácil cargarse la web! ¡Te contamos cómo hacerlo!

Editar el archivo htaccess en WordPress

Si utilizas WordPress, te recomendamos instalar el plugin Rank Math, el cual te permitirá editarlo de forma sencilla y rápida.

Tan solo has de ir a Rank Math > Ajustes Generales > Editar .htaccess

Archivo Htaccess WordPress

Editar el archivo htaccess desde WordPress es muy sencillo así que recuerda ¡tener cuidado!

¿Te ha quedado alguna duda? ¡Déjanos en comentario y lo vemos encantados!


Fuentes consultadas:

– CDmon: Información y usos del fichero .htaccess
– Computerhoy: Qué es .htaccess, para qué sirve y códigos fundamentales
– Ionos: Diez trucos para configurar .htaccess que cualquiera debería conocer
– HelpOne: ¿Qué es .htaccess?
– Hostinger: ¿Qué es el archivo .htaccess?