織夢本身沒有批量添加或自動替換圖片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,}[sS]{0,}[&;'s]@isU","",$this->Fields['body']);
$this->Fields['body']=str_ireplace("<img","<imgalt='".$this->Fields['title']."'",$this->Fields['body']);
溫馨提示:這一步做一點補充,大家注意看下這段代碼
<imgalt='".$this->Fields['title']."'
如果文章標題是“新手如何推廣網站”則生成后的文章內圖片的img屬性就是“新手如何推廣網站”,我將其改為了下面的這段代碼,使其實現圖片ALT屬性樣式為alt=”新手如何推廣網站_lazybirdfly.com”,這里的_lazybirdfly.com可以用你網站的主推關鍵詞或網址來替換。
<imgalt='"".$this->Fields['title']."_lazybirdfly.Com'"
這里是alt屬性的替換規則,默認是替換為文章的標題,稍微轉換下思路,其實也可以用tag標簽或別的文章屬性來代替。
四.由于使用了正則處理,會降低一些生成速度,如果數據量小,則可以忽略。