Enlazado interno SEO automático: configuración y ayuda
Inicio rápido
- Instala el ZIP en Módulos > "Module Manager" y abre "Improve" > Enlazador SEO interno.
- Revisa Enlaces máximos por página y Enlaces máximos por grupo en Configuración > Configuración.
- Añade un Grupo de enlaces con Nombre, Entidad objetivo o URL de destino y Palabras clave.
- Elige Zonas de contenido y Tipos de página restringidos, establece Enlaces máx. de este grupo y deja Activo en Sí.
- Guarda y abre una página que contenga una frase coincidente en la zona de contenido seleccionada.
- Inspecciona el ancla generada y verifica su destino, idioma, atributos y número de enlaces.
Requiere PrestaShop 1.6.1 o posterior y PHP 7.1 o posterior.
Manual de configuración
Instalar y abrir la configuración
Sube el ZIP en Módulos > "Module Manager" > "Upload a module". Instálalo y haz clic en "Configure". Abre "Improve" > Enlazador SEO interno para acceder a Panel de control, Grupos de enlaces y Configuración > Configuración. "Configure" abre la pantalla de configuración.
El procesamiento de la página final usa actionOutputHTMLBefore desde PrestaShop 1.7.1 y displayHeader con un filtro de salida Smarty en versiones anteriores compatibles. Omite las respuestas AJAX y las que no son HTML. El motor de la página final necesita una sección body. Verifica el resultado con tu núcleo y tu tema.
Configurar Configuración
| Ajuste | Valor predeterminado | Qué configurar |
|---|---|---|
| Enlaces máximos por página | 5 | Limita los enlaces generados en una página. Los enlaces existentes no consumen este límite de enlaces generados. |
| Enlaces máximos por grupo | 3 | Valor de respaldo cuando un grupo no tiene su propio límite positivo. |
| Destino de enlace predeterminado | _self |
Elige el destino predeterminado. Usa _blank si los enlaces deben abrir otra ventana o pestaña. |
| Atributo rel de enlace predeterminado | Vacío | Valores opcionales como nofollow o noopener. |
| Clase CSS de enlace predeterminada | mpr-autolink |
Clase utilizada salvo que un grupo proporcione la suya. |
| Activar perfilado de depuración | No | Añade diagnósticos en comentarios HTML para resolver problemas. |
| Direcciones IP de depuración | Vacío | IP de visitantes autorizados a ver los diagnósticos, separadas por comas. Un campo vacío no restringe la depuración por IP. |
Usa límites positivos pequeños para tu primera regla. Guarda e inspecciona la salida antes de aumentarlos.
Configurar Reglas
| Ajuste | Valor predeterminado | Comportamiento actual |
|---|---|---|
| Evitar href duplicados | Sí | Cambiar este ajuste no tiene efecto. Los enlaces existentes a un destino siempre cuentan para el límite positivo del grupo. |
| Evitar enlace en elemento padre ya enlazado | No | Cambiar este ajuste no tiene efecto. Se omite el texto que ya está en un enlace, pero otro texto del mismo elemento contenedor puede recibir enlaces. |
| Evitar múltiples enlaces automáticos en el mismo elemento | Sí | Limita los enlaces en cada fragmento de texto continuo. Los elementos anidados y los grupos posteriores pueden añadir más enlaces en el mismo elemento contenedor. |
| Distribución proporcional del límite global | Sí | Asigna límites efectivos a los grupos cuando su total supera el límite positivo de la página. |
| Distribución uniforme de enlaces dentro del texto | Sí | Cambiar este ajuste no tiene efecto. Los enlaces siguen el orden de las áreas de contenido, grupos, palabras clave y coincidencias en el texto. |
Configurar Visualización y Exclusiones
En Visualización, establece estos valores de respaldo. Las zonas de contenido seleccionadas de un grupo tienen prioridad sobre sus selectores avanzados, que tienen prioridad sobre los selectores globales.
| Ajuste | Valor predeterminado | Cómo usarlo |
|---|---|---|
| Selectores CSS incluidos | .product-description, #description, .page-content, .post-content |
Regiones aptas para procesarse cuando un grupo no proporciona un ámbito más restringido. |
| Etiquetas HTML incluidas | p,div,span,blockquote,li,td |
Etiquetas de los padres inmediatos del texto aptas para la inserción. Un grupo puede sustituir esta lista. |
La coincidencia avanzada admite selectores sencillos: .class, #id, tag, tag.class y tag#id. No supongas que está disponible toda la sintaxis de selectores CSS de un navegador. Las zonas integradas pueden incluir patrones de tema predefinidos adicionales.
En Exclusiones, revisa:
| Ajuste | Valor predeterminado | Cómo usarlo |
|---|---|---|
| Omitir URL de la página actual | Sí | Omite un grupo cuya ruta de destino coincide con la página actual. |
| Excluir encabezados | Sí | Omite el texto cuyo padre inmediato es un encabezado. Comprueba por separado el marcado personalizado de encabezados anidados. |
| Excluir texto en negrita | No | Omite el texto cuyo padre inmediato es strong o b. |
| "Excluded pages" | Vacío | Selecciona las páginas CMS que no deben procesarse. |
Las selecciones de páginas CMS excluidas se almacenan con una estructura como {"cms":[3,4,6]}. Usa el formulario en lugar de editar directamente los datos almacenados.
Crear un grupo de enlaces
Abre Grupos de enlaces y añade un grupo con un ámbito restringido.
| Campo | Valor predeterminado de un grupo nuevo | Qué introducir |
|---|---|---|
| Nombre | Vacío | Etiqueta interna obligatoria. |
| Entidad objetivo | Vacío | Destino único opcional: producto, categoría, página CMS, fabricante o proveedor. |
| URL de destino | Vacío | URL de destino obligatoria; la selección de entidad puede rellenarla. Usa una URL relativa o absoluta para un destino manual. |
| URL objetivo (anulación de idioma) | Vacío | URL de respaldo manual por idioma. Incluye la ruta de idioma correcta. |
| Palabras clave | Vacío | Términos obligatorios separados por comas. |
| Palabras clave (anulación por idioma) | Vacío | Términos traducidos opcionales; si está vacío, usa las palabras clave base. |
| Zonas de contenido | Vacío | Elige "Product description (long)", "Product short description", "Category description", "CMS page content", "Blog post content", "Manufacturer description" o "Supplier description". Si está vacío, usa los selectores de respaldo. |
| Tipos de página | Vacío | Limita el procesamiento a páginas de producto, categoría, CMS, blog, fabricante, proveedor o inicio. Si está vacío, no impone un filtro de tipo de página al grupo. |
| Posición del enlace | "First occurrence" | Ofrece las opciones primera, central, última y distribuida. Cambiar la selección no modifica la posición de los enlaces. |
| Enlaces máx. de este grupo | 0 | Usa el valor global predeterminado para los grupos. Introduce un valor positivo para sustituirlo. |
| Ignorar mayúsculas/minúsculas | Sí | Busca coincidencias sin distinguir mayúsculas de minúsculas. |
| Añadir etiqueta | No | Envuelve el texto de ancla coincidente con marcado strong. |
| Activar límite global de enlaces | No | Los enlaces existentes al destino cuentan para el límite del grupo, tanto si este campo está activado como desactivado. |
| Destino del enlace | Vacío | Usa el valor global predeterminado o sustitúyelo por _self o _blank. |
| Atributo rel del enlace | Vacío | Usa el valor global predeterminado o proporciona un valor para el grupo. |
| Clase CSS del enlace | Vacío | Usa el valor global predeterminado o proporciona un valor para el grupo. |
| Selectores CSS (avanzado) | Vacío | Sustituye los selectores globales cuando no se seleccionan zonas de contenido. |
| Etiquetas HTML (avanzado) | Vacío | Sustituye las etiquetas globales, por ejemplo p,li. |
| Prioridad | 0 | Los valores más bajos se procesan primero. |
| Activo | Sí | Desactiva un grupo sin eliminarlo. |
Cuando un destino de entidad se resuelve correctamente, su URL en el idioma actual tiene prioridad sobre la anulación manual de URL por idioma. Para controlar un destino por completo con URL manuales por idioma, deja Entidad objetivo vacío.
Por ejemplo:
Name: Shower trays
Target URL: /12-shower-trays
Keywords: shower tray, shower trays, walk-in shower tray
Content Zones: Product description (long), Product short description
Page Types: product
Max links from this group: 1
Ignore case: Yes
Active: Yes
La sintaxis de palabras clave admite * dentro de un término y alternativas con |:
shower tray, walk-in shower tray, shower*, seo|search engine|SEO tool
El comodín coincide con caracteres que no sean espacios en blanco dentro del término. No es un comodín para texto arbitrario que abarque varias palabras.
Verificar enlaces y estilos del tema
Guarda el grupo y abre una página con una frase coincidente en la zona seleccionada. Inspecciona destino, texto, target, rel y clase del enlace. Comprueba una página excluida y una página sin la frase.
Las anclas existentes se omiten. Los enlaces existentes al mismo destino reducen el límite positivo de ese grupo. Las descripciones guardadas de productos, categorías, CMS y blog permanecen sin cambios porque la inserción ocurre durante el renderizado.
Un enlace generado puede tener este aspecto:
<p>Choose a <a href="/12-shower-trays" class="mpr-autolink">shower tray</a> for your bathroom.</p>
Con los atributos del grupo activados:
<a href="/12-shower-trays" target="_blank" rel="noopener" class="internal-seo-link"><strong>shower tray</strong></a>
Puedes dar estilo a los enlaces automáticos en tu tema:
.mpr-autolink {
text-decoration: underline;
text-underline-offset: 2px;
}
El panel de control muestra grupos, palabras clave, uso de zonas y entidades, grupos recientes y cobertura del catálogo. No verifica todas las páginas de origen posibles.
Importar y exportar CSV
Usa "Import CSV" o Exportar CSV en Grupos de enlaces. La importación crea registros nuevos. No actualiza los grupos existentes por nombre, por lo que volver a importar una exportación puede crear duplicados. Elige el contexto de tienda deseado antes de importar.
Columnas obligatorias:
name,target_url,keywords
Lista completa de columnas exportadas:
name,target_url,keywords,link_position,max_links,ignore_case,add_strong,link_target,link_rel,link_class,content_zones,page_types,entity_type,entity_id,position,active
Ejemplo:
Shower trays,/12-shower-trays,"shower tray, shower trays, shower*",first,1,1,0,_self,,mpr-autolink,"[""product_description""]","[""product""]",category,12,10,1
Usa la extensión .csv en minúsculas y comas como delimitadores. Comprueba los recuentos de elementos importados y omitidos. Este formato de exportación no incluye las anulaciones traducidas de palabras clave/URL ni todos los campos avanzados, así que conserva una copia de seguridad de la base de datos si necesitas una restauración completa.
Resolver problemas y desinstalar
Si faltan enlaces, comprueba Activo, idioma actual, resolución del destino, tipo de página, selectores de zona, etiquetas padre aptas y ambos límites. Comprueba si el destino es la URL actual o ya está enlazado suficientes veces. Una palabra clave dividida entre elementos HTML puede no coincidir con un solo segmento de texto.
Activa Activar perfilado de depuración e introduce tu IP en Direcciones IP de depuración. Inspecciona el código fuente de la página cerca de la etiqueta body de cierre para encontrar "MPR Internal Linking Debug v2.0", tipo de página, número de enlaces existentes, número de enlaces generados y coincidencias de grupos. Las respuestas de depuración se marcan como private y no-store. Desactiva la depuración al terminar.
Usa Configuración > Integridad para las comprobaciones de infraestructura. Actualiza las cachés de página pertinentes después de editar.
Desactiva los grupos o el módulo para detener temporalmente la inserción. La desinstalación elimina su menú de administración, ajustes, preferencias y almacenamiento de grupos de enlaces. Exporta o haz una copia de seguridad de los grupos antes. Tus textos guardados del catálogo y CMS permanecen sin cambios.
Preguntas
2
¿Los enlaces automáticos afectarán a mi navegación, las migas de pan o los datos estructurados JSON-LD?
El procesamiento de la página completa de Automatic Internal SEO Linker actúa en las áreas de contenido configuradas dentro del <body>. El <head> queda excluido. Las etiquetas padre inmediatas del texto permitidas por defecto son p,div,span,blockquote,li,td; <script> no está en esa lista.
La navegación y las migas de pan quedan fuera del procesamiento si tus zonas o selectores las excluyen. Elige áreas limitadas e inspecciona el resultado final, incluidos los datos JSON-LD que contengan. El marcado personalizado no tiene una protección general.
¿La inserción automática de enlaces requiere un rastreador de visitantes?
La coincidencia de palabras clave de Automatic Internal SEO Linker no requiere un script de seguimiento de visitantes ni una cookie de consentimiento.
El módulo lee los grupos de enlaces que has configurado y procesa el HTML de la tienda en el servidor antes de devolver la respuesta.
Problemas conocidos
12
Las páginas de listados excluidas seguían recibiendo enlaces
Las exclusiones CMS no se guardaban de forma coherente
Las importaciones CSV usaban el contexto de tienda incorrecto
Faltaban enlaces internos en versiones antiguas de PrestaShop
Las etiquetas de administración seguían en inglés
Etiquetas traducidas dañadas
La selección de destino intacta lo seleccionaba todo
Faltaban iconos con recursos combinados
Las páginas traducidas enlazaban a slugs en el idioma incorrecto
Se insertaban enlaces automáticos dentro de enlaces existentes
Los enlaces fuera del contenido consumían el límite de la página
Enlazado incorrecto alrededor de fragmentos HTML
Solicitudes de funcionalidades
5
Implementado
Exclusión de páginas CMS del enlazado automático
Enlaces automáticos por palabras clave
Exclusión de páginas
Comprobación y reparación de la instalación
Actualizaciones del módulo con un clic
Registro de cambios
v3.0.92026-08-30
- AddedAdmin UI for excluded pages — checkbox grid in Exclusions tab
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedSync fragment-aware internal linking engine
- ImprovedV3.0.0 — 19x faster link injection engine + shared package + page exclusion
- ImprovedPre-scan CSS selectors to eliminate redundant regex scans
- FixedResolve localized internal link targets
- FixedSync entity selector package
- FixedVendor prestashop-admin as module files
- FixedExisting-link counting scoped to content regions (package update)
Versiones anteriores
v2.1.02026-04-20
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedadmin menu management via MenuInstaller for streamlined module setup
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
- Improvedsettings form organization with tabbed layout
- FixedPrevent autolinking inside existing anchor tags
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
v1.2.02025-09-10
- Addedlink group management: bundle related keyword-URL pairs and enable/disable as a set
- Improvedcase-insensitive matching with configurable per-rule override
- Fixedlinks being injected inside existing <a> tags causing nested anchor violations
- Addedmax-links-per-page limit with configurable threshold
v2.0.02025-08-01
- Addedfull compatibility with PrestaShop 9.x and Hummingbird theme
- Complete architecture rewrite: link rules now stored as a versioned JSON document for faster import/export
- AddedCSS selector targeting: apply linking rules only within specified content containers
- Improvedregex-based keyword matching with optional word boundary enforcement
- Addedper-link attribution — track click-throughs via a lightweight redirect proxy
- Fixedmemory exhaustion on pages with very long product descriptions containing repeated keywords
v1.1.02025-05-15
- Addedbulk import/export of keyword-URL rules via CSV
- Improvedexclusion list: skip linking on CMS pages, specific categories, or product IDs
- Fixedduplicate link injection when the same keyword appeared in page title and body
- Addednofollow/noopener attribute toggle per rule
v1.0.02025-01-17
- Initialrelease: automatic keyword-to-URL linking for product descriptions and CMS content
- InitialAdmin rule builder with keyword, target URL, and match-count-per-page settings
- InitialProcessed server-side using DOMDocument — no JavaScript dependency
- InitialMulti-language support for keyword sets and target URLs
Demo
Prueba el módulo completo antes de comprar
Compra la licencia más tarde y conserva tus ajustes.
- Tu demo de 30 días Pruébalo en tu propia tienda durante 30 días desde la primera instalación.
- Tienda demo lista Explora una tienda demo lista en tu navegador.
- Sin registro Sin cuenta, correo ni dominio de tienda.
Al descargar, aceptas las condiciones de la demo y la política de privacidad.
Al abrir esta demo, acepta los términos de la demo y la política de privacidad.