Robots.txt

Hallo zusammen,

ich befasse mich seit kurzem mit einer Nachfolgelösung für das bisher von mir genutzt Programm PC-Ahnen.

Den Client-Server Ansatz von webtrees halte ich für überlegenswert und habe daher eine Testinstallation angelegt.

Diese Installation besteht aus zwei Komponenten

  • dem CMS Joomla
  • und webtrees
    als integrierte Lösung.

Der Ansatz beschränkt sich derzeit noch ausschließlich auf die Programm- und Client-Serverlösung, d.h. ich habe noch keinen Stammbaum angelegt oder GEDCOM-Daten importiert.
Der Grund dafür ist, dass ich zuerst die Maßnahmen für die Absicherung der Serverstrukturen (.htaccess, SSL, robots.txt, etc.) konfigurieren möchte und erst danach Daten importieren werde.

In Joomla sind die Menüstrukturen rudimentär angelegt und webtress wird über ein iframe angesprochen.
Die Programm- und Datenfolder von webtress sind ein einem Sub-Folder der Joomlainstallation angelegt.

Die Empfehlungen des Kap. 8 Webtrees Handbuch für Webmaster, 6 Pretty-URLs und 6.2 Konfig. für Apache habe ich umgesetz und sie funktionieren wie erwartet.

Im Joomla Directory liegt auch eine robots.txt, die die Subfolder der Joomlainstallation (soweit möglich) absichern soll.

Was ich bisher nicht gefunden habe, ist die robots.txt von webtrees.

Auch eine Recherche im webtrees-Forum hat noch nicht zu Erfolg geführt. Lt. div. Forumsbeiträgen ist die Voraussetzung für die evtl. automatische Generierung der robots.txt, dass die beiden oben genannten Maßnahmnen implementiert sind.

Gibt es darüber hinaus eine weitere „Stellschraube“ für die automatische Erzeugung der robots.txt?
Meine Erwartung ist, dass die Datei im Hauptdirectory der webtrees-Installation erzeugt wird und die Inhalte dann vmtl. mit der der Joomla-Installation zusammengeführt werden muss.

Kann mir zu diesem Anliegen bitte jemand weiterhelfen?

Besten Dank vorab.
Günter (Bollenbacher)

Hallo Günter,

Deine konkrete Frage kann ich leider nicht beantworten, nur möchte ich anmerken, dass mit der „robots.txt“ keine „harten“ Zugriffsbeschränkungen implementiert werden. Das ist nur eine Datei für WebCrawler von Suchmaschinen zur Indizierung der Webseite. Letztendlich stellen evtl. dort enthaltene Beschränkungen nur eine Empfehlung an „maschinelle“ Besucher der Webseite dar; ob sie sich daran halten oder versuchen, auch in andere Bereiche vorzudringen, kannst Du damit nicht verhindern.
Falls Du hier keine andere Antwort bekommst, kannst Du das Thema erstmal zurückstellen und die wichtigeren Aspekte zuerst konfigurieren.

Viele Grüße
Jan

Hallo Jan,

danke für Deinen Hinweis.

Mir ist das Konzept und die Wirksamkeit der robot.txt soweit schon klar.
Es geht mir zunächst darum den Security-Ansatz den webtrees verfolgt zu verstehen (dazu gehört z.B. auch diese „Bad Bot Blocker“-Komponente) und die Stellschrauben kennzulernen, den Web-Server so gut wie möglich abzusichern.
Es geht bei meinem Vorhaben ja auch darum das Zusammenspiel von Joomla- und webtress-Maßnahmen so zu gestalten, dass es keine gegenseitigen Störungen oder Beeinträchtigungen gibt.

Was meinst Du mit „die wichtigeren Aspekte zuerst konfigurieren.“?

Viele Grüße
Günter (Bollenbacher)

Hallo Günter,

mit den „wichtigeren Aspekten“ meine ich die grundsätzliche Abscherung des Servers und der Anwendung, also Berechtigungen für den technischen User der Anwendung bzw. Datenbank, Berechtigungen im Filesystem, Entfernung nicht unbedingt benötigter Dienste vom Server usw. Was Du davon tatsächlich machen musst, hängt natürlich davon ab, was Dein Provider bzw. der Dienstleister, der Dir den Server zur Verfügung stellt, bereits gemacht hat.

Viele Grüße
Jan

Hallo Jan,

ok, danke, verstanden.

Ja, da scheint es mir auch hilfreich, das Provider-Angebot kritisch zu bewerten. In meinem Fall habe ich die Testinstallation bei einem deutschen Provider, schließe aber nicht aus, dass ich die Daten selber hoste (was natürlich einige zusätzliche Arbeit mit sich bringt).

Viele Grüße
Günter

Hallo,

Hat niemand einen Hinweis zu meiner Anfrage?

Ich denke schon, dass es ähnliche Installationen (Joomla+webtrees) gibt und sich die selbe Frage stellt.

Viele Grüße
Günter (Bollenbacher)

Hallo, die robots.txt wird meines Wissens zur Laufzeit automatisch erstellt. In dieser werden Bad Bots und für alle Stammbäume bestimmte Verzeichnisse ausgeschlossen. Welche Dateien daran beteiligt sind, da müsste ich jetzt suchen …
Dass es eine robots.txt gibt, habe ich in der Google Search Console gesehen. Dort kann die zu Laufzeit erstelle Datei auch eingesehen werden.
Aus meiner Sicht muss da nichts individuell angepasst werden.
Mit Grüßen Martin

Hallo Martin,
danke für diese interessante Info.

Ich habe bei laufendem Programm auf dem Server nach der robots.txt gesucht (sie sollte ja im Stammverzeichnis von webtrees sein), sie aber nicht finden können.
Übrigens auch dann nicht, wenn ich webtrees direkt aufrufe - also ohne Joomla.

webtrees ist in meinem Ansatz in der Directorystruktur von Joomla, in einem Subfolder integriert und wird über ein Menüpunkt im Joomla-Menü angesprochen. Im Joomla Stammverzeichnis liegt die Joomla robots.txt.
M.W. wird nur diese robots.txt ausgewertet. Wenn dies auch für ein Ansatz mit einem integrierten webtrees zutrifft, dann wäre ein dynamisch generierte webtress robots.txt wirkungslos oder anderesherum, dann ist webtrees für eine Integration via iframe nicht geeignet.

Es sei denn, dass ein anderes Konzept implementiert ist, dass auch die webtrees robots.txt ausgewertet wird.

Viele Grüße
Günter

Die robots.txt wird in der Datei /resources/views/robots-txt.phtml definiert. Dazu kommen am Anfang die Bad Bots aus /app/Http/Middleware/BadBotBlocker.php. Vielleicht gehört noch mehr dazu.
Mit Grüßen Martin

Hallo Martin,

danke für den Hinweis, muss ich mir noch ansehen.

Interessant der Kommentar aus der Datei:
# CAUTION! This robots.txt needs to be copied to the root folder.

Viele Grüße
Günter

1 „Gefällt mir“

Hmmmmm… Es hat wohl einen Grund, warum der Abschnitt zu robots.txt im webtrees-Handbuch noch unvollendet ist. Wie wäre es, wenn wir Greg mal darum bitten ein paar erläuternde Worte dazu zu sagen?

1 „Gefällt mir“

Hallo, vielleicht hättest Du den dazugehörigen Kodeteil mit zitieren sollen:

<?php if ($base_path !== '') : ?>

CAUTION! This robots.txt needs to be copied to the root folder.

<?php endif ?>

Daraus geht hervor, dass webtrees nachschaut, ob der Basispfad definiert wurde. Wenn nicht, kommt diese Meldung. Hier wird nicht gesagt, dass man manuell etwas kopieren soll, sondern dass die base-url in der Konfig-Datei definiert werden muss.

Mit Grüßen Martin

Das wäre sicher sehr hilfreich und insbesondere der Ansatz, den ich oben (Joomla, iframe → webtrees).

Ich kann mich mit dem Thema wg. eines anderen Projektes erst gegen Jahresende eingehender befassen.

Auch für die Ergänzung der Doku ein guter Punkt.

Viele Grüße
Günter

Hallo Martin,

die spannende Frage ist doch, wo wird dieser Basispfad belegt und insbesondere im iframe-Konstrukt.

Mir fehlt leider jetzt die Zeit mich damit zu befassen.

Viele Grüße
Günter

Hallo Martin und alle miteinander,
die Frage nach der robots.txt hat mir auch keine Ruhe gegeben. :wink:
Im Root-Verzeichnis ist sie nicht. Sie wird daher wohl bei Aufruf immer aktuell erzweugt, weil sich ja auch die Konstellationen, d. h. Anzahl der Dateien ändern können.
Wie Webtrees reagieren wird, wenn dennoch im Root-Versichnis eine Datei robots.txt existiert, habe ich noch nicht ausprobiert.
Über das Zusammenspiel von Joomla und Webtrees kann ich nichts sagen, weil ich Joomla für die zugehörige Hoempage nicht nutze, sondern CMsimple. Die beiden halte ich aber dennoch von einander getrennt.
Viele Grüße
Hans-Joachim (Lünenschloß)

Die base_url wird in der Datei config.ini.php im Verzeichnis /data definiert. Sie gibt das root-Verzeichnis der Installation von webtrees an, wie sie aus dem Internet heraus aufrufbar ist, und wird u.a. für die Darstellung der Pretty-URLs verwendet.

Da ich webtrees privat und im Verein unabhängig von CMS-Systemen verwende, kann ich nix über die Wirkung oder Einstellungen für iFrames sagen. Hier empfehle ich eine Diskussion im (englischsprachigen) Forum, da es sicher weitere Nutzer mit Joormla gibt.

Wie gesagt, zeigt mir die Google Search Console (ehem. Webmastertools) den Inhalt einer robots.txt an, welche scheinbar bei Aufruf durch Suchmaschienen von webtrees bei Laufzeit erstellt wird. Diese wird vermutlich nicht statisch im root-Verzeichnis der webtrees-Installation abgelegt.

Mit Grüßen Martin

Edit: Die von webtrees erstellte robots.txt kann man im Browser aufrufen und anzeigen, indem hinter der Domain /robots.txt eingegeben wird.

Hallo zusammen,

ich habe im webtrees-Forum zu meiner Eingangsfrage noch einmal ein wenig recherchiert und die nachfolgenden Hinweise gefunden.

  • Automatische Generierung der robots.txt
    webtrees kann die robots.txt automatisch / dynamisch erzeugen, wenn

  • Installation in einen Subfolder
    Wird webtrees in einem Subfolder installiert, muss die robots.txt dennoch in den root-Folder kopiert werden
    Quelle:
    Google Search Console - Indexing my webtrees - webtrees

  • Ergänzungen / Änderungen der robots.txt
    Dies trifft m.E. auch für die eingangs nachgefragte Konfiguration (Joomla + webtrees) zu.
    Joomla bringt eine eigene robots.txt mit.
    Stellt man die o.g. Bedingungen für die automatische Generierung der robots.txt durch webtrees (temporär) ein, kann man sich die von webtrees automatisch erzeugte robots.txt anzeigen lassen und kopieren.
    Anschließend werden die beiden Inhalte zu einer neuen robots.txt vereinigt und in den root-Folder von Joomla kopiert.
    Außerdem ist es nötig, die „base url“ in der Datei data/config.ini.php korrekt einzustellen.
    Quelle:
    Robots.txt - webtrees
    Robots.txt - webtrees

Diese Erläuterungen (von Greg) sollten hinreichen die Konstellation

  • Joomla und
  • webtrees (via iframe)
    zu implementieren.

Bei einer Migration von einer früheren Version von webtrees auf die aktuelle Version sind weitere Randbedingungen zu beachten.

Viele Grüße
Günter (Bollenbacher)

1 „Gefällt mir“