Pour toutes les discussions javascript, jQuery et autres frameworks
-
Fabiencito
- Messages : 3
- Enregistré le : 21 nov. 2021, 19:15
Message
par Fabiencito » 21 nov. 2021, 19:51
Bonjour,
Pour des raisons SEO, je cherche à masquer des liens en les transformant en action javascript et en les encodant en base 64.
Aujourd'hui j'ai 3 "liens en js" dans le footer de mon site (cf footer
https://www.spendways.com/fr/) Exemple :
Dans le HTML on trouve :
Code : Tout sélectionner
<span onclick="to_legal()" style="cursor: pointer;">MENTIONS LÉGALES</span>
Le script étant :
Code : Tout sélectionner
function to_legal(){
window.location = "https://www.spendways.com/fr/mentions-legales";
}
Ca fonctionne bien mais je voudrais encrypter le tout en base 64 pour être certain que les bots de Google n'exécutent pas le JS. Comment puis-je faire cela ?
-
webmaster
- Administrateur du site
- Messages : 617
- Enregistré le : 28 févr. 2017, 15:19
Message
par webmaster » 22 nov. 2021, 09:12
Bonjour,
Les bots de google interprètent le JS depuis quelques années.
Tout ce que fait un utilisateur humain peut être vu par googlebot.
Je ne vois pas comment masquer des liens avec un encodage.
C'est d'ailleurs un combat permanent sur internet pour s'assurer que l'utilisateur est bien un humain : la plupart des captcha ne fonctionnent pas longtemps.
-
Fabiencito
- Messages : 3
- Enregistré le : 21 nov. 2021, 19:15
Message
par Fabiencito » 22 nov. 2021, 12:55
Bonjour,
En théorie c'est vrai mais pas en pratique

. Exécuter du js surtout si il est encodé en base 64 nécessiterait trop d'énergie de la part de Google.
Si quelqu'un sait comment faire je suis preneur
Fabien
-
webmaster
- Administrateur du site
- Messages : 617
- Enregistré le : 28 févr. 2017, 15:19
Message
par webmaster » 23 nov. 2021, 10:45
J'ai fait un script qui exécute une chaine encodée en base 64
https://www.toutjavascript.com/user/base64.html
Le code est très simple avec un eval() :
Code : Tout sélectionner
<div id='myDiv'></div>
<script>
console.time("base64");
const encode = btoa("document.getElementById('myDiv').innerHTML='Div rempli from JS en base 64'");
const decode = atob(encode);
console.timeEnd("base64");
eval(decode);
</script>
Le timer de console indique qu'il faut 0,02 ms pour réaliser l'aller retour en base 64.
Ce n'est pas ça qui va arrêter les bots de Google...
-
Fabiencito
- Messages : 3
- Enregistré le : 21 nov. 2021, 19:15
Message
par Fabiencito » 23 nov. 2021, 13:28
Merci beaucoup,
je vais tester ça.
Au fait, toutjavascript.com est un des premiers sites avec lesquels j'ai appris à faire du JS il y a.. 15 ans! J'ai eu une petite émotion en revenant sur le site. je crois que le logo a pas changé. Magique !
A bientôt,
Fabien