Hide links from Google via JavaScript

99封情书 提交于 2021-02-05 07:39:16

问题


We have some links we want to hide from Google, using Javascript to "hide" the link but let it work for the real clients.

I was told from the SEO agency that the best method is to base64 encode the link and call it via javascript:

<a data-href="RdcDovL1N0YWdpbmc...base64...hhcmRpbmctaGVycmVuLWhlbaQtMTgyMDg3"
   href="#">Link</a>


<script>
<!--
var _dlist = document.getElementsByTagName('A');
for(i=0;i<_dlist.length;i++) {
    var _data = _dlist[i].getAttribute( 'data-href' );
    if( _data !== 'null' ) {
        var _extend = CryptoJS.enc.Base64.parse( _data );
        _dlist[i].setAttribute( 'href', _extend.toString( CryptoJS.enc.Latin1 ) );
    }
}
-->
</script> 

My problem now is, I don't want to include another 2 files (they suggested me crypto-js lib) just for the links. I'd like to ask you, how far does Google reveal links and follow them and what's the easiest approach without loading more scripts. jQuery is available.


回答1:


This is what I ended up with:

Links look like:

<a href="#" onclick="linkAction(this); return false;" 
   data-href="uggc://fgntvat.....">

Where data-href is Rot13 encoded and linkAction does:

function linkAction(e) {
    window.location = rot13($(e).data('href'));
}

..in an external JS file.

I think this is the best obfuscation without performance overhead. Let's see what the SEO agency says :-)

P.S Rot13 taken from: Where is my one-line implementation of rot13 in JavaScript going wrong?




回答2:


The thread is a bit abandoned, and the circumstances are a bit other too. The code cited at the beginning seems to be from the agency i was working for.

After becoming known the googlebot is a kind of Chrome and posts like this, there are not many approaches remaining to hide links from googlebot.

One approach seems to me to be promising - maybe, if somebody would find it promising too, it would be coded:

  • Step 1: publish a non-existing image
  • Step 2: write a javascript function, which finds links with special certain class="hidden" and redesigns urls in the href-attribute using a regex. With redesign i mean something like: replace . and/or / with |, % or *, or divide url in some parts with non-url characters, like | or *.
  • Step 3: write a second javascript function, which redesigns urls back to real urls,
  • Step 4: place both javascripts into external file and close it against crawling with X-Robots-Tag
  • Step 5: fire onError for non-existing image at least 6 seconds after onLoad (to be sure, that Googlebot goes away)
  • Step 6: trigger through onError the second javascript, which makes urls urls again

The approach could be maybe reverted, like: url redesign could be triggered immediately through onError, and Back-Redesign could be triggered through onClick.



来源:https://stackoverflow.com/questions/21826800/hide-links-from-google-via-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!