Inserindo um script personalizado após o Cabeçalho

Olá pessoal,

Já tenho o plugin oficial de anúncios do Discourse funcionando e exibindo anúncios no meu site. A questão é: e se alguém quiser inserir qualquer script ou anúncio personalizado que não seja um dos integrados ao Discourse?

Tentei acessar Personalizar → Tema → Editar HTML/CSS → Após o cabeçalho. Colei um bloco de script ali, recarreguei o site, mas não o vi. Na verdade, a única vez que consigo vê-lo é quando o coloco dentro de , o que faz o anúncio aparecer no final da página. O local “Após o cabeçalho”, porém, é o melhor posicionamento e ele não carrega. Vale ressaltar que há o atributo async nesse script.

Ou seja, por que precisamos de um plugin complicado apenas para copiar e colar um bloco HTML? Até o Google fornece seu script e você pode simplesmente copiá-lo e colá-lo após o cabeçalho. É isso que as pessoas normalmente fazem em sites, mas não parece funcionar no Discourse, pois algo está bloqueando o script. Não se trata de CSP, pois já tenho https: e inline-code como filtros, o que deveria permitir qualquer JS que comece com “https”. Aqui está um anúncio do Google:

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Anúncio 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>

Tente fazer o código acima funcionar manualmente, sem usar o plugin do Adsense, e coloque-o no tema após o cabeçalho.

#plugin:advertising

Atualização: Aparentemente, a resposta foi Anúncios Internos (House Ads). No entanto, mesmo ao inserir alguns scripts nos Anúncios Internos, esses anúncios não aparecem. Isso indica que o Discourse está bloqueando algo, pois, se eu postar o mesmo script em qualquer página HTML, ele será exibido.

Você pode tentar isso usando um componente de tema agora. Você já tentou?

Spoiler: os anúncios não serão atualizados porque o Discourse é um aplicativo de página única. Se o AdSense mudou e agora pode atualizar os anúncios automaticamente sem usar adsbygoogle.push({}), isso é novidade para mim.

Na verdade, acabei usando um iframe. Coloquei um iframe dentro do House Ads e isso funcionou. Os anúncios do Google Adsense são atualizados se você atualizar a página.

A única desvantagem é que, se eu quiser colocar um anúncio de afiliado do House Ads no final da página, não há opção para fazer isso. Só consigo colocá-lo no topo da lista de tópicos ou entre eles. Seria legal se a opção de colocar no final também fosse adicionada, o que nos daria mais liberdade.

Exceto que o Google não reconhecerá o assunto do seu fórum e exibirá anúncios muito menos relevantes para seus visitantes, o que reduzirá drasticamente sua receita.

Eles não serão se você simplesmente navegar para outra página.

Por favor, forneça uma referência para essa afirmação.

Não deveria fazer diferença se os anúncios são servidos em uma tag IFRAME ou em uma tag SCRIPT para que o Google AdSense e outros bots de anúncios rastreiem o site para obter contexto.

Estou ansioso para ler algumas referências de desenvolvedores do Google sobre isso, com certeza!

Obrigado.

Quando um anúncio do AdSense é exibido dentro de um iframe aninhado, os recursos de segurança do navegador impedem que o anúncio detecte a URL ou o domínio da página para uso no direcionamento. Como resultado, o anúncio mais relevante não é exibido e a receita publicitária fica abaixo do potencial.

Sim, mas isso é apenas uma nuance, não o quadro completo de como o contexto publicitário é criado.

Todos os sites que usam o AdSense são rastreados pelo rastreador do Google AdSense, de modo que os servidores do Google exibem anúncios contextualizados com o site com base no rastreador que percorre o site.

Isso significa que um site de tecnologia que discute Ruby on Rails receberá anúncios relevantes para esse contexto (se disponíveis) no nível do site.

No entanto, no nível da página, é claro que há um problema de contexto em tags de iframe aninhadas.

Nem todas as tags de anúncio servidas em tags de iframe são aninhadas.

Aqui está um exemplo de tags de iframe aninhadas:

<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>

Pessoalmente, admito que raramente vi isso acontecer na prática; e quando verificamos (o que fizemos muitas vezes ao longo dos últimos 15 anos ou mais), a única vez que encontramos esse problema foi com tags de passback.

Espero que isso ajude.

Você queria uma referência. Isso não é o que eles queriam dizer com ‘aninhado’. Isso fica claro pelo título do parágrafo: “Como posso exibir um anúncio do AdSense dentro de um iFrame?”. Usar um iframe era até uma violação de política nos velhos tempos.

Tentei todos os truques do livro com o AdSense desde 2007 e escrevi o primeiro plugin do Discourse para AdSense com @michaeld.

Acho que ambos temos experiências diferentes. É bom saber que você conseguiu se safar disso. Para qualquer outra pessoa que queira tentar: eu não estarei lá para enxugar suas lágrimas.

Bem, para ser franco, servimos mais de 1.000.000.000 de anúncios na última década e não servimos AdSense diretamente há muitos anos (não gostamos do AdSense por várias razões). Então, vamos analisar essa “serviço de anúncios” de forma geral, a partir da perspectiva do que está acontecendo agora na publicidade display.

Contexto (Relevância)

A maioria das redes de anúncios que servem anúncios de compra direta, como, por exemplo, IDN Technet, ou outras redes de anúncios baseadas em contexto, não faz crawlers em sites para obter conteúdo. Elas comercializam o site para seus compradores de anúncios e, por exemplo, dizem: “Olha, este é o Discourse meta e eles têm ótimo conteúdo sobre tudo relacionado a desenvolvimento de tecnologia, Ruby, JavaScript e assim por diante”. Recomendamos fortemente.

Em seguida, elas fornecem ao editor uma entrada ads.txt e servem anúncios ao editor a partir de sua rede de anúncios com base na categoria do site e subcategorias, não a partir de um crawler (como o crawler do AdSense).

Essa é a regra hoje em dia, e não a exceção.

O mesmo vale para conteúdo em vídeo e anúncios baseados em vídeo. Nosso parceiro de vídeo vende anúncios para nosso site com base no contexto do site, em um folheto, e não com base em um “robô de crawler” procurando contexto.

Na verdade, não servimos anúncios há anos de nenhuma rede de anúncios que depende de um crawler para classificar um site; especialmente para tags de passback. As tags de passback sempre funcionam melhor quando o contexto está codificado diretamente na rede de anúncios, em vez de ser derivado de um crawler fazendo classificação.

Passbacks

Sempre é difícil obter contexto relevante de anúncios de passback (tags).

Minha experiência, como editor que serviu mais de 1 bilhão de anúncios display ao longo dos anos, é não usar uma rede de anúncios que desenvolve contexto a partir de um crawler para redes de passback.

Com base na minha experiência publicando anúncios na última década, o ideal é usar tags de passback baseadas em contexto codificado diretamente. Por exemplo, se tenho um site de tecnologia e quero servir passbacks para a Índia, usarei tags de passback de interesse tecnológico para entusiastas de tecnologia da Índia.

AdSense

Usamos o AdSense talvez há 15 a 10 anos e, na última década, não me lembro de quando servimos AdSense diretamente. Na minha opinião, o AdSense não é realmente uma boa maneira de gerar receita.

O AdSense desenvolve contexto a partir de seu crawler, então, em geral, se sua tag não for uma tag IFRAME aninhada (uma tag de passback IFRAME dentro de uma tag IFRAME), você estará bem com tags IFRAME.

Algumas Vantagens das Tags IFRAME

  • O navegador aloca algum espaço para um quadro inline com antecedência e leva isso em consideração ao renderizar o documento.

  • Os iframes implementam a política de origem cruzada, o que pode ser útil para trazer sites/conteúdo/anúncios de outros nomes de domínio, e também são relativamente seguros. É por isso que a maioria das soluções de publicidade na web é baseada em iframes.

  • Se o conteúdo deve ser carregado primeiro e depois os anúncios, isso pode ser feito usando Iframe.

  • O iframe ajuda a melhorar o desempenho.

  • O iframe carrega independentemente de outros componentes na página.

  • Se um usuário tiver o JavaScript desabilitado, os iframes funcionarão.

  • Uma tag iframe tem os atributos “height” e “width,”, o que permite ao designer grande liberdade com dimensões e formatos como 300×250, 728×90, dependendo do tamanho do anúncio.

  • A tag iframe pode aparecer em qualquer lugar da página, e vários iframes podem ser adicionados, se desejado.

Algumas Desvantagens das Tags IFRAME

  • As tags iframe podem causar problemas de acessibilidade.

  • As tags iframe não são suportadas por todos os navegadores e podem exibi-las incorretamente ou até mesmo servir em branco.

  • Uma razão chave para usar iframe na publicidade na web é a segurança no suporte a domínios cruzados, mas o desempenho não é perfeito.

  • Os iframes não podem ser vistos por muitos dispositivos portáteis.

  • Sabe-se que os iframes, às vezes, prejudicam o SEO.

Vantagens e Desvantagens das Tags JS:

  • Podemos adicionar isso mais tarde, se alguém estiver interessado.

Oferta e Demanda

Este é o ano de 2020. O número de sites fornecendo anúncios a anunciantes cresceu exponencialmente desde 2000. A oferta de anúncios superou amplamente a demanda. Isso significa que, para a maioria dos sites, aqueles que estão aqui falando sobre configurar anúncios no Discourse, é improvável que obtenham tráfego de anúncios premium, a menos que tenham uma forte demanda e um público de nicho estabelecido.

Todo entusiasta de tecnologia e sua irmã podem publicar anúncios em seus blogs e fóruns no ano de 2020, e eles o fazem. Isso significa que a oferta continuará superando a demanda por anúncios display no futuro. A maioria dos sites de nicho terá dificuldade em gerar receita com anúncios de um novo site até que se tornem bem estabelecidos.

Discourse e Crawlers

O Discourse não serve o SPA para crawlers, o que significa que os crawlers de bots de anúncios também não verão o SPA. As implicações completas disso ainda não foram analisadas de forma “terceira, objetiva” (por um terceiro independente), pelo que sei.

Resumo

Acredito que a grande maioria dos novos usuários do Discourse, executando o Discourse como um SPA em JavaScript, não gerará grande receita de redes de receita de anúncios display (como o AdSense). Isso é especialmente verdadeiro em 2020, onde os orçamentos de publicidade dos anunciantes são muito menores devido à pandemia. Além disso, a oferta é alta e a demanda é baixa.

Se você executar anúncios display, terá problemas em todos os SPAs devido à forma como as páginas “não recarregam”, e isso é um problema com tags JS e tags IFRAME; é necessário um código de plugin melhor para SPAs para otimizar todos os tipos de tags de terceiros.

Encerramento

Não servimos AdSense há muitos anos e não temos planos de fazê-lo no futuro; então, a questão de como o AdSense obtém contexto é irrelevante para nós. Para outros, é melhor executar tags IFRAME funcionando do que se desesperar tentando resolver problemas de SPA ao servir tags de script de terceiros e dores de cabeça com CORS, na minha opinião.

Arraste-se antes de andar. Ande antes de correr.

Espero que isso ajude.

Cuide-se.


PS: Desculpe por qualquer erro de digitação; minha esposa está esperando na porta e quer ir às compras antes que comece a chover!

Isso não é para o Google. Como discutido anteriormente, isso é para unidades de anúncios de afiliados que não são do Google, Amazon, etc. Para o Google, já uso o plugin Adsense integrado. Meus anúncios do Google já funcionam e adaptam o assunto do anúncio aos meus visitantes. Além disso, posso controlar o gênero do anúncio através do Adsense.

Minha pergunta refere-se a um anúncio de afiliado estático que será sempre o mesmo. Portanto, eu queria usar anúncios internos (House ads), que são projetados para esse fim. No entanto, isso me limita em termos de posição para colocar essa unidade de anúncio.

Atualmente, usei apenas um iframe e o coloquei no rodapé do HTML do meu tema, o que funciona muito bem. O único problema com isso é que o iframe será exibido para todos os grupos de usuários, mesmo aqueles com alto nível de confiança, quando antes eu podia escolher não exibir as unidades de anúncio para usuários com nível de confiança 3 ou superior através do gerenciador de anúncios no Discourse.