Hotlinking, evita que te roben imágenes con 3 líneas de código

Tabla de Contenidos

El hotlinking ocurre cuando otros sitios web enlazan directamente a las imágenes alojadas en tu servidor para mostrarlas en sus propias páginas. Esto no solo es un robo de contenido, sino también un robo de ancho de banda: tu servidor paga la transferencia de datos mientras ellos se llevan las visitas.

En SEO, esto puede afectar indirectamente al rendimiento de tu servidor, ralentizando la carga para tus usuarios reales si el tráfico externo es muy alto.

La solución rápida en .htaccess

Para cortar este problema de raíz, solo necesitas añadir estas líneas a tu archivo .htaccess. Este código detecta si la petición de la imagen viene de tu propio dominio o de un tercero:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tudominio.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|webp)$ - [F,NC]

¿Qué significan estas 3 líneas?

  1. RewriteCond %{HTTP_REFERER} !^$: Permite que las imágenes se carguen si el «referer» está vacío (por ejemplo, si alguien abre la URL de la imagen directamente en su navegador).
  2. RewriteCond ... !^http(s)?://(www\.)?tudominio.com [NC]: Esta es la regla de exclusión. Dice: «Si el que pide la imagen no es tudominio.com, entonces aplica la siguiente regla».
  3. RewriteRule ... [F,NC]: Si se cumplen las condiciones anteriores, el servidor devuelve un error 403 Forbidden (F), bloqueando la descarga del archivo.

Variación, trolea a quien te robe contenido

A veces, en lugar de dar un error, es más efectivo (y divertido) sustituir la imagen robada por una que diga «Imagen propiedad de tudominio.com» o una versión con marca de agua agresiva.

Para ello, cambia la última línea por esta:

Apache

RewriteRule \.(jpg|jpeg|png|gif)$ https://tudominio.com/imagen-de-advertencia.jpg [R,L]


Excepciones necesarias, buscadores y redes sociales

Si bloqueas el hotlinking de forma radical, podrías impedir que tus imágenes aparezcan en Google Imágenes o que se vean correctamente cuando alguien comparte tu post en Facebook o X (Twitter).

Para evitarlo, añade excepciones para sus dominios justo antes de la línea del RewriteRule:

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google\. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bing\. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook\.com [NC]

Ejemplo

Imagina que un blog con mucho tráfico copia uno de tus artículos y «deja» las imágenes apuntando a tu URL.

  • Sin protección. Si ese blog recibe 10,000 visitas, tu servidor tendrá que servir esas imágenes 10,000 veces extra, consumiendo RAM y CPU innecesariamente.
  • Con protección. Tu servidor rechaza la petición en milisegundos. El otro blog mostrará una imagen rota (o tu advertencia) y tú ahorrarás recursos para tus clientes reales.

¿Te gustaría que revisemos cómo configurar esto específicamente si utilizas un CDN como Cloudflare, donde el proceso es ligeramente distinto?

¿Qué te ha parecido este artículo?

¡Haz clic en las estrellas para valorarlo! 👇
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas

Sé el primero en valorar este contenido ⭐

Cargando... 

¿Quieres comentar este post?

Regístrate gratis o inicia sesión para poder comentar

Iniciar Sesión

¿Has olvidado tu contraseña?

Registrarse

Restablecer Contraseña

Volver al login

Suscríbete a la Newsletter

Curso de link building

INICIAR SESIÓN