网站建设

分享一个WordPress外链跳转教程,兼容知更鸟暗箱下载和文章索引

张戈博客很久很久之前转载过一篇关于博客外链跳转的方法(相关文章),后来安装了Anylink插件也就没有用到。近来清点插件时,我将Anylnk给淘汰了,换成了网上找到的给外链添加nofollow的代码。 一、原版代码 代码原理也挺简单,通过匹配文章content内容,若发现存在外链,就给这个外链a标签加上 rel="nofollow"属性。 这个代码常规博客确实可以用,但有可能导致一些特殊链接失效,比如这个代码很可能会让知更鸟主题的下载按钮无法弹出或者文章索引损坏,应该是替换过程中被破坏掉了。 针对这个问题,我对代码进行了第一个改进: 二、改进代码 ①、加入了对常规http://或https://开头的链接判断,就能有效的绕过知更鸟主题的一些特殊链接,就因为这些特殊链接都不带http://: ②、2014-11-26补充:加入了对 完整a标签 判断: 主要目的是为了绕过高亮代码中的一些外部链接,因为在代码中出现自己博客的跳转形式可能会破坏代码功能,比如博客分享的《百度收录查询和显示代码》,若不过滤的话,其中的百度链接将会被加上跳转,对使用者带来困惑: ③、2015-08-31补充:加入对外链图片的过滤 有朋友反馈使用后,外链图片也跳转了,导致暗箱跪了。确实会有这个情况,所以在代码中加入了图片的过滤: !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val) 偶然翻看博客旧文章,又看到了以前分享的跳转办法,觉得可以和现在的外链处理代码结合一下,或许可以相得益彰,更加完善! 详细部署步骤如下: 三、最终代码 ①、新增跳转 根据以前分享的方法,在网站根目录新增一个文件夹,命名为go,并在go文件夹下新增一个index.php,内容如下: 现在用浏览器访问http://域名/go/?url=外链就能实现跳转了, 比如访问: https://zhang.ge/go/?url=http://www.baidu.com 就能跳转到百度了。 ②、新增robots规则: 为了防止搜索引擎抓取这种跳转链接,我们可以在robots.txt里面新增禁止抓取/go的规则: ③、重写外链 i. 替换文章内容中的外链 在主题目录下的functions.php新增如下函数,即可将文章中的外链替换为go跳转的形式: ii. 替换评论者的链接 在主题目录下的functions.php查找是否存在修改评论链接为新窗口commentauthor函数,如果存在则如下修改第8行,将$url修改为/go/?url=$url,其实就是在前面新增一个go跳转即可,相同的道理! Ps:如果functions里面没有这个评论新窗口的函数,请自己找到评论列表输出的代码位置(可能在comments.php),然后参考修改即可(国内主题一般都会有个评论新窗口函数,自己仔细找找看)! iii. 知更鸟副标题转载来源链接跳转 其实知更鸟的转载来源链接本身就有nofollow,不过强迫症嘛,还是继续修改下: 打开知更鸟主题目录下的includes文件夹,找到source.php文件,如下修改$reprinted所在行即可: 看到这里,相信你应该能轻松领悟方法了吧?就是在外链链接之前加上【http://博客域名/go/?url=】即可!需要修改博客哪个位置的外链,只要找到该位置对应的主题模板,然后参考上述代码修改即可! 2015-07-16 最新补充: 有不少朋友留言要我分享张戈博客目前在用的跳转页面代码,好吧,那就分享一下吧! go.php 的代码如下: 也可以保存为 index.php文件,然后上传到网站根目录下的go文件夹(没有go文件夹就新建一个),实现 https://zhang.ge/go/?url=https://zhang.ge/ 的跳转形式。 更简单的评论者链接跳转:如果想要让评论者链接也弄成这种跳转形式,只要在WordPress主题目录下functions.php中插入如下代码即可: 记得代码中的“/go/?url=”需要根据实际使用的跳转形式修改即可!   2016-02-16 最新补充:张戈博客已分享最新跳转代码,更安全效率==>传送门  
阅读全文
网站建设

给XFN链接关系加上“nofollow”选项

今天无意间查询了一下友情链接,发现了俺的反链有部分被加上了“nofollow”属性,查了下资料: ....它的出现为网站管理员提供了一种方式,即告诉搜索引擎"不要追踪此网页上的链接"或"不要追踪此特定链接。这个标签的意义是告诉搜索引擎这个链接不是经过作者自己编辑的,所以这个链接不是一个信任票。 对于您的友情链接中出现的“nofollow”标签,一定要引起重视,因为“nofollow”标签的意义是“不信任”。可能的原因是: a.故意设置“nofollow”标签。这样无论友链有多少,无论对方的网站是否出现问题,都与本站无关。诚然这样对自己的网站是很有利的,但你该想到,如果对方的站点也给您加入“nofollow”标签,那么您引入的外链,还有存在的必要吗??这也是目前友情链接欺诈的主要手段,单方设置“nofollow”标签,提升自己的网站,而一点生存的机会都不给别人,对于这种网站,果断Dele掉! b.无意设置“nofollow”标签。这点当然是告诉对方要求整改了!但这种可能性极小!! ------摘自七零八落博客 Ps:检查方法:打开站长工具网站,选择“友情链接检测”。查询下你的友情链接是否被添加了nofollow属性。 OK,已经了解到这个属性的作用了,而且作者也提供了XFN添加“nofollow”选项的方法,俺也就再折腾添加一下好了,主要针对某些暂停更新的博客(比如勇敢de小细菌)、友链不在首页以及被搜索引擎惩罚的网站,先加上这个属性,等其回归更新/正常时在去除nofollow。总之个中原因,还是自己去理解的好~~ 好了,废话不说了,贴上七零八落给出的教程: 一、从空间ftp下载“/wp-admin/includes/meta-boxes.php”文件; 二、查找语句: 修改后的截图:  三、紧跟其后添加如下代码: 四、保存后上传替换原文件即可(注意备份原文件)。 我们可以看到后台的添加新链接界面,在链接关系(XFN)下就多了两个选项,external 和 nofollow,编辑一些需要暂时屏蔽的友情链接或其他外部连接时勾选上 nofollow 属性就行了。当然,还有通过插件解决的办法,俺这就不罗嗦了,自己去原文地址查看便知。 俺最后啰嗦一句:其实通知已友链的博友去掉nofollow属性才是最好的办法,不然双方都弄了个无用的友链又有啥意义呢?而某些因有事长时间暂停更新的博客,倒是推荐先勾上这个属性,等正常更新后再去掉即可。
阅读全文