Gitea: Suchmaschinenindexierung stoppen
Nach ewigen Zeiten habe ich nur zum Spaß mal wieder einen Ausflug auf die Google Search Console gemacht. Normalerweise interessiert die mich überhaupt nicht, weil ich selbst Google gar nicht nutze und davon ausging, dass die Suchmaschinen ihre Arbeit aus Eigeninteresse schon gut machen würden.
Ich war etwas irritiert, als ich feststellte, dass es das Gros meiner Seiten nicht mal durch den Indexer geschafft hat.
Das Problem
Wie sollen denn Leute meine Webpräsenz finden? Selbst wenn sie die korrekten Suchbegriffe wüssten, würden sie über Google kaum etwas angezeigt bekommen. Immerhin stand klar drin, dass keiner meiner Blogartikel im Indexer vorkam. Auf meiner Gitea-Instanz hingegen waren mehrere Tausend Seiten dem Indexer bekannt. Ein klares Missverhältnis. Wieso überhaupt erzeugt Gitea ein so hohes Dateiaufkommen?
Googles crawler (ein Programm, welches das Netz nach Inhalten durchsucht und für die Suche indexierbar macht) findet anscheinend jeden noch so kleinen Commit in öffentlichen Repositories sowie die dahinter liegenden Dateien. Auch Automationsläufe und andere Metadaten werden indexiert.
Das ist natürlich vollkommen unnötig und verbraucht mir an einer Stelle Energie, die ich viel lieber in der Präsentation meines Blogs hätte. Also muss eine Lösung her.
Lösungsansätze
Mir fielen direkt ein paar Möglichkeiten ein:
- Den Crawler für jedes Repository so konfigurieren, dass nur die oberste Ordnerebene durchsucht wird.
- Suchindexierung für
git.schallbert.de
komplett abschalten. - Per Search Console so lange Korrekturen fahren, bis der Indexer auf meinen Blogbeiträgen korrekte Zuordnungen anzeigt.
Die naheliegendste Lösung für mich war, den Indexer für meine Gitea-Instanz komplett abzuschalten. Korrekturschleifen greifen bei Googles Crawler erst Tage oder Wochen später und waren mir zu langwierig. Eine eigene robots.txt
für jedes Repository hielt ich für zu aufwändig.
Meine Umsetzung
Hierfür nahm ich die Gitea-Dokumentation zur Hand. Der Vorschlag mit einer robots.txt
leuchtete mir sofort ein, ebenso ihr Inhalt:
User-agent: *
Disallow: /
Hiermit wird Crawlern von jedem Anbieter *
gesagt, dass ab dem Stammverzeichnis /
überhaupt nicht indexiert werden soll.
Leider nur war mir überhaupt nicht klar, wie Gitea diese Datei in seiner Instanz bereitstellt:
To make Gitea serve a custom robots.txt (default: empty 404) for top level installations, create a file with path
public/robots.txt
in thecustom
folder orCustomPath
.
Giteas Konfigurationsverzeichnis
Also probierte ich ein Wenig herum. Erstellte mal einen public
-Ordner mit entsprechender Datei, dann einen custom
-Ordner auf verschiedenen Ebenen innerhalb der Gitea-Ordnerstruktur. Jedes mal startete ich den Container neu und schaute nach, ob die robots-Datei auch auf dem Server erschien.
Nichts.
Doch dann löste ich mich von den Ordnernamen und packte die Datei schlicht in das Konfigurationsverzeichnis von Gitea - die niedrigste Ebene, auf der gitea als Ordnername schon gar nicht mehr vorkommt. Und dies war die Lösung.
Test
Nach Neustart konnte ich die Datei im Browser erfolgreich anzeigen.
Inzwischen beginnt auch Google, die unerwünschten Seiten aus dem Indexer zu entfernen. Meine Blogartikel werden über die nächsten Wochen hoffentlich auch in der Google-Suche verfügbar.