Javascript pour tous ou cloaking éventuel ?

Discussion dans 'Problèmes de référencement spécifiques à vos sites' créé par ortolojf, 1 Juin 2017.

  1. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 807
    J'aime reçus:
    1
    Bonjour

    Mon site ( voir profil ), est un site de Turf.

    Mon problème : Faire en sorte que mon site ne soit pas facilement copiable.

    Pour celà, j'ai mis depuis longtemps les données de statistiques et de pronostics, en mode Javascript.

    Mais, à l'époque les moteurs de recherche ne lisaient pas le Javascript.

    Suivant en celà, les consignes de Google, j'ai présenté aussi aux bots, le code html d'origine, sans Javascript.

    Maintenant, est-ce que c'est du cloaking ?

    Google lit-il suffisamment le Javacript, pour que je présente du Javascript même aux bots ?

    Ou bien suis-je obligé de faire du tout html ?

    Je précise, que pour lire mon Javascript, il faut se lever tôt, le données ne sont pas dans les scripts eux-mêmes, mais chargées à distance en petit Ajax.

    Avec des restrictions de timing et de type de lecture ( Ajax ).

    Merci beaucoup de vos réponses.

    Amicalement.
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 800
    J'aime reçus:
    30
    Tu peux dire quelle page exactement ?

    Parce que ton site il se scrape sans souci:
    PHP:
    <span class="syntaxdefault"></span><span class="syntaxkeyword">var&nbsp;</span><span class="syntaxdefault">page&nbsp;</span><span class="syntaxkeyword">=&nbsp;require(</span><span class="syntaxstring">'webpage'</span><span class="syntaxkeyword">).</span><span class="syntaxdefault">create</span><span class="syntaxkeyword">();<br />var&nbsp;</span><span class="syntaxdefault">address&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxstring">'https://www.pronostics-courses.fr/php/courses_nouvelles/new_courses.php'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">page</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">open</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">address</span><span class="syntaxkeyword">,&nbsp;function&nbsp;(</span><span class="syntaxdefault">status</span><span class="syntaxkeyword">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span class="syntaxdefault">status&nbsp;</span><span class="syntaxkeyword">!==&nbsp;</span><span class="syntaxstring">'success'</span><span class="syntaxkeyword">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">console</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">log</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'Unable&nbsp;to&nbsp;load&nbsp;the&nbsp;address!'</span><span class="syntaxkeyword">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">phantom</span><span class="syntaxkeyword">.exit(</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;</span><span class="syntaxdefault">courses&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">page</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">evaluate</span><span class="syntaxkeyword">(function&nbsp;()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;</span><span class="syntaxdefault">noms&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">document</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">querySelectorAll</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'span.nom_course'</span><span class="syntaxkeyword">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;</span><span class="syntaxdefault">courses&nbsp;</span><span class="syntaxkeyword">=&nbsp;[];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[].forEach.</span><span class="syntaxdefault">call</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">noms</span><span class="syntaxkeyword">,&nbsp;function&nbsp;(</span><span class="syntaxdefault">nom</span><span class="syntaxkeyword">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">courses</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">push</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">nom</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">textContent</span><span class="syntaxkeyword">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span class="syntaxdefault">courses</span><span class="syntaxkeyword">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">courses</span><span class="syntaxkeyword">.forEach(function&nbsp;(</span><span class="syntaxdefault">element</span><span class="syntaxkeyword">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">console</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">log</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">element</span><span class="syntaxkeyword">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">phantom</span><span class="syntaxkeyword">.exit();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />});&nbsp;</span><span class="syntaxdefault"></span>
    [​IMG]
     
  3. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 807
    J'aime reçus:
    1
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 800
    J'aime reçus:
    30
    Scrapable aussi
    [​IMG]
     
  5. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 807
    J'aime reçus:
    1
    Bonjour spout

    Donc, je peux mettre en javascript pour tout le monde, ou en html ?

    Pour convertir mes sites, il me suffira d'agir sur la variable $is_bot

    Et aussi : Le autres bots que Google voient aussi les pages javascript ?

    Respectueusement.
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 800
    J'aime reçus:
    30
    Si tu veux utiliser du JS pour faire un site genre SPA, OK je comprend.
    Si c'est pour éviter de se faire scraper, c'est inutile. Autant faire en HTML classique et le JS pour améliorer l'UX.
     
  7. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 807
    J'aime reçus:
    1
    Bonjour spout

    Bon, je vais remettre tout en html.

    Mais les copieurs seront nombreux, et je crains fort que mon anti-aspirateur ne soit pas suffisant.

    En tout cas, il n'y aura plus aucun cloaking.

    Mon référencement devrait s'améliorer.

    Merci beaucoup spout ! ;)
     
  8. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 807
    J'aime reçus:
    1
    Bonjour

    Là, j'ai un problème.

    Depuis que j'ai mis mes stats en pur html, pour certaines pages de statistiques anciennes ( les moins visitées ), Page Speed Insights m'indique plus que 2 secondes de chargement.

    Par exemple :

    https://www.pronostics-courses.fr/php/courses_anciennes/pronostics_new ... 30101.html

    ( Il faut faire varier le paramètre, les courses sont depuis 2007 ).

    Je sais que je fais un cache MySQL "maison" avec des fichiers ascii temporaires, mais la sortie du Javascript semble avoir empiré les choses.

    J'ai mis à jour vers PHP 7.1-5 depuis deux semaines environ, mais celà ne devrait pas influer ?

    Merci beaucoup spout. ;)

    Respectueusement.