Seite 1 von 3

Ads.txt nur in der Root oder in allen Subdomains notwendig?

Verfasst: 21.06.2019, 17:50
von heinrich
Ich habe in den Error-Logs entdeckt, dass der Google-Bot und auch einige andere Bots offenbar nicht nur die Root abklappert, sondern auch in zahlreichen Subdomains. Dabei wird etwa von Moneytizer gesagt, dass diese Datei in der Root völlig ausreichend sei, warum also dann diese Abfragen? Bei sehr vielen Subdomains müsste man bei jeder Veränderung hunderte ads.tx aufspielen, was natürlich aufwändig ist.

Meine Frage an die Community daher: Weiß jemand etwas Sicheres darüber bzw. können das hier andere auch bestätigen?

Verfasst:
von

Verfasst: 21.06.2019, 18:42
von Hanzo2012
Mach doch einfach einen Hardlink / symbolischen Link von allen Domains auf dieselbe ads.txt oder eine interne Weiterleitungsregel in deinem Webserver.

Verfasst: 21.06.2019, 20:08
von heinrich
Guter Tipp - ich hoffe nur, dass die Bots das akzeptieren.
Probier ich einmal
Redirect /ads.txt https://www.domain.com/ads.txt

Verfasst: 21.06.2019, 23:57
von elmex
er schrieb doch "interne Weiterleitung", Redirect ist aber eine "externe"....

Verfasst: 22.06.2019, 00:32
von heinrich
Wieso intern? Die ads.txt liegt ja nur einmal im Root und alle Subdomains - das sind Ordner dieser Domain- sollen sich auf diese beziehen. Also beim Aufruf der ads.txt im Ordner https://subdomain.domain.com soll eben auf diese im Root liegende Datei verwiesen werden.

Verfasst:
von

Verfasst: 22.06.2019, 07:00
von Hanzo2012
Da stellt sich in der Tat die Frage, ob die Bots das akzeptieren. Darum habe ich eine interne Weiterleitung empfohlen (mit RewriteRule ohne Redirect, alternativ mit Alias). Davon kriegt der Bot gar nichts mit.

Verfasst: 22.06.2019, 13:40
von heinrich
Mir ist allerdings nicht klar, warum ein
RewriteRule ^ads\.txt$ "https\:\/\/www\.domain\com\/ads\.txt" [R=301,L]
etwas daran ändert, da der Bot ja dann doch wieder bei der ads.txt in der Root landet.

Verfasst: 22.06.2019, 13:54
von elmex
heinrich hat geschrieben:Mir ist allerdings nicht klar, warum ein
RewriteRule ^ads\.txt$ "https\:\/\/www\.domain\com\/ads\.txt" [R=301,L]
etwas daran ändert, da der Bot ja dann doch wieder bei der ads.txt in der Root landet.
Das wäre (würde es funktionieren) ebenso eine "externe" Weiterleitung :D :D :D

Kleiner Tipp noch, mit Root in der Ads.txt Beschreibung ist der Document Root gemeint. Du scheinst das irgendwie mit Domains zu verwechseln? Den DocumentRoot von Subdomains in Unterordner des DocumentRoots der Hauptdomain zu legen, ist übrigens auch nicht wirklich im Sinne des Erfinders, benötigt dies doch unnötigen zusätzlichen Aufwand, die Subdomains nicht auch per Unterordner der Hauptdomain verfügbar zu machen, denn sonst droht DC.

Verfasst: 22.06.2019, 14:27
von Hanzo2012
Heinrich: Externe Weiterleitung heißt, dass beim Zugriff ein Code wie 301 geschickt wird, zusammen mit der neuen URL, die dann in einem zweiten Zugriff abgefragt werden muss. Der Zugreifende (Bot, Browser, ...) bemerkt die Weiterleitung und muss ihr aktiv folgen. Und das könnte bei ads.txt-Bots evtl. problematisch sein!
Intern heißt, dass der Webserver ganz normal mit 200 antwortet und den Inhalt liefert, dabei die Datei aber nicht von der „normalen“ Location liest, sondern von woanders (in deinem Fall würde er für alle Subdomains dieselbe ads.txt lesen). Der Zugreifende merkt davon gar nichts - perfekt für diesen Anwendungsfall.
Das, was du da gepostet hast, ist eine externe Weiterleitung.
So ein alter Hase wie du sollte das aber wissen ;)

Verfasst: 22.06.2019, 14:28
von heinrich
Jetzt bin ich völlig irritiert.

Es geht bei den Subdomains praktisch meist um WP-Installationen, die ihr eigenes htaccess haben und die serverseitig nicht als www.domain.com/subdomain sondern nur als subdomain.domain.com aufrufbar sind. Und in diese möchte ich eben kein eigenes subdomain.domain.com/ads.txt legen, denn wenn sich dieses ändert, will ich es nicht hunderte Male austauschen müssen. Sondern wenn die Bots das subdomain.domain.com/ads.txt suchen, dann sollen sie auf das www.domain.com/ads.txt verwiesen werden.
Ich mache das Ganze ja nur, weil es zwar heißt, dass es immer genügt, in die Root eine ads.txt zu legen, weil dann diese auch für alle subdomain.domain.com gilt, aber in den error-logs habe ich jede Menge Fehlermeldungen bekommen, dass den Bots eben das subdomain.domain.com/ads.txt fehlt. Seit ich das Redirect oder auch die RewriteRule wie beschrieben in die jeweiligen htaccess der Subdomains geschrieben habe, gibt es keine Fehlermeldungen mehr.
Ich hoffe, meine Problematik ist jetzt klarer geworden :-)
Ich bin zwar lange dabei, nur das mit der Syntax der htaccess hat sich mit nie erschlossen!

Verfasst: 22.06.2019, 14:29
von Hanzo2012
Hab eine Sekunde vor dir nochmal geantwortet. Lies das bitte :) (nur um sicherzugehen, dass du es nicht übersiehst)

Verfasst: 22.06.2019, 14:32
von Hanzo2012
Mit Syntax hat das übrigens wenig zu tun. Interne und externe Weiterleitungen sind einfach zwei völlig verschiedene Paar Schuhe.

Verfasst: 22.06.2019, 14:36
von heinrich
Und was müsste ich dann konkret in das htaccess der subdomain reinschreiben, damit der Bot das nicht mitkriegt?
Sorry, aber irgendwie steh ich auf der Leitung!

Verfasst: 22.06.2019, 14:48
von Hanzo2012
In der Konfiguration deiner Subdomains:

Alias /ads.txt /pfad/zur/ads.txt

Der Pfad ist aber keine URL, sondern der Pfad im Dateisystem, z. B. /var/www/domain.com/ads.txt

(keine Ahnung, wo deine Dateien liegen)

Mit RewriteRule geht's auch, aber probier's erstmal mit Alias.

Verfasst: 22.06.2019, 15:29
von heinrich
Ich hab jetzt in die htaccess einer Subdomain
Alias /ads.txt www.domain.com/ads.txt
hineingeschrieben - damit ist die Subdomain insgesamt nicht mehr erreichbar :-(

Mein konkreter Fall schaut so aus:
Die ads.txt liegt im Root, also unter https://www.domain.com/ads.txt
In der Subdomain soll beim Aufruf von https://subdomain.domain.com/ads.txt - die gibts aber nicht! - die https://www.domain.com/ads.txt erscheinen, aber unter dem URL https://subdomain.domain.com/ads.txt.
Praktisch liegt die Subdomain natürlich im Ordner https://www.domain.com/subdomain/, wo eben keine https://www.domain.com/subdomain/ads.txt liegt, diese aber als https://subdomain.domain.com/ads.txt aufscheinen soll.

Ich müsste in der htaccess für diese ads.txt also einen Rückwärtspfad im Dateisystem einrichten …

Ich hoffe, mein Problem ist jetzt noch unklarer …;-)