WordPress针对百度星火计划2.0原创保护的优化措施

今天在看百度站长平台的时候,发现 1 月 18 日发布了一篇介绍星火计划 2.0 的文章。仔细看了下,感觉到可用之处,就对张戈博客加了一些代码,算是针对性优化。

WordPress针对百度星火计划2.0原创保护的优化措施

下面分享给大家,推荐使用!

一、星火计划

什么时候百度星火计划?其实我也是第一次听到,不过其内容肯定是像我这种原创博客都非常关心的——原创保护。

文章介绍中提到了什么是原创和伪原创,看得我都不想因为本文摘抄其内容而变成了伪原创了。所以感兴趣的可以自己点开看:http://zhanzhang.baidu.com/college/articleinfo?id=782

总之,百度星火计划就是对原创文章进行保护,让那些只会采集剽窃、甚至是篡改他人作品的网站统统死啦啦的。

就像文章说的一样(无奈,我还是要摘抄一下):

星火计划 2.0 项目的意义:
1,对于有转载的原创网页,百度搜索会从众多相同内容中识别出原创网页,使之在搜索结果中的排序不被对应的转载网页超越;
2,对于通过百度站长平台主动推送的原创数据,我们在识别成功后,会在搜索结果处进行“原创”标记 ,进一步凸显原创内容的价值,为原创者正名。

不过,对于是否真的不被超越,比如站长之家转载了张戈博客文章之类的,咱们拭目以待!

二、如何优化

文章的最后提到了网站针对星火计划能够进行的一些优化措施,具体为:

①、使用百度站长平台的主动推送链接功能

这是必须的,原创与否的先决条件肯定是谁发布的早!作为原创的我们,点击发布的同时立即向百度推送发布通知,告知这篇文章是从我们博客首发的,其他相同或相似的文章统统是转载或伪原创!

对于开启这个主动推送功能,有多种方式:

  • 百度提供的通用 js 代码(貌似不支持 https,会报错)【相关文章
  • 百度主动推送插件(张戈博客优化版)【相关文章
  • 百度主动推送代码(张戈博客原创版)【相关文章

其中,第一个 js 代码适合所有建站程序,而且实现简单,推荐使用!后面一个是插件一个是代码,只适合 WordPress,当然最终功能都一样,自行选择即可。

②、在网站添加星火计划可识别的 Meta 标签

如下是百度文章中分享的 DEMO:

<meta property="og:type" content="article"/>
<!-- 该字段是固定且必选的,表明当前页面类型符合 OG 协议中的文章作品类型 -->
<meta property="article:published_time" content="2015-12-16T17:47:53+08:00" /> 
<!-- 最早发布时间,该字段必选,可以不在页面中做展示,内容格式要求符合 ISO8601 规范的 UTC 格式,标准格式应当是“YYYY-MM-DDTHH:MM:SS+时区” -->
<meta property="article:author" content="百度站长平台" /> 
<!-- 作者署名字段必选,需要在页面做展示 -->
<!-- *如果该文章由多个作者共同完成,可再加一行作者署名代码:<meta property="article:author" content="百度站长学院"/> -->
<meta property="article:published_first" content="百度站长平台, http://zhanzhang.baidu.com/college/articleinfo?id=744" /> 
<!-- 原发媒体名称和链接,用于区分原创和转载,该字段为可选。原创时,链接与自身相同;转载时,链接是另外不同的地址-->

会 DIY 的朋友基本不用往下看就能自己动手修改了吧?、

三、部署代码

将如下代码添加到 WordPress 主题的 functions.php 当中即可在前台输出星火计划代码:

2016-05-20 更新:补充适合 360 搜索的智能摘要 Meta 申明。

/**
* WordPress 星火计划原创保护专用 META 优化代码(最终版) By 张戈博客
* 文章地址:https://zhang.ge/5084.html
*/
add_action('wp_head', 'starfire',0);
if(!function_exists('starfire')){
  function starfire(){
    //新增判断,如果是原创文章才加入星火计划 META 申明
     global $wpdb;
     $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
     $copy = get_post_meta($post_id , 'author', true);
     if (is_singular() && empty($copy)) {
        date_default_timezone_set('PRC');
        echo '<meta property="og:type" content="article"/>
        <meta property="article:published_time" content="'.get_the_date('c').'"/>
        <meta property="og:release_date" content="'.get_the_date('c').'"/>
        <meta property="article:author" content="';bloginfo('name'); echo '" />';
        echo '<meta property="og:author" content="';bloginfo('name');echo '" />';
        echo '<meta property="og:url" content="';the_permalink(); echo '"/>';
        //输出文章标题+分隔符+网站名称,不喜欢这种形式的请自行改造(如果不需要这个标签,请删除以下三行)。
        echo '<meta property="og:title" content="'.trim(wp_title('',0)).' | '; bloginfo('name'); echo '" />';
        //输出博客名称,如果想改成其他内容,比如作者请自行修改 bloginfo('name')
        echo '<meta property="article:published_first" content="';bloginfo('name');echo ',';
        the_permalink();
        //默认截取文章 220 个字作为摘要,可以自行修改下行 220 为其他整数
        echo '" /><meta property="og:description" content="'.get_mypost_excerpt($post_id, 220).'……" />
        <meta property="og:image" content="'.get_mypost_thumbnail($post_id).'" />
        <meta itemprop="image" content="' . get_mypost_thumbnail($post_id) . '" />';
    }
  }
}
/**
* WordPress 获取文章摘要整理版 By 张戈博客
*/
function get_mypost_excerpt($post_ID,$len){
    if (!function_exists('utf8Substr')) {
        function utf8Substr($str, $from, $len) {
            return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
                '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
                '$1',$str);
        }
    }
    if(!$post_content){
            $post = get_post($post_ID);
            $post_content = $post->post_content;
   }
    if ($post->post_excerpt) {
            $description  = $post->post_excerpt;
    } else {
        if(preg_match('/<p>(.*)<\/p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
            $post_content = $result['1'];
        } else {
            $post_content_r = explode("\n",trim(strip_tags($post->post_content)));
            $post_content = $post_content_r['0'];
        }
        $description = utf8Substr($post_content,0,$len);
        return $description;
    }
}
/**
* WordPress 获取文章图片加强版 By 张戈博客
*/
function get_mypost_thumbnail($post_ID){
    if (has_post_thumbnail()) {
            $timthumb_src = wp_get_attachment_image_src( get_post_thumbnail_id($post_ID), 'full' ); 
            $url = $timthumb_src[0];
    } else {
        if(!$post_content){
            $post = get_post($post_ID);
            $post_content = $post->post_content;
        }
        preg_match_all('|<img.*?src=[\'"](.*?)[\'"].*?>|i', do_shortcode($post_content), $matches);
        if( $matches && isset($matches[1]) && isset($matches[1][0]) ){       
            $url =  $matches[1][0];
        }else{
            $url =  '';
        }
    }
    return $url;
}

Ps:以上代码利用 wp_head()函数将星火计划代码输出到前台,如果分享上述代码没有效果,说明你的主题未在 header.php 中调用 wp_head() 函数,请自行解决。

三、前台效果

成功加入代码后,刷新网站前台,然后查看源代码就能看到效果了:

WordPress针对百度星火计划2.0原创保护的优化措施

五、其他说明

2016 年 02 月 13 日发现百度站长平台发布了关于星火计划违规的通知【传送门】,看了下原来滥用星火计划也可能坏事。

所以,我们只需要提交原创文章,转载或整理分布的文章最好不要放置这个星火计划 META 申明。

那我们如何来控制是否放置代码呢?很简单,使用文章自定义栏目即可(上文代码已支持)!

①、自定义栏目

如果不是原创文章,我们可以新增一个自定义栏目,比如 author,值任意或者填写原文地址,而原创文章则不新增这个栏目:

WordPress针对百度星火计划2.0原创保护的优化措施

②、回溯修改

接下来我们需要在非原创文章中新增自定义栏目 author,值为非空任意值,比如就填写原文地址或数字等,这个随你了。否则,没有这个标签的文章都会当作原创处理!

好了,如上修改后,代码就只会在原创文章页面中插入星火计划的 META 申明了,不至于违反百度的游戏规则咯!

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇