Cómo insertar Google AdSense en phpMyFAQ

phpMyFAQ no tiene un campo nativo para insertar scripts personalizados en el <code><head>code>, así que hay que editar directamente la plantilla del tema. El proceso es sencillo y, si sigues estos pasos, el cambio sobrevive incluso a futuras actualizaciones del software.

Localiza el archivo de plantilla

Desde la versión 4.x, phpMyFAQ usa Twig como motor de plantillas. El layout principal, el que incluye el <code><head>code>, está en un único archivo:

<code>assets/templates/default/index.twigcode>

Accede por FTP/SFTP o desde el gestor de archivos de tu hosting.

Crea un tema propio antes de tocar nada

No edites directamente la carpeta <code>defaultcode>: cuando actualices phpMyFAQ, esa carpeta se sobrescribe y perderías el cambio. Copia el tema entero con otro nombre:

<code>cp -r assets/templates/default assets/templates/customcode>

Inserta el script antes de <code></head>code>

Abre <code>assets/templates/custom/index.twigcode>, localiza la etiqueta <code><head>code> (verás las meta tags, el <code><title>code> y los enlaces a hojas de estilo) y pega el código de AdSense justo antes de <code></head>code>:

<code><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXXXXXXXXXXX"
     crossorigin="anonymous"></script>
</head>code> 

Sustituye <code>ca-pub-XXXXXXXXXXXXXXXXcode> por tu ID real de cliente de AdSense.

Activa el tema personalizado

Ve a Admin → Configuration → Main y selecciona <code>customcode> como template set activo, en lugar de <code>defaultcode>.

Verifica que <code>ads.txtcode> existe

AdSense exige un archivo <code>ads.txtcode> en la raíz del dominio o subdominio donde esté la FAQ:

https://tufaq.com/ads.txt

Con una línea como esta:

<code>google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0code>

Si no ves el cambio reflejado, revisa la caché

phpMyFAQ, al igual que phpBB, puede cachear las plantillas compiladas. Si tras subir el cambio y activar el tema <code>customcode> sigues sin ver el script en el código fuente de la página, borra manualmente el contenido de la carpeta de caché de la instalación:

  • Por SSH: <code>bash cd /ruta/a/tu/instalacion/content/cache/ rm -rf *code>
  • Por SFTP: entra en esa misma carpeta con tu cliente y elimina todos los archivos que haya dentro.

Borra solo el contenido, no la carpeta en sí. Vuelve a cargar la página y phpMyFAQ regenerará los archivos automáticamente.

Ten paciencia

Con todo bien configurado, Google puede tardar entre unas horas y 24-48h en empezar a servir anuncios, especialmente si el sitio o subdominio es nuevo para su algoritmo de anuncios automáticos.

Resumen rápido: copia el tema <code>defaultcode> a <code>customcode>, pega el script antes de <code></head>code> en <code>index.twigcode>, activa el tema <code>customcode>, confirma el <code>ads.txtcode> y, si el cambio no aparece, borra la caché a mano. Con estos siete pasos, los anuncios deberían aparecer sin más complicaciones.