---
title: ✓ SEO PrestaShop: guía práctica para PrestaShop 8 y 9
url: https://juanluismora.es/ecommerce/seo-prestashop.html
---

# SEO para PrestaShop: guía práctica para PrestaShop 8 y 9

Juan Luis Mora · Actualizado el 23 de octubre de 2026

Tienda en PrestaShop, cientos de productos, Search Console con miles de URLs descubiertas y las categorías sin aparecer. Es el síntoma más habitual que me llega.

En este artículo

1. [Antes de nada: qué versión tenéis](#antes-de-nada-que-version-teneis)
2. [Qué búsquedas tiene que captar una tienda](#que-busquedas-tiene-que-captar-una-tienda)
3. [Arquitectura: el catálogo manda](#arquitectura-el-catalogo-manda)
4. [El menú refleja la arquitectura](#el-menu-refleja-la-arquitectura)
5. [Facetas: donde se rompen la mayoría de tiendas](#facetas-donde-se-rompen-la-mayoria-de-tiendas)
6. [Configuración de Tráfico y SEO](#configuracion-de-trafico-y-seo)
7. [Títulos y metadescripciones](#titulos-y-metadescripciones)
8. [Descripciones propias](#descripciones-propias)
9. [H1 y tema](#h1-y-tema)
10. [Datos estructurados de producto](#datos-estructurados-de-producto)
11. [Una sola versión del dominio](#una-sola-version-del-dominio)
12. [Sitemap y Search Console](#sitemap-y-search-console)
13. [Móvil y rendimiento](#movil-y-rendimiento)
14. [Medición: GA4, Tag Manager y consentimiento](#medicion-ga4-tag-manager-y-consentimiento)
15. [Elección de palabras clave](#eleccion-de-palabras-clave)
16. [Otros detalles que reviso](#otros-detalles-que-reviso)
17. [Lo que más me habéis preguntado](#lo-que-mas-me-habeis-preguntado)

La conclusión primero: en PrestaShop el SEO se gana o se pierde en el catálogo y en las URLs que genera la propia tienda. Los metadatos van después.

## Antes de nada: qué versión tenéis

PrestaShop 9 exige como mínimo PHP 8.1 y se apoya en Symfony 6.4 ([notas de PrestaShop 9.0](https://prestashop-project.org/releases/prestashop90)). La 9.1 salió el 23 de marzo de 2026 con Hummingbird 2.0 como tema por defecto en instalaciones nuevas y soporte de PHP 8.1 a 8.5 ([anuncio de PrestaShop 9.1](https://build.prestashop-project.org/news/2026/prestashop-9-1-0-available/)). Un detalle SEO de esa versión: los controladores Ajax pasan a llevar noindex.

Si seguís en 1.6 o en una 1.7 antigua, la primera tarea SEO es actualizar. Ojo con las URLs: si cambian en la migración, cada una necesita su 301. Lo cuento en [cómo actualizar PrestaShop a la última versión estable](https://juanluismora.es/ecommerce/actualizar-prestashop-a-ultima-version-estable-upgrade-rc.html).

## Qué búsquedas tiene que captar una tienda

Esto no ha cambiado. Hay tres tipos de búsqueda y cada una se trabaja con una parte distinta de la tienda.

- **Descubrimiento**: la persona no conoce vuestro producto. "Qué regalar el día de la madre". Se trabaja con contenido (blog o páginas CMS).
- **Interés**: ya sabe lo que quiere, compara. "Tipos de té verde", "té verde bajo en teína". Se trabaja con categorías, facetas útiles y fabricantes.
- **Compra**: "comprar té matcha". Va a categoría si la búsqueda es amplia y a ficha de producto si es concreta.

Lo que sí ha cambiado es la parte de descubrimiento. Las búsquedas informativas cada vez se responden más dentro de Google con las AI Overviews y el Modo IA, que [empezó a desplegarse en España en octubre de 2025](https://www.xataka.com/robotica-e-ia/google-lanza-espana-su-modo-ia-ello-nueva-forma-realizar-busquedas-web-asi-puedes-activarlo). A mi entender eso no mata el blog de la tienda, pero sí obliga a que cada artículo responda arriba, en pocas líneas, y enlace al producto que resuelve el problema.

## Arquitectura: el catálogo manda

Vuestra tienda es un catálogo. Si a vosotros os cuesta entenderlo, a Googlebot también. Lo que no hay que hacer:

- Colgar todo de la home. Salvo en tiendas muy pequeñas, pone todos los productos al mismo nivel.
- Categorías con uno o dos productos. Una estantería con un solo artículo no ayuda a nadie.
- Categorías que compiten entre sí. "zapatillas-deporte" y "calzado-deportivo" a la vez. Elegid una con datos de búsqueda y redirigid la otra.
- Padre e hija que compiten. Si el padre es "zapatillas-deporte", la hija no puede ser "deportivas". Segmentad: "zapatillas-baloncesto", "zapatillas-futbol".
- Confundir marcas o atributos con categorías. "Adidas" es un fabricante. "Rojo" es una faceta.

Un producto puede estar en varias categorías, pero la URL del producto usa una sola, la categoría predeterminada. Elegidla con cabeza, porque es la que verá Google.

Los nombres de categoría importan doble: generan el título, la URL y los textos de los enlaces del menú, que es la principal fuente de enlazado interno.

## El menú refleja la arquitectura

Los mega-menús con todas las subcategorías desde cualquier página reparten el enlazado por igual. Entonces una categoría hija recibe los mismos enlaces que su padre y la jerarquía deja de significar nada para Google.

Lo que me funciona: en el menú, las categorías padre. Al entrar en una categoría padre, enlaces visibles a sus hijas. Y enlaces desde contenido y fichas hacia las categorías que queréis empujar.

## Facetas: donde se rompen la mayoría de tiendas

Cada combinación de filtros genera una URL. Color por talla por marca por precio. Multiplicad. Ahí salen las miles de URLs "descubiertas, no indexadas" de Search Console y el rastreo malgastado.

Google publicó una guía específica sobre [navegación por facetas](https://developers.google.com/crawling/docs/faceted-navigation). Lo que dice, en corto:

- Si las URLs filtradas no os interesan en el buscador, bloqueadlas en robots.txt. Es lo más eficaz a largo plazo.
- Canonical y nofollow ayudan, pero son menos eficaces que robots.txt para cortar el rastreo.
- Si queréis que alguna combinación posicione, usad `&` como separador de parámetros y mantened siempre el mismo orden.
- Si una combinación no tiene productos, devolved un 404.

Cómo lo hago en PrestaShop: abrid una categoría, aplicad un filtro y mirad qué parámetro aparece en la URL. Ese es el que hay que controlar. Si vuestro módulo de facetas usa, por ejemplo, el parámetro `q`:

```
User-agent: *
Disallow: /*?q=
Disallow: /*&q=
```

Y las combinaciones que sí tienen búsquedas ("zapatillas running mujer") las convertís en categorías o páginas con URL limpia, texto propio y enlace desde el menú de la categoría padre.

## Configuración de Tráfico y SEO

En Parámetros de la tienda, Tráfico y SEO, apartado SEO y URLs. Lo que reviso siempre, según la [documentación oficial de PrestaShop 9](https://docs.prestashop-project.org/v.9-documentation/user-guide/configuring-shop/shop-parameters/traffic/seo-and-urls):

- **URLs amigables**: activadas. Necesitan reescritura de URLs en el servidor (mod\_rewrite en Apache). Si las activáis en un servidor que no la soporta, la tienda deja de cargar.
- **URLs con acentos**: desactivadas.
- **Redirigir a la URL canónica**: 301.
- **URL de la tienda**: dominio con HTTPS y base `/`. Nada de `/tienda` o `/prestashop`.
- **Esquema de URLs**: la ruta de producto por defecto es `{category:/}{id}-{rewrite}{-:ean13}.html`. No la toquéis en una tienda que ya posiciona salvo que vayáis a redirigir todo.
- **robots.txt**: el botón lo genera, pero sustituye el que tengáis. Las reglas propias (las de las facetas) se añaden después de generarlo.

Lo que sobra de la versión antigua de este post: los retoques a `/classes/link.php` y los módulos para arreglar la canonical. Desde 1.7.6 la canonical de un producto apunta a su combinación por defecto y el resto depende de que el tema la pinte bien. Comprobadlo en el código fuente de una ficha con combinaciones.

Más sobre el archivo en [robots.txt bien hecho](https://juanluismora.es/seo/robots-txt.html).

## Títulos y metadescripciones

**Categorías**: la palabra clave al principio, que normalmente es el nombre de la categoría, y poco más. Mirad en el código fuente si vuestro tema añade el nombre de la tienda al title; si lo hace, no pongáis en ese campo "La mejor tienda de zapatos de España", porque se repetirá en todas las páginas.

**Productos**: el título no compite con la categoría. Nombre del producto, marca y el rasgo que la gente busca (talla, material, modelo). Mirad qué búsquedas llegan a las fichas de la competencia y que esos rasgos se lean en vuestro título.

**Metadescripción**: Google la reescribe a menudo, pero cuando la usa es vuestro anuncio. Ventajas de comprar aquí, envío, devolución, una llamada a la acción.

## Descripciones propias

Rellenad descripción corta y larga con texto propio. La corta aparece en listados y la larga en la ficha.

Copiar la descripción del fabricante significa tener la misma ficha que otras cien tiendas. Ejemplos de lo que sí aporta:

- Para quién es y para quién no.
- Medidas reales y cómo elegir talla.
- Diferencias con el modelo anterior o con el de al lado.

Y ese texto también es lo que leen los asistentes de IA cuando alguien pregunta "qué zapatilla me compro para correr por montaña".

## H1 y tema

Si el tema está bien hecho, el H1 de cada categoría y producto es su nombre y no hay que tocar nada. Si no lo está, cambiad de tema antes que parchear plantillas. En tiendas nuevas sobre 9.1 el tema por defecto es Hummingbird; si venís de un tema comprado hace años, revisad H1, canonical y datos estructurados antes de dar nada por bueno.

## Datos estructurados de producto

Google distingue entre fragmentos de producto y fichas de comerciante. Para una tienda donde se compra, lo que interesa es lo segundo: precio, disponibilidad, envío y devoluciones ([documentación de datos estructurados de producto](https://developers.google.com/search/docs/appearance/structured-data/product)). Las políticas de devolución pueden ir en el marcado de Organization.

Cómo lo compruebo: Search Console, informes de fichas de comerciante y de fragmentos de producto. Si salen errores de precio o de disponibilidad, el problema suele estar en el tema o en un módulo que duplica el marcado.

## Una sola versión del dominio

Si la tienda responde en http y https, con www y sin www, tenéis cuatro tiendas iguales. La comparación que uso: si un coche tiene dos matrículas, ¿cuántos coches hay? Una versión, y el resto con 301 hacia ella.

## Sitemap y Search Console

Generad el sitemap con el módulo de sitemap de PrestaShop, programad su regeneración con un cron y enviadlo en Search Console. Después, mirad el informe de páginas: qué está indexado, qué no y por qué. Si veis miles de URLs con parámetros, volved al apartado de facetas.

## Móvil y rendimiento

Google indexa con la versión móvil ([indexación mobile-first](https://developers.google.com/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing)), así que lo que no esté en móvil no existe. Las Core Web Vitals hoy son LCP por debajo de 2,5 s, INP por debajo de 200 ms y CLS por debajo de 0,1 ([Core Web Vitals en Google Search Central](https://developers.google.com/search/docs/appearance/core-web-vitals)). INP sustituyó a FID en marzo de 2024.

En PrestaShop lo que más mueve, por orden:

1. Hosting en el país donde vendéis y PHP actual.
2. Caché de Smarty bien configurada y CCC (combinar, comprimir y cachear CSS y JS) en Parámetros avanzados, Rendimiento.
3. Imágenes regeneradas a su tamaño y en WebP o AVIF.
4. Menos módulos. Cada módulo de front que no usáis añade CSS, JS y consultas.
5. Un CDN para estáticos si vendéis fuera o tenéis mucho tráfico.

Lo detallo en [optimización de rendimiento en PrestaShop](https://juanluismora.es/ecommerce/optimizacion-de-rendimiento-en-prestashop.html).

## Medición: GA4, Tag Manager y consentimiento

El antiguo "pegar el código de Analytics en la cabecera del tema" ya no vale. Lo que monto hoy:

- GA4 con Google Tag Manager y el evento de compra con valor y productos.
- Modo de consentimiento v2 con un banner que envíe las señales `ad_user_data` y `ad_personalization`. Para tráfico del Espacio Económico Europeo, Google exige recoger y enviar ese consentimiento si queréis medición y personalización en Google Ads ([cambios del modo de consentimiento en el EEE](https://support.google.com/google-ads/answer/13695607)).
- Si hacéis Google Ads, comprobar qué cuenta como conversión antes de optimizar nada. Optimizad por ventas, no por visitas a la página de carrito.

Ojo con los módulos de pago que llevan al cliente a una pasarela externa: si la página de confirmación cambia, la compra se pierde en la medición. Probadlo con una compra real.

## Elección de palabras clave

El proceso no depende del CMS:

1. Planificador de palabras clave de Google Ads y Search Console si la tienda ya tiene datos.
2. Qué posiciona la competencia, categoría a categoría.
3. Hablar con quien vende. Lleva años atendiendo clientes y sabe cómo piden las cosas mejor que cualquier herramienta.

Con eso: la home para la búsqueda principal del negocio, categorías para búsquedas amplias, facetas convertidas en categorías para las combinaciones con búsquedas y fichas para lo concreto. Las búsquedas de descubrimiento, al blog.

Sobre el blog: un WordPress en `/blog/` sigue siendo lo más cómodo para escribir, pero son dos sistemas que mantener. Si vais a publicar poco, las páginas CMS de PrestaShop bastan. Lo que importa es que cada artículo enlace a la categoría o al producto que resuelve lo que se pregunta.

## Otros detalles que reviso

- Nombres de archivo y texto alternativo descriptivos en las imágenes.
- Productos descatalogados: 301 a la categoría o al sustituto, no un 404 a secas si tenían enlaces o ventas.
- Página 404 personalizada con buscador y categorías.
- Base de datos limpia: carritos abandonados antiguos, estadísticas de conexiones y logs.
- Datos de la marca iguales en la web, en Merchant Center y en el Perfil de Empresa si hay tienda física.

## Lo que más me habéis preguntado

Este post lleva comentarios desde 2012. Estas son las dudas que más se repiten, respondidas con lo que sé hoy.

¿Se puede posicionar bien una tienda hecha con PrestaShop?

Sí. Google posiciona páginas HTML y PrestaShop genera páginas HTML normales. Lo que hunde una tienda PrestaShop no es el CMS, son las facetas sin control, el contenido copiado y un tema mal hecho.

Si cargo el catálogo con el CSV del proveedor, ¿tengo contenido duplicado?

Sí. Ese mismo CSV lo tienen todas las tiendas que trabajan con ese proveedor, con el mismo nombre y la misma descripción. Si son miles de fichas y no podéis reescribirlas, centrad el esfuerzo en las categorías, que sí son vuestras, y reescribid primero las fichas que más venden. Para los cambios masivos, exportad el catálogo, trabajadlo en una hoja de cálculo y volvedlo a importar.

Tengo productos casi iguales que solo cambian de color o estampado, ¿es un problema?

Si de verdad es el mismo producto, una sola ficha con combinaciones. Si son productos distintos, cada uno necesita su título propio con el rasgo que los diferencia (modelo, medida, compatibilidad). Lo que no puede ser es cien fichas con el mismo título y la misma descripción cambiando un número.

Si activo ahora las URLs amigables o cambio el esquema de URLs, ¿pierdo posiciones?

Si cada URL antigua hace un 301 a su nueva, el bache suele ser corto. Si no lo hace, perdéis lo que tenían. No os fiéis: probad unas cuantas URLs antiguas con un comprobador de cabeceras o con `curl -I` y mirad que devuelven 301 y no 404 ni 200.

¿Se puede quitar el ID de las URLs de PrestaShop?

De serie no: la [documentación de PrestaShop 9](https://docs.prestashop-project.org/v.9-documentation/user-guide/configuring-shop/shop-parameters/traffic/seo-and-urls) dice que el ID de categorías y productos no se puede quitar por defecto. Hay módulos que lo hacen. En una tienda nueva puede compensar; en una que ya posiciona, yo no lo haría salvo que vayáis a redirigir todas las URLs y comprobarlo.

Mi tienda está en un solo idioma y salen URLs con /es/ o con otros idiomas, ¿qué hago?

Desactivad los idiomas que no uséis. Con un solo idioma activo, PrestaShop deja de meter el prefijo en las URLs. Después, 301 de las URLs antiguas con `/es/`, `/en/` o `/ca/` a las nuevas, y no las bloqueéis en robots.txt, porque entonces Google no ve la redirección.

¿Tengo que regenerar el robots.txt y el sitemap cada vez que añado productos?

El robots.txt no, salvo que cambiéis lo que queréis bloquear. El sitemap sí, y lo mejor es programarlo con un cron para olvidaros. Ojo con el nombre: la línea `Sitemap:` del robots.txt y lo que enviáis en Search Console tienen que apuntar al archivo índice que genera el módulo, no a un `sitemap.xml` que no existe.

¿Qué hago si voy a eliminar muchos productos que no volveré a tener?

Los que tenían ventas, enlaces externos o tráfico, 301 a la categoría o al producto que los sustituye. El resto puede dar 404 o 410 sin problema, Google los irá quitando. Lo que no hay que hacer es mandarlos todos a la home. En las categorías, PrestaShop ya deja elegir entre 301, 302, 404 y 410 cuando no se muestran ([documentación de PrestaShop](https://docs.prestashop-project.org/functional-documentation/functional-documentation/ux-ui/back-office/sell/catalog/categories)).

¿Cambiar de tema afecta al SEO?

Sí, mucho. El tema es el que pinta el HTML que lee Google: H1, canonical, datos estructurados, enlaces del menú y velocidad. Las URLs no cambian, pero antes de publicarlo revisad esas cinco cosas en una categoría y en una ficha con combinaciones.

¿Cómo mido el embudo de compra si los pasos del checkout tienen la misma URL?

Con GA4 no hace falta que cambie la URL. El embudo se mide con eventos de comercio electrónico: `begin_checkout`, `add_shipping_info`, `add_payment_info` y `purchase` ([comercio electrónico en GA4](https://developers.google.com/analytics/devguides/collection/ga4/ecommerce)). Si el módulo que usáis no los envía, se montan con Tag Manager.

Si queréis que lo mire en vuestra tienda, [así trabajo el SEO para ecommerce](https://juanluismora.es/servicios-ecommerce).

¿Cuántas URLs con parámetros de filtros veis ahora mismo en el informe de páginas de Search Console?

---

**¿Te ha servido?** Si quieres que lo mire en tu web, [aquí te cuento cómo trabajo seo para ecommerce](https://juanluismora.es/servicios-ecommerce) o [escríbeme](https://juanluismora.es/contacto).

## ¿Te queda alguna duda?

Pregúntamela y la respondo en el [muro de preguntas](https://juanluismora.es/preguntame), una vez al día.

Tu preguntaTu nombre (opcional)Enviar pregunta

Publico tu nombre (o «Anónimo») y tu pregunta junto a la respuesta. No pido correo. No pongas datos personales ni de clientes.

## Relacionado

- [Cuadros de mando para analítica de ecommerce con GA4 y Data Studio](https://juanluismora.es/ecommerce/cuadros-mando-analytics-ecommerce.html)
- [Optimización de rendimiento en PrestaShop: la base antes de instalar nada](https://juanluismora.es/ecommerce/optimizacion-de-rendimiento-en-prestashop.html)
- [Entrevista a Luis Cambra, experto en soporte y mantenimiento PrestaShop](https://juanluismora.es/ecommerce/entrevista-a-luis-cambra-experto-en-mantenimiento-y-soporte-prestashop.html)
- [Actualizar PrestaShop a la última versión estable sin romper la tienda](https://juanluismora.es/ecommerce/actualizar-prestashop-a-ultima-version-estable-upgrade-rc.html)

## ¿Lo miro en tu web?

Reviso catálogo, duplicados y medición de ventas de tu tienda.

[Escríbeme un correo](mailto:seo@juanluismora.es?subject=Consulta%20desde%20https%3A//juanluismora.es/ecommerce/seo-prestashop.html) [Pedir presupuesto SEO](https://juanluismora.es/presupuesto-seo#agenda)

Juan Luis Mora · Ingeniero informático y consultor SEO freelance. SEO en español para España y el mundo.

Escribo para IAs desde Google Bard.

Black Friday y Navidad

Web con IA + Google Ads

2.000 €

Para Black Friday quedan**34** días **2** h **58** min

Te hago una web como esta, lista para Google y para las IAs, y la campaña de Google Ads que la acompaña.

[Quiero mi web con IA](https://juanluismora.es/web-con-ia)
