如何添加rel ="关注"使用rel =" nofollow&#34 ;?设置所有外部链接时手动指定特定域

时间:2015-06-13 19:17:35

标签: javascript php html css social-networking

我建立一个社交网络或任何你打电话的社区。我为所有外部链接设置了一个代码,因此它们不会被跟踪链接。

现在,我想编写一些代码,允许我从特定域中删除nofollow att并添加follow att,因此我可以选择在.php中手动添加质量域以影响所有根文件夹和子这些特定域下的域名。

重点是不要将所有域都视为垃圾邮件或不推荐用于搜索引擎,相反,我只想简单地向社区中的用户推荐使用优质和高质量的域名来搜索引擎。

项目:http://www.jumzler.com/

完全的通货膨胀,资源或只是头条新闻都可以。

谢谢。

1 个答案:

答案 0 :(得分:-2)

我已经使用jQuery设置了一个客户端脚本,我认为它符合您要求的要求。

$.setAllowExternalLinksFollowed = function(externalLinkWhitelistArray) {
"use strict";
  var $externalDomLinks = $('a[href^="http"]');
  $externalDomLinks.each(function() {
    var $linkInstance = $(this);
    // Nofollow all ext links
    $linkInstance.attr('rel', 'nofollow');
    externalLinkWhitelistArray.forEach(function(whiteListedUri) {
      if ($linkInstance.attr('href') === whiteListedUri) {
        // Get rid of rel=nofollow from whitelisted links
        $linkInstance.attr('rel', '');
      }
    });
  });
};

将在所需的视图中初始化,如下所示:

"use strict"
$.setAllowExternalLinksFollowed([
  'http://www.google.com',
  'http://www.cnn.com'
]);

一旦此脚本有机会解析和操作DOM,所有其他外部链接在DOM检查器中将具有rel =“nofollow”。白名单的uri将改为将rel =“nofollow”属性截断为rel =“”(或者您认为适合您项目的任何小调整)。

使用此笔查看操作: http://codepen.io/nicholasabrams/pen/qdXWxB

我希望它适合这个法案!

PS:如果您想在服务器端执行此操作,则必须在生成链接的后端代码区域中执行此操作,并对提供的jQuery解决方案中显示的内容进行类似的比较。在没有看到渲染/生成链接的后端代码的情况下,为服务器端复制解决方案是不可行的(链接来自数组,还是静态?如果链接,我们无法在服务器上做任何事情是静态的 - 根据OP,它们是我们所知道的。