Dynamische robots-txt

Letzte Aktualisierung : |  

Dynamisch eine robots.txt generieren, dafür gibt es in PHP mehrere Möglichkeiten um in eine Datei zu schreiben. Wir nutzen hier file_put_contents() und schreiben dafür unsere eigene kleine Funktion, die kann beliebig erweitert und angepasst werden. Man kann die robots.txt jedoch auch mit jedem beliebigen Texteditor erstellen.



Robots Textdatei im Web

Nutze die robots.txt, da sie auch ein Teil im Web an Bedeutung hat und Dir Unnötiges ersparen kann, auch wenn nicht alle Bots auf diese hören und folgen. Es existieren sehr viele Bots die auch unnötige dinge auf Deiner Webseite verursachen und somit z.B. Deine Statistiken beeinflussen. Sie ignorieren jegliche Aufforderung in der robots.tx, gehen in jeden Ordner auf Deiner Webseite und durchwühlen alles. Bots arbeiten automatisiert, sie sind programmiert dafür bestimmte aufgaben zu verrichten und werden nicht müde ;).


Tipp

Lasse keine wichtigen Dateien unverschlüsselt auf Deinem Server und schon gar nicht frei zugänglich, wenn Du wichtige Dateien auf dem Server hast. Versuche Deine Umgebung so gut wie möglich abzusichern, der Grund, warum eine Webseite unsicher ist, liegt in den meisten fällen an den Programmierer.



Beachten

Es besteht keinerlei Garantie, dass sich Suchmaschinen an die Verbote in der robots.txt halten.



Eine eigene Funktion erstellen

So kommen wir nun zu unserer Funktion, wir ermöglichen hier ein array welches wir args nennen, dies ist die Abkürzung für arguments. In den erstellen wir unsere nötigen attribute wie domain, sitemap url, line und auch path.


// PHP CODE
     0  /**  1   * Dynamic robots.txt  2   *  3   * @param array $args (domain|sitemap|line|path)  4   * @return boolean (true|false)  5   */  6  function createRobotsTXT($args = array()) {  7    8      $return = false;  9      $default = '# robots.txt - ' . (isset($args['domain'])?$args['domain']:'') . PHP_EOL;  10      $default .= 'Sitemap: ' . (isset($args['sitemap-uri'])?$args['sitemap-uri']:'') . PHP_EOL;  11      $default .= (isset($args['line'])?$args['line']:'') . PHP_EOL;  12        13      if ((isset($args['path']) && !file_exists($args['path'])) {  14          $return = file_put_contents($args['path'], $default);  15      }  16        17      return $return;  18  } 

    So nutzen wir unsere Funktion dann schließlich um unsere Datei zu erstellen.


    // PHP CODE
       0  createRobotsTXT(array(  1      'domain' => 'https://www.tnado.com/',  2      'sitemap-uri' => 'https://www.tnado.com/sitemap.xml',  3      'line' => '',  4      'path' => 'robots.txt'  5  )); 

      Die Ausgabe in diesem Fall würde bei mir so aussehen und wir hätten alles übergeben was auch drin ist.


      // OUTPUT CODE
      # robots.txt - https://www.tnado.com/
      Sitemap: https://www.tnado.com/sitemap.xml


      Erweitertes Beispiel für eine robots Textdatei

      Anderes Beispiel um Unterverzeichnisse und auch Dateien direkt auszuschliessen.


      // PHP CODE
         0  createRobotsTXT(array(  1      'domain' => 'https://www.tnado.com/',  2      'sitemap-uri' => 'https://www.tnado.com/sitemap.xml',  3      'line' => 'User-agent: UniversalRobot/1.0  4  User-agent: mein-Robot  5  Disallow: /quellen/dtd/  6    7  User-agent: *  8  Disallow: /fotos/  9  Disallow: /temp/  10  Disallow: /fotoalbum.html',  11      'path' => 'robots.txt'  12  )); 

        Bei dieser Ausgabe sieht es natürlich etwas mehr aus, weil wir auch mehr reingeschrieben haben als vorher.


        // OUTPUT CODE
        # robots.txt - https://www.tnado.com/
        Sitemap: https://www.tnado.com/sitemap.xml
        
        User-agent: UniversalRobot/1.0
        User-agent: mein-Robot
        Disallow: /quellen/dtd/
        
        User-agent: *
        Disallow: /fotos/
        Disallow: /temp/
        Disallow: /fotoalbum.html


        Mit Google Search Console

        In der Search Konsole von Google ist ein Reiter unter Crawling -> robots.txt-tester und es kann auch dort eine robots.txt erstellt werden und auch getestet werden, dies ist jedoch nicht notwendig und dauert etwas länger. Die anderen Wege sind schneller und es dauert auch bis Google sie dort in der Search Konsole anzeigt.

        Hier findest Du nch ein Beitrag von mir über die  Google Search Console.

        Du kannst unter anderem Deine Sitemap in der robots.txt angeben oder auch mit bestimmte bots ausschließen (sofern sie den auf dies hören und diese nicht ignorieren).

         Weitere Informationen zu robots.txt von Google.



        Alternativ mit der htaccess

        Man kann mit der .htaccess z.B. mehr machen und das Ausschließen wirklich ermöglichen, wenn man Kenntnisse mit Regulären ausdrücken hat und diese beherrscht.

        Dein Kommentar

        * Diese Felder sind erforderlich, E-Mails werden nicht veröffentlicht
        Du kannst diese Tags verwenden: <p>, <em>, <strong>, <u>, <s>, <pre>, <blockquote>
        ?

        Dieses Feld ist optional
        Fülle dieses Feld aus und verbinde Dein Namen mit Deiner Website.

        Die in dieses Kontaktformular eingegebenen Daten werden in unserem System gespeichert, um die Ausgabe des Kommentars sicherzustellen. Ihre E-Mail-Adresse wird gespeichert, um die Anzahl der Kommentare und die zukünftige Registrierung zu bestimmen

        Ich habe gelesen die Datenschutzbestimmungen und Nutzungsbedingungen. Ich bestätige die Übermittlung des Formulars und die Übermittlung meiner Daten.
        tnado SEO & AMP CMS © 2019 | Alle Rechte Vorbehalten
        Created with tnado SEO CMS