<a>标签的SEO优化细节

  如果需要在新窗口中打开链接,我们使用的方法是在a上加上taget=“_blank”,但很多人不知道这是不符合w3c的规范的,在使用严格的DOCTYPE(xhtml1-strict.dtd)校验时,会提示“there is no attribute target for this element(in this HTML version)”的错误信息。

  所以很多老外写的东西基本上就不会出现taget=“_blank”。他们替换的方案是使用HTML4.0新增的标签rel来表示,rel是用来表明链接和包含此链接页面的关系,以及链接打开的目标。rel有许多的属性值,比如next、previous,、chapter、section等等,还有我们用来拒绝搜索引擎蜘蛛向下爬行的nofollow(这一点很重要,在wordpress中,几乎所有的评论中的用户名的链接都是加了rel=nofollow的,所以想通过在博客中添加评论来增加外链都是徒劳的)。而我们现在要使用的就是rel=”external”属性,用来表示链接将在新窗口中打开。当然,这只是符合strict标准的方法,而并没有真正实现在新窗口开打链接,还需要javasscript的支持。

  思路,在页面载入以后,将rel含有external的a标签,通过js加上target=”_blank“。下面提供jquery方法,代码如下:

  

<script type="text/javascript">
    jQuery(function($){
        //external加上target="_blank"
        $("a[rel*=external]").attr("target","_blank");
    });
</script>

以上只是jquery的实现方式,也是本博使用的方法,js原生方法如下:

<script type="text/javascript">
    function externalLinks() {
        if (!document.getElementsByTagName) return;
            var anchors = document.getElementsByTagName("a");
            for (var i=0; i<ANCHORS.LENGTH; i++) {
            var anchor = anchors;
            if (anchor.getAttribute(“href”) &&
            anchor.getAttribute(“rel”) == “external”)
            anchor.target = "_blank";
        }
    }
    window.onload = externalLinks;
</script>

 

posted @ 2013-03-26 14:21  Tweet  阅读(3598)  评论(0编辑  收藏  举报