一个乐于分享的博客
关注互联网折腾服务器分享码农的日常

#SEO#免插件实现WordPress图片批量增加alt标签

#SEO#免插件实现WordPress图片批量增加alt标签

在网站SEO过程中,图片SEO绝对是不可或缺的一环,一张排名好的热搜图片,会给网站带来很多的访问量。那么使用WordPress的站长,如何给自己的网站图片增加ALT标签呢?

Alt信息添加策略

对于每一张图片,都应该认真填写其对应的描述信息。

但有时候发一篇文章,动辄十多张图片,每一张图片逐一添加,工作量很是巨大。但是不填又不利于SEO,所以就有了退而求其次的方案,即对于无alt信息的图片,自动添加当前的标题至图片的alt信息。

实现原理

  1. 通过自定义过滤器,筛选出文章中所有<img>标签
  2. 对没有alt信息的img标签加入alt="文章标题"标签
  3. 输出增加标签之后文章

实现方法

编辑主题文件夹下的functions.php文件,如./wp-content/theme/dux/functions.php在文件末尾(?>之前)加入以下代码:

 /*
  * 图片添加alt属性
  */
function img_alt( $imgalt ){
        global $post;
        $title = $post->post_title;
        $imgUrl = "<img\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>";
        if(preg_match_all("/$imgUrl/siU",$imgalt,$matches,PREG_SET_ORDER)){
                if( !empty($matches) ){
                        for ($i=0; $i < count($matches); $i++){
                                $tag = $url = $matches[$i][0];
                                $judge = '/alt=/';
                                preg_match($judge,$tag,$match,PREG_OFFSET_CAPTURE);
                                if( count($match) < 1 )
                                $altURL = ' alt="'.$title.'" ';
                                $url = rtrim($url,'>');
                                $url .= $altURL.'>';
                                $imgalt = str_replace($tag,$url,$imgalt);
                        }
                }
        }
        return $imgalt;
}

add_filter( 'the_content','img_alt');

代码出自:小猫博客

为什么不用插件?

WordPress插件丰富,功能强大。但是我们应该选择性的使用插件,因为每个页面打开时,后台会自动调用所有插件,所以插件越多,越影响系统性能,同样不利于SEO。所以能用代码实现的功能尽量用代码实现。

实现效果

#SEO#免插件实现WordPress图片批量增加alt标签

转载务必注明出处:岩兔站 » #SEO#免插件实现WordPress图片批量增加alt标签
赞 (1) or 打赏

讨论区 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    为什么使用后没用….图片还是没有alt标签啊

    1236年前 (2019-04-17)回复
    • 原理是正则匹配图片,然后替换字符串实现的。可能是默认正则不匹配导致

      岩兔站6年前 (2019-05-01)回复