网站被别人恶意收集,是一件让站长十分痛心的事,尤其是新手站长,十分困难整出一些原创文章,就被一些大站给收集去了。有人可能要问了:“百度不是特别厌烦收集站吗,这些网站还收集?”你说得对,百度是不喜欢收集站,但是,百度毕竟不是人,它是一个机器,这是按程序来就事的。假如你的文章还没有被百度收录,而这时却被别人收集去了,而对方的站权重较高,立刻被百度收录了,这时百度就会以为对方收集的是原创,而你的却成了收集的。这是没办法的事情,百度也是比较喜欢权重高的网站的。所以,咱们要想让自己的小站被百度喜欢,咱们首要就要保护好自己的网站内容不被别人收集去。那么,wordpress 主题网站如何才能防收集呢?下面就随许都一起来看看。
方法一:禁用网站 feed 功能
wordpress 自带有 RSS 订阅功能,本来是用来便使用户订阅用的,但这也成为了一些收集站的使用东西,它们使用 feedsky 等前言来收集,一些 wordpress 收集插件就是经过 feed 来收集的,而且会自动收集,你发布一篇文章,它们可以马上知道并马上收集去,这是十分憎恶的一件事。
下面是禁用 wordpress 的 feed 功能的代码,放到 wordpress 主题的 functions.php 文件中:
//禁用 feed function disable_our_feeds() { wp_die( __('Error: No RSS Feed Available, Please visit our homepage.')); } add_action('do_feed', 'disable_our_feeds', 1); add_action('do_feed_rdf', 'disable_our_feeds', 1); add_action('do_feed_rss', 'disable_our_feeds', 1); add_action('do_feed_rss2', 'disable_our_feeds', 1); add_action('do_feed_atom', 'disable_our_feeds', 1);
方法二:禁止复制
还有一些采集不是经过插件,而是人工直接复制,然后粘贴到自己的网站的,对于这部分,我们能够禁用复制来约束,把下面这段代码放到 wordpress 主题的 header.php 文件的标签前:
<script> function stop(){ return false; } document.oncontextmenu=stop; document.ondragstart=stop; document.onselectstart=stop; document.onkeydown = function (e) { var ev = window.event || e; var code = ev.keyCode || ev.which; if (code == 116) { ev.keyCode ? ev.keyCode = 0 : ev.which = 0; cancelBubble = true; return false; } } </script>
通过上面的这段代码,你的文章页面就不能右键选择复制了。当然,这种方法也是有局限性的,因为采用的是 JS 代码,如果对方浏览器禁用了 JS,那这个就没效果了。
方法三:内页添加转载请注明
我们还可以给文章内容添加转载注明,让被采集时也采集到原创地址,代码如下:
// 内页添加转载请注明 function tedlfie_copyright($content) { if( is_single()){ $content.= '<p class="post-copy"><span style="color:#f00;">转载请注明:</span><a href="'.get_permalink().'" rel="external nofollow noopener noreferrer" target="_blank">'.get_the_title().'</a> - <a href="'.get_bloginfo('url').'" rel="external nofollow noopener noreferrer" target="_blank">'.get_bloginfo('name').'</a></p>'; } return $content; }
绝对防采集,现在还很难做到,比方说人家用相关的采集软件规则来采集,就没办法防到了。我们也只能做小化地防止被采集。
这是一个很头疼的问题[aru_11]
请问博主,的代码高亮,是用的那款插件,我的博客技术文章,正需要这个
@天空的说明highlight.js