Einfügen eines benutzerdefinierten Skripts nach dem Header

Hallo zusammen,

Ich habe das offizielle Discourse-Werbeplugin bereits für mich eingerichtet und es werden Anzeigen auf meiner Seite angezeigt. Die Frage ist: Was ist, wenn jemand ein benutzerdefiniertes Skript oder eine Anzeige platzieren möchte, die nicht zu den in Discourse integrierten gehört?

Ich habe versucht, zu Customize → Theme → Edit HTML/CSS → After Header zu gehen. Ich habe diesen Skriptblock dort eingefügt und meine Seite neu geladen, aber ich sehe nichts. Tatsächlich kann ich es nur dann sehen, wenn ich es in einfüge, wodurch die Anzeige ganz unten auf der Seite erscheint. „After Header“ wäre jedoch die beste Position, und es wird nicht geladen. Beachten Sie, dass in diesem Skript das Attribut async verwendet wird.

Ich meine, warum brauchen wir ein kompliziertes Plugin, um einfach einen HTML-Block einzufügen? Selbst Google stellt Ihnen ihr Skript zur Verfügung, und Sie können es einfach nach dem Header einfügen. Das ist es, was Leute normalerweise für Websites tun, aber es scheint bei Discourse nicht zu funktionieren, da etwas das Skript blockiert. Es liegt nicht an CSP, da ich bereits https: und inline-code als Filter habe, die jedes JS zulassen sollten, das mit „https“ beginnt. Hier ist eine Google-Anzeige:

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Ad 1 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-3368174556925488"
     data-ad-slot="4362547659"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>

Versuchen Sie, den obigen Code manuell zu verwenden, ohne das Adsense-Plugin, und fügen Sie ihn im Theme nach dem Header ein.

#plugin:advertising

Update: Offensichtlich war die Antwort „House Ads“. Selbst wenn ich jedoch einige Skripte in „House Ads“ poste, werden diese Anzeigen nicht angezeigt, da Discourse etwas blockiert. Wenn ich dasselbe Skript auf einer beliebigen HTML-Seite poste, wird es angezeigt.

1 „Gefällt mir“

Du kannst das jetzt über eine Theme-Komponente ausprobieren. Hast du es schon versucht?

Spoiler: Anzeigen werden nicht aktualisiert, da Discourse eine Single-Page-App ist. Wenn AdSense sich geändert hat und jetzt Anzeigen automatisch aktualisieren kann, ohne adsbygoogle.push({}) zu verwenden, dann ist das Neuigkeiten für mich.

1 „Gefällt mir“

Eigentlich habe ich mich dafür entschieden, ein iframe zu verwenden. Ich habe ein iframe in die House Ads eingefügt, und das hat funktioniert. Die Anzeigen von Google AdSense werden aktualisiert, wenn du die Seite neu lädst.

Der einzige Nachteil ist, dass es keine Option gibt, eine Affiliate-Anzeige von House Ads am unteren Rand der Seite zu platzieren. Ich kann sie nur oben in der Themenliste oder dazwischen einfügen. Es wäre schön, wenn auch die Option für den unteren Bereich hinzugefügt würde, was uns mehr Freiheit geben würde.

Nur dass Google dann das Thema deines Forums nicht erkennt und deinen Besuchern Werbeanzeigen schaltet, die viel weniger relevant sind, was deine Einnahmen komplett ins Bodenlose sinken lässt.

Das tun sie nicht, wenn du einfach zu einer anderen Seite navigierst.

2 „Gefällt mir“

Bitte liefern Sie einen Beleg für diese Aussage.

Es sollte für Google AdSense und andere Werbe-Bots, die die Seite nach Kontext durchsuchen, keinen Unterschied machen, ob die Werbung in einem IFRAME-Tag oder einem SCRIPT-Tag ausgeliefert wird.

Ich freue mich darauf, einige Google-Entwicklerreferenzen dazu zu lesen!

Vielen Dank.

Wenn eine AdSense-Werbung in einem verschachtelten iframe ausgeliefert wird, verhindern Sicherheitsfunktionen des Browsers, dass die Werbung die Seiten-URL oder die Domain für das Targeting erkennt. Infolgedessen wird nicht die relevanteste Werbung ausgeliefert, und die Werbeeinnahmen sind niedriger als möglich.

3 „Gefällt mir“

Ja, aber das ist nur eine Nuance, nicht das gesamte Bild davon, wie der Werbekontext erstellt wird.

Alle Seiten, die Adsense nutzen, werden vom Google Adsense-Crawler durchsucht, sodass Google-Server die Werbung kontextbezogen zur Seite basierend auf dem Crawler, der die Seite durchsucht, ausliefern.

Das bedeutet, dass eine Tech-Seite, die Ruby on Rails diskutiert, auf Seitenebene mit Werbung versorgt wird, die diesem Kontext entspricht (falls verfügbar).

Auf Seitenebene gibt es jedoch natürlich ein Problem mit dem Kontext in verschachtelten IFRAME-Tags.

Nicht alle in IFRAME-Tags ausgelieferten Werbetags sind verschachtelt.

Hier ist ein Beispiel für verschachtelte IFRAME-Tags:

<iframe src="http://www.w3schools.com" width="1000" height="1000" id="frame1" name="frame1">
   <iframe width="200" height="200" src="http://www.bing.com" id="frame2" name="frame2">
   </iframe>
</iframe>

Persönlich habe ich das in der Praxis selten gesehen, um ehrlich zu sein; und wenn wir das prüfen (was wir in den letzten 15 Jahren oder so oft getan haben), haben wir dieses Problem nur bei Passback-Tags festgestellt.

Hoffentlich hilft das weiter.

Du wolltest einen Hinweis. Das ist nicht das, was sie mit ‘verschachtelt’ meinten. Das geht aus dem Absatztitel ‘Wie kann ich eine AdSense-Werbung in einem iFrame einbinden?’ klar hervor. Die Verwendung eines Iframes war früher sogar ein Verstoß gegen die Richtlinien.

Ich habe seit 2007 jedes erdenkliche Trickbuch mit AdSense ausprobiert und gemeinsam mit @michaeld das erste Discourse-AdSense-Plugin geschrieben.

Ich vermute, wir haben beide unterschiedliche Erfahrungen gemacht. Schön zu hören, dass du es geschafft hast, damit durchzukommen. Für alle anderen, die es versuchen möchten: Ich werde nicht da sein, um dir die Tränen abzuwischen.

3 „Gefällt mir“

Um es offen zu sagen: Wir haben in den letzten zehn Jahren über 1.000.000.000 Anzeigen geschaltet und seit vielen Jahren keine AdSense-Anzeigen mehr direkt eingebunden (wir haben aus vielen Gründen nichts mit AdSense am Hut). Lassen Sie uns dieses „Werbeschalten

Dies ist nicht für Google gedacht. Wie bereits besprochen, geht es hier um Affiliate-Werbeeinheiten, die nicht von Google, Amazon usw. stammen. Für Google nutze ich bereits das integrierte Adsense-Plugin. Meine Google-Werbung funktioniert bereits und passt die Werbung an das Thema meiner Besucher an. Zudem kann ich über Adsense die Kategorie der Werbung steuern.

Meine Frage bezieht sich auf eine statische Affiliate-Werbung, die immer gleich bleibt. Daher wollte ich House Ads verwenden, die genau für diesen Zweck konzipiert sind. Allerdings schränkt mich das in Bezug auf die Positionierung des Werbeelements ein.

Derzeit habe ich einfach ein Iframe verwendet und es im Footer meiner Theme-HTML platziert, was problemlos funktioniert. Das einzige Problem dabei ist, dass das Iframe für alle Benutzergruppen angezeigt wird, auch für solche mit hohem Vertrauenslevel. Früher konnte ich über den Werbedienst in Discourse jedoch festlegen, dass Werbeeinheiten nicht für Benutzer mit einem Vertrauenslevel von 3 oder höher angezeigt werden.