2

Google から隠したいリンクがいくつかあります。Javascript を使用してリンクを「非表示」にしますが、実際のクライアントに対しては機能させます。

SEO エージェンシーから、最善の方法はリンクを base64 でエンコードし、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> 

私の問題は、リンクのためだけに別の2つのファイル(crypto-js libを提案してくれました)を含めたくないということです。Google はどこまでリンクを表示して追跡するのか、またスクリプトを読み込まずに最も簡単な方法は何かをお聞きしたいと思います。jQueryが利用可能です。

4

2 に答える 2

1

これは私が最終的に得たものです:

リンクは次のようになります。

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

data-hrefRot13 はどこでエンコードされており、次のことをlinkAction行います。

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

..外部 JS ファイル内。

これは、パフォーマンス オーバーヘッドのない最適な難読化だと思います。SEO エージェンシーの意見を見てみましょう :-)

PS Rot13 の引用元: JavaScript での rot13 の 1 行の実装はどこでうまくいかないのですか?

于 2014-02-17T12:41:50.240 に答える