PrestaShop Administración & Productividad

Verificador de Enlaces Rotos PrestaShop 8 y 9 — Enlaces Muertos e Imágenes Faltantes

Encuentra los enlaces muertos y las imágenes rotas antes que tus clientes

El módulo recorre las descripciones de productos, las categorías, las páginas CMS, las marcas, los proveedores y las tiendas, extrae cada enlace y cada imagen, y comprueba su código HTTP. También verifica que los archivos de imagen existen físicamente en el disco, algo que la tienda nunca señala. Compatible con PrestaShop 8 y 9, multitienda, 5 idiomas.

De un vistazo
  • Enlaces e imágenes analizados en productos, categorías, páginas CMS, marcas, proveedores y tiendas
  • Comprobación HTTP en paralelo mediante curl_multi, primero HEAD y luego GET cuando el servidor remoto rechaza HEAD
  • Comprobación en disco de las imágenes de productos, categorías, marcas, proveedores y de los archivos adjuntos
  • Análisis por lotes gestionado por AJAX: sin timeout de PHP, un análisis interrumpido se reanuda donde se quedó
  • Cada URL rota queda vinculada a los contenidos que la usan, con botón de edición directo
PrestaShop 8 y 9 PHP 7.4+ Multitienda 5 idiomas Sin Composer
  • Reembolso de 30 días
  • 12 meses de actualizaciones
  • Soporte 24h
www.datafirefly.com/es/
Informe de enlaces rotos e imágenes ausentes en el back office de PrestaShop
v1.0.0 · actualizado 2026-07-27
Qué hace

La versión corta.

01

Dos tipos de rotura, dos métodos

Los enlaces e imágenes que devuelven 404, 410, 500 o que expiran se detectan por petición HTTP. Los archivos de imagen referenciados en la base de datos pero ausentes del disco se detectan leyendo el sistema de archivos: la tienda los muestra como imagen rota sin devolver nunca un error aprovechable.

02

Comprobación HTTP en paralelo

curl_multi consulta varias URL a la vez, primero en HEAD y luego en GET cuando el servidor remoto rechaza el método HEAD. Las peticiones simultáneas, el tiempo de espera, el tiempo de conexión y el user-agent son configurables.

03

Análisis por lotes, sin timeout

El análisis avanza en tramos de unos segundos gestionados por AJAX, con un cursor guardado en base de datos. Un catálogo con decenas de miles de URL se procesa sin tocar max_execution_time, y un análisis interrumpido continúa donde se detuvo.

04

De la URL rota a la ficha que corregir

Cada URL se vincula a la lista de contenidos que la usan: tipo de fuente, nombre del elemento, campo afectado, idioma y texto de anclaje. Un botón abre directamente la ficha de producto, la categoría o la página CMS en modo edición.

05

Deduplicación de URL

Una URL presente 400 veces en el catálogo se comprueba una sola vez, y las 400 ubicaciones siguen apareciendo. Un enlace de pie de página copiado por todas partes no dispara la duración del análisis.

06

Lista de exclusiones

Texto simple, comodines o expresiones regulares, un patrón por línea. Los dominios de socios que bloquean robots, las URL de preproducción y los enlaces en migración quedan fuera de los resultados.

La versión larga

Todo lo que querrías saber antes de instalar.

Una mirada detallada a cómo funciona Verificador de Enlaces Rotos PrestaShop 8 y 9 — Enlaces Muertos e Imágenes Faltantes, por qué lo construimos así y la lógica detrás de las características anteriores.

§ 01

Un enlace muerto cuesta dos veces

Cuesta primero en posicionamiento: Google sigue los enlaces de tus descripciones, y una descripción de producto que apunta a tres 404 envía una señal de contenido descuidado. Cuesta una segunda vez en conversión, cuando un cliente pulsa la guía de tallas desde una ficha de producto y cae en una página de error justo en el momento en que dudaba. El problema es que estos enlaces no se rompen el día en que los escribes. Se rompen seis meses después, cuando un socio rehace su web o se renombra una página CMS, y nadie se da cuenta.

§ 02

Dos problemas distintos, dos métodos de detección

Un enlace muerto se detecta por petición HTTP: el módulo llama a la URL y lee el código de respuesta. Un archivo de imagen ausente no se detecta así. Cuando una imagen de producto está referenciada en la tabla image pero el archivo ha desaparecido de la carpeta img/p, la petición HTTP puede devolver perfectamente una página sustituta con un 200. Por eso el módulo lee directamente el sistema de archivos para cada imagen de producto, categoría, marca, proveedor y tienda, y para los archivos adjuntos. Es la única forma de encontrar las imágenes que se muestran como un recuadro vacío sin que nada aparezca en los registros.

§ 03

Lo que el módulo lee en tu catálogo

Descripciones y descripciones cortas de productos, mensajes de disponibilidad, descripciones de categorías y de categorías CMS, contenido de páginas CMS, descripciones de marcas, proveedores y tiendas, y los bloques de enlaces del pie de página gestionados por ps_linklist. En cada uno de esos campos extrae los enlaces a href, las imágenes img src con sus variantes de carga diferida y sus srcset, además de las etiquetas source, video, audio, iframe, embed, object, link y script, y las imágenes de fondo declaradas en estilo inline. Los mailto, tel, anclajes sueltos y data URI se descartan de entrada, igual que los restos de Smarty o de shortcode que a veces sobreviven en una descripción copiada y pegada.

§ 04

Cómo aguanta el análisis en un catálogo grande

El análisis se desarrolla en dos fases. La recolección recorre los contenidos y extrae las URL. La verificación las consulta. Cada fase avanza en tramos de unos segundos gestionados por AJAX desde el navegador, con un cursor guardado en base de datos después de cada tramo. Nada depende de max_execution_time, y cerrar la pestaña a mitad de camino no pierde el trabajo ya hecho. Dos optimizaciones hacen el resto: las URL se deduplican por huella durante el análisis, así que una URL presente 400 veces se comprueba una sola vez, y las URL locales que apuntan a un archivo estático presente en disco se validan leyendo el sistema de archivos, sin ninguna petición de red.

§ 05

Del resultado a la corrección

Una tabla de resultados ordenada por gravedad lista cada URL con su estado, su código HTTP, su mensaje de error, su destino de redirección cuando lo hay y su número de usos. Al abrir una fila aparece la lista de ubicaciones: tipo de fuente, nombre del elemento, campo afectado, idioma y texto de anclaje. Cada ubicación tiene su botón de edición que abre la ficha de producto, la categoría o la página CMS en el sitio correcto. También puedes volver a comprobar una URL aislada tras corregirla, sin relanzar el análisis completo.

§ 06

Qué significan los estados

El estado correcto cubre las respuestas 2xx y los archivos locales presentes en disco. Una advertencia cubre las redirecciones, los códigos 401 y 403, y los 429 de limitación de tasa: el recurso existe, pero algo merece un vistazo. El estado muerto cubre los 404, 410, el resto de 4xx, los 5xx, los tiempos de espera agotados, los errores DNS y las conexiones rechazadas. Los estados ignorado y no comprobado corresponden a tus exclusiones y a las categorías de URL que has desactivado en los ajustes.

§ 07

Excluir lo que no debe aparecer

Muchos dominios responden 403 a los robots sin que el enlace esté roto, sobre todo detrás de un cortafuegos de aplicación. El módulo ya los clasifica como advertencia y no como enlace muerto, pero puedes ir más lejos con una lista de exclusiones: un patrón por línea, en texto simple para una coincidencia por subcadena, con comodines, o como expresión regular con un prefijo. Una URL también puede pasar a la lista de ignorados con un clic desde la tabla, lo que la mantiene fuera de los resultados de los análisis siguientes.

§ 08

Instalación y desinstalación

Sin dependencias externas, sin Composer, sin modificar el tema. Sube el ZIP desde el gestor de módulos e instálalo: se crean cuatro tablas y aparece una pestaña en Catálogo. El módulo no añade ningún hook de front-office y no toca la visualización de la tienda, solo trabaja desde el back-office. Al desinstalar se eliminan las cuatro tablas, la pestaña y la configuración.