Kurz gesagt: Ein Skript entfernt nach jedem Export die Spuren von Yoast SEO aus llms.txt, Sitemaps und robots.txt.
Der Export war schlank, und ich las ihn zum ersten Mal wie ein Besucher von außen: Datei für Datei, mit dem Auge eines Suchprogramms.
Spuren von Yoast SEO
Dabei fiel mir etwas auf. In fast jeder Datei stand der Name des Helfers, der sie erzeugt hatte. Yoast SEO ist das Plugin, das sich um Suchmaschinen kümmert. Es hat seine Visitenkarte an vielen Stellen hinterlassen: als Satz in der llms.txt, als Kommentar am Ende jeder Sitemap, als Hinweis in der Anzeige der Sitemap und als Markierung in der robots.txt.
Diese Dateien sind für Maschinen gedacht. Auf der fertigen Seite braucht niemand den Hinweis, mit welchem Werkzeug sie entstanden sind. Außerdem zeigt eine Seite, die ohne WordPress auskommt, ihre Herkunft besser durch das, was sie tut.
BOM in der llms.txt
Dazu kam eine Kleinigkeit am Anfang der llms.txt: ein unsichtbares Zeichen, das BOM. Es markiert eine Textdatei als Unicode und stört dort, wo Programme die erste Zeile genau lesen.
Bereinigung per Skript
Ich habe die Aufräumarbeit nicht von Hand erledigt. Ein kleines Skript macht es nach jedem Export in einem Zug. Zuerst durfte es an einer Kopie üben. Es hat die Spuren entfernt, die Sitemaps blieben gültig, und ein zweiter Lauf änderte nichts mehr. Danach habe ich es auf den echten Export losgelassen.
Stehen geblieben ist nur eine CSS-Klasse im Quelltext der Seiten, yoast-schema-graph. Sie hat keine sichtbare Wirkung und trägt keine Information nach außen. Wer mag, kann sie später entfernen.
Ergebnis: llms.txt, Sitemaps und robots.txt sind schlank und tragen keinen Werkzeugnamen mehr. Das Skript soll vor jeder Übertragung nach All-Inkl laufen. Die Übertragung selbst beschreibt Die Seite geht online.
Zeig mir, wie es geht: Skript export-bereinigen.sh
- Skript
export-bereinigen.sh(0.1), Aufruf mit optionalem Verzeichnis, Standard ist das Staging:
bash skripte/export-bereinigen.sh /data/terruhn.it/kisp/staging
- Was es bereinigt:
llms.txt: BOM (EF BB BF) am Anfang und die ZeileGenerated by Yoast SEO …samt folgender Leerzeile.sitemap.xml: Schlusskommentar<!-- XML Sitemap generated by Yoast SEO -->.main-sitemap.xsl: der Satz „Generated by Yoast SEO, this is an XML Sitemap …“ wird zu „This is an XML Sitemap …“.robots.txt: die Zeilen# START YOAST BLOCK,# END YOAST BLOCKund die Trennlinien dazwischen.- Umsetzung mit
perl -0pibzw.perl -ni. Das Skript ist idempotent und prüft am Ende pergrep -rIil yoastauf Reste in diesen Dateien (Exit-Code 1, wenn noch etwas steht). - Kontrolle:
head -c 3 /data/terruhn.it/kisp/staging/llms.txt | xxd
cat /data/terruhn.it/kisp/staging/robots.txt
Die erste Zeile der Ausgabe beginnt mit 23 20 54 (# T) statt efbb bf.
- Bewusst nicht angefasst: die Klasse
yoast-schema-grapham Schema-Skript im HTML. Ein Ersetzen in jeder Seite brächte Aufwand ohne sichtbaren Nutzen. - Verworfen: die Texte schon in Yoast zu ändern. Die Zeilen entstehen beim Erzeugen der Dateien, und ein Eingriff dort würde vermutlich mit einem Plugin-Update überschrieben.