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.