織夢(mèng)本身沒(méi)有批量添加或自動(dòng)替換圖片alt描述的功能,而使用織夢(mèng)建站的朋友都有很多采集來(lái)的文章,大部分圖片都沒(méi)有alt屬性,非常不利于SEO優(yōu)化,手工添加又太費(fèi)時(shí)費(fèi)力,怎么辦呢?
下面以織夢(mèng)5.7為例介紹下怎么給你網(wǎng)站所有文章里的圖片自動(dòng)添加ALT屬性,其他版本應(yīng)該也可以,網(wǎng)上這一類(lèi)的教程很多,網(wǎng)友在5.3/5.5版測(cè)試通過(guò),5.6沒(méi)試過(guò),本文教程在織夢(mèng)最新版5.7測(cè)試通過(guò):
織夢(mèng)5.7版自動(dòng)給圖片添加alt屬性具體解決方法:
一.找到網(wǎng)站Include目錄下的arc.archives.class.php文件并打開(kāi)
?。0鍢?biāo)簽:{dede:field.body/},如果是其它字段,可以修改$this->Fields['body']為其它的字段名。)
二.用組合鍵Ctrl+F查找下面的這段代碼
//設(shè)置全局環(huán)境變量
$this->Fields['typename']=$this->TypeLink->TypeInfos['typename'];
SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');
三.在以上代碼下面添加以下代碼即可
//替換圖片Alt為文檔標(biāo)題
$this->Fields['body']=str_ireplace(array('altalt=""','alt=&;&;'),'',$this->Fields['body']);
$this->Fields['body']=preg_replace("@[s]{0,}alt[s]{0,}=[&;'s]{0,}[sS]{0,}[&;'s]@isU","",$this->Fields['body']);
$this->Fields['body']=str_ireplace("<img","<imgalt='".$this->Fields['title']."'",$this->Fields['body']);
溫馨提示:這一步做一點(diǎn)補(bǔ)充,大家注意看下這段代碼
<imgalt='".$this->Fields['title']."'
如果文章標(biāo)題是“新手如何推廣網(wǎng)站”則生成后的文章內(nèi)圖片的img屬性就是“新手如何推廣網(wǎng)站”,我將其改為了下面的這段代碼,使其實(shí)現(xiàn)圖片ALT屬性樣式為alt=”新手如何推廣網(wǎng)站_lazybirdfly.com”,這里的_lazybirdfly.com可以用你網(wǎng)站的主推關(guān)鍵詞或網(wǎng)址來(lái)替換。
<imgalt='"".$this->Fields['title']."_lazybirdfly.Com'"
這里是alt屬性的替換規(guī)則,默認(rèn)是替換為文章的標(biāo)題,稍微轉(zhuǎn)換下思路,其實(shí)也可以用tag標(biāo)簽或別的文章屬性來(lái)代替。
四.由于使用了正則處理,會(huì)降低一些生成速度,如果數(shù)據(jù)量小,則可以忽略。