¿Qué es el error Property Product->link_rewrite is empty en PrestaShop?
Este error ocurre cuando el sistema intenta guardar o actualizar un producto cuya URL amigable (el campo link_rewrite) está vacía o contiene caracteres incompatibles en alguno de los idiomas instalados. Es un problema común tras realizar importaciones masivas de catálogos mediante archivos CSV, migraciones de base de datos o actualizaciones de módulos SEO.
Causas principales del fallo
- Campos de URL amigable vacíos en idiomas secundarios activados en la tienda.
- Caracteres especiales o símbolos no permitidos en el título del producto importado.
- Caché corrupta o conflicto con módulos de reescritura de URLs.
- Prefijos o tablas de base de datos desincronizadas en
ps_product_lang.
Método 1: Reparar los campos vacíos desde la base de datos (phpMyAdmin)
Si el error te impide acceder a la ficha del producto desde el panel de administración, la solución más rápida es asignar un valor temporal directamente en la base de datos mediante SQL.
- Accede a tu panel de control (cPanel o Plesk) e ingresa a phpMyAdmin.
- Selecciona la base de datos de tu tienda PrestaShop.
- Haz clic en la pestaña SQL y ejecuta la siguiente consulta para identificar y reparar los registros vacíos:
UPDATE ps_product_lang SET link_rewrite = 'producto-sin-nombre' WHERE link_rewrite = '' OR link_rewrite IS NULL;
Nota: Recuerda sustituir ps_ por el prefijo real de las tablas de tu base de datos si es diferente.
Método 2: Regenerar el archivo .htaccess y limpiar la caché
En ocasiones, el motor de plantillas de PrestaShop mantiene en caché referencias a URLs antiguas que generan la excepción.
- Dirígete al Backoffice de PrestaShop y entra en Parámetros Avanzados > Rendimiento.
- Haz clic en el botón Borrar la caché ubicado en la esquina superior derecha.
- Ve a Configuración de la Tienda > Tráfico & SEO.
- Desactiva la opción URLs amigables, guarda los cambios, vuelve a activarla y guarda nuevamente. Esto forzará la regeneración automática del archivo
.htaccess.
Método 3: Desactivar temporalmente idiomas secundarios sin traducir
Si el catálogo tiene productos importados únicamente en un idioma pero tienes varios activos, PrestaShop fallará al validar los campos obligatorios para los demás idiomas.
- Ve a Internacional > Localización > Idiomas.
- Desactiva temporalmente los idiomas que no estén completamente traducidos en tus productos.
- Edita el producto que daba error y asegúrate de rellenar el campo URL amigable en la pestaña Basic Settings para todos los idiomas disponibles antes de reactivarlos.