J'aimerais savoir où ajouter le <script></script>
fourni par Google Adsense.
Ils disent de l'ajouter dans le <head></head>
, mais dans Gatsby vous avez Helmet comme <head>
.
J'ai également essayé d'ajouter le script dans un fichier html.js où il se trouve une <head>
avec {``}
pour échapper à la <script>
, mais il affiche en haut du site Web le contenu du script.
TL; DR: Quelle est la manière optimale d'ajouter Adsense à un site Web construit avec GatsbyJS?
<script>
à html.js et cela ne compile pas.{``}
vous obtenez le script tel quel, en haut du site Web.<head> <meta charSet="utf-8" /> <meta httpEquiv="x-ua-compatible" content="ie=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> {this.props.headComponents} {`<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>`} {` <script> (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-1540853335472527", enable_page_level_ads: true }); </script> `} </head>
source: html.js
Le site Web devrait être détecté par les robots d'exploration de Google.
3 Réponses :
Pour configurer Adsense, placez la <script>
(sans les littéraux de modèle {``}
juste avant votre </body>
fermeture </body>
dans votre html.js
, comme ceci:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> </body>
Ensuite, pour placer un bloc d'annonces, vous pouvez soit utiliser un composant prédéfini tel que react-adsense
sur npm, comme vous l'avez mentionné, soit le créer vous-même.
Cet article utile couvre à la fois la configuration et le placement des blocs d'annonces avec un composant.
Faites-moi savoir si cela fonctionne pour vous ou si quelque chose n'est pas clair!
Grâce à une réponse donnée sur Github, enfin le problème est résolu:
Si vous souhaitez ajouter Adsense:
cp .cache/default-html.js src/html.js
<some-js-code-here>
}<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> {` (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-1540853335472527", enable_page_level_ads: true }); `} </script>
En fin de compte, si vous souhaitez vérifier que Adsense a été ajouté, vous pouvez contrôler si le <script>
relatif aux annonces apparaît -> à l'intérieur de la <head>
vous devriez trouver quelque chose comme <script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
si vous utilisez des services tels que Netlify
pour déployer votre site Web, vous pouvez utiliser la fonctionnalité d'injection d' Netlify
de code pour que cela fonctionne sans toucher à votre code source.
settings -> build & deploy -> post processing -> snippet injection -> add snippet
vous pouvez ensuite sélectionner l'emplacement où vous souhaitez ajouter l'extrait (balise de script). Pour l' Adsense
cela devrait être avant le </head>
. J'espère que cela aide. :)
Bon! Je n'ai pas à m'inquiéter d'ignorer les choses sur Github
Les guillemets sont transformés & quot; dans le navigateur. Je ne sais pas s'il existe une solution.
Utilisez
dangerouslySetInnerHTML
pour supprimer les erreurs du navigateur.<script dangerouslySetInnerHTML={{ __html: '(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "something",enable_page_level_ads: true});', }} />