La mejor guía de .htaccess para SEOs (¡Con ejemplos!)

Su sitio web puede haber caído después de hacer algunas ediciones en su archivo .htaccess. Pero eso no es nada para preocuparse!

Esto sucede con muchos SEOs que tratan de ir más allá haciendo arreglos técnicos.

Por lo general, las ediciones realizadas a través del tablero de WordPress dan un mini ataque de pánico, ya que estás bloqueado del tablero una vez que actualizas el archivo .htaccess erróneo.

Los archivos .htaccess son tanto una bendición como una perdición para los SEOs, ya que te ayuda a personalizar las funciones de tu sitio web.

Desde proteger los archivos con una contraseña, hacer una redirección 301 o configurar una página de error especial, .htaccess es muy útil si su sitio web se ejecuta en el servidor web Apache.

Si usted es alguien que está buscando una solución rápida para obtener su sitio web de nuevo en vivo después de un fallo de actualización .htaccess o si desea aprender más acerca de la optimización de la .htaccess de su sitio web, este es el recurso que usted pensó que nunca existió.

Te vamos a dar algunos arreglos y consejos muy rápidos sobre el .htaccess para que tú, como SEO, puedas ahora hacer cambios en el sitio web con confianza y sin preocuparte por las secuelas.

Usted ya sabe lo que es .htaccess y lo útil que es para un webmaster que ejecuta un servidor web Apache.

Sin embargo, voy a explicar algunos fundamentos de .htaccess para los principiantes para ayudarles a entenderlo antes de implementarlo.

Por favor, siéntase libre de cambiar al Capítulo de su elección usando la Tabla de Contenido.

¿Qué es .htaccess?

.htaccess es un archivo de configuración que puede ser leído y ejecutado por el software del Servidor Web Apache para habilitar/deshabilitar funciones y características adicionales. Dado que el archivo .htaccess existe en un entorno basado en Unix y se ejecuta dentro del nivel de directorio, anula la configuración global del servidor web permitiendo una configuración personalizada del acceso al sitio web.

¿Qué significa .htaccess?

.htaccess es un acrónimo de «acceso de hipertexto». El nombre se derivó después de que el archivo se hiciera popular entre los desarrolladores que lo utilizaban para modificar las funciones de accesibilidad del usuario en cada directorio.

.htaccess utiliza las directivas http.config del servidor Apache para permitir y restringir el acceso a los directorios para las personas que utilizan nombres de usuario y contraseñas. Sin embargo, cuando se trata de SEO, .htaccess tiene un papel aún más importante.

¿Para qué se utiliza .htaccess?

Si usted tiene un sitio web que viene con diferentes requisitos sobre una base consistente, considerar .htaccess como una bendición.

Como SEO, .htaccess es muy útil, ya que puede utilizarlo para dar directivas al servidor web para redireccionar 301, habilitar el almacenamiento en caché, actualizar las cabeceras HTTP, controlar el rastreo, hacer que las URL sean amigables con el SEO y mucho más!

¿Dónde puede encontrar el archivo .htaccess?

Dado que .htaccess es una configuración a nivel de directorio, puede encontrarlo en casi todas las carpetas dentro de su directorio web. Si usted tiene un solo directorio web con múltiples subdirectorios (sitio web), el archivo .htaccess se puede encontrar en el directorio raíz, así como dentro de cada subdirectorio.

Si eres un usuario de WordPress, la mejor manera de acceder al archivo .htaccess es a través de la opción del plugin Yoast.

Precaución: Dado que .htaccess no es algo con lo que los principiantes deban jugar, recomiendo probarlo en el sitio de demostración. Además, usted debe tener un amplio conocimiento sobre el uso de Filezilla para acceder a la carpeta raíz si se bloquea fuera de la administración de WordPress.

Si está ejecutando un sitio web de WordPress, hay un puñado de plugins que apoyan la edición del archivo .htaccess. Dado que la mayoría de los usuarios de WordPress eligen Yoast como su plugin SEO por defecto, permítanme explicar cómo se puede editar el archivo .htaccess en el tablero de Yoast dentro de WordPress.

Paso 1: Accede a tu panel de administración de WordPress

Paso 2: Abre la configuración de Yoast

Paso 3: Abre las herramientas

Paso 4: Dentro de las herramientas, selecciona «Editor de archivos»

Paso 5: Edita el archivo .htaccess y guárdalo

En la mayoría de los sitios web de WordPress, .htaccess viene con esta configuración por defecto:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ -
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
# END WordPress

¿Qué pasa si tu sitio web no tiene un archivo .htaccess?

Dado que .htaccess es un archivo de configuración generado automáticamente, en el 99% de los casos, estará presente. Sin embargo, suele ser un archivo oculto dentro de los directorios y los webmasters piensan que falta. Basta con activar la opción «mostrar archivos ocultos» y debería poder encontrarlo.

Si no encuentra el archivo .htaccess incluso después de hacer esto, puede que tenga que escribir uno manualmente y subirlo a su servidor web.

Pasos para crear un archivo .htaccess personalizado

Paso 1: Abra el bloc de notas

Paso 2: Escriba la configuración (para probar utilice la configuración por defecto proporcionada anteriormente)

Paso 3: Guarde el archivo en ASCII con el nombre de archivo .htaccess

Paso 4: Asegúrese de que el archivo no se guarda en formato .txt

Paso 5: Utiliza Filezilla para subir el archivo .htaccess a tu directorio web

Nota: Si eres un usuario de WordPress y tienes un campo vacío para el archivo .htaccess, sólo tienes que añadir la configuración y guardar.

¿Qué hacer si se te bloquea el Dashboard de WordPress después de actualizar el archivo .htaccess?

Puede que hayas actualizado el archivo .htaccess usando Yoast o usando el gestor de archivos de WP y te hayas quedado bloqueado en el dashboard. Que no cunda el pánico. Esto se puede arreglar fácilmente.

Si eres un SEO, obtén el acceso FTP de tu sitio web del desarrollador en el que gestiona el servidor. Si necesita la ayuda de un experto, su desarrollador podría ser la mejor mano amiga.

Paso 1: Accede al directorio de tu web utilizando FileZilla

Paso 2: Descarga el archivo .htaccess del directorio

Paso 3: Actualiza el archivo .htaccess con la configuración por defecto y guárdelo

Paso 4: Reemplace el antiguo archivo .htaccess del directorio por el nuevo

Nota: Si su prioridad es volver a poner el sitio web en línea lo antes posible, utilice el código por defecto. Sin embargo, si ha realizado muchos cambios en el archivo .htaccess, intente encontrar el código que le ha salido mal. Elimínelo antes de volver a subirlo al servidor.

¿Por qué está viendo un error después de actualizar el archivo .htaccess?

Si usted es un SEO tratando de aprender .htaccess en profundidad, lo más probable es que acabe cometiendo algunos errores al principio. Esto está perfectamente bien hasta que entienda por qué el servidor web marcó un error.

Hay algunos problemas comunes que los SEOs encuentran cuando se trata de actualizar el archivo .htaccess. Aquí está la lista de los problemas más comunes de .htaccess.

  1. Anulación desactivada: Para que su archivo .htaccess funcione, primero debe habilitar la opción AllowOverride. Si la opción AllowOverride se establece en None, todas las configuraciones establecidas en el .htaccess se desactivarán. Para asegurarse de que la opción Override está habilitada, siga este paso:

Paso 1: Abra el archivo de configuración de Apache (http.conf)

Paso 2: Establezca la directiva Allow OverRide como : AllowOverride All

Paso 3: Guarde el archivo Apache Config y reinicie el servidor Apache

  1. Nombre de archivo mal escrito: Este es el segundo error más común que cometen los SEOs. Dado que .htaccess es un archivo de configuración basado en Unix que se guarda en ASCII, si se escribe mal se producirá un error. Si el archivo no comienza con un «.» o se carga en un formato de archivo diferente como .txt, el servidor Apache ignorará el archivo y la configuración que usted estableció.
  2. Jerarquía de los asuntos .htaccess: Los archivos .htaccess se ejecutan según su jerarquía. Algunas reglas establecidas al principio de los archivos .htaccess podrían anular las reglas que vienen en la etapa posterior de la configuración. Si cree que son críticas, intente mover la configuración particular hacia arriba.
  3. Múltiples archivos .htaccess: Dado que los archivos .htaccess pueden ser utilizados por directorios, existe la posibilidad de que su sitio web esté utilizando múltiples archivos .htaccess. En estos casos, un archivo puede contradecir la configuración establecida en otro, dando lugar a errores. Puede solucionar este problema desactivando los archivos .htaccess individuales.
  4. Error de sintaxis: El archivo .htaccess funciona completamente basado en la sintaxis que se utiliza para configurar su sitio web. Un error de sintaxis en el archivo puede hacer que su sitio se desconecte y causar un ataque de pánico. Así que es imperativo entender la sintaxis antes de actualizar sus archivos .htaccess.

¿Cuáles son los mensajes de error comunes que se obtienen después de actualizar el archivo .htaccess?

Cada vez que un usuario visita su sitio web, está interactuando con el servidor web directa o indirectamente. Las páginas que obtienen al hacer clic en las imágenes y otros recursos que ven son traídos por el servidor web, lo que significa que usted como el webmaster puede restringirlo.

Algunos sitios web utilizan .htaccess para establecer la autenticación para acceder a los sitios web. Cuando se trata de SEO, lo utilizan para asegurar que los usuarios y los bots de los motores de búsqueda accedan fácilmente a las páginas más importantes. Si el sitio web no proporciona la información solicitada, el servidor web genera un código de error basado en las configuraciones establecidas en el archivo .htaccess.

Aquí está la lista de códigos de error que los servidores web muestran una vez que no consiguen obtener los datos solicitados.

Errores de solicitud del cliente

  • 400 – Solicitud incorrecta: Estructura de URL inválida. El servidor no puede entender la solicitud planteada por el usuario.
  • 401 – Autorización requerida: Estos mensajes se muestran cuando el acceso a la página ha sido restringido por los webmasters.
  • 402 – Pago Requerido (aún no utilizado): Si el inicio del pago no se produce, generalmente da este código.
  • 403 – Prohibido: La sencilla razón por la que se obtiene un error 403 es porque se está intentando acceder a un recurso que tiene el permiso restringido. Un sitio web muestra errores 403 prohibidos cuando los usuarios intentan acceder a una página que requiere autenticación.
  • 404 – No se encuentra: El 404 es una clara indicación a los usuarios de que la URL solicitada no está disponible en el sitio web. Puede deberse a un error tipográfico en la URL o cuando la página ha sido eliminada del sitio.
  • 405 – Método no permitido: Este código de estado de respuesta HTTP indica que el servidor se ha negado a aceptar el método de solicitud a pesar de entender el propósito de la misma.
  • 406 – No aceptable (codificación): Esto suele ocurrir cuando el servidor no puede responder con la solicitud accept-header.
  • 407 – Proxy Authentication Required: Este error indica que la solicitud no puede cumplirse debido a la falta de autenticación del servidor proxy entre el navegador y el servidor.
  • 408 – Request Timed Out: Este es uno de los errores HTTP más comunes que los webmasters encuentran cuando el servidor no recibe una solicitud completa del lado del cliente dentro del período de tiempo de espera asignado.
  • 409 – Solicitud conflictiva: Este error se produce cuando el estado del recurso de destino entra en conflicto con el estado actual. Para resolver el error, identifique el conflicto y vuelva a enviarlo.
  • 410 – Desaparecido: Este código de error representa que el acceso al recurso solicitado ha sido eliminado permanentemente del servidor y permanecerá así durante todo el tiempo.
  • 411 – Longitud de contenido requerida: El error representa la incapacidad del servidor para aceptar la solicitud del cliente debido a que no se ha definido la cabecera content-length.
  • 412 – Precondition Failed: El es un error causado debido al choque de seguridad con una o varias de las configuraciones de seguridad que se han implementado en su servidor.
  • 413 – Entidad solicitada demasiado larga: Cuando el recurso solicitado es demasiado grande para que el servidor lo cargue, el usuario puede experimentar el error 413.
  • 414 – Solicitud de URI demasiado larga: Piense en una estructura de URL superior a 2048 caracteres. El servidor no puede descifrar el error 414 resultante.
  • 415 – Tipo de medio no soportado: Este error aparece cuando el servidor se niega a cargar un recurso que está en un formato de medio no soportado.

Errores del servidor

  • 500 – Error interno del servidor
  • 501 – No implementado
  • 502 – Puerta de enlace incorrecta
  • 503 – Servicio no disponible
  • 504 – Tiempo de espera de la puerta de enlace
  • 505 – Versión HTTP no soportada.

¿Para qué sirve .htaccess?

Redirecciones

¿Acaba de cambiar el nombre de dominio de su sitio web?

Como SEO, definitivamente no quieres que tus usuarios vean una página 404, ni quieres que toda la autoridad ganada con esfuerzo desaparezca sin más.

Considere su .htaccess como la panacea para estas dos preocupaciones. Añadir la directiva de redirección a su archivo .htaccess le ayudará a redirigir el tráfico y la autoridad del sitio al nuevo dominio.

Lo interesante es que puede hacer lo mismo cuando se trata de las URLs dentro de su sitio web. Al crear una directiva de redirección 301, empujas a tus usuarios y a los bots de los motores de búsqueda que intentan acceder a una URL antigua a leer una nueva página dentro de tu sitio.

Ejemplo de redirección a nivel de dominio con .htaccess:

# This allows you to redirect your entire website to any other domain 
Redirect 301 / http://example.com/

Ejemplo para la redirección de URL con .htaccess:

RedirectMatch 301 ^/old-url.html$ /new-url.html

URLs amigables con el SEO

¿Su estructura de URLs está desordenada? ¿Los usuarios y los robots de los motores de búsqueda no pueden entender lo que hay en la página? Esto le ocurre a bastantes webmasters.

La falta de atención a la estructura de la URL inicialmente se convierte en un gran dolor después de que el sitio web gana autoridad.

Usando el .htacces, puedes establecer la estructura de URL adecuada para tu sitio web.

Además de esto, cualquier extensión que venga junto con su URL, por ejemplo, .html o .php puede ser fácilmente eliminada añadiendo directivas al .htaccess.

Ejemplo 1: Usar .htaccess para eliminar las extensiones en la URL

Quitar .php como extensión

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ .php

Quitar .html como extensión

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ .html

Ejemplo 2: Usar .htaccess para hacer que las URLs estén en minúsculas

Método 1

RewriteCond %{REQUEST_URI} 
RewriteRule . ${lc:%{REQUEST_URI}}

El código anterior afectará a todas las estructuras de las URLs, incluyendo el nombre del dominio.

Método 2

RewriteCond %{REQUEST_URI} 
RewriteRule ^.+.html$ ${lc:%{REQUEST_URI}}

El anterior sólo afectará a los nombres de los archivos html.

Ejemplo 2: Utilizar .htaccess para la reescritura de URLs dinámicas

RewriteEngine On
RewriteRule /(.*)/(.*)/$ page.php?category=&product=

Una URL mala: site.com/page.php?category=2&product=54

Una URL buena: site.com/sandwiches/rueben-sandwich/

  • Usando .htaccess para mejorar la velocidad del sitio

La velocidad de la página es el nuevo hoo-ha entre los webmasters.

Tienen todas las razones para crear el alboroto ya que Google ahora lo considera como uno de los principales factores mientras que la clasificación de páginas en el SERP.

Google no quiere que los usuarios tengan una mala experiencia de uso de las páginas mejor posicionadas.

Además, un sitio web de carga lenta consume mucho presupuesto de rastreo.

Una de las formas más sencillas y seguras de mejorar la velocidad del sitio web es configurando su .htaccess.

  • Habilitar la función de caché

Al habilitar la función de caché en el archivo .htaccess, los recursos del sitio web se almacenan en el navegador del visitante permitiendo una carga rápida.

Puede habilitar la caché usando dos métodos diferentes

ExperiesByType – Usando este método en .htaccess, puede establecer un marco de tiempo de caché, también conocido como expiración para cada recurso dentro de su sitio web.

Ejemplo:

<ifModule mod_headers.c>
# YEAR
<FilesMatch ".(ico|gif|jpg|jpeg|png|flv|pdf)$">
Header set Cache-Control "max-age=29030400"
</FilesMatch>
# WEEK
<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>

Cabecera de control de caché – La cabecera de control de caché utiliza la edad máxima para los recursos antes de expirar.

Ejemplo:

# One month for most static assets
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>

Habilitando la compresión Gzip

La única razón que deteriora la velocidad de un sitio web es el tamaño de sus recursos. Al habilitar gzip en su archivo .htaccess, puede reducir el tamaño de la imagen, el tamaño del archivo y la cantidad de archivos mientras envía los datos al navegador del lado del cliente.

Habilitar gzip es una de las directivas .htaccess más sencillas.

Aquí hay un ejemplo:

<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>

Habilitando la opción Deflate

Algunos servidores web no soportan gzip, por lo que el sitio web podría encontrarse con errores. En estos casos, se aconseja utilizar la opción deflate en el archivo .htaccess.

Aquí hay un ejemplo:

<IfModule mod_deflate.c>
# Compress text, HTML, JavaScript, CSS, XML
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# The following lines are to avoid bugs with some browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
BrowserMatch bMSI !no-gzip !gzip-only-text/html
# Do not cache if these files are already cached
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip
# Proxies must give the right content
# Header append Vary User-Agent env=!dont-vary
Header append Vary User-Agent
</IfModule>

Uso de .htaccess para mejorar el rastreo y la indexación

Es posible que ya esté utilizando el archivo robot.txt para permitir y desautorizar a los motores de búsqueda el rastreo y la indexación de su sitio web. Sin embargo, es posible que tenga otros recursos además de una página web en su sitio. En estos casos, el rbot.txt puede no funcionar.

Si quiere que unos pocos recursos como un PFD o un documento de Word no sean indexados, la mejor manera de hacerlo es estableciendo una etiqueta X-robots en su archivo .htaccess.

La cabecera personalizada del archivo .htaccess puede funcionar con todas las directivas del indexador.

Ejemplo:

<FilesMatch ".(docx|pdf)$">
Header add X-robots-tag "noindex, noarchive, nosnippet"
</FilesMatch>

En este caso, cualquier archivo con extensiones .doc y .pdf será considerado como noindex, noarchive, nosnippet.

Conclusión

Casi todos los servidores Apache tienen un archivo de configuración preestablecido. Sin embargo, esto se aplica a todo el sitio y por lo tanto es difícil establecer la configuración a nivel de directorio.

Ahí es donde .htaccess viene como una bendición. Usted puede establecer la configuración a nivel de directorio y subdirectorio utilizando el .htaccess para anular los ajustes de configuración de Apache.

Además de esto, puede utilizar códigos de configuración simples para establecer la autenticación. Esto es más útil si usted tiene un alojamiento compartido con múltiples sitios web.

Ventajas del archivo .htaccess

  • Lee todas las peticiones
  • Cambio inmediato sin reiniciar el servidor
  • Gestiona eficazmente el acceso de los usuarios en función de las preferencias
  • Establece la configuración a nivel de directorio
  • Una verdadera ventaja para los SEO

Desventajas del archivo .htaccess

  • Los archivos htaccess pueden aumentar los riesgos de seguridad de la ejecución de un sitio
  • Menos que la configuración a nivel de servidor, ya que el .htaccess se busca y se lee cada vez que se carga una página
  • Impacta la velocidad de un sitio web, lo que impulsa el tráfico en millones.

Los archivos .htaccess no se recomiendan como método de configuración del servidor debido a problemas de seguridad y rendimiento.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.