Buff.. Muy liado ultimamente con ciertos aspectos entre la API de Pagespeed Service. Este servicio es un producto de Google que se ofrece a ciertos desarrolladores. En caso tuve mucha suerte (y fuí un poco pesado todo hay que decirlo) y conseguí acceso a este servicio. Pero aun esta en BETA así que aunque funciona muy bien, da algunos problemillas. Pero esto lo dejaremos para otro artículo, que este va de Adsense y Adblock.

En la entrega anterior comentaba que es posible y de hecho muy facil impedir que plugins como AdBlock puedan bloquear los anuncios. Pero antes de pasar a explicar como se podria solucionar me gustaría aclarar como funcionan estos bloqueadores de anuncios. Que si bien una vez visto parece muy sencillo lo cierto es que es una manera de verdad ingeniosa.

AdBlock ahora mismo dispone de dos métodos de bloqueo de contenido:

  • Mediante detección de elementos DOM previamente definidos en la página web.
  • Mediante bloqueo el acceso a urls incluidas en la lista de exclusiones.

A continuación paso a explicar como funciona cada uno.

Bloqueo mediante detección de elementos DOM en la página web.

En este caso los Adblockers tienen una extensa lista de clases e ids en su base de datos que permite detectar y excluir todos los elementos detectados hasta la fecha de los que se sabe que contienen anuncios. En esta lista también se incluyen los elementos que has añadido manualmente. El funcionamiento es muy sencillo a la vez que ingenioso:

Adblock ocultando la barra Ego_Comlumn en Facebook

Adblock ocultando la barra Ego_Comlumn en Facebook

Les añade las propiedades de estilo : Display : none  y Orphans : (numero entero).

Modifica la propiedad Display para que el anuncio no se muestre, por desgracia se sigue cargando y ejecutando con lo cual tampoco mejora la carga de la página. Pero si realiza la función de limpiar la visualización de los elementos superfluos.

Se añade la propiedad Orphans para asegurarse que si el anuncio se encuentra en un elemento que necesita de ese relleno para mostrarse correctamente si se imprime la página, respete el aspecto de la página. En navegación esto no nos tiene porque afectar.

Bloqueo mediante detección de acceso a urls

Otra alternativa para evitar mostrar anuncios y por lo que adblock no solo los oculta sino que ademas agiliza la carga de las páginas web es su capacidad de bloquear llamadas a recursos externos. Me refiero a que si Adsense necesita cargar los Javascripts desde sus servidores y Adblock bloquea estos desde el propio navegador habrá conseguido dos objetivos de un brillante paso: bloquear los anuncios y al mismo tiempo evitar la ejecución del código Javascript que el culpable en la mayoría de los casos del ralentización o bloqueo de las páginas.

AdBlock bloquea los recursos externos si son de fuentes de anuncios conocidas

AdBlock bloquea los recursos externos si son de fuentes de anuncios conocidas

 

Este sistema ya se usaba antes de la aparición de los bloqueadores de anuncios pero antes requería tener que modificar  el archivo Host del sistema operativo, lo cual de entonces no estaba al alcance de cualquier usuario, además de ser una operación que de no hacerse bien podría incluso dejar el Pc sin conexión. Así AdBlock usó este método que junto con el apoyo de las listas públicas  como EasyList llega a bloquear de una manera extremadamente eficiente casi todos los anuncios.

 

Entonces ahora que ya sabemos como los bloqueadores de anuncios trabajan para evitarnos tener que sufrir todos esos popups y anuncios que nos asediaban en otros tiempos

¿Como podriamos evitar que los anuncios de Adsense y por extensión de otras empresas de publicidad sean eliminados mediante AdBlock? 

Esto lo veremos en la siguiente entrega que ya estoy cansado de escribir…

Centro de preferencias de privacidad

Necesarias

Se usan para saber si ya aceptaste nuestras políticas de privacidad.

gdpr

Estadisticas

Cookies necesarias para recabar datos de navegación y cookies pertenecientes a Google y Auttomatic(Wordpress).

IDE ,NID, _ga, _gid, _gat*, jetpack*
IDE ,NID, _ga, _gid, _gat*
jetpack*