Sluit de site zoekindexering af via Kubernetes HAProxy Ingress

In Kubernetes worden Ingress-resources vaak gebruikt als verkeerstellers, die externe toegang bieden tot services binnen het cluster. Ingress is essentieel voor het doorsturen van inkomende verkeer naar uw service; echter, er kunnen situaties zijn waarin u wilt voorkomen dat zoekmachines de indexering van uw service’s inhoud verhinderen: het zou een ontwikkelingsomgeving kunnen zijn of iets anders.

Dit blogartikel zal u door de procedure leiden om de indexering van uw site op Kubernetes Ingress te blokkeren met behulp van een robots.txt-bestand, waardoor zoekmachinebotten geen crawling en indexering van uw inhoud kunnen uitvoeren.

Voorwaarden

Om door te gaan met het handleiding, moet u een basisbegrip van Kubernetes basisobjecten, Ingress-resources en het officiële HAProxy ingress controller hebben. U moet ook toegang hebben tot het Kubernetes cluster en de nodige rechten om configuratiewijzigingen uit te voeren.

Onthoud dat ik in het kader van dit artikel assumeer dat de HAProxy ingress controller is ingesteld als standaardcontroller. Anders, als u HAProxy niet als standaardcontroller heeft gekozen, moet u de ingressClassName optie toevoegen aan alle Ingress-codevoorbeelden.

Stap 1: Maak een Ingress Kubernetes resource aan.

In de eerste stap van ons pad zal het een kleine Ingress-bron configureren om onze service buiten het Kubernetes-cluster beschikbaar te stellen. Let op: voorlopig zal elke webcrawler toegang tot de service hebben. Om het onderstaande codepakket toe te passen, gebruikt u het commando kubectl apply -f ingress.yaml.

YAML

 

Stap 2: Wijzig de Ingress-configuratie

Het robots.txt bestand wordt gebruikt om te controleren hoe zoekmachines documenten indexeren. Het bestand geeft aan welke URL’s zoekmachinecrawlers op uw website kunnen raken. Het basisste bestand dat toegang tot de web service beperkt, ziet er als volgt uit:

Plain Text

 

HAProxy vereist geen toevoeging van dit bestand aan uw webserver of website. Dit kan worden bereikt met de volgende configuratie, die moet worden toegevoegd aan de backend-sectie voor de specifieke groep van servers:

Plain Text

 

K8S-annotaties regelen alle bewerkingen van de HAProxy frontend/backend-configuratie voor een enkele Ingress-bron. De volledige lijst met HAProxy-annotaties kan u vinden in de officiële documentatie op GitHub.

In ons geval moeten we haproxy.org/backend-config-snippet gebruiken met de HAProxy-snippet voor het blokkeren van elke indexering. Om dit te doen, bewerkt u uw Ingress-bronbestand YAML en voegt u de volgende annotatie toe aan de metadata-sectie:

YAML

 

Stap 3: Toepassen van de configuratiewijzigingen

Nadat u het Ingress YAML bestand heeft aangepast, sla het op en plaats het in het Kubernetes cluster met de kubectl commando: kubectl apply -f ingress.yaml.

De Ingress controller zal de wijzigingen detecteren en de configuratie overeenkomstig bijwerken.

Stap 4: Controleer de Configuratie

Bekijk het gegenereerde robots.txt bestand om te controleren of de indexering wordt voorkomen. Het Ingress controller genereert dit bestand op basis van de annotatie die u opgeeft.

Haal het externe IP of domein van uw Ingress resource op en voeg /robots.txt toe aan de URL. Voorbeeld:

Plain Text

 

Zoals we kunnen zien, bevat het antwoord een robots.txt bestand dat elke zoekindexering voorkomt.

Stap 5: Test Indexering Voorkoming

Om te controleren of zoekmachines uw site niet indexeren, kun je een zoekopdracht voor uw website uitvoeren op populair zoekmachines. Onthoud dat de zoekresultaten soms even tijd nodig hebben om wijzigingen weer te geven, dus de indexering status kan niet direct worden bijgewerkt.

Conclusie

Annotaties maken het gemakkelijker om zoekmachineindexering te vermijden terwijl HAProxy Kubernetes Ingress gebruikt wordt. door de juiste annotatie aan uw Ingress-bron toe te voegen, kunt u zo zoekmachinebots verbieden om uw websitecontent te crawlen en te indexeren. Een soortgelijk benadering kan ook worden toegepast op andere ingresscontrollers, zoals Nginx, Traefic en andere. Een soortgelijke annotatie kan ook worden gebruikt voor K8S Gateway API-bronnen, die actief Ingressen vervangen.

Als laatste opmerking, robots.txt is een oud vertrouwd middel voor websiteauteurs om aan te geven of hun sites door verschillende bots gecrawld en geindexeerd moeten worden. Het is echter uitgekomen dat AI-crawlers van grote taalmodellen (LLM) bedrijven vaak de inhoud van robots.txt negeren en uw site welke kost wat crawlen. Om dergelijke situaties te vermijden, gebruik wachtwoordveiligheid, noindex of enterprise load balancer-functies zoals HAProxy AI-crawler, die ook als K8S-annotatie worden geconfigureerd.

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