WonderCSS

自动为DedeCMS文章内图片添加alt属性的方法

大略知道一些SEO的人都知道文章中的图片需要加alt标签,因为从SEO的角度来解释搜素引擎看不懂图片,所以我们可以在alt标签上加上文字来让搜索引擎“看懂”图片。以此更亲和搜索引擎,更能达到提高关键词密度等目的。

从另一个角度来说,在网站设计者(html开发者)的眼里图片的img标签中 src 属性和 alt 属性都是必须切不可缺少的。因为alt标签可以在图片地址丢失后告诉浏览者这个图片的内容是什么。因此,做好图片的 alt 属性无论是对搜索引擎的爬取还是用户体验都是有利无害的,所以身为 DedeCMS模板 制作的开发者一定要重视图片 alt 属性,无论是模板中还是文章中。

DedeCMS系统本身没有批量添加或自动替换图片alt描述的功能,而使用织梦建站的朋友都有很多采集来的文章,大部分图片都没有alt属性,非常不利于SEO优化,手工添加又太费时费力,这是我们就要想办法自动为DedeCMS文章内图片添加alt属性。

首先我们找到网站DedeCMS根目录 Include 文件夹下的 arc.archives.class.php 打开:

其次,用组合键 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']."'

['title'] 代表文章标题,如果文章标题是 “如何写好DedeCMS模板” 则生成后的文章内图片的img属性就是 alt=“如何写好DedeCMS模板”,如果你不想让alt标签写入文章标题,可以在这里固定写死某个关键词既可。这里是 alt属性 的替换规则,默认是替换为文章的标题,稍微转换下思路,其实也可以用关键字/tag标签或别的文章属性来代替。

在最后我们要注意到,经过如此设置后在更新网站时会降低一些文章生成速度,再此可斟酌考虑。

By 于湛 发布于 2013.04.13 4,665 次浏览

发表评论

电子邮件地址不会被公开。 必填项已用*标注