GMC Sitemap — Documentación (WordPress)
GMC Sitemap para WordPress genera un sitemap XML completo de tu sitio y lo mantiene actualizado por sí solo. En lugar de listar solo las entradas estándar, ejecuta un crawler BFS que sigue la estructura real de enlaces de tu sitio, de modo que las entradas, páginas, tipos de contenido personalizados, taxonomías, imágenes, vídeos y noticias quedan cubiertos. Puede escribir archivos de sitemap estáticos para un servido rápido, avisar a los motores de búsqueda mediante IndexNow cuando el contenido cambia y emitir alternativas hreflang para sitios multilingües construidos con WPML o Polylang. Está pensado para sitios WordPress con mucho contenido, muchos medios o varios idiomas que necesitan un sitemap fiable para enviarlo una sola vez a Google Search Console y olvidarse.
Requisitos: WordPress 6.0 o superior, PHP 8.1 o superior. El plugin se entrega en inglés, italiano y español.
Instalación
- Descarga el
.zipdel plugin desde el email de compra o desde tu cuenta. Mantenlo comprimido. - En el escritorio de WordPress ve a Plugins → Añadir nuevo plugin → Subir plugin.
- Elige el archivo
.zip, haz clic en Instalar ahora y luego en Activar. - Tras la activación, la pantalla de ajustes del plugin aparece en el menú de administración.
Si estás actualizando y una carpeta antigua del plugin queda brevemente junto a la nueva, la copia sobrante permanece inactiva — sin avisos de constantes duplicadas — para que las actualizaciones sean limpias.
Configuración
Abre la pantalla de ajustes del plugin desde el menú de administración tras la activación. Lo principal que hay que configurar:
- Download Key — introduce la clave que recibiste con el email de tu licencia en el campo de la pantalla de ajustes. Esto desbloquea las actualizaciones con licencia en un clic desde el servidor de actualizaciones (ver Actualizaciones y licencia más abajo).
- Exclusiones de URL — añade las URL o secciones que quieras dejar fuera del sitemap. Todo lo demás que el crawler descubre a partir de tu estructura real de enlaces se incluye automáticamente.
- IndexNow — actívalo para que los motores de búsqueda reciban un aviso en el momento en que el contenido cambia.
- Rerastreo con WP-Cron — opcionalmente programa rerastreos automáticos para que el sitemap se mantenga al día a medida que el sitio crece.
- Archivos estáticos — usa Generate & deploy static files para escribir copias estáticas de los sitemaps, que pueden servirse directamente en lugar de generarse en cada petición.
El soporte multilingüe no necesita configuración especial: si el sitio usa WPML o Polylang, el sitemap emite automáticamente alternativas hreflang para tus idiomas.
Uso del plugin
Generar y comprobar el sitemap
El sitemap se genera dinámicamente como un índice de sitemaps con sitemaps dedicados para tu contenido y tus medios — entradas, páginas, tipos de contenido personalizados, taxonomías, imágenes, vídeos y noticias. Visita /sitemap.xml en tu sitio para confirmar que se muestra. Como las URL se descubren rastreando tu estructura real de enlaces en lugar de leer una lista fija, el contenido nuevo se detecta a medida que publicas, sin registrar a mano cada nueva sección.
Despliegue de archivos estáticos
Para ganar velocidad, haz clic en Generate & deploy static files en la pantalla de ajustes. Esto escribe archivos de sitemap estáticos que pueden servirse directamente, evitando la regeneración en cada petición. Vuelve a ejecutarlo (o deja que el rerastreo de WP-Cron se encargue) tras cambios grandes de contenido.
Envío a Google Search Console
Envía /sitemap.xml una sola vez en Google Search Console. A partir de ahí el plugin se mantiene solo: el crawler mantiene la cobertura al día e IndexNow avisa a los motores de búsqueda cuando el contenido cambia, de modo que las novedades se descubren rápido.
Sitios multilingües
En sitios que usan WPML o Polylang, cada URL incluye alternativas hreflang para que los motores de búsqueda asocien la página correcta al idioma correcto. Las entradas de noticias ayudan a que el contenido de actualidad aparezca en las funciones de búsqueda adecuadas, mientras que las entradas de imágenes y vídeos dan a los medios su propia vía de descubrimiento.
Actualizaciones y licencia
- Actualizaciones automáticas: el plugin consulta por sí solo el servidor de actualizaciones de GMC / FuerteventuraTV (aproximadamente cada 12 horas) y muestra las nuevas versiones en Plugins y en Escritorio → Actualizaciones, como cualquier otro plugin.
- Download Key: las actualizaciones fluyen mientras tu licencia esté activa y la Download Key esté introducida en la pantalla de ajustes del plugin. También puedes volver a descargar la última versión desde tu cuenta en cualquier momento.
- Licencia: el software se publica bajo la GNU GPL. Tu compra cubre la versión oficial, las actualizaciones con licencia en un clic y el soporte para un sitio. Para más sitios o proyectos de clientes, contáctanos para un acuerdo de volumen o de agencia.
- Alcance: la licencia de WordPress cubre únicamente el plugin
gmc-sitemap-wp; la edición para Joomla (GMCsitemap) es un producto aparte.
Soporte
Para recibir ayuda, responde al email de compra o escríbenos por WhatsApp al +34 633 168 995 (la misma línea aparece en el email de tu licencia). Incluye el nombre y la versión del producto, tu versión de WordPress y de PHP, y una URL pública o una captura de pantalla con las claves ocultas. Respondemos en inglés, italiano y español.
Si el producto no funciona como se describe y no podemos solucionártelo, puedes solicitar un reembolso dentro de los 14 días posteriores a la compra.
Todo incluido
103 funciones reales, agrupadas en 16 áreas — la profundidad real del producto, no un escaparate de aspectos destacados.
Cobertura del sitemap y tipos de salida
- Sitemap XML completo — un único índice
sitemap.xmlque se ramifica en sitemaps hijos dedicados, enviable a Google Search Console y Bing Webmaster Tools. - Sitemap de contenidos / artículos — cada artículo publicado (WordPress: entradas) con lastmod, changefreq y priority.
- Páginas, custom post types y autores (WordPress) — páginas, todos los CPT públicos y los archivos de autor se pueden activar por separado en el sitemap.
- Sitemap de categorías — las páginas de aterrizaje de categoría/sección se incluyen automáticamente.
- Sitemap de menús (Joomla) — elementos de menú reales, con la posibilidad de filtrar los tipos de menú excluidos.
- Sitemap de etiquetas — páginas de archivo de etiquetas/taxonomías.
- Sitemap de imágenes — entradas
<image:image>para que tus fotos puedan posicionarse en Google Imágenes. - Sitemap de vídeos — entradas
<video:video>con título, descripción, miniatura y duración para las funciones de búsqueda de vídeo. - Sitemap de Google News — ventana móvil de 48 horas (hasta 1.000 URL) para los editores aprobados en Google News.
- Sitemaps por idioma — un urlset plano independiente por cada idioma publicado, para sitios multilingües.
- Paginación automática de 50.000 URL — los sitemaps de contenidos, imágenes y vídeos se dividen en archivos paginados (
sitemap-content-N.xml…) para que los sitios grandes nunca pierdan URL en silencio. - Modo archivo único o índice — los sitios pequeños pueden servir un único
sitemap.xmlunificado; los sitios grandes/multilingües obtienen un auténtico<sitemapindex>— elegido automáticamente o por opción. - changefreq y priority predeterminados por tipo — establece los valores predeterminados para todo el sitio (más una prioridad separada para la página de inicio en WordPress) sin editar nada URL por URL.
Motor de descubrimiento con rastreador
- Auténtico rastreador web BFS — descubre páginas siguiendo los enlaces como un motor de búsqueda, de modo que los nuevos artículos, categorías y medios se detectan a medida que el sitio crece, no desde una lista fija.
- Rastreo por lotes reanudable — una cola persistente respaldada por base de datos te permite cerrar el navegador: el rastreo se reanuda justo donde lo dejaste.
- Panel de rastreo en tiempo real — controles Rastrear / Detener / Restablecer con barra de progreso y recuentos en vivo (en cola, rastreadas, errores, omitidas, total, imágenes, vídeos).
- Respeto del robots.txt — respeta las reglas disallow con la precedencia correcta de coincidencia más larga, de modo que el rastreador se comporta como un bot educado.
- Límite solo al mismo host — mantiene el rastreo en tu propio dominio de forma predeterminada y omite los enlaces externos.
- Límites de profundidad y de URL — profundidad máxima de rastreo y número máximo de URL opcionales para acotar los sitios muy grandes.
- Patrones de exclusión de URL — un patrón con comodín por línea (p. ej.
*/private/*,*?print=*) omite las URL coincidentes tanto durante el descubrimiento como en el sitemap generado. - Comportamiento de fetch ajustable — tiempo de espera por petición, límite de redirecciones a seguir, tamaño de lote, presupuesto de tiempo por lote y una cadena de user-agent personalizada para el rastreador.
- Sitemaps a partir del rastreo (opcional) — construye los sitemaps de contenidos/imágenes/vídeos a partir de los datos rastreados, con recurso automático a la base de datos para que la salida nunca se rompa.
Medios: imágenes y vídeos
- Extracción de imágenes del contenido (Joomla) — recupera las imágenes de introducción, de texto completo y en línea de los artículos, cada una activable de forma independiente.
- Medios descubiertos por el rastreador — encuentra
<img>,<picture><source srcset>,og:image,<video>nativos y reproductores incrustados en las páginas rastreadas. - Detección de proveedores de vídeo incrustado — reconoce YouTube, Vimeo, Dailymotion, Loom, JW Player y Brightcove (en WordPress también Wistia) a partir de las URL de iframe/embed.
- Análisis de JSON-LD VideoObject — lee el marcado schema.org
VideoObject(incluso anidado en@graph) para obtener con precisión el título, la descripción, la miniatura, la URL de embed/contenido y la duración ISO-8601 de cada vídeo. - Filtrado inteligente de imágenes — excluye SVG, recursos de plantilla/framework (YOOtheme, sistema de Joomla, media/system) y URL de miniatura malformadas, manteniendo en el sitemap de imágenes solo las imágenes de contenido reales.
- Control de imágenes externas — las imágenes alojadas por terceros se excluyen de forma predeterminada y pueden incluirse a voluntad.
- Límite de imágenes por URL — limita cuántas imágenes se generan por página.
Multilingüe y hreflang
- Alternativas hreflang — genera los bloques
<xhtml:link rel="alternate" hreflang>para que los motores de búsqueda sirvan la versión idiomática correcta a cada audiencia. - Alternativa x-default — dirige el tráfico sin asignar a tu página en el idioma predeterminado.
- Asociaciones de contenido de Joomla — deriva las alternativas de las asociaciones de artículos integradas en Joomla, automáticamente.
- Integración con Polylang y WPML (WordPress) — lee las traducciones de cualquiera de los dos plugins (locale normalizado, p. ej.
it_IT→it-IT). - Reestructuración del índice multilingüe — el índice enlaza automáticamente los sitemaps hijos por idioma más los sitemaps compartidos de imágenes/vídeos cuando hay más de un idioma publicado.
- Sin efecto en sitios monolingües — los sitios en un solo idioma no generan alternativas ni namespaces superfluos, por lo que hay cero regresión.
Notificación a los motores de búsqueda (IndexNow)
- Integración con IndexNow — avisa a Bing, Yandex, Seznam, Naver y Yep en el instante en que cambia el contenido, a través del único relay de IndexNow.
- Aprovisionamiento de la clave con un clic — genera una clave de 32 caracteres, escribe el archivo de verificación
{key}.txten la raíz web y te entrega el contenido del archivo para subirlo manualmente si la raíz no admite escritura. - Ping automático al publicar/actualizar — envía un ping automáticamente de las URL modificadas cada vez que una entrada/artículo se guarda, se publica o cambia de estado.
- Debounce de pings — suprime los pings duplicados de la misma URL dentro de una ventana configurable, de modo que las ediciones masivas no saturan el relay.
- Botón de ping de prueba — envía un ping real y en vivo desde el panel y muestra el resultado HTTP como una insignia clara verde/roja.
- Registro histórico de pings — registra cada ping (URL, recuento, estado, respuesta) y muestra los últimos en el panel.
- Orientación honesta integrada — la interfaz explica que IndexNow no es Google y que el descubrimiento por parte de Google se produce enviando
sitemap.xmlen Search Console.
Pipeline de autoactualización y automatización
- Reacciones a eventos de contenido — al guardar, eliminar o cambiar de estado un artículo/entrada, el plugin puede invalidar la caché del sitemap, volver a poner la URL en cola para un nuevo rastreo y enviar un ping a IndexNow.
- Tres acciones activables de forma independiente — la invalidación de caché, el nuevo rastreo automático y el ping automático pueden activarse o desactivarse por separado.
- Modo manual seguro por defecto — las tres autoacciones se entregan DESACTIVADAS para que verifiques que el rastreador funciona antes de automatizar.
- Tarea de rastreo programada (Joomla) — una rutina del Programador
gmcsitemap.crawlvacía la cola de rastreo dentro de un presupuesto de tiempo en cada ejecución. - Tarea de precaché programada — precalienta la caché para todos los tipos de sitemap habilitados, de modo que el primer visitante real obtiene una respuesta ya en caché.
- Nuevo rastreo automático vía WP-Cron (WordPress) — vuelve a rastrear con una programación seleccionable (cada hora / dos veces al día / diaria / semanal), iniciando un nuevo rastreo completo una vez vaciada la cola.
- Precaché vía WP-Cron (WordPress) — trabajo horario de calentamiento de caché equivalente a la tarea de precaché de Joomla.
Despliegue de archivos estáticos
- Despliegue estático con un clic — "Generar y desplegar archivos estáticos" escribe todos los sitemaps habilitados como auténticos archivos
.xmlen la raíz del sitio, por lo que no se requiere reescritura de URL ni configuración del servidor. - Salida estática paginada — escribe las páginas 2 y siguientes de los sitemaps paginados (
sitemap-content-N.xml,sitemap-images-N.xml,sitemap-videos-N.xml) usando el recuento real de páginas del generador. - Poda automática de archivos obsoletos — elimina los archivos paginados sobrantes de ejecuciones anteriores cuando el contenido se reduce, de modo que el conjunto desplegado sigue siendo exacto.
- Actualización programada — la tarea programada mantiene los archivos estáticos actualizados tras el despliegue inicial único.
- Recurso de carga manual — si algún archivo no puede escribirse, la interfaz enumera exactamente cuáles subir a mano.
Caché y rendimiento
- Caché de sitemap integrada — el XML generado se almacena en caché (base de datos en Joomla, transient en WordPress) con una duración/TTL configurable.
- Invalidación consciente de la configuración — un hash de parámetros en la clave de caché reconstruye el sitemap de inmediato tras cualquier cambio de opción, sin esperar al TTL.
- Vaciado de caché con un clic — vacía la caché manualmente tras importaciones masivas; las actualizaciones también la vacían automáticamente.
- GET condicional (ETag / 304) — los endpoints XML envían
ETag+Last-Modified+Cache-Controly devuelven304 Not Modifiedpara que los rastreadores dejen de volver a descargar XML idéntico. - Last-Modified basado en la huella del contenido — el valor last-modified refleja los cambios reales del contenido, de modo que los sitemaps sin cambios devuelven 304 correctamente.
- Índice compuesto de la cola — un índice de base de datos
(state, depth)elimina el filesort en cada fetch de rastreo en los sitios grandes. - Limitación de la página en la clave de caché — el parámetro
pagese limita al recuento real de páginas, de modo que las peticiones anónimas no pueden generar claves de caché ilimitadas ni forzar recálculos.
Sitemap HTML legible
- Vista de sitemap HTML (Joomla) — una página de sitemap navegable y legible que enumera artículos, categorías, menús y etiquetas para los visitantes.
- Tipo de elemento de menú "Sitemap (HTML)" (Joomla) — publica el sitemap HTML desde Menús → Nuevo con interruptores de visualización por menú para cada sección y una posible sobrescritura del título de página.
- Shortcode
[gmc_sitemap](WordPress) — inserta un sitemap legible (contenidos + categorías + etiquetas, hasta 2.000 enlaces) en cualquier página o entrada, con los atributosshow_content/show_categories/show_tags/heading. - Hoja de estilo XSL — el XML en bruto se muestra como una tabla legible y con estilo en el navegador, en lugar de un intimidante muro de marcado.
SEF / URL limpias
- URL largas siempre funcionales — los endpoints predeterminados
index.php?option=…&type=…funcionan en cualquier instalación sin reglas de reescritura — el valor predeterminado seguro para una instalación nueva. - URL SEF limpias opcionales —
/sitemap.xml,/sitemap-content.xml,/sitemap-images.xml,/sitemap-<lang>.xml, etc. mediante un fragmento.htaccess, instalado desde el panel. - Instalador de .htaccess protegido — hace una copia de seguridad del archivo existente, antepone el fragmento, comprueba que
/sitemap.xmlse muestra realmente y solo entonces activa el indicador SEF; se niega a crear.htaccessdesde cero para que nunca se pierdan las reglas de seguridad básicas de Joomla. - Deduplicación de URL segura para SEF — en los sitios SEF, las URL en bruto de
com_contentque duplican la página canónica limpia se descartan, con control sobre el estado SEF real del sitio, de modo que nunca vacía el sitemap de un sitio no SEF. - Salida consciente de los permalinks (WordPress) — las URL de los sitemaps hijos se adaptan a la estructura de permalinks (forma pretty
/sitemap-*.xmlfrente a forma query-var en permalinks simples), de modo que los enlaces nunca dan 404. - Prevención de conflictos con el sitemap nativo (WordPress) — desactiva el sitemap del núcleo integrado de WordPress para evitar colisiones.
Configuración y exclusiones
- Interruptores de activación por tipo — activa o desactiva cada tipo de sitemap (contenidos, categorías, menú, etiquetas, imágenes, vídeos, noticias).
- Controles del alcance del contenido (Joomla) — incluye/excluye los artículos destacados y archivados y restringe al nivel de acceso Público.
- Exclusiones de categorías / artículos / menús (Joomla) — excluye categorías específicas, ID de artículos o tipos de menú.
- Exclusiones a nivel de entrada (WordPress) — excluye ID de entradas específicas y tipos de entrada completos, además de un meta de exclusión por entrada.
- Higiene de los enlaces de menú (Joomla) — opcionalmente descarta los elementos de menú con enlace externo y los marcados como noindex.
- Sobrescritura de la Base-URL — fija el host canónico usado en los valores
<loc>generados. - Interruptores de registro de depuración y errores — salida de depuración detallada y registro de errores opcionales para la resolución de problemas.
Seguridad, privacidad y corrección
- Aplicación de los niveles de acceso — cada colector restringe la salida a los niveles de visualización autorizados para el invitado, de modo que el contenido Registrado/Especial nunca puede filtrarse a un sitemap público, incluso si
public_onlyestá desactivado. - Resultados de rastreo con control de acceso — las URL descubiertas por el rastreador se intersecan con el conjunto de URL de Joomla verificado por acceso antes de la emisión, y las páginas que redirigen a un inicio de sesión se omiten incluso con HTTP 200.
- Protección contra SSRF — el rastreador sigue las redirecciones manualmente, rechaza las IP privadas/loopback/link-local/reservadas tras la resolución DNS, fija las IP públicas resueltas contra el DNS rebinding, restringe los protocolos a HTTP/HTTPS y limita el tamaño del cuerpo de la respuesta.
- Coincidencia de robots segura ante ReDoS — el comparador de robots.txt usa un escaneo acotado y sin backtracking en lugar de una regex voraz.
- CSRF + ACL en las acciones de administración — todos los endpoints AJAX de administración requieren un token CSRF, y toda herramienta que modifique el sistema de archivos o los ajustes requiere el privilegio
core.admin. - Salida XML válida — los caracteres de control no válidos para XML-1.0 se eliminan y
changefreqestá en lista blanca, de modo que el sitemap siempre valida. - Autoalojado, sin recopilación de datos — nada sale de tu servidor salvo el ping de IndexNow opcional que habilitas explícitamente; no hay ningún SaaS de terceros en la ruta de la petición.
- Protección contra la fuga del manifest — el fragmento
.htaccessincluido deniega el acceso público a los manifests.xmlde las extensiones (fuga del correo del autor / la versión). - Rastreable por diseño — deliberadamente no establece
X-Robots-Tag: noindexen la respuesta del sitemap, ya que algunos bots lo interpretan como "omite por completo este archivo".
Desarrolladores y extensibilidad
- Contribución de URL de terceros — el evento
onGmcsitemapCollectUrls(Joomla) y el filtrogmc_sitemap_collect_urls(WordPress) permiten que otras extensiones añadan entradas<url>(loc/lastmod/changefreq/priority) sin tocar el código fuente; las URL relativas se absolutizan y se deduplican. - Endpoints documentados — tanto las URL de sitemap en forma larga como las SEF por cada tipo están documentadas para la validación mediante scripts.
- Validación estricta de tipos — las peticiones con
type=desconocido devuelven400 Bad Requestcon un cuerpo de error XML mínimo en lugar de servir en silencio el sitemap equivocado. - Arquitectura de servicios limpia — un servicio colector por cada tipo de sitemap hace que añadir nuevos tipos de sitemap sea sencillo.
Internacionalización
- Disponible en inglés, italiano y español — interfaz de administración y cadenas de los elementos de menú traducidas de serie.
- Respeta la configuración multilingüe del sitio — la salida sigue los idiomas publicados del sitio y el filtrado de idioma.
Confianza y licencia
- GPLv2-o-posterior — código totalmente con licencia abierta, conforme a los repositorios de Joomla/WordPress.
- Autoalojado y privado — se ejecuta íntegramente en tu propio sitio; sin dependencia de servicios externos más allá del ping de IndexNow opcional que tú controlas.
- Actualizaciones con un clic bajo licencia — comprobaciones de actualización automáticas (aproximadamente cada 24 h) contra el gateway GMC / FuerteventuraTV, ofrecidas directamente en el actualizador de Joomla/WordPress mientras tu licencia esté activa.
- Download Key por correo — recibes una licencia/Download Key en la compra; introdúcela una vez y las actualizaciones siguen llegando.
- Entrega segura de actualizaciones — para las actualizaciones con un clic solo se aceptan URL de paquetes HTTPS del host oficial fuerteventuratv.net.
- Probado en producción — genera el sitemap en vivo del portal turístico fuerteventuratv.net.
- Dos productos, paridad función por función — el paquete de Joomla y el plugin de WordPress se venden por separado pero se mantienen a la par en funciones, con la plataforma más avanzada como referencia.
- Requisitos — Joomla 5.x/6.x con PHP 8.1+, o WordPress 5.6+ con PHP 7.4+.
Joomla y WordPress
- Joomla — se entrega como un único paquete
pkg_gmcsitemapque agrupa el componente más un plugin de sistema (autoactualización por eventos de contenido) y un plugin de tarea (rutinas de rastreo + precaché del Programador); añade un tipo de elemento de menú nativo "Sitemap (HTML)"; multilingüe mediante las asociaciones de contenido de Joomla. Instala solo el zip del paquete — no los zips hijos internos. - WordPress — cubre entradas, páginas, custom post types públicos, categorías, etiquetas y archivos de autor; multilingüe mediante Polylang o WPML; automatización mediante WP-Cron (nuevo rastreo automático + precaché); sitemap legible mediante el shortcode
[gmc_sitemap]; desactiva el sitemap del núcleo nativo de WordPress; URL hijas conscientes de los permalinks. La base de datos es la fuente predeterminada del sitemap (el rastreador es opcional).


