wordpress网站首页和文章页纯代码添加og标签完美教程

2018年1月5日10:31:03 7 1,872
摘要

如果在一些大型或者排名靠前的站点,你会发现许多网站都有Meta Property=og:标签,比如搜狐号,你在百度搜一篇搜狐号的文章标题,基本搜狐的文章都是排名前两名。经过学习,了解og标签对网站seo有非常好的作用,在网上寻找了一些wordpress添加og标签的教程,大多数都是“豆腐渣工程”,问题百出。经过本人总结测试,完成下面的教程,一直没有发现有什么问题,若有问题请留言。本文只对首页和文章页添加og标签,对于wordpress已经足够,因为我们只想让搜索引擎对首页和文章页进行更好的收录。


下面的教程都已更新,可放心使用

2018.01.05更新:增加文章最近更新时间modified_time属性

og标签介绍:

1.什么是og标签

og标签是一种新的http头部标记,即Open Graph Protocol(开放内容协议)。在页面添加这种协议可以让网页成为一个“富媒体对象”,表示同意网页内容可以被其他社会化网站引用等。

2.og标签对seo的作用

  • 更有效地将网站内容分享到SNS社交网站;
  • 谷歌、百度、360等主流搜索引擎都支持og标签;
  • 加强meta信息优化内容,可以被搜索引擎发现并评估权重;
  • 能够正确被蜘蛛抓取网页到搜索引擎;
  • 帮助网页内容更好地在搜索引擎进行结构化展现。

3.og标签属性详细介绍

想要更多了解og标签的童鞋,可以参考:http://ogp.me/(需翻wall)

一、首页添加og标签

首页只需添加title、description、image三个标签即可。打开主题目录中的header.php文件,将下面的代码添加在<!--?php begin_title(); ?-->之后即可。

<?php if (is_home()) { ?> /*判断是否首页*/
<meta property="og:title" content="<?php bloginfo(’name’); ?> <?php echo zm_get_option('connector'); ?> <?php bloginfo ( 'description' ); ?>" />/*获取标题*/
<meta property="og:description" content="<?php echo zm_get_option('description'); ?>" />/*获取站点描述*/
<meta property="og:image" content="图片地址" />/*添加一张图片,如你的LOGO*/
<?php } ?>
有童鞋问,og标签和自带的title、description是不是冲突?其实不会的,搜索引擎或者社交平台会选其一,并不会对你的网站有何不良影响。拥有og标签,只会更有利于网站的seo,加快收录。

二、文章页添加og标签

文章页添加og标签需要添加title、description、image、author、url、type、release_date等标签,这里这里我们选取这几种已经足够。

1.将下面的代码添加在主题functions.php文件中

/*文章页添加og标签***开始****/
add_action('wp_head', 'starfire',0);
if(!function_exists('starfire')){
  function starfire(){
     global $wpdb;
     $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
     $copy = get_post_meta($post_id , 'author', true);
     if (is_single()) {
        date_default_timezone_set('PRC');
        echo '<meta property="og:type" content="article"/>
        <meta property="og:release_date" content="'.get_the_date('c').'"/>
        <meta property="og:image" content="'.get_mypost_thumbnail($post_id).'" />
        <meta property="article:published_time" 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 '" />';
        echo '<meta property="article:published_first" content="';bloginfo('name');echo ',';
        the_permalink();
        echo '" />    
        <meta itemprop="image" content="' . get_mypost_thumbnail($post_id) . '" />';

    }
  }
}

/**
* WordPress 获取文章图片加强版
*/
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;
}
/*文章页添加og标签***结束****/

2.将下面代码放在header.php文件中

打开主题目录中的header.php文件,将下面的代码添加在<!--?php begin_title(); ?-->之后即可。

<?php if (is_single()) { ?>
<?php if ( get_post_meta($post->ID, 'description', true) ) : ?>
<meta property="og:description" content="<?php $description = get_post_meta($post->ID, 'description', true);{echo $description;}?>" />
<?php else: ?>
<meta property="og:description" content="<?php echo trim($description); ?>" />
<?php endif; ?>
<meta property="article:modified_time" content="<?php the_modified_time('c'); ?>" />
<?php } ?>

三、结束语
教程到此结束,有问题请留言。

    
weinxin
官方QQ交流群
扫一扫加入交流群获取更多资源

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

私信给楼主

目前评论:7   其中:访客  6   博主  1

    • avatar 小强007 Admin

      非常感谢你的回复

      • avatar 小兵 0

        测试回复邮件的

        • avatar 周周 0

          你真的很厉害

          • avatar 马赛罗娜 0

            我勒个去类

            • avatar 达美后 0

              感谢分享哈

              • avatar 大爷 0

                bucuo不错啊haha哈哈

                • avatar og:description 0

                  og:descriptionog:descriptionog:description住我,方便下次评论 私信给楼主