织梦图片自动添加ALT属性
时间:2014-12-26
织梦本身没有批量添加或自动替换图片alt描述的功能,而使用织梦建站的朋友都有很多采集来的文章,大部分图片都没有alt属性,非常不利于SEO优化,手工添加又太费时费力,怎么办呢?
下面以织梦5.7为例介绍下怎么给你网站所有文章里的图片自动添加ALT属性,其他版本应该也可以,网上这一类的教程很多,网友在5.3/5.5版测试通过,5.6没试过,本文教程在织梦最新版5.7测试通过:
织梦5.7版自动给图片添加alt属性具体解决方法:
一. 找到网站Include目录下的arc.archives.class.php 文件并打开
(模板标签:{dede:field.body/} ,如果是其它字段,可以修改$this->Fields['body'] 为其它的字段名。)
二. 用组合键 Ctrl+F 查找下面的这段代码
//设置全局环境变量
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');
三. 在以上代码下面添加以下代码即可
//替换图片Alt为文档标题
$this->Fields['body'] = str_ireplace(array('altalt=""','alt=\'\''),'',$this->Fields['body']);
$this->Fields['body'] = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$this->Fields['body']);
$this->Fields['body'] = str_ireplace("<img " ,"<img alt='".$this->Fields['title']."' ",$this->Fields['body']);
温馨提示:这一步做一点补充,大家注意看下这段代码
<img alt='".$this->Fields['title']."'
如果文章标题是 “新手如何推广网站” 则生成后的文章内图片的img属性就是“新手如何推广网站” ,我将其改为了下面的这段代码,使其实现图片ALT属性样式为 alt=”新手如何推广网站_lazybirdfly.com” ,这里的 _lazybirdfly.com 可以用你网站的主推关键词或网址来替换。
<img alt='"".$this->Fields['title']."_lazybirdfly.Com'"
这里是alt属性的替换规则,默认是替换为文章的标题,稍微转换下思路,其实也可以用tag标签或别的文章属性来代替。
四. 由于使用了正则处理,会降低一些生成速度,如果数据量小,则可以忽略。