Chiudere l’indicizzazione del motore di ricerca del sito tramite l’ingresso HAProxy di Kubernetes

In Kubernetes, le risorse Ingress sono spesso utilizzate come controller del traffico, fornendo accesso esterno ai servizi all’interno del cluster. L’Ingress è essenziale per reindirizzare il traffico in entrata verso il tuo servizio; tuttavia, potrebbero essere situazioni in cui vuoi impedire agli motori di ricerca di indicizzare il contenuto del tuo servizio: potrebbe essere un ambiente di sviluppo o qualcos’altro.

Questo articolo ti guiderà attraverso il processo di blocco dell’indicizzazione del sito su Kubernetes Ingress utilizzando il file robots.txt, impedendo agli bot di ricerca di rinunciare e indicizzare il tuo contenuto.

Prerequisiti

Per procedere con l’esempio, devi avere un’idea di base riguardo agli oggetti di base di Kubernetes, risorse Ingress e il controller ingresso ufficiale HAProxy. Avrai anche bisogno di accesso al cluster Kubernetes e delle autorizzazioni necessarie per apportare modifiche alla configurazione.

Tieni a mente che, a fini di questo articolo, presuppongo che il controller ingresso HAProxy sia impostato come controller predefinito. Altrimenti, se non hai selezionato HAProxy come controller predefinito, devi aggiungere l’opzione ingressClassName a tutti gli esempi di codice Ingress.

Step 1: Crea una risorsa Ingress Kubernetes

Nella prima parte del nostro viaggio, creeriamo un piccolo risorsa Ingress per esporre il nostro servizio fuori dal cluster Kubernetes. Attenzione: per il momento, tutti i web crawlers avranno accesso al servizio. Per applicare il codice seguente, usare il comando kubectl apply -f ingress.yaml.

YAML

 

Step 2: Modifica della Configurazione Ingress

Il file robots.txt viene utilizzato per controllare come i motori di ricerca indicizzano i documenti. Il suo file specifica quali URL i crawler di motori di ricerca possono accedere sul tuo sito web. Il file base che limita l’accesso al servizio web è così descritto:

Plain Text

 

HAProxy non richiede che tu aggiunga questo file al tuo server web o sito web. questo può essere ottenuto con la seguente configurazione, che dovrebbe essere aggiunta alla sezione backend per il gruppo specifico di server:

Plain Text

 

Le annotazioni K8S regolamentano tutte le manipolazioni della configurazione frontend/backend di HAProxy per una singola risorsa Ingress. L’elenco completo delle annotazioni HAProxy può essere trovato nella documentazione ufficiale su GitHub.

Nel nostro caso, dobbiamo usare haproxy.org/backend-config-snippet con lo snippet HAProxy per bloccare qualsiasi indicizzazione. Per fare questo, modifica, apri il tuo file YAML della risorsa Ingress, e aggiungi l’annotazione seguente alla sezione metadata:

YAML

 

Step 3: Applicare i Cambiamenti di Configurazione

Dopo aver modificato il file YAML di Ingress, salvalo e applicalo al cluster Kubernetes usando il comando kubectl: kubectl apply -f ingress.yaml.

Il controller Ingress scoprirà le modifiche e aggiornarà la configurazione in conseguenza.

Step 4: Verifica della Configurazione

Esamina il file robots.txt generato per confermare che la preventiva dall’indicizzazione funziona correttamente. Il controller Ingress genera questo file in base alle annotazioni fornite.

Recupera l’IP esterno o il dominio associato al tuo risorsa Ingress e aggiungi /robots.txt alla URL. Esempio:

Plain Text

 

Come vediamo, la risposta contiene un file robots.txt che impedisce l’indicizzazione da parte di motori di ricerca.

Step 5: Verifica della Prevenzione dall’Indicizzazione

Per verificare che i motori di ricerca non stiano indicizzando il tuo sito, puoi eseguire una ricerca del tuo sito web sui motori di ricerca popolari. ricorda che i risultati delle ricerche a volte richiedono del tempo per riflettere i cambiamenti, quindi lo stato dell’indicizzazione potrebbe non essere aggiornato completamente subito.

Conclusione

Le annotazioni rendono facile evitare l’indicizzazione da parte di motori di ricerca durante l’uso di HAProxy Kubernetes Ingress. Aggiungendo l’annotazione appropriata al tuo risorsa Ingress, puoi impedire ai bot di ricerca di crawling e indicizzare il contenuto del tuo sito web. Un approcio simile può essere utilizzato con altri controller ingressi, come Nginx, Traefic e altri. Un’annotazione simile può anche essere utilizzata per le risorse K8S Gateway API, che stanno sostituendo progressivamente gli Ingress.

In conclusione, il file robots.txt è un metodo tradizionale per i creatori di siti web a specificare se i loro siti dovrebbero o meno essere crawled da diversi bot. Tuttavia, si è scoperto che i crawler AI da grosse aziende di modelli di linguaggio (LLM) spesso ignorano il contenuto di robots.txt e visitano il tuo sito comunque. Per evitare situazioni del genere, utilizza la sicurezza password, noindex o funzionalità di load balancer aziendali come load balancer di HAProxy AI-crawler, che può anche essere configurato come annotazione K8S.

Source:
https://dzone.com/articles/close-site-search-indexing-via-kubernetes-haproxy