No estamos satisfechos con ninguna de las redes publicitarias compatibles con Discourse, pero hemos encontrado una que funciona perfectamente en nuestro blog y nos encantaría implementarla también en nuestro foro. Sin embargo, requiere que copiemos un código y lo peguemos en el HTML de nuestro sitio. ¿Dónde exactamente debemos hacerlo y funcionaría?
Simplemente usa los componentes del tema para hacer eso
Gracias, pero no soy desarrollador. Mi conocimiento no va más allá de configurar un Discord (lo cual me llevó una semana) y cambiar la configuración del sitio.
Entonces puedes empezar desde aquí
Tu objetivo es crear un componente de tema, agregar el <script> de publicidad a la pestaña /head y activar el componente de tema en tu tema principal.
Cuando tu componente de tema esté activado, necesitarás incluir la URL de tu script en la lista blanca siguiendo estas instrucciones:
¡Bienvenido al club, estamos en el mismo barco! Pero, una advertencia rápida: esto no funcionará con los componentes del tema, por lo que la respuesta sugerida no servirá. Hemos seguido este camino, al igual que otros (vean nuestros temas sobre esto). Con los componentes del tema, el script del anuncio no se mostrará en el cuerpo donde debería aparecer. El comentarista que sugiere usar un script en el /head probablemente no esté familiarizado con cómo deben implementarse realmente los scripts de anuncios. Probamos los componentes del tema y no pudimos hacerlo debido a las limitaciones de lo que se puede hacer con ellos.
En última instancia, necesitarás un plugin para lograr lo que necesitas para mostrar de otras redes publicitarias. Desafortunadamente, aún no existe ningún plugin para esto. La única esperanza es que Discourse agregue un script publicitario genérico en el plugin de Anuncios para soportar scripts publicitarios de terceros que necesiten ser inyectados en el área del anuncio. Por ahora, básicamente solo puedes usar Google DFP, pero si usas otro proveedor de anuncios, estás jodido y no puedes monetizar el foro. Esto es lamentable porque hay muchas otras redes publicitarias excelentes (por ejemplo, Adbutler, Openx, etc.), y no deberías verse obligado a usar Google DFP para servir anuncios.
Bueno, aquí está esperando que Discourse agregue un script publicitario genérico al plugin de anuncios. No veo particularmente por qué esto sea difícil de hacer, pero honestamente no tengo idea de cómo programar en Ruby y Ember, así que no estoy seguro de cómo hacerlo. En teoría, todo lo que necesitan es un área de texto en el plugin que acepte etiquetas script y luego las inyecte en las áreas publicitarias que el plugin ya designa. Tener un cuadro de script genérico, en lugar de un cuadro que solo acepte HTML puro, resolverá básicamente cada red publicitaria, sin necesidad de implementar código específico para cada una de ellas.
Caleb, por curiosidad, ¿qué servicio estás utilizando en tu blog?
Es un poco difícil abordar tus puntos sin contexto. Sería muy útil si pudieras incluir más detalles sobre a qué red publicitaria te refieres y exactamente cómo no funcionó para ti.
Eso no es del todo cierto y realmente depende de la red publicitaria que intentes usar. Si es un requisito estricto que el script de la red publicitaria se coloque junto a la etiqueta </body> (lo cual es poco probable), entonces la culpa es realmente de la red publicitaria por tener un requisito tan estricto e irrazonable.
Los scripts agregados en un tema se integran en un archivo theme.js que luego se inyecta en la etiqueta <head> del documento.
Esto nos da cierto nivel de control y nos permite implementar funciones útiles, como evitar que temas defectuosos derriben todo el sitio, por ejemplo.
Esto también es solo parcialmente cierto. Los temas pueden modificar cualquier cosa en el lado del cliente. Esto significa que todo lo escrito en JavaScript en Discourse es accesible para los temas.
De hecho, todo el plugin oficial de anuncios podría convertirse en un componente de tema y funcionaría. Lo único que faltaría sería la capacidad de agregar un archivo ads.txt, ya que eso requeriría acceso al backend. La razón por la que no lo hemos hecho es porque un plugin es una implementación más limpia para este propósito, principalmente porque incluye más de un proveedor. Así que sí, los temas tienen limitaciones, pero ese no es realmente el punto principal aquí.
Hay una nota muy importante aquí: Discourse es una aplicación de una sola página (SPA). Esto significa que una vez que cargas la aplicación en la visualización inicial de la página, toda la navegación posterior es manejada por Discourse y no por tu navegador.
Es importante tenerlo en cuenta porque una red publicitaria debe proporcionar los ganchos necesarios para que las aplicaciones de una sola página actualicen la información de la página y sirvan nuevos anuncios. No sé mucho sobre Adbutler u Openx, pero no encontré documentación sobre soporte para aplicaciones de una sola página por parte de ninguno de estos proveedores.
Entonces, si la red publicitaria no proporciona los ganchos necesarios, ¿es realmente culpa de Discourse que no sea compatible?
Realmente no estás obligado a usar DFP. Es solo una de las seis opciones disponibles en el plugin oficial de anuncios, y las listaré aquí para referencia:
- DFP
- AdSense
- Google Ads
- Amazon Advertising
- Codefund
- Carbon Ads
Nuevamente, porque Discourse es una aplicación de una sola página, lo “genérico” simplemente no funcionará.
Por supuesto, puedes cargar cualquier script de anuncios que desees en un tema, pero solo se ejecutarán en la visualización inicial de la página. Cualquier cosa que ocurra después será ignorada por el script de la red publicitaria, a menos que esta proporcione los ganchos necesarios.
Así es como se ve una integración de este tipo en una red publicitaria que soporta aplicaciones de una sola página:
En realidad, sí necesitas tener implementaciones de código específicas para cada red publicitaria.
Además, creo que estás mezclando los anuncios internos con los anuncios de redes publicitarias. La razón por la que la caja solo acepta HTML es porque está diseñada para crear tus propios anuncios internos. Es una implementación muy sencilla que ya está configurada en el plugin para que no tengas que preocuparte por los ganchos de aplicaciones de una sola página si solo quieres mostrar tus propios anuncios.
Además, si realmente deseas que otra red publicitaria se incluya en el plugin de anuncios, existe un precedente para agregar nuevas redes basadas en contribuciones de la comunidad.
El ejemplo más reciente es la integración de Carbon Ads:
Sin embargo, la responsabilidad de configurar todo correctamente recae sobre ti.
Si consideras que dicha implementación es demasiado complicada, entonces así es. Soy muy competente cambiando las llantas o el aceite de mi coche, pero si necesito reparar la transmisión, simplemente busco a alguien que sepa más que yo y les pago para que lo hagan por mí.
Lo que quiero decir es que si realmente quieres usar otra red publicitaria y no logras hacerlo por ti mismo, te sugiero crear un tema en Marketplace y estoy seguro de que obtendrás la atención de algún desarrollador si tienes el presupuesto adecuado.
Gracias por tu respuesta detallada y tu ayuda. Hay mucho aquí para procesar.
Pero creo que hay un malentendido. AdButler es un tipo de servidor de anuncios, similar a Google DFP. Estos proveedores te ayudan a gestionar tus propios anuncios con los anunciantes. En cambio, cosas como Adsense (y Carbon, al parecer) son redes publicitarias. Las redes publicitarias funcionan de manera algo diferente a los servidores de anuncios. Nuestro problema es con los servidores de anuncios, no con las redes publicitarias. Disculpa la confusión.
Necesitamos poder generar ingresos con nuestro sitio web para mantenernos en el negocio, y para ello necesitamos usar un servidor de anuncios para gestionar a los anunciantes. Usamos Ad Butler para esto. La funcionalidad de Anuncios Internos ni siquiera se acerca a lo que se necesita. Por lo que puedo ver, el único servidor de anuncios compatible con el Plugin de Anuncios de Discourse es Google DFP. En mi opinión, Google DFP es basura por varias razones, que no son relevantes para esta discusión. Por supuesto, si nos obligan a usar Google DFP porque no hay otro servidor de anuncios compatible con el Plugin de Anuncios, lo haremos, porque Discourse tiene tantos otros beneficios que, en cierto modo, compensan la pura molestia de usar Google DFP.
Entiendo perfectamente que nos corresponde a nosotros desarrollar un plugin para otro servidor de anuncios que no sea Google DFP, y que Discourse no puede satisfacer cada necesidad individual, especialmente porque hace tanto por defecto que es simplemente excepcional. Presentamos esto en el mercado y algunos programadores experimentados con Discourse nos dijeron que no se podía hacer sin un plugin y que el trabajo era bastante costoso y consumía muchos recursos, en relación con lo que parece ser un problema sencillo.
Tienes razón en que aún no tengo ni idea de cómo funciona Discourse, ya que apenas estamos comenzando con él y aprendiendo Ruby y Ember. Sin embargo, con WordPress, por ejemplo, simplemente insertamos el script de anuncios de Ad Butler en un cuadro de widget y funciona. No hay nada que programar. Por eso me sorprendió un poco que hacer que algo como Ad Butler funcione con Discourse fuera tan complicado. Entiendo que Discourse es obviamente muy diferente de WordPress y mucho más complejo, pero aún no entiendo por qué algo así requiere tanta programación.
En resumen, seguiremos intentándolo y nos pondremos en contacto con Ad Butler para ver si pueden ayudar. Sin duda les conviene ayudar a desarrollar algo para Discourse, ya que podrían conseguir muchos clientes gracias a ello (una vez que uses Ad Butler, nunca volverás a DFP). También echaremos un vistazo a la integración de Carbon Ads y trataremos de entender cómo funciona, por si podemos adaptarla a nuestras necesidades.
Gracias de nuevo.
Un rápido seguimiento: revisé el código de Carbon Ads en el plugin de anuncios y tengo una comprensión conceptual de cómo se implementó, así que espero que podamos usarlo como punto de partida para implementar Ad Butler. Gracias por la advertencia sobre Carbon Ads.
Hola @sfoster, ¿hay novedades sobre la integración de AdButler?
No. Hemos contactado a algunos programadores, pero nadie nos ha dado aún una cotización firme ni un cronograma definido. En WordPress, simplemente insertamos el código en un widget y listo. Nos ha sorprendido lo complejo que resulta el desarrollo en Discourse. De todos modos, seguiremos buscando un poco más, así que te mantendré informado. Sin embargo, nos inclinamos por migrar directamente a DFP, que está soportado en el plugin principal, aunque realmente no nos hace feliz tener que hacerlo.