Nach Prüfung der IndexNow-Funktionalität stimme ich zu, dass dies eines der Kernfunktionen/Plugins sein sollte. Ich verstehe auch, dass die Entwicklerressourcen begrenzt sind.
Hier sind meine Gedanken zu dem erforderlichen Plugin zur Unterstützung des Kernteams. Fühlen Sie sich frei, zusätzliche Kommentare hinzuzufügen.
Annahmen:
- Das IndexNow-Plugin verwendet Massenbenachrichtigungen nach einem Zeitplan - siehe Designüberlegung Nr. 1
- Massenbenachrichtigungen werden in einem Zeitintervall festgelegt
- Benachrichtigungen verwenden nur öffentliche Themen
- Benachrichtigungen erfolgen nur für neue/geänderte/gelöschte Themen, wenn das Plugin aktiviert ist.
- Das Plugin benachrichtigt nicht rückwirkend historische Änderungen/Ereignisse.
Anweisungen für Benutzer:
- Registrieren Sie sich bei der Suchmaschine Ihrer Wahl für IndexNow.
- Holen Sie sich Ihren API-Schlüssel
- Holen Sie sich die Endpunkt-URL der Suchmaschine
- Plugin installieren
- Admin einrichten
Anwendungsfall - Admin-Einstellungen
- Dem Benutzer erlauben, die automatische Einreichungsfunktion ein-/auszuschalten
- Dem Benutzer erlauben, den IndexNow-Endpunkt der Suchmaschine einzugeben. Siehe Designüberlegung Nr. 3.
- Das Eingabefeld ist ein Textparameter
- Das Eingabefeld muss eine gültige URL sein
- Standardmäßig die Bing-URL unter
https://www.bing.com/indexnow
- Dem Benutzer erlauben, den API-Schlüssel einzugeben und zu speichern
- Textfeld zur Speicherung des API-Schlüssels
- Das Eingabefeld ist alphanumerisch
- Der Standardwert ist “”
- Dem Benutzer erlauben, Zeitparameter für Massenbenachrichtigungen festzulegen
- Der Zeitparameter wird nach Stundenintervall eingestellt
- Zeichenkette zur Speicherung des Stundenwerts
- Gültige Eingaben sind ganze Zahlen
- Gültige Eingaben können von 1 bis 24 reichen
- Der Standardwert ist 12
Anwendungsfall - Textschlüsseldatei
- Das System generiert eine Datei namens indexnowkey.txt
- Die Schlüsseldatei muss im Stammverzeichnis gespeichert werden.
- Das System füllt die Datei mit dem API-Schlüssel
- Die Datei muss für alle externen Benutzer/Systeme über HTTP/HTTPS zugänglich sein
Anwendungsfall - Planung des Massenbenachrichtigungsprozesses
- Das System plant die Jobs, die auf Basis der in den Admin-Einstellungen definierten Einstellungen intervallmäßig verarbeitet werden.
- Der Intervallwert definiert die Verzögerung zwischen den Jobs in Stunden. Zum Beispiel würde ein Eingabewert von 2 bedeuten, dass der Job alle 2 Stunden ausgeführt wird. Ein Wert von 4 bedeutet, dass der Job alle 4 Stunden ausgeführt wird. Ein Wert von 24 bedeutet, dass der Job einmal täglich ausgeführt wird.
Anwendungsfall - Massenbenachrichtigungsprozess
- Das System ermittelt, ob der Benachrichtigungsprozess über die in den Admin-Einstellungen definierten Website-Einstellungen aktiviert ist.
- Das System ermittelt, ob ein API-Schlüssel in den Website-Einstellungen gültig ist - nicht “”.
- Das System erstellt eine Liste von Themen basierend auf der definierten Zeitintervall-Einstellung. Siehe Designüberlegung Nr. 2 zu Abfragezeiträumen. Die Themenparameter für die Einbeziehung sind:
- Themen müssen nur öffentlich sichtbar sein
- Neue Themen
- Themen mit neuen Beiträgen
- Bearbeitete Themen
- Gelöschte Themen
- Die Themenliste muss eindeutig sein - keine Duplikate
- Das System erstellt das JSON-Paket im folgenden Format.
{
"host": "current_site",
"key": "api_key",
"keyLocation": "https://current_site/indexnowkey.txt",
"urlList": [
"https://www.example.com/url1",
"https://www.example.com/folder/url2",
"https://www.example.com/url3"
]
}
- Das JSON-Paket wird an folgendes gesendet:
- URL:
sitesettings.search_engine_indexnow_endpoint
- URL:
- Das JSON-Paket wird mit folgenden Headern gesendet:
- Content-Type: application/json; charset=utf-8
- Http/1.1
- Host: bing
- Bestätigen Sie den Empfang der HTTP-Anfrage
- http 200 - erfolgreiche Einreichung - Prozess beenden
- Http 429 - Zu viele Einreichungsversuche - Benachrichtigen Sie den Administrator, um die Intervallzeit zu erhöhen
Designüberlegungen:
- Massenbenachrichtigungen vs. Einzelbenachrichtigungen – Eine einzelne Benachrichtigung wäre für kleine Domains akzeptabel, aber für größere Foren könnte das Hinzufügen einer Benachrichtigung für jeden neuen/aktualisierten Beitrag viele Ereignisprozesse erzeugen. Aus Sicht der Suchmaschinenindizierungsleistung wären Massenbenachrichtigungen stündlich für 80 % der Foren akzeptabel.
- Abfragezeitpunkt für Massenbenachrichtigungen – SideKiq steuert die Intervallzeiten. Wenn SideKiq stark ausgelastet ist, kann der Prozess der Massenbenachrichtigungen verzögert werden. Der Prozess der Massenbenachrichtigungen könnte neue/aktualisierte Themen verpassen, wenn der Abfragezeitraum dem Planungsintervall entspricht. Sollte ein Zeitparameter die Abfrage erweitern, um verzögerte Prozesse abzudecken? Oder ist es möglich, dass der Scheduler initiierte Zeitstempel übergibt, um Abfragezeitintervalle zu steuern? Oder müssen wir eine Datenbanktabelle/einen Wert für eingereichte Themen mit einem Zeitstempel erstellen?
- Sollten wir eine interne Tabelle mit jeder Suchmaschine und dem definierten IndexNow-URL-Endpunkt erstellen? Der Benutzer kann die Auswahl aus einer Dropdown-Liste treffen, anstatt eine URL einzugeben. Dies vermeidet potenzielle menschliche Fehler.
Was fehlt? Was würden Sie hinzufügen?