CommunityCodierung & Entwicklunggithub.com

ummydev/index-push

Wenn der Nutzer möchte, dass neue oder geänderte Seiten schnell von Google und Bing gecrawlt und indexiert werden, anstatt wochenlang auf das Lesen der Sitemap zu warten. Verwenden Sie dies nach jedem Deployment, das Seiten hinzufügt oder aktualisiert, und wenn der Nutzer sagt: 'das soll indexiert werden', 'Indexierung anfordern', 'bei Google einreichen', 'URLs bei Bing einreichen', 'IndexNow', 'Suchmaschinen anpingen', 'Sitemap erneut einreichen', 'warum wird meine Seite nicht indexiert', 'Entdeckt – derzeit nicht indexiert', 'URL ist Google unbekannt', 'Kontingent in der Search Console überschritten' oder 'Indexierungs-Warteschlange'. Deckt IndexNow, Search Console URL-Prüfung und Sitemaps, Bing Webmaster-URL-Übermittlung, eine priorisierte Warteschlangendatei und die Diagnose von Seiten ab, die nicht in den Index gelangen.

Was ist index-push?

Diese Fähigkeit automatisiert und standardisiert den Prozess der Indexierung neu veröffentlichter oder aktualisierter Webseiten bei Google und Bing. Sie kombiniert vier Kanäle: IndexNow (für Bing, Yandex, Naver, Seznam, Yep), Google Search Console (URL-Prüfung und Sitemap-Einreichung), Bing Webmaster Tools und eine priorisierte Warteschlange. Hauptvorteil ist die drastische Beschleunigung der Indexierung – von Wochen auf Tage –, indem mehrere Dienste parallel genutzt und Engpässe (wie tägliche Kontingente) clever umgangen werden. Die KI führt den Benutzer Schritt für Schritt durch den Workflow, vom Überprüfen der Live-Schaltung über das Einreichen via IndexNow bis zur manuellen Indexierungsanforderung in der Search Console. Sie erstellt und aktualisiert automatisch eine Warteschlangendatei im Repository, protokolliert alle Aktionen und liefert eine Checkliste für die Nachverfolgung. Besonders wertvoll ist die Diagnose-Hilfe für problematische Indexierungs-Status (z.B. 'URL ist Google unbekannt' oder 'Gecrawlt – derzeit nicht indexiert') mit konkreten Handlungsanweisungen. Die Fähigkeit ist plattformunabhängig und funktioniert mit jedem Projekt, das die Search Console und Bing Webmaster Tools nutzt.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht index-push?

Eine Seite zu veröffentlichen bedeutet nicht, dass sie gecrawlt wird. Bei einer neuen Domain kann Google eine URL, die es in der Sitemap gefunden hat, wochenlang ignorieren. Diese Fähigkeit ist die Routine für den Tag, an dem eine Seite live geht, und die Nachverfolgung, bis sie indexiert ist. Nutzen Sie alle vier Kanäle; sie erreichen unterschiedliche Suchmaschinen und haben unterschiedliche Limits.

KanalErreichtTageslimitWie
IndexNow (scripts/indexnow.mjs)Bing, Yandex, Naver, Seznam, Yep. Nicht Google10.000 URLs pro AnfrageEin Befehl
Search Console URL-Prüfung → Indexierung anfordernGoogleEtwa 10 URLs pro Property; setzt gegen Mitternacht US Pacific zurückBrowser, eine URL nach der anderen
Search Console Sitemaps → erneut einreichenGoogleKeines, das relevant istBrowser, ein Feld
Bing Webmaster Tools → URLs einreichenBing100 URLsBrowser, Liste einfügen

Die Indexierungsanfrage war bei uns der entscheidende Faktor: Acht URLs, die als 'unbekannt' oder 'Entdeckt' markiert waren, wurden etwa einen Tag, nachdem wir sie angefordert hatten, indexiert. Sitemap und IndexNow allein ließen Google-Seiten warten.

Browser-Regel. Search Console und Bing Webmaster sind angemeldete Seiten: Bearbeiten Sie sie in menschlichem Tempo, eine Seite nach der anderen, und automatisieren Sie niemals deren Benutzeroberfläche. Gleiches gilt für soziale Netzwerke. Wenn eine Site Sie ratenbegrenzt oder blockiert, stoppen Sie und informieren Sie den Benutzer.

Einmalige Einrichtung

  1. Search Console: Fügen Sie eine Domain-Property hinzu (verifiziert durch einen DNS-TXT-Eintrag). Löschen Sie diesen TXT-Eintrag niemals; die Verifizierung verfällt ohne ihn.
  2. Bing Webmaster Tools: 'Aus Google Search Console importieren' ist am schnellsten. Eine GSC-Domain-Property kann nicht importiert werden; Bing erstellt stattdessen eine URL-Präfix-Site (https://example.com/), die funktioniert. Reichen Sie dort auch die Sitemap ein.
  3. IndexNow-Schlüsseldatei, bereitgestellt vor der ersten Übermittlung:
    KEY=$(openssl rand -hex 16)
    printf '%s' "$KEY" > public/$KEY.txt          # jeder Ordner, der unter der Site-Root ausgeliefert wird
    # committen, deployen, dann bestätigen, dass es den Schlüssel und nichts anderes ausgibt:
    curl -s "https://example.com/$KEY.txt"
    
    Der Schlüssel ist absichtlich öffentlich (jeder kann die Datei lesen), daher kann er in package.json leben: "seo:indexnow": "INDEXNOW_KEY=<key> node scripts/indexnow.mjs --host example.com"
  4. Warteschlangendatei docs/seo/index-queue.md (Vorlage unten), im Repository committed. Nicht in einem temporären Ordner.

Arbeitsablauf: Am Tag der Veröffentlichung

  1. Überprüfen, ob die Seiten live sind. Eigene Seite, sequenzielle Anfragen:
    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"[^>]*>'
    
    Jede URL muss 200 zurückgeben (keine Weiterleitung), eine selbstreferenzierende Canonical haben, in der Sitemap erscheinen und von mindestens einer Seite verlinkt sein, die Google bereits crawlt (Startseite, Blog-Index, ein Footer-Block 'Neueste Beiträge', ein verwandter Beitrag). Reichen Sie nichts ein, was diese Prüfungen nicht besteht.
  2. IndexNow.
    npm run seo:indexnow -- /blog/new-post /zh/blog/new-post
    npm run seo:indexnow -- --sitemap        # nach einem großen Release oder wenn unklar ist, was sich geändert hat
    
    200 oder 202 bedeutet akzeptiert (202 ist normal, während ein neuer Schlüssel validiert wird). 403: Die Schlüsseldatei ist nicht live oder ihr Inhalt weicht ab. 422: Eine URL befindet sich auf einem anderen Host, normalerweise www. vs. die nackte Domain.
  3. Warteschlange aktualisieren. Finden Sie heraus, was seit dem letzten Lauf neu ist, indem Sie die Live-Sitemap mit einem committed Snapshot vergleichen (beim ersten Lauf einfach den Snapshot speichern; --dry-run benötigt keinen Schlüssel):
    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, die seit dem Snapshot hinzugefügt wurden
    mv sitemap-now.txt docs/seo/sitemap-snapshot.txt
    
    Sortieren Sie die Warteschlange nach: (1) heute veröffentlichte Seiten, neueste zuerst; (2) Primärsprachen vor Übersetzungen, z.B. Englisch dann Chinesisch; (3) zeitkritische Themen (ein Release, eine Abschaltung) vor Evergreen; (4) bestehende Seiten, deren Inhalt sich wesentlich geändert hat. Andere Sprachvarianten kommen zuletzt.
  4. Sitemap in der Search Console erneut einreichen nach dem Hinzufügen vieler URLs oder eines neuen Abschnitts: Sitemaps → https://example.com/sitemap.xml eingeben → Absenden. Vergleichen Sie 'Entdeckte Seiten' mit Ihrer eigenen Zählung. Sie wird veraltet: Unsere zeigte 243, bis wir sie erneut einreichten, dann 423.
  5. Indexierung in der Search Console anfordern, von oben in der Warteschlange abwärts:
    • Öffnen Sie die Search Console und prüfen Sie, ob das Konto in der URL (/u/0/, /u/1/, /u/2/) die Property anzeigt. Der Index ändert sich zwischen den Tagen; verwenden Sie den, der sie auflistet.
    • Fügen Sie die URL in die Prüfungsleiste oben ein, warten Sie auf das Ergebnis, klicken Sie auf Indexierung anfordern, warten Sie auf den Live-Test (etwa eine Minute).
    • Zählen Sie es nur, wenn der Dialog 'Indexierung angefordert' erscheint. Kein Dialog bedeutet, dass es nicht durchgegangen ist, oft weil dem Konto die Berechtigung fehlt.
    • 'Ein Fehler ist aufgetreten' beim ersten Versuch: Einmal wiederholen. Es funktioniert normalerweise.
    • 'Kontingent überschritten': Hören Sie für den Tag auf; das Kontingent setzt sich gegen Mitternacht US Pacific zurück. Planen Sie mit etwa 10 pro Tag.
    • Tragen Sie das Datum in die Warteschlangenzeile ein.
  6. Bing URLs einreichen: Bing Webmaster Tools → URL-Übermittlung → URLs einreichen → fügen Sie die nächsten URLs aus der Warteschlange ein, eine pro Zeile, bis zum verbleibenden Kontingent, das die Seite anzeigt (100 pro Tag). Tragen Sie das Datum in die Warteschlangenzeilen ein.
  7. Protokollieren Sie eine Zeile pro Aktion in docs/seo/log.md, mit dem Deploy- oder Commit-Referenz: - main=abc1234 live. IndexNow 18 URLs → 200. GSC 10 angefordert (Kontingent bei der 11. überschritten). Bing 100 eingereicht, 44 in der Warteschlange verbleibend.

Nachverfolgung, 1 bis 3 Tage später

Überprüfen Sie zuerst die neuesten Seiten in der URL-Prüfung (Bing hat eine eigene URL-Prüfung mit ähnlichen Status):

StatusBedeutungMaßnahme
URL ist auf GoogleIndexiertAls indexiert markieren, aus Warteschlange entfernen, protokollieren
URL ist Google unbekanntNicht in einer von Google gelesenen Sitemap, keine Links gefundenSitemap erneut einreichen, interne Links hinzufügen, Indexierung anfordern
Entdeckt – derzeit nicht indexiert, Verweisende Seite: Keine erkanntGoogle kennt die URL nur aus der Sitemap und hat sie nicht gecrawltLinks von Seiten hinzufügen, die bereits gecrawlt und besucht werden; externe Links verdienen; Indexierung anfordern
Gecrawlt – derzeit nicht indexiertAbgerufen, aber noch nicht als indexierungswürdig erachtetAuf dünnen oder nahezu doppelten Inhalt prüfen (Übersetzungen, vorlagenbasierte Seiten); verbessern oder zusammenführen. Weitere Anfragen helfen nicht
Doppelt, Google hat andere Canonical ausgewähltCanonical- oder hreflang-VerwirrungCanonical-Tags korrigieren; sicherstellen, dass Sprachversionen nicht identisch sind
Seite mit Weiterleitung / Nicht gefunden (404)Falsche URL in der SitemapSitemap korrigieren

'Verweisende Seite: Keine erkannt' ist der entscheidende Hinweis: Die Lösung sind Links, nicht weitere Einreichungen. Was bei uns funktioniert hat: ein Footer-Block mit Links zu den fünf neuesten Beiträgen von der Startseite und den wichtigsten Leitfäden, Querverweise zwischen verwandten Beiträgen und ein öffentliches GitHub-Repository, dessen README auf die Seiten verlinkt.

Die Leistungsdaten der Search Console hinken 2–3 Tage hinterher. Bewerten Sie eine Seite nicht nach den Zahlen von gestern.

Vorlage für die Warteschlangendatei

# Index-Warteschlange
Oben = als nächstes einreichen. Reihenfolge: neueste zuerst; Englisch und Chinesisch vor anderen Sprachvarianten.
Limits: Google Indexierungsanfrage ~10/Tag pro Property (setzt gegen Mitternacht US Pacific zurück). Bing URLs einreichen 100/Tag.

| URL | Hinzugefügt | Google angefordert | Bing eingereicht | Indexiert |
|---|---|---|---|---|
| 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 | |

Checkliste

  • Jede URL live: 200, selbstreferenzierende Canonical, in der Sitemap, von einer gecrawlten Seite verlinkt
  • IndexNow hat 200 oder 202 für die neuen und geänderten URLs zurückgegeben
  • Warteschlange aktualisiert und nach Priorität sortiert
  • Sitemap nach einer großen Ergänzung erneut eingereicht; Anzahl der entdeckten Seiten stimmt überein
  • Search Console Indexierungsanfragen bis zum Kontingent, jede durch den Dialog bestätigt
  • Bing URLs einreichen bis zum Kontingent
  • Protokollzeilen mit Commit- oder Deploy-Referenzen geschrieben; Datum der Nachverfolgung notiert

Fallstricke, auf die wir gestoßen sind

  • Indexierungsanfrage hat drei Tage lang nichts bewirkt. Es erschien nie ein Bestätigungsdialog. Das Standard-Google-Konto des Browsers hatte keinen Zugriff auf die Property; das Öffnen der Search Console mit dem Konto, dem sie gehörte (ein anderes /u/N/), löste das Problem sofort. Tage später öffnete sich die Property unter einem weiteren Index.
  • 'Ungültige Sitemap-Adresse'. Bei einer Domain-Property schlägt die Eingabe von sitemap.xml fehl; die vollständige https://example.com/sitemap.xml funktioniert.
  • Veraltete Sitemap-Zählungen. Die Search Console zeigte weiterhin 11 entdeckte Seiten an, obwohl die Site 100 hatte, bis wir sie erneut einreichten; später 243 vs. 423.
  • Nicht verlinkte Seiten blieben unsichtbar. Zwei Leitfäden, die ohne interne Links veröffentlicht wurden, waren Tage später immer noch 'URL ist Google unbekannt'.
  • Kontingent-Schätzerei. Wir gingen zunächst von etwa 4 Anfragen pro Tag aus; es waren etwa 10. Die 11. gibt 'Kontingent überschritten' zurück.
  • Erste Anfrage des Tages fehlgeschlagen mit 'Ein Fehler ist aufgetreten'. Der Wiederholungsversuch funktionierte.
  • Warteschlange verloren. Eine Bing-Liste mit 115 URLs, die in einem temporären Ordner aufbewahrt wurde, verschwand beim Neustart der Sitzung, und wir bauten sie aus der Sitemap neu auf. Bewahren Sie die Warteschlange im Repository auf.
  • Warteschlange länger als das Kontingent. Nach einem arbeitsreichen Tag warteten 115 URLs auf 100 Bing-Slots. Die Prioritätsreihenfolge entschied, was zuerst kam: neue Beiträge auf Englisch und Chinesisch, Übersetzungen danach.
  • Kein Browser in einer Sitzung. Search Console und Bing benötigen einen; IndexNow nicht. Führen Sie IndexNow aus, protokollieren Sie die Lücke, holen Sie es in der nächsten Sitzung nach.
  • 202, dann 200. IndexNow antwortete mit 202 für die ersten Einreichungen mit einem neuen Schlüssel und danach mit 200. Beides sind Erfolge.
  • Übersetzungen überschwemmen das Kontingent. Etwa 392 von 441 Sitemap-URLs waren Übersetzungen. Sie alle von Hand einzureichen, verbraucht Tage des Kontingents für Seiten, die eine neue Domain ohnehin selten indexiert bekommt.

Verwandte Fähigkeiten

  • seo-page: erstellt die Seite, die diese Fähigkeit indexieren lässt.
  • programmatic-pages: liefert viele URLs auf einmal; die Warteschlangenpriorität ist dort am wichtigsten.
  • multilingual-seo: welche Sprachvarianten zuerst veröffentlicht und eingereicht werden; hreflang.
  • competitor-pages, trend-keywords: zeitkritische Seiten, die an den Anfang der Warteschlange kommen.
  • keyword-research: entscheidet, welche Seiten überhaupt existieren.
  • ai-search: llms.txt und robots.txt für KI-Crawler; Bings Index speist auch Copilot.
  • seo-daily-report: berichtet, was indexiert wurde und was für morgen in der Warteschlange steht.

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.

Verwandte Skills