IndexNow uitgelegd - zoekmachines informeren bij het publiceren

Stuur URL-updates naar zoekmachines na implementatie.

Inhoud

Statische websites en blogs veranderen telkens wanneer je ze uitrolt. Zoekmachines die IndexNow ondersteunen, kunnen op de hoogte worden gebracht van deze wijzigingen zonder te hoeven wachten op de volgende blinde crawl.

Deze pagina beschaft waarom dat belangrijk is, wat het protocol doet en hoe je het kunt integreren in een echte workflow, inclusief patronen die je kunt hergebruiken in je eigen automatisering of een kleine Go-cli.

Web en infrastructuurmonitoring

Waarom IndexNow gebruiken op een statische of Hugo-website

Als je Hugo uitrolt naar S3 of iets vergelijkbaars, dan stuur je al HTML en een sitemap.xml mee. Crawlers zullen uiteindelijk de sitemap lezen, maar het timing ligt niet in jouw handen. Na een migratie of een reeks nieuwe berichten is vers indexeren belangrijker dan “ergens volgende week”.

IndexNow is een push-kanaal. Je POST een lijst met canonieke URL’s waar je om geeft. Deelnemende engines (waaronder Microsoft Bing en anderen die op indexnow.org staan vermeld) kunnen het ophalen van die URL’s prioriteren. Het vervangt geen goede URL-redirects of interne koppelingen, maar het sluit de lus tussen git push en bewustwording bij zoekmachines.

Wat IndexNow doet

Op hoog niveau is elke indienen een HTTPS POST met JSON die conceptueel als volgt ziet er zo uit:

  • host - je site-hostnaam (bijvoorbeeld www.example.com)
  • key - je vooraf gegenereerde geheime string
  • keyLocation (optioneel) - volledige URL van het verificatiebestand als deze niet op het standaardpad staat
  • urlList - één of meer absolute URL’s op die host waarvan je het signaal wilt sturen

Engines verwerpen slechte sleutels, verkeerde hosts of misvormde payloads. Succes wordt meestal aangegeven met HTTP 200 of 202, afhankelijk van het eindpunt.

Je kunt de volledige regels en partners lijst op de officiële site lezen. Het belangrijke mentale model is domeineigendomsbewijs via een tekstbestand plus een expliciete URL-lijst, niet trefwoorden of paginainhoud.

Hoe je je site voorbereidt

Sleutelbestand en hostnaam

  1. Kies een sleutel - een lange willekeurige string (behandel deze als een geheim).
  2. Publiceer https://je-domein/<sleutel>.txt met alleen de sleutel als body (één regel).
  3. Gebruik dezelfde sleutel in je CLI of automatisering wanneer je POST.
  4. Stuur alleen URL’s in op die host die je opnieuw wilt laten crawlen (nieuwe berichten, bijgewerkte pagina’s of redirect-doelstellingen).

Na het verplaatsen van veel URL’s tegelijk wil je misschien paden in batches melden. IndexNow accepteert meerdere URL’s in één verzoek, onderworpen aan de limieten van elke engine.

Manieren om URL’s in te dienen

  • Handmatige POST - prima voor debugging, gebruik curl met JSON.
  • Plugins - sommige CMS’en en hostingpanelen bevatten IndexNow-schakelaars.
  • Je uitrolscript - na hugo en upload roep je een kleine binary aan met de lijst met gewijzigde URL’s of je sitemap-URL.

Voor een Hugo-workflow zijn de natuurlijke triggers “na build” of “na sync naar bucket”. Geef volledige HTTPS-URL’s door die overeenkomen met je live site, inclusief www of apex als dat wat je serveert.

Een kleine Go-cli (optioneel)

Functies die je zou kunnen implementeren

Een minimale Go-command-line tool past goed bij IndexNow omdat de payload een kleine JSON POST is en je het kunt integreren in uitrolscripts. Een typisch ontwerp omvat:

  • Enkele of meerdere URL’s als positionele argumenten
  • --sitemap om een sitemap.xml op te halen en elke <loc> in te dienen (met optioneel --limit)
  • Meerdere engines parallel via --engines (bijvoorbeeld indexnow voor de globale aggregator, of endpoints per provider)
  • Vlaggen of omgevingsvariabelen zoals INDEXNOW_KEY, INDEXNOW_WEBSITE_URL en INDEXNOW_ENGINES
  • Verbaal output met -v voor debugging van 403- of 422-responsen

Bouw met go build of go install, installeer de binary in je PATH en roep deze aan na publicatie:

indexnow --key JOUW_SLEUTEL --website https://www.example.com https://www.example.com/nieuw-bericht/

Voor een volledige siteverversing na uitrol kun je --sitemap doorgeven met je openbare sitemap-URL. Documenteer responscodes en engine-lijsten in je eigen README en bewaar een publish-then-index-shell-snippet naast wat ook maar je statische uitrol trigger.

Het Beste LLM’s voor OpenCode - lokaal getest-bericht gebruikte “een IndexNow-notifier in Go implementeren” als coderingsbenchmark - nuttig als je wilt zien hoe verschillende modellen dezelfde specificatie en gestructureerde taken aanpakken.

Praktische tips

  • Geef de voorkeur aan de indexnow engine-doelstelling als je één indiening wilt die zich verspreidt door de gedeelde infrastructuur (zie searchengines.json en spiegel die lijst in je eigen client als je meerdere eindpunten ondersteunt).
  • 429 betekent afremmen. 403 betekent meestal een sleutel- of hostmismatch. Los het sleutelbestand of de hostnaam eerst op.
  • IndexNow vervangt geen 301-redirects als je paden hernoemt. Meld na redirects live zijn.

Zie ook