CommunityProgramación y desarrollogithub.com

ummydev/index-push

Cuando el usuario desea que las páginas nuevas o modificadas sean rastreadas e indexadas rápidamente por Google y Bing, en lugar de esperar semanas a que se lea el sitemap. Úsalo después de cualquier despliegue que añada o actualice páginas, y cuando el usuario diga

¿Qué es index-push?

Esta habilidad automatiza y guía el proceso de enviar URLs nuevas o cambiadas a los motores de búsqueda (Google, Bing, Yandex, Naver, Seznam, Yep) para acelerar su indexación, en lugar de esperar pasivamente a que los rastreadores descubran las URLs a través del sitemap. Está diseñada para equipos de desarrollo y SEO que despliegan contenido con frecuencia y necesitan que las páginas aparezcan en los resultados de búsqueda rápidamente. La habilidad cubre cuatro canales principales: IndexNow (para Bing y otros motores, con un límite de 10,000 URLs por solicitud), la URL Inspection Tool de Search Console (para Google, aproximadamente 10 solicitudes de indexación por día), la reenvío de sitemaps en Search Console (sin límite práctico) y la herramienta de envío de URLs de Bing Webmaster (100 URLs por día). El flujo de trabajo incluye verificar que las páginas están en vivo y correctamente enlazadas, ejecutar IndexNow, actualizar una cola de prioridad basada en archivos de sitemap, solicitar indexación manualmente en Search Console y enviar URLs a Bing, todo mientras se registra cada acción en un archivo de registro. La habilidad también proporciona una tabla de diagnóstico para interpretar los estados de indexación de Google (como "URL is unknown to Google" o "Discovered – currently not indexed") y recomienda acciones correctivas, como añadir enlaces internos o externos. Está diseñada para ser utilizada en sesiones de terminal (especialmente con IndexNow) y en el navegador para las herramientas que requieren inicio de sesión, siguiendo una regla de navegación manual para evitar bloqueos por parte de los sitios.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ummydev/marketing-team-skills/tree/HEAD/skills/index-push

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Index push

Publicar una página no garantiza que sea rastreada. En un dominio nuevo, Google puede mantener una URL que encontró en el sitemap durante semanas sin visitarla. Esta habilidad es la rutina para el día en que una página se publica y el seguimiento hasta que se indexa. Usa los cuatro canales; llegan a diferentes motores y tienen límites distintos.

CanalAlcanzaLímite diarioCómo
IndexNow (scripts/indexnow.mjs)Bing, Yandex, Naver, Seznam, Yep. No Google10,000 URLs por solicitudUn comando
URL Inspection de Search Console → Solicitar indexaciónGoogleAprox. 10 URLs por propiedad; se restablece alrededor de la medianoche (hora del Pacífico de EE.UU.)Navegador, una URL a la vez
Sitemaps de Search Console → reenviarGoogleNinguno que importeNavegador, un campo
Bing Webmaster Tools → Enviar URLsBing100 URLsNavegador, pegar una lista

Solicitar indexación fue lo que movió a Google para nosotros: ocho URLs que estaban en estado "desconocida" o "Descubierta" se indexaron aproximadamente un día después de que las solicitáramos. El sitemap e IndexNow por sí solos dejaron a las páginas de Google esperando.

Regla de navegación. Search Console y Bing Webmaster son sitios que requieren inicio de sesión: trabájalos una página a la vez a un ritmo humano y nunca automatices su interfaz de usuario. Lo mismo aplica para cualquier sitio social. Si un sitio limita la tasa o te bloquea, detente e informa al usuario.

Configuración única

  1. Search Console: añade una propiedad de dominio (verificada mediante un registro TXT de DNS). Nunca elimines ese registro TXT; la verificación caduca sin él.
  2. Bing Webmaster Tools: "Importar desde Google Search Console" es lo más rápido. Una propiedad de dominio de GSC no se puede importar; Bing crea un sitio de prefijo de URL (https://example.com/) en su lugar, lo cual funciona. Envía el sitemap allí también.
  3. Archivo de clave IndexNow, desplegado antes del primer envío:
    KEY=$(openssl rand -hex 16)
    printf '%s' "$KEY" > public/$KEY.txt          # cualquier carpeta servida en la raíz del sitio
    # confirma, despliega, luego verifica que imprime la clave y nada más:
    curl -s "https://example.com/$KEY.txt"
    
    La clave es pública por diseño (cualquiera puede leer el archivo), por lo que puede vivir en package.json: "seo:indexnow": "INDEXNOW_KEY=<key> node scripts/indexnow.mjs --host example.com"
  4. Archivo de cola docs/seo/index-queue.md (plantilla a continuación), confirmado en el repositorio. No en una carpeta temporal o de trabajo.

Flujo de trabajo: el día que se publican las páginas

  1. Verificar que las páginas estén en vivo. Sitio propio, solicitudes secuenciales:
    for p in /blog/new-post /zh/blog/new-post; do
      curl -s -o /dev/null -w "%{http_code} $p\n" "https://example.com$p"
    done
    curl -s https://example.com/blog/new-post | grep -o '<link rel="canonical"[^>]*>'
    
    Cada URL debe devolver 200 (no una redirección), llevar un enlace canónico autorreferencial, aparecer en el sitemap y estar enlazada desde al menos una página que Google ya rastrea (inicio, índice del blog, un bloque de "últimas publicaciones" en el pie de página, una publicación relacionada). No envíes nada que no cumpla estos requisitos.
  2. IndexNow.
    npm run seo:indexnow -- /blog/new-post /zh/blog/new-post
    npm run seo:indexnow -- --sitemap        # después de un lanzamiento grande, o si no estás seguro de qué cambió
    
    200 o 202 significa aceptado (202 es normal mientras se valida una nueva clave). 403: el archivo de clave no está en vivo o su contenido difiere. 422: una URL está en otro host, normalmente www. vs el dominio desnudo.
  3. Actualizar la cola. Encuentra lo nuevo desde la última ejecución comparando el sitemap en vivo con una instantánea confirmada (en la primera ejecución, solo guarda la instantánea; --dry-run no necesita clave):
    node scripts/indexnow.mjs --host example.com --sitemap --dry-run 2>/dev/null | sort > sitemap-now.txt
    comm -13 docs/seo/sitemap-snapshot.txt sitemap-now.txt     # URLs añadidas desde la instantánea
    mv sitemap-now.txt docs/seo/sitemap-snapshot.txt
    
    Ordena la cola por: (1) páginas publicadas hoy, las más nuevas primero; (2) idiomas principales antes que traducciones, p.ej., inglés luego chino; (3) temas sensibles al tiempo (un lanzamiento, un cierre) antes que los perennes; (4) páginas existentes cuyo contenido cambió materialmente. Otras configuraciones regionales van al final.
  4. Reenviar el sitemap en Search Console después de añadir muchas URLs o una nueva sección: Sitemaps → ingresa https://example.com/sitemap.xml → Enviar. Compara "Páginas descubiertas" con tu propio recuento. Se vuelve obsoleto: el nuestro mostraba 243 hasta que lo reenviamos, luego 423.
  5. Solicitar indexación en Search Console, desde la parte superior de la cola hacia abajo:
    • Abre Search Console y verifica que la cuenta en la URL (/u/0/, /u/1/, /u/2/) muestre la propiedad. El índice cambia entre días; usa el que la liste.
    • Pega la URL en la barra de inspección en la parte superior, espera el resultado, haz clic en Solicitar indexación, espera la prueba en vivo (aproximadamente un minuto).
    • Cuéntalo solo cuando aparezca el cuadro de diálogo "Indexación solicitada". Sin diálogo significa que no se realizó, a menudo porque la cuenta carece de permisos.
    • "Algo salió mal" en el primer intento: reintenta una vez. Generalmente funciona.
    • "Cuota excedida": detente por el día; la cuota se restablece alrededor de la medianoche (hora del Pacífico de EE.UU.). Planea aproximadamente 10 por día.
    • Escribe la fecha en la fila de la cola.
  6. Bing Enviar URLs: Bing Webmaster Tools → Envío de URL → Enviar URLs → pega las siguientes URLs de la cola, una por línea, hasta la cuota restante que muestra la página (100 por día). Escribe la fecha en las filas de la cola.
  7. Registra una línea por acción en docs/seo/log.md, con la referencia del despliegue o commit: - main=abc1234 en vivo. IndexNow 18 URLs → 200. GSC solicitó 10 (Cuota excedida en la 11). Bing 100 enviadas, 44 restantes en la cola.

Seguimiento, de 1 a 3 días después

Inspecciona las páginas más nuevas primero en URL Inspection (Bing tiene su propia inspección de URL con estados similares):

EstadoQué significaHacer
URL is on GoogleIndexadaMarcar como indexada, eliminar de la cola, registrar
URL is unknown to GoogleNo está en un sitemap que Google haya leído, no se encontraron enlacesReenviar el sitemap, añadir enlaces internos, solicitar indexación
Discovered – currently not indexed, Referring page: None detectedGoogle conoce la URL solo por el sitemap y no la ha rastreadoAñadir enlaces desde páginas que ya se rastrean y visitan; conseguir enlaces externos; solicitar indexación
Crawled – currently not indexedObtenida, considerada no digna de indexarse aúnVerificar contenido fino o casi duplicado (traducciones, páginas con plantillas); mejorar o fusionar. Más solicitudes no ayudarán
Duplicate, Google chose different canonicalConfusión de canónico o hreflangCorregir etiquetas canónicas; asegurarse de que las versiones de idioma no sean idénticas
Page with redirect / Not found (404)URL incorrecta en el sitemapCorregir el sitemap

"Referring page: None detected" es la pista clave: la solución son los enlaces, no más envíos. Lo que funcionó para nosotros: un bloque en el pie de página que enlaza las cinco últimas publicaciones desde la página de inicio y las guías principales, enlaces cruzados entre publicaciones relacionadas, y un repositorio público de GitHub cuyo README enlaza a las páginas.

Los datos de rendimiento de Search Console tienen un retraso de 2 a 3 días. No juzgues una página por los números de ayer.

Plantilla del archivo de cola

# Cola de indexación
Arriba = enviar a continuación. Orden: más nuevas primero; inglés y chino antes que otras configuraciones regionales.
Límites: Google Solicitar indexación ~10/día por propiedad (se restablece ~medianoche hora del Pacífico de EE.UU.). Bing Enviar URLs 100/día.

| URL | Añadida | Google solicitó | Bing enviada | Indexada |
|---|---|---|---|---|
| https://example.com/blog/new-post | 2026-11-07 | 11-08 | 11-07 | |
| https://example.com/zh/blog/new-post | 2026-11-07 | | 11-07 | |

Lista de verificación

  • Cada URL en vivo: 200, canónico propio, en el sitemap, enlazada desde una página rastreada
  • IndexNow devolvió 200 o 202 para las URLs nuevas y modificadas
  • Cola actualizada y ordenada por prioridad
  • Sitemap reenviado después de una gran adición; el recuento de descubiertas coincide
  • Search Console Solicitar indexación hasta la cuota, cada una confirmada por el cuadro de diálogo
  • Bing Enviar URLs hasta la cuota
  • Líneas de registro escritas con referencias de commit o despliegue; fecha de inspección de seguimiento anotada

Errores que encontramos

  • Solicitar indexación no hizo nada durante tres días. Nunca apareció un cuadro de diálogo de confirmación. La cuenta predeterminada de Google del navegador no tenía acceso a la propiedad; abrir Search Console con la cuenta que la poseía (un /u/N/ diferente) lo solucionó de inmediato. Días después, la propiedad se abrió bajo otro índice.
  • "Dirección de sitemap no válida". En una propiedad de dominio, escribir sitemap.xml falla; la URL completa https://example.com/sitemap.xml funciona.
  • Recuentos de sitemap obsoletos. Search Console seguía mostrando 11 páginas descubiertas después de que el sitio tuviera 100, hasta que lo reenviamos; luego 243 vs 423.
  • Las páginas sin enlaces permanecieron invisibles. Dos guías publicadas sin enlaces internos seguían siendo "URL is unknown to Google" días después.
  • Suposición de cuota. Primero asumimos unas 4 solicitudes por día; eran unas 10. La 11.ª devuelve "Cuota excedida".
  • La primera solicitud del día falló con "Algo salió mal". El reintento funcionó.
  • Cola perdida. Una lista de 115 URLs de Bing guardada en una carpeta temporal desapareció cuando la sesión se reinició, y la reconstruimos a partir del sitemap. Mantén la cola en el repositorio.
  • Cola más larga que la cuota. Después de un día ajetreado, 115 URLs esperaban 100 espacios de Bing. El orden de prioridad decidió qué iba primero: publicaciones nuevas en inglés y chino, traducciones después.
  • Sin navegador en una sesión. Search Console y Bing necesitan uno; IndexNow no. Ejecuta IndexNow, registra la brecha, ponte al día en la siguiente sesión.
  • 202, luego 200. IndexNow respondió 202 para los primeros envíos con una clave nueva y 200 después. Ambos son éxito.
  • Las traducciones saturan la cuota. Aproximadamente 392 de 441 URLs del sitemap eran traducciones. Enviarlas todas a mano consume días de cuota en páginas que un dominio nuevo rara vez logra indexar de todos modos.

Habilidades relacionadas

  • seo-page: construye la página que esta habilidad logra indexar.
  • programmatic-pages: envía muchas URLs a la vez; la prioridad de la cola es más importante allí.
  • multilingual-seo: qué configuraciones regionales publicar y enviar primero; hreflang.
  • competitor-pages, trend-keywords: páginas sensibles al tiempo que van al frente de la cola.
  • keyword-research: decide qué páginas existen en primer lugar.
  • ai-search: llms.txt y robots.txt para rastreadores de IA; el índice de Bing también alimenta a Copilot.
  • seo-daily-report: informa qué se indexó y qué está en cola para mañana.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

ummydev/ai-search

When the user wants to make a site readable, accurate and quotable for AI assistants (ChatGPT, Claude, Perplexity, Gemini, Copilot, Google AI Overviews) so they describe the product correctly and cite it. Use when the user says "llms.txt", "llms-full.txt", "AI search", "GEO", "AEO", "get cited by ChatGPT", "show up in Perplexity answers", "allow AI crawlers", "GPTBot in robots.txt", "AI gets our pricing wrong", "AI confuses us with another product", "brand name collision", "Organization schema sameAs" or "make the site agent-readable". Covers llms.txt, robots.txt for AI crawlers, definition sentences, comparison tables and FAQ, public pricing, Organization and WebSite structured data, and brand naming.

ummydev/remotion-video

When the user wants to make a vertical promo video of their own software product in code with Remotion, rebuilding the product's real UI instead of screen-recording it, with a TTS voice-over, captions timed to the voice and camera moves that zoom into details. Use when the user says "Remotion", "make a product video", "faceless demo video", "UI motion video", "programmatic video", "product reel", "animate our UI", "render the video", or wants a TikTok or Reels video about their app that an agent can re-render after every change.

ummydev/short-video-formats

When the user wants to choose or plan the format of a promo short video for TikTok, Instagram Reels, YouTube Shorts or Xiaohongshu, especially for a software product, dev tool or AI agent. Covers the four formats that carry this category (talking head over a demo, phone filming the screen, faceless UI demo, talking-head open into full-screen demo), screen layout rules, hooks and endings like "comment X and I'll send it", and how to make an AI presenter. Use when the user says "what kind of video should we make", "video format", "talking head", "faceless video", "AI presenter", "AI avatar", "UGC style", "hook ideas", "how should the first frame look", "comment to get the link", or "视频形式".

ummydev/video-retro

When the user wants to review how their short videos performed on TikTok, Instagram Reels or other platforms and decide what to make next. Covers reading views, likes, comments, saves and follows without scraping, the stats log, 24-hour and 72-hour checks, comparing topics, formats and hooks, the daily report and recording what to change. Use when the user says "how did the video do", "video stats", "复盘", "retro", "which videos worked", "why did this flop", "weekly video report", "update the stats", or at the start or end of a short-video working day.

Skills relacionados