最近这段时间看到过很多关于百度星火计划2.0的相关文章及内容,据说这个计划项目可以有效保护原创文章,以达到原创文章的排名不被转载超越。看完张戈博主的《WordPress针对百度星火计划2.0原创保护的优化措施》这篇文章,再结合Three/Unite主题的seo.php文件结构,从而成功添加百度星火计划可识别的Meta标签。
百度星火计划2.0对于我们博主站长而言,就是在发布一篇原创文章后马上主动推送文章链接到百度,然后为该篇文章添加星火计划可识别的Meta标签。
对于主动推送文章链接到百度的方法,可参考《Three主题添加百度实时推送功能》这篇文章,今天我们重点介绍Three/Unite主题如何添加星火计划可识别的Meta标签。
通过查看源代码可以看出,使用Three/Unite主题的文章都会在头部添加有文章标题、关键词和描述等内容,实现这些功能的文件是Three/Unite主题文件夹下的inc\functions\seo.php文件。所以,我们可以将星火计划可识别的Meta标签直接添加到这个文件中,跟文章的标题、关键词和描述放在一起。
站点文章具体可分为两种情况:
第一种:整个站点的文章都是原创文章
对于这种情况实现起来比较简单,直接将seo.php文件以下代码:
- <?php if ( is_single() ) { ?>
- <meta name="description" content="<?php echo trim($description); ?>" />
- <meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />
- <?php } ?>
修改为
- <?php if ( is_single() ) {
- date_default_timezone_set('PRC');?>
- <meta property="og:type" content="article"/>
- <meta property="article:published_time" content="<?php echo get_the_date('c');?>"/>
- <meta property="og:title" content="<?php echo trim(wp_title('',0)); ?><?php if (get_query_var('page')) { echo '-第'; echo get_query_var('page'); echo '页';}?> | <?php bloginfo('name'); ?>" />
- <meta property="og:description" content="<?php echo trim($description); ?>" />
- <meta property="og:url" content="<?php the_permalink();?>" />
- <meta property="og:image" content="<?php echo catch_image() ?>" />
- <meta property="article:published_first" content="<?php bloginfo('name');echo ',';the_permalink();?>" />
- <meta property="article:author" content="<?php bloginfo('name');?>" />
- <meta name="description" content="<?php echo trim($description); ?>" />
- <meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />
- <?php } ?>
即可。
第二种:站点的文章有原创有转载有投稿
对于这种情况,需要区分原创文章和非原创文章,因为如果非原创文章也添加这种Meta标签据说是会被百度惩罚的,具体如何惩罚我就不了解了。这种事情宁可信其有不可信其无,所以我们需要在添加这个标签前加一个判断:如果是非原创文章就不添加,如果是原创文章就添加。
对于非原创文章,我一般都习惯添加一个自定义栏目,如 author,值任意或者填写文章原作者/网站。然后我们就可以通过这个author自定义栏目来判断该篇文章是原创还是非原创,是否需要添加Meta标签。PS:不懂得添加自定义栏目的,请移步《实例讲解WordPress自定义栏目及自定义字段》。
有了这个区别原创文章和非原创文章的自定义栏目后,实现起来就比较简单了,直接将seo.php文件以下代码:
- <?php if ( is_single() ) { ?>
- <meta name="description" content="<?php echo trim($description); ?>" />
- <meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />
- <?php } ?>
修改为
- <?php if ( is_single() ) {
- $copy = get_post_meta($post->ID, 'author', true);
- if (empty($copy)) {
- date_default_timezone_set('PRC');?>
- <meta property="og:type" content="article"/>
- <meta property="article:published_time" content="<?php echo get_the_date('c');?>"/>
- <meta property="og:title" content="<?php echo trim(wp_title('',0)); ?><?php if (get_query_var('page')) { echo '-第'; echo get_query_var('page'); echo '页';}?> | <?php bloginfo('name'); ?>" />
- <meta property="og:description" content="<?php echo trim($description); ?>" />
- <meta property="og:url" content="<?php the_permalink();?>" />
- <meta property="og:image" content="<?php echo catch_image() ?>" />
- <meta property="article:published_first" content="<?php bloginfo('name');echo ',';the_permalink();?>" />
- <meta property="article:author" content="<?php bloginfo('name');?>" />
- <?php } ?>
- <meta name="description" content="<?php echo trim($description); ?>" />
- <meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />
- <?php } ?>
即可。
以上这个方法是本站正在使用的,至于其他方法如添加到header.php文件或functions.php文件,请大家移步到本文开头所说的张戈博主的那篇文章,里面有更加详细的思路解释及代码分享。
发表于2016-02-16 09:24 沙发
写原创文章的这个特别有效!
@Koolight刚折腾不知道效果如何,期待中
@懿古今根据百度尿性,效果估计,啊哈哈。
发表于2016-02-16 09:35 板凳
老古现在研究的好深入啊,大早上来看不太明白,闲暇时间好好研究一下
@雅兮网[呲牙] 这个也是张戈博主研究的,我只是移植而已
发表于2016-02-16 11:00 地板
if (emptyempty($copy)) { 这里错了
@张戈博客[啤酒] 谢谢告知,代码原先是没有问题的,经过代码高亮转换后就变了,这种情况已经遇到过几次了
@张戈博客[鼓掌] 张戈博客那的很多文章都相当实用,我的博客所做的不少修改都是在那学习来的,谢谢张戈!
发表于2016-02-16 11:26 4楼
确实是一个问题
发表于2016-02-16 12:04 5楼
em只需要在header.php文件修改下,判定在文章页显示即可。
@姜辰WordPress也是一样的,我这两个主题有这个SEO文件,所以就直接放在这个文件,感觉比较好管理
@懿古今原来如此。像我这样就一个模版的开心了~
发表于2016-02-16 12:39 6楼
如果可以做成“自定义域”的形式就好了!毕竟不可能每篇都保证是“原创”
@明月登楼那就是文中所说的第二种办法,让它自己判断,如果是原创就自动添加
发表于2016-02-16 16:14 7楼
像我这样连description和keywords都没有,有点难度。
博主先试下效果如何?到时候记得分享
发表于2016-02-16 16:16 8楼
怎么改成评论头像?
@捌零男人评论头像一般是用gravatar头像或多说头像,自行注册即可
发表于2016-02-16 16:54 9楼
对知识产权保护越来越好了。
@守心斋出发点是好的,保护原创还是很给力的想法的,就是不知道效果如何
发表于2016-02-17 13:50 10楼
原谅我懒得折腾了,岚女飘过。。。 [鼓掌]
@雅岚[呲牙] 其实折腾起来挺费力的,能不折腾尽量不折腾
发表于2016-02-17 15:22 11楼
[呲牙] 因为自己的博客用的不是Unite主题,没法直接套用博主给出的代码,只好去张戈那寻找。最终花了个把小时终于也为自己的我爱动感单车网添加上了这些Meta标签,自我感觉还是相当爽的,但愿真能起到很好的原创保护作用哦(另外,欢迎朋友们去我那坐坐,大家多多交流……)。
@我爱动感单车网道理是相通的,多研究多看看就OK了。其实对于是否真的有用,让我们拭目以待吧
@懿古今无论效果怎样,既然在百度混,那么多听听它的话还是好的嘛,宁愿信其有不愿信其无!
发表于2016-02-20 22:39 12楼
现在还不敢弄这个 [尴尬]
@你爱屋博客[流汗] 我觉得应该可以弄,不过需要设置好,只在原创页面添加即可
@懿古今我原创能力不怎么好
发表于2016-02-21 21:25 13楼
以后可能用得到
发表于2016-03-27 17:52 14楼
我又重新启用了你最近一版Three主题,效果非常好!首先对你热心提供这么好的主题、代码及添加方式表示感谢!我的博客里面全部是我翻译的文章,我添加了你提供的第一种代码,并且在每篇文章底部进行了申明,不知是否可行?请指教! [握手]
@俄媒看客如果是自己翻译的,那么在国内应该算是原创了,确实应该用第一种方法
@懿古今多谢提示!
发表于2016-04-11 20:19 15楼
原来这里有,弄了大半天。
发表于2016-04-11 20:59 16楼
我有个想法,想把代码整合到 SEO Ultimate ,结果不会代码,算啦。不知道想法怎样。
@网扑蜘这个我已经整合到新的主题Nana中,可自由选择是否添加这个功能
发表于2016-04-21 19:21 17楼
启用原创标签后,关闭,发表的任何文章都是带有原创,这个肿么办
@滕绍武博客就看你是怎么折腾的了,如果站点文章有远程有转载,建议用文中第二种方法,根据文中所说,如果是非原创文章,就添加一个自定义栏目:author,那么文中的程序就会自动判定,存在有这个自定义栏目的将不显示原创标签。