Contao und die robots.txt
Die robots.txt ist eine Datei, die Webcrawlern wie Googlebot mitteilt, welche Teile einer Website sie indexieren dürfen. Sie ist ein wichtiger Bestandteil der Suchmaschinenoptimierung (SEO), da sie die Indexierung von unnötigen oder nicht indexierbaren Inhalten verhindert.
In Contao wird die robots.txt automatisch generiert und im Hauptverzeichnis der Website abgelegt. Sie enthält standardmäßig die folgenden Anweisungen:
user-agent:*
disallow:/contao/
disallow:/_contao/
sitemap:https://www.example.org/sitemap.xml
Erläuterungen
- Alle Dateien und Unterordner im Verzeichnis "contao" sind für Suchmaschinen gesperrt. Dies ist sinnvoll, da diese Verzeichnisse keine für die Suchmaschinen relevanten Inhalte enthalten.
- Alle Dateien und Unterordner im Verzeichnis "_contao" sind für Suchmaschinen gesperrt. Dies ist sinnvoll, da diese Verzeichnisse keine für die Suchmaschinen relevanten Inhalte enthalten.
- Die Sitemap ist unter https://www.example.org/sitemap.xml zu finden.
Anpassung der robots.txt in Contao
Die robots.txt kann in Contao angepasst werden, um die Indexierung bestimmter Bereiche der Website zu ermöglichen oder zu verhindern. Dies kann zum Beispiel sinnvoll sein, wenn Sie bestimmte Dateien oder Ordner nur für angemeldete Benutzer zugänglich machen möchten.
Um die robots.txt anzupassen, gehen Sie folgendermaßen vor:
- Öffne die Seitenstruktur im Cotnao Backend
- Bearbeite den gewünschten Startpunkt deiner Website (Rootseite)
- Bearbeite das Feld "Individuelle robots.txt-Anweisungen" unter Website-Einstellungen
- Speichere deine Änderungen mit "Speichern" oder "Speichern und schließen"
Rufe anschließend https://example.org/robots.txt auf um die Änderungen anzuzeigen.
Anpassung der robots.txt mit dem 'contao.robots_txt' Event
Dieses Ereignis wird ausgelöst, wenn die /robots.txt-Route aufgerufen wird. Das Ereignis ermöglicht es Ihnen, das webignition\RobotsTxt\File\File-Objekt der dynamisch generierten robots.txt abzurufen, wodurch Sie Ihre eigenen benutzerdefinierten Einträge programmatisch hinzufügen können. In der README von webignition/robots-txt-file finden Sie weitere Einzelheiten.
// src/EventListener/RobotsTxtListener.php
namespace App\EventListener;
use Contao\CoreBundle\Event\ContaoCoreEvents;
use Contao\CoreBundle\Event\RobotsTxtEvent;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
use webignition\RobotsTxt\Directive\Directive;
use webignition\RobotsTxt\Directive\UserAgentDirective;
use webignition\RobotsTxt\Inspector\Inspector;
use webignition\RobotsTxt\Record\Record;
#[AsEventListener(ContaoCoreEvents::ROBOTS_TXT)]
class RobotsTxtListener
{
public function __invoke(RobotsTxtEvent $event): void
{
$file = $event->getFile();
$inspector = new Inspector($file);
// Prüft, ob eine "User-Agent: *"-Direktive nicht bereits vorhanden ist
if (0 === $inspector->getDirectives()->getLength()) {
$record = new Record();
$userAgentDirectiveList = $record->getUserAgentDirectiveList();
$userAgentDirectiveList->add(new UserAgentDirective('*'));
$file->addRecord($record);
}
foreach ($file->getRecords() as $record) {
$directiveList = $record->getDirectiveList();
// Verhindert das URLs des Google Merchant Centers indexiert werden
$directiveList->add(new Directive('Disallow', '/*?srsltid=*/'));
}
}
}
Diese Funktion ist in Contao 4.9 und höher verfügbar.
Beispiele
Erlauben Sie die Indexierung aller Dateien und Ordner im Verzeichnis "dokumente":
User-agent: *
Allow: /dokumente/
Verbieten Sie die Indexierung aller Dateien und Ordner im Verzeichnis "dokumente":
User-agent: *
Disallow: /dokumente/
Verbiete die Indexierung aller Dateien und Ordner im Verzeichnis "mitgliederbereich", erlaube aber die Indexierung für den GoogleBot
User-agent: *
Disallow: /mitgliederbereich/
User-agent: Googlebot
Allow: /mitgliederbereich/
Verbiete die Indexierung aller Dateien und Ordner für bestimmte Crawler bzw. Bots, die Informationen für Suchmaschinen und Datensammlern verarbeiten und speichern. In dem Beispiel wird der EtaoSpider, der GPTBot und CCBot von der Indexierung ausgeschlossen.
User-agent: EtaoSpider
Disallow: /
User-agent: GPTBot
Disallow: /
User-agent: CCBot
Disallow: /
Beispiel der Ergänzung der robots.txt aus dem Contao Backend
Was sind die wichtigsten User-Agents?
Hier eine Auswahl der wichtigsten User-Agenten Bezeichnungen:
Crawler |
User-agent |
|
Googlebot |
Bing |
Bingbot |
Yahoo |
Slurp |
MSN |
Msnbot |
Fazit
Die robots.txt ist in Contao ein wichtiges Werkzeug für die SEO. Durch eine sorgfältige Anpassung der robots.txt kann die Indexierung der Website für Suchmaschinen optimiert werden.
Letzte Änderung: 24.12.2024
Ähnliche Beiträge
Zurzeit sind keine Nachrichten vorhanden.
*******************
Liebe Leser,
Menschen sind nicht ausschließlich Frauen, Männer, weiblich, männlich, divers – Menschen können vielfältiger sein! Wir möchten euch ALLE als Menschen ansprechen, egal von welchem Geschlecht oder welcher Kultur. Sprachlich ist es schwierig, euch alle „richtig“ anzusprechen. Daher verwenden wir – auch für eine bessere Lesbarkeit – bei Personenbezeichnungen meist die männliche Form, wie Dienstleister oder Partner. Aber eins ist uns wichtig: Keiner soll sich ausgeschlossen fühlen.
Zudem sind wir Verfechter des DU #gernperdu und gestalten so unsere tägliche Kommunikation etwas lockerer und persönlicher. Auch hier gilt: Wir bringen allen die gleiche Wertschätzung entgegen.
*******************