+34 638350949info@seoparaweb.es

Cómo optimizar el archivo .htaccess para mejorar el SEO

Utiliza estas instrucciones para servidores y buscadores desde el htaccess para mejorar el posicionamiento de tu web.

El htaccess es un archivo de texto que se crea sencillamente con un editor de texto plano, como el Bloc de Notas o Notepad ++ de tu ordenador.

Por sencillo que parezca, un htaccess con un código avanzado puede resultar muy potente a la hora de mejorar el posicionamiento web.

Lo que hace este archivo es dar instrucciones a los servidores para que realizen determinadas acciones.

El objetivo es casi siempre garantizar una mayor velocidad de carga de la página web, lo que se consigue activando distintas librerías presentes en tu servidor Apache, y ahora te explicaré cómo.

Nota: me centraré en el htaccess para servidores Apache, que son los más utilizados, sobre todo entre usuarios de gestores de contenido.

CÓMO AVERIGUAR LAS LIBRERÍAS O MÓDULOS EXISTENTES EN EL SERVIDOR APACHE

Aunque ya tengas tu hosting y tu página web subida al servidor, es posible que nunca te hayas preguntado qué librerías o móduos tiene preinstalados tu servidor.

Esto depende normalmente del hosting que hayas contratado: algunos ya vienen con todas las librerías más comunes de Apache instaladas, mientras que otros no disponen de algunas de ellas o el plan contratado no las incluye.

En cualquier caso, es útil saber qué librerias y módulos tiene instalados tu hosting, y eso se puede hacer de manera muy sencilla:

1)     crea un archivo de texto plano con el siguiente código:

<?php phpinfo(); ?>

2)     guárdalo con el nombre:

phpinfo.php

3)     súbelo al servidor, en la carpeta raíz

4)     entra en tu navegador y digita:

www.tuweb.com/phpinfo.php

 

Esta página te mostrará todas las librerías instaladas en tu servidor.

Es importante que dispongas de éstas:

mod_gzip o mod_deflate

mod_headers

mod_expires

 

En caso de no contar con ellas (lo que es muy raro, pero puede pasar), contacta con tu hosting para ver si pueden activarlas o plantéate seriamente cambiar de hosting.

HABILITAR “MOD GZIP” O “MOD DEFLATE” A TRAVÉS DE HTACCESS

Los módulos GZIP y DEFLATE se ocupan de comprimir el contenido de una web en el lado servidor.

Ambos módulos son muy parecidos tanto en el nivel de compresión como en la capacidad de elegir los archivos a comprimir.
Así que, dependiendo del módulo que tengas instalado en el servidor, puedes optar por cualquiera de ellos en tu htaccess.

Es suficiente declarar las extensiones de archivo para que las compriman y aumente por lo tanto la velocidad de carga de la página.
Se estima que ambos módulos son capaces de reducir el tamaño de los archivos de hasta el 70%.

NOTA: tal y cómo comentábamos en este otro artículo sobre compresión de CSS y Java Script, ni Gzip ni Deflate comprimen cualquier tipo de archivo: los archivos .pdf, .jpg, .png, .mpg, etc. es mejor comprimirlos siempre antes de subirlos al servidor (te puede interesar consultar http://yslow.es/compresion-gzip/).

 

1) Éste es el código que tienes que insertar en tu htaccess para que Gzip funcione y comprima tu web:

 <ifModule mod_gzip.c>

  mod_gzip_on Yes

  mod_gzip_dechunk Yes

  mod_gzip_item_include file .(html?|txt|css|js|php|pl)$

  mod_gzip_item_include handler ^cgi-script$

  mod_gzip_item_include mime ^text/.*

  mod_gzip_item_include mime ^application/x-javascript.*

  mod_gzip_item_exclude mime ^image/.*

  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

</ifModule>

 

2) Para activar Deflate, tienes que insertar este código:

 

<ifModule mod_gzip.c>

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

</ifModule>

ALMACENAR ARCHIVOS EN CACHÉ CON MOD EXPIRES O MOD HEADERS

Estos módulos se aplican sobre la caducidad de la caché para determinados archivos.

Cada vez que un usuario intenta cargar una página, pide todos los archivos al servidor. Pero si ya visitó la misma página anteriormente, se ha creado una caché que guarda imágenes, textos, etc.

Con los módulos mod_headers y Expires podemos decirle al servidor que reutilice los archivos de la caché para ahorrar unas llamadas http.

Todo ello reducirá el tiempo de carga y beneficiará el SEO.

Son básicamente iguales, así que puedes activar sólo uno de ellos.

 1)     Cómo añadir mod_headers al htaccess:

<ifModule mod_headers.c>

# 1YEAR

<FilesMatch “\.(ico|gif|jpg|jpeg|png|flv|pdf)$”>

  Header set Cache-Control “max-age=29030400”

</FilesMatch>

# 1WEEK

<FilesMatch “\.(js|css|swf)$”>

  Header set Cache-Control “max-age=604800”

</FilesMatch>

# 45 MIN

<FilesMatch “\.(html|htm|txt)$”>

  Header set Cache-Control “max-age=2700”

</FilesMatch>

</ifModule>

Max-age se refiere al tiempo máximo de almecenamiento de los archivos en la caché, en segundos. Aquí puedes encontrar una tabla de tiempos en segundos:

DURACIÓN EN SEGUNDOS PARA PARAMETRO MAX AGE
#      300   5 MIN

#      600  10 MIN

#      900  15 MIN

#     1800  30 MIN

#     2700  45 MIN

#

#     3600   1 HR

#     7200   2 HR

#    10800   3 HR

#    14400   4 HR

#    18000   5 HR

#    36000  10 HR

#    39600  11 HR

#    43200  12 HR

#    46800  13 HR

#    50400  14 HR

#    54000  15 HR

#    86400  24 HR

#

#    86400   1 DAY

#   172800   2 DAY

#   259200   3 DAY

#   345600   4 DAY

#   432000   5 DAY

#   518400   6 DAY

#   604800   7 DAY

#

#   604800   1 WEEK

#  1209600   2 WEEK

#  1814400   3 WEEK

#  2419200   4 WEEK

#

#  2419200   1 MONTH

#  4838400   2 MONTH

#  7257600   3 MONTH

#  9676800   4 MONTH

# 12096000   5 MONTH

# 14515200   6 MONTH

# 16934400   7 MONTH

# 19353600   8 MONTH

# 21772800   9 MONTH

# 24192000  10 MONTH

# 26611200  11 MONTH

# 29030400  12 MONTH

 2)     Cómo añadir Expires al htaccess:

En este caso es aún más fácil ya que no es necesario incluir las instrucciones en una etiqueta <If Module>. El código a insertar sería el siguiente:

ExpiresActive On

ExpiresByType image/jpg “access plus 1 year”

ExpiresByType image/jpeg “access plus 1 year”

ExpiresByType image/gif “access plus 1 year”

ExpiresByType image/png “access plus 1 year”

ExpiresByType text/css “access plus 1 month”

ExpiresByType application/pdf “access plus 1 month”

ExpiresByType text/x-javascript “access plus 1 month”

ExpiresByType application/x-shockwave-flash “access plus 1 month”

ExpiresByType image/x-icon “access plus 1 year”

ExpiresDefault “access plus 2 days”

DURANTE CUÁNTO TIEMPO SE DEBERÍAN ALMACENAR LOS ARCHIVOS EN LA CACHÉ

Esto es elección de cada uno, en base a su propia experiencia con la página web.

Si eres el webmaster y sabes con qué frecuencia se actualizan los distintos archivos, ajusta los tiempos en base a esta frecuencia.

Por ejemplo si sabes que las imágenes de la web se van cambiando cada semana, es recomendable que pongas un tiempo de caché máximo de 604800, para que un usuario que entre dos veces a una distancia de más de 7 días no vea la imagen antigua almacenada en caché, aunque ya se haya cambiado.

Sin embargo, si sabes que las imágenes no cambian casi nunca, puedes tranquilamente elegir un lapso más largo, por ejemplo seis meses (14515200).

Para los blogs, sobre todo si recibes muchas visitas y comentarios, puedes plantearte dar al HTML un tiempo máximo de 1 hora o incluso menos, para que se actualicen más rápidamente los comentarios.

OTROS USOS DE HTACCESS

Este archivo, por muy pequeño y sencillo que sea, tiene un gran potencial, permitiendo optimizar de muchas formas el rendimiento de la página (WPO)

  • REDIRECCIÓN 301

Entre sus otras finalidades quizá la más importante es la de las redirecciones 301 o 302 (permanente y temporal, respectivamente).

Puedes redireccionar páginas, directorios, dominios, e incluso resolver problemas de duplicidades, tales como la existencia del dominio con y sin www, o la barra al final de cada directorio.

Si quieres conocer a fondo su uso, puedes consultar esta guía sobre las redirecciones 301.

  • EVITAR HOTLINKS (IMÁGENES ROBADAS A TU SERVIDOR)

También es posible impedir que otras páginas web utilicen las imágenes alojadas en tu servidor para mostrarlas en su sitio, aunque no existan en su propio servidor.

Esta práctica hace que dichos sitios roben tu ancho de banda y hagan llamadas a tu servidor, mermando por lo tanto tu WPO.

Para que esto funcione, sólo tienes que crear una imagen estándar para mostrar en los casos de “robo”, y subirla a tu servidor.

Éste es el código a incluir:

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?tupaginaweb\.com/ [NC]

RewriteCond %{HTTP_REFERER} !^$

RewriteRule .*\.(jpe?g|gif|bmp|png)$ /ruta-imagen/imagen-personalizada.jpg [L]

En esta última línea insertarás la ruta de la imagen que quieres mostrar en caso de que intenten robar una de tu servidor.
Puede ser una simple imagen con una frase del tipo “Imagen de propiedad de xxyy”.

  • ERROR 404

Para el SEO es muy útil disponer de una página de error 404 personalizada.

Crear una página 404 es muy sencillo: se crea como una página normal, pero se suele incluir un título que diga: “Error 404, para volver a la home pincha aquí”.

A partir de allí, puedes jugar con tu creatividad; existen páginas 404 muy elaboradas y divertidas, que además de ser una buena solución para el posicionamiento, también consiguen atrapar al usuario y restarle importancia al hecho de que realmente se ha perdido en su navegación (y además por culpa nuestra en algunos casos).

Una vez creada la página, a la que puedes llamar simplemente error404.html, súbela a la carpeta raíz, e inserta este código en tu htaccess:

ErrorDocument 404 /error404.html

¡Los comentarios y experiencias, cómo siempre son bienvenidos!

Artículos recomendados

Deja un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies. Para mayor información consulte nuestros Términos y Condiciones

ACEPTAR