Wyjaśnienie IndexNow – powiadamianie silników wyszukiwania o publikacji treści

Po wdrożeniu wyślij zaktualizowane URL do wyszukiwarek.

Page content

Strony statyczne i blogi zmieniają się przy każdym wdrożeniu. Silniki wyszukiwania obsługujące IndexNow mogą dowiedzieć się o tych zmianach bez czekania na kolejną ślepą indeksację.

Ta strona wyjaśnia, dlaczego to jest ważne, co robi ten protokół oraz jak zintegrować go z rzeczywistym procesem pracy, w tym wzorce, które możesz wykorzystać we własnej automatyzacji lub w małym CLI napisanym w Go.

Monitorowanie infrastruktury internetowej i serwerów

Dlaczego używać IndexNow na stronie statycznej lub Hugo

Jeśli wdrażasz Hugo do S3 lub podobnych usług, już wysyłasz HTML oraz plik sitemap.xml. Roboty w końcu odczytają mapę witryny, ale nie masz kontroli nad czasem. Po migracji lub po dodaniu partii nowych postów zależy Ci na świeżym zaindeksowaniu, a nie na tym, że stanie się to “kiedyś w przyszłym tygodniu”.

IndexNow to kanał push. Wysyłasz metodą POST listę kanonicznych URL, które są dla Ciebie ważne. Uczestniczące silniki (w tym Microsoft Bing i inne wymienione na stronie indexnow.org) mogą nadać priorytet pobieraniu tych URL. Nie zastępuje to dobrych przekierowań URL ani linkowania wewnętrznego, ale zamyka pętlę między git push a świadomością silnika wyszukiwania.

Co robi IndexNow

Na wysokim poziomie każde zgłoszenie to HTTPS POST z JSONem, który koncepcyjnie wygląda tak:

  • host – nazwa hosta Twojej witryny (np. www.example.com)
  • key – wygenerowany wcześniej tajny ciąg znaków
  • keyLocation (opcjonalnie) – pełny URL pliku weryfikacyjnego, jeśli nie znajduje się on w domyślnej ścieżce
  • urlList – jeden lub więcej absolutnych URL na tym hostcie, o które chcesz poinformować

Silniki odrzucają błędne klucze, niepoprawne hory lub niepoprawnie sformatowane obciążenia. Sukces zazwyczaj oznacza kod HTTP 200 lub 202, w zależności od endpointu.

Pełne zasady i listę partnerów możesz znaleźć na oficjalnej stronie. Ważny model myślowy to dowód własności domeny za pomocą pliku tekstowego plus wyraźna lista URL, a nie słowa kluczowe lub zawartość stron.

Jak przygotować swoją witrynę

Plik klucza i nazwa hosta

  1. Wybierz klucz – długi losowy ciąg znaków (traktuj go jak sekret).
  2. Opublikuj https://twoj-domena/<key>.txt z wyłącznie kluczem jako treścią (jedna linia).
  3. Użyj tego samego klucza w swoim CLI lub automatyzacji podczas wysyłania POST.
  4. Prześlij tylko URL na tym hostcie, które chcesz ponownie zindeksować (nowe posty, zaktualizowane strony lub docelowe przekierowania).

Po przesunięciu wielu URL naraz możesz chcieć wysyłać powiadomienia partiami. IndexNow akceptuje wiele URL w jednym żądaniu, z zastrzeżeniem limitów każdego silnika.

Sposoby przesyłania URL

  • Ręczny POST – dobry do debugowania, użyj curl z JSONem.
  • Wtyczki – niektóre CMS-y i panele hostingowe zawierają przełączniki IndexNow.
  • Twój skrypt wdrażania – po wykonaniu hugo i przesłaniu plików wywołaj mały program binarny z listą zmienionych URL lub adresem Twojej mapy witryny.

W przypadku przepływu pracy Hugo naturalnymi wyzwalaczami są “po budowie” lub “po synchronizacji z kubełkiem”. Przekazuj pełne URL HTTPS, które pasują do Twojej aktywnej witryny, w tym www lub wersję bez www, jeśli to tak serwujesz.

Małe CLI w Go (opcjonalnie)

Funkcje, które możesz zaimplementować

Minimalne narzędzie linii poleceń w Go pasuje do IndexNow, ponieważ obciążenie to mały JSON POST, a można je zintegrować ze skryptami wdrażania. Typowy projekt obejmuje:

  • Pojedyncze lub wiele URL jako argumenty pozycyjne
  • --sitemap do pobrania sitemap.xml i przesłania każdego <loc> (z opcjonalnym --limit)
  • Wiele silników równolegle poprzez --engines (np. indexnow dla globalnego agregatora lub endpointy dla każdego dostawcy)
  • Flagi lub zmienne środowiskowe, takie jak INDEXNOW_KEY, INDEXNOW_WEBSITE_URL oraz INDEXNOW_ENGINES
  • Rozszerzony output z -v do debugowania odpowiedzi 403 lub 422

Zbuduj za pomocą go build lub go install, zainstaluj binarkę na swojej ścieżce PATH, a następnie wywołaj ją po publikacji:

indexnow --key TWOJ_KLUCZ --website https://www.example.com https://www.example.com/new-post/

W przypadku pełnej odświeżenia witryny po wdrożeniu możesz przekazać --sitemap wraz z adresem publicznej mapy witryny. Udokumentuj kody odpowiedzi i listy silników we własnym README, a obok skryptu uruchamiającego wdrożenie statyczne umieść fragment powłoki realizujący publikację, a następnie indeksację.

Post Best LLMs for OpenCode - tested locally użył “zaimplementuj notyfikator IndexNow w Go” jako benchmarku kodowania – przydatne, jeśli chcesz zobaczyć, jak różne modele radzą sobie z tą samą specyfikacją i zadaniami strukturalnymi.

Praktyczne wskazówki

  • Wolę docelowy silnik indexnow, gdy chcesz, aby jedno zgłoszenie rozchodziło się przez wspólną infrastrukturę (zobacz searchengines.json i lustruj tę listę we własnym kliencie, jeśli obsługujesz wiele endpointów).
  • 429 oznacza zwolnij. 403 zazwyczaj oznacza niepasujący klucz lub nazwa hosta. Najpierw napraw lokalizację pliku klucza lub nazwę hosta.
  • IndexNow nie zastępuje przekierowań 301, gdy zmieniasz ścieżki. Powiadom po tym, jak przekierowania staną się aktywne.

Zobacz też