🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo usar la URL amigable de PrestaShop con mod_rewrite

Actualizado el 22 de octubre de 2025

¿Cansado de ver URLs como tiendaonline.com/index.php?id_product=42&controller=product? Esas direcciones largas y llenas de símbolos no solo son feas para compartir, sino que también son un lastre para tu posicionamiento web. La buena noticia es que PrestaShop tiene una solución integrada y elegante: las URLs amigables, activadas mediante el módulo mod_rewrite de Apache. En esta guía extensa y paso a paso, te explicaré todo lo que necesitas saber para activarlas, configurarlas y solucionar los problemas más comunes, incluso si nunca has tocado un archivo de configuración en tu vida.

¿Qué son las URLs Amigables y por qué son cruciales para tu SEO?

Antes de ensuciarnos las manos con la configuración, es fundamental entender el "por qué". Una url amigable prestashop (también conocida como URL limpia o semántica) es una dirección web que describe el contenido de la página de forma legible para los humanos y los motores de búsqueda.

Por ejemplo, una URL amigable sería: https://tutienda.com/zapatillas-de-running-mujer.

Mientras que una URL no amigable sería: https://tutienda.com/index.php?id_product=87&controller=product&id_lang=1.

La diferencia es abismal, y aquí te detallo los beneficios clave:

  1. Mejor Experiencia de Usuario (UX): Los usuarios confían más en un enlace claro. Saben a dónde van a ir antes de hacer clic. Es más fácil de recordar y de compartir en redes sociales o por mensajería.
  2. Mejora del SEO (Posicionamiento): Los motores de búsqueda (como Google) analizan las URLs para entender el contexto de la página. Una URL con palabras clave relevantes (como "zapatillas-running-mujer") tiene más probabilidades de posicionarse mejor que una con números y parámetros extraños. Es una señal de relevancia.
  3. Aumento del Click-Through Rate (CTR): En los resultados de búsqueda, la URL es visible. Una URL limpia y descriptiva invita al clic, mientras que una URL crítica y confusa suele ser ignorada.
  4. Evita Contenido Duplicado: Las URLs amigables ayudan a consolidar las señales de autoridad de tu página, evitando que Google vea múltiples versiones de la misma página (una con parámetros y otra sin ellos).

En resumen, activar las urls limpias prestashop es uno de los primeros pasos de cualquier estrategia de seo prestashop que se precie. No es un lujo, es una necesidad.

Entendiendo el Motor: ¿Qué es mod_rewrite y cómo se relaciona con PrestaShop?

mod_rewrite es un módulo del servidor web Apache (el software que aloja tu tienda en la mayoría de los casos). Su función es reescribir las URLs sobre la marcha. Es decir, cuando un usuario o un buscador solicita /zapatillas-de-running-mujer, el módulo traduce internamente esa petición a /index.php?id_product=87&controller=product para que PrestaShop pueda procesarla y mostrar el producto correcto, pero la URL que se muestra en el navegador y que se indexa es la primera, la amigable.

Piensa en mod_rewrite como un traductor simultáneo entre el mundo exterior (URLs limpias) y el mundo interior de tu aplicación (URLs dinámicas). PrestaShop genera las reglas de reescritura necesarias y las guarda en un archivo llamado .htaccess (en la raíz de tu instalación).

El papel del archivo .htaccess: Este es un archivo de configuración invisible (empieza con un punto) que le dice a Apache cómo comportarse en ese directorio específico. PrestaShop lo genera automáticamente cuando activas las URLs amigables, pero a veces hay que editarlo manualmente para resolver conflictos o añadir reglas personalizadas.

Requisitos Previos: Lo que necesitas antes de empezar

No te lances a configurar sin verificar estos puntos, te ahorrarás muchos quebraderos de cabeza.

  • Servidor Apache con mod_rewrite activo: Este es el requisito número uno. Si tu hosting es de pago y de calidad, casi seguro que ya está activo. Si usas un servidor local (como XAMPP o WAMP), también lo está por defecto. Para verificarlo, puedes crear un archivo llamado info.php en la raíz de tu tienda con el contenido <?php phpinfo(); ?> y buscar "mod_rewrite" en la sección "Loaded Modules". Si no aparece, tendrás que activarlo en el httpd.conf de Apache (descomentando la línea LoadModule rewrite_module modules/mod_rewrite.so). No te preocupes, esto es más sencillo de lo que parece.
  • Acceso al Panel de Control de tu Hosting: Necesitarás poder editar archivos (como el .htaccess) o usar un administrador de archivos. Si tu hosting usa Syspanel (recuerda, el puerto de acceso es el 2106), podrás hacerlo desde el administrador de archivos o el gestor de bases de datos, aunque para esto último no lo necesitarás.
  • Copia de seguridad: Antes de tocar nada, haz una copia de seguridad de tu tienda, especialmente del archivo .htaccess si ya existe. Es una regla de oro en administración de sistemas.

Guía Paso a Paso: Activando las URLs Amigables en PrestaShop

Ahora sí, vamos al meollo del asunto. Sigue estos pasos al pie de la letra y en menos de 5 minutos tendrás tu tienda con URLs limpias.

Paso 1: Accede al Back Office de PrestaShop

Entra en tu panel de administración (normalmente en tudominio.com/admin o la ruta que hayas configurado).

Paso 2: Navega a la Configuración de Tráfico y SEO

En el menú lateral izquierdo, busca la sección que dice "TRÁFICO Y SEO" (o "Traffic & SEO"). Haz clic en ella. Si no lo ves directamente, puede estar dentro de "Mejorar" o "Advanced Parameters" (Parámetros avanzados) en versiones más modernas.

Paso 3: Configura la Pestaña "SEO y URLs"

Dentro de "Tráfico y SEO", verás varias pestañas. La que nos interesa es la de "SEO y URLs". Al hacer clic, verás un formulario con varias opciones. Busca el campo llamado "URLs amigables" o "Friendly URLs".

Paso 4: Activa la Opción y Guarda

Verás un interruptor o un selector que dice "Sí" / "No". Cámbialo a "Sí". Justo debajo, verás una advertencia que dice que se sobrescribirá el archivo .htaccess. Asegúrate de que el botón "Guardar" (o "Save") está pulsado. Al guardar, PrestaShop intentará generar el archivo .htaccess automáticamente con las reglas de mod_rewrite prestashop.

[INFO]: Si al guardar ves un mensaje de error en rojo que dice que no se pudo escribir el archivo .htaccess, no te preocupes. Es muy común. Significa que el archivo no tiene permisos de escritura. Lo solucionaremos en el siguiente paso.

Paso 5: Verifica la Generación del Archivo .htaccess

Después de guardar, ve a la raíz de tu tienda (a través de FTP o el administrador de archivos de Syspanel) y busca el archivo .htaccess. Si existe y tiene contenido (debería tener cientos de líneas), ¡genial! Si no existe o está vacío, tendrás que hacerlo manualmente.

Paso 6: Solución Manual para el .htaccess (Si es necesario)

Si PrestaShop no pudo crear el archivo, aquí tienes el plan B:

  1. Conéctate a tu hosting por FTP o usa el administrador de archivos de Syspanel (recuerda, el puerto de acceso es el 2106).
  2. Ve a la carpeta raíz donde está instalada tu tienda (donde están las carpetas admin, config, img, etc.).
  3. Busca un archivo llamado .htaccess. Si no existe, créalo. Si existe, ábrelo con un editor de texto.
  4. No borres el contenido existente si lo hay. Simplemente, al final del archivo, pega este bloque de código (es el estándar que genera PrestaShop). Asegúrate de reemplazar tudominio.com por tu dominio real.
# ~~start~~ Do not remove this comment, PrestaShop will keep automatically the code outside this comment when .htaccess will be generated again
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^api(?:/(.*))?$ webservice/dispatcher.php [QSA,L]
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-)([a-z0-9]+)(/[a-z0-9]+)*\-/([0-9]+)\-([a-z0-9]+)\.html$ product.php [QSA,L]
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [QSA,L]
RewriteRule ^api/(.*)$ api/$1 [QSA,L]
# ... (Aquí irían muchas más reglas específicas para tu versión de PrestaShop)
</IfModule>
# ~~end~~ Do not remove this comment

[WARNING]: Este es un ejemplo simplificado. La mejor manera de obtener el .htaccess correcto es intentar guardar la configuración en el Back Office con permisos de escritura. Si no es posible, contacta con tu proveedor de hosting; ellos pueden generarlo o darte las reglas exactas. No te inventes las reglas, podrías romper tu tienda.

Configuración Avanzada: Ajustando las URLs para un SEO Óptimo

Una vez activadas las URLs amigables, PrestaShop te ofrece opciones para personalizarlas aún más. Vuelve a la pestaña "SEO y URLs" en tu Back Office.

Personalizando las Rutas (Route to Shop, Product, Category)

En versiones recientes de PrestaShop, encontrarás una sección llamada "Esquemas de URL" o "Route to...". Aquí puedes definir cómo se estructuran tus URLs. Por ejemplo:

  • Ruta para productos: Puedes usar {category:/}{id}-{slug}.html. Esto generará URLs como /zapatillas/42-zapatillas-de-running.html.
  • Ruta para categorías: Puedes usar {id}-{slug} o simplemente {slug}. Te recomiendo usar {id}-{slug} para evitar conflictos si cambias el nombre de una categoría en el futuro. Esto generaría URLs como /12-zapatillas-de-running.

Recomendación clave: No cambies estas rutas sin saber lo que haces. Si ya tienes tráfico indexado, cambiar la estructura romperá todos tus enlaces antiguos (a no ser que configures redirecciones 301, lo cual es otro tema). Si es tu primera vez, puedes dejarlo por defecto o personalizarlo con cuidado.

La Importancia de los Enlaces Permanentes (Canonical URLs)

En la misma página de configuración, verás la opción de "Redireccionar a la URL canónica". Actívala. Esto ayuda a evitar problemas de contenido duplicado, ya que PrestaShop redirigirá automáticamente las URLs con parámetros (como ?id_product=1) a su versión limpia.

Solución de Problemas Comunes (FAQ)

Aquí tienes las dudas más frecuentes que nos llegan al soporte técnico sobre este tema.

1. "Activo las URLs amigables y me da un error 404 en todas las páginas"

Este es el problema más común. Casi siempre se debe a que el archivo .htaccess no se ha generado correctamente o no se ha activado mod_rewrite.

Solución:

  1. Verifica que mod_rewrite esté activo (revisa la sección de requisitos).
  2. Revisa que el archivo .htaccess exista en la raíz y tenga permisos de lectura (644 suele ser lo correcto).
  3. Si el archivo existe pero sigue fallando, prueba a regenerarlo: en el Back Office, cambia la opción de URLs amigables a "No", guarda, vuelve a cambiarla a "Sí" y guarda de nuevo.
  4. Verifica que la opción AllowOverride All esté configurada en el httpd.conf de Apache (esto es más técnico, pero es la causa raíz de muchos 404). Si no sabes qué es, contacta a tu hosting.

2. "No puedo guardar los cambios, me dice que el .htaccess no tiene permisos de escritura"

Este es un problema de permisos del sistema de archivos.

Solución: Conéctate por FTP o al administrador de archivos de Syspanel (puerto 2106). Busca el archivo .htaccess en la raíz y cambia sus permisos a 644 (o, temporalmente, a 777 para que PrestaShop pueda escribirlo, pero luego vuelve a ponerlo a 644 por seguridad). Si el archivo no existe, crea uno vacío y dale permisos 644.

3. "Ya tengo URLs amigables, pero quiero que sean más cortas"

Puedes modificar los "Esquemas de URL" en la misma página de configuración. Por ejemplo, para quitar el ID de las categorías, cambia la ruta de {id}-{slug} a {slug}. Pero recuerda la advertencia anterior: esto puede romper enlaces antiguos. Si lo haces, configura redirecciones 301 desde las URLs antiguas a las nuevas.

4. "¿Esto funciona en Nginx en lugar de Apache?"

No. mod_rewrite es exclusivo de Apache. Si tu hosting usa Nginx (el segundo servidor web más popular), la configuración es completamente diferente y se realiza a nivel de servidor (en el archivo nginx.conf), no en un .htaccess. Si tu tienda está en Nginx, contacta con tu proveedor de hosting, ya que necesitarán añadir las reglas de reescritura equivalentes.

5. "¿Qué pasa si cambio de hosting o de servidor?"

Al cambiar de hosting, es probable que tengas que regenerar el archivo .htaccess. Lo más fácil es ir al Back Office, desactivar y volver a activar las URLs amigables para forzar la regeneración. Asegúrate de que el nuevo servidor tenga mod_rewrite habilitado.

Consejos Finales para tu Estrategia de SEO PrestaShop

Activar las URLs amigables es solo el principio. Para sacarle el máximo partido a tu seo prestashop, te dejo algunos consejos extra:

  • Enlazado Interno: Usa estas URLs limpias en tus menús y textos. Cuanto más enlaces internos apunten a una URL limpia y descriptiva, mejor.
  • Mapa del Sitio (Sitemap): PrestaShop genera un sitemap automáticamente. Asegúrate de que esté activado y de enviarlo a Google Search Console para que indexe tus nuevas URLs.
  • Redirecciones 301: Si tu tienda ya tenía URLs antiguas con parámetros, configura redirecciones 301 desde esas URLs a las nuevas para no perder el "jugo" SEO acumulado. Puedes hacerlo en el archivo .htaccess o con módulos especializados.
  • Palabras Clave en las URLs: Aprovecha los "Esquemas de URL" para incluir la categoría en la URL del producto (como en el ejemplo anterior). Esto es muy potente para el SEO.

[TIP]: Un truco de experto: Después de activar todo, abre tu tienda en una ventana de incógnito y navega por un producto y una categoría. Copia la URL y pégala en un validador de URLs (como el de Google) para asegurarte de que se ve limpia y sin parámetros extraños.

En resumen, la implementación de url amigable prestashop mediante mod_rewrite es un proceso sencillo pero crítico. Siguiendo esta guía, no solo mejorarás la estética de tus enlaces, sino que darás un paso de gigante en tu posicionamiento web y en la confianza de tus usuarios. Si te surge cualquier otra duda, recuerda que estamos aquí para ayudarte. ¡Mucha suerte con tu tienda online!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel