5.2.4 內(nèi)容頁代碼和標(biāo)簽優(yōu)化
內(nèi)容頁的重要性任何人都知道,但是內(nèi)容頁的優(yōu)化卻非常煩瑣,所以很多站長往往在優(yōu)化內(nèi)容頁代碼和標(biāo)簽時容易迷糊。在當(dāng)前主流的CMS系統(tǒng)中,內(nèi)容頁最大的設(shè)計問題是擁有過多的功能,這些功能比較符合大型站點的需求,但是并不一定適合小型站點。
內(nèi)容頁模板位置
在織夢CMS中,內(nèi)容頁模板在以下位置可以找到:
網(wǎng)站根目錄 > templets > default > article_article.htm
通過登錄后臺使用“文件式管理器”找到上述文件即可進行修改。另外一種方法是通過后臺的“模板”→“默認(rèn)模板管理”→“文章內(nèi)容頁模板”進行管理,如圖5.36所示。
圖5.36 文章內(nèi)容頁模板
內(nèi)容頁代碼精簡
根據(jù)不同需求,內(nèi)容頁中的代碼可以進行很多刪減,這里僅按比較精簡的單純文檔發(fā)布的中小型網(wǎng)站為例,介紹內(nèi)容頁代碼精簡的相關(guān)方法。
在內(nèi)容頁中,首先需要精簡的代碼是廣告,這是網(wǎng)站上線之初的常規(guī)做法,具體代碼如下:
<div id="listRtPicAD2" style="margin:10px auto">{dede:myad
name='listRtPicAD2'/}</div>
<div id="listRtPicAD" style="margin:10px auto">{dede:myad
name='listRtPicAD'/}</div>
需要注意的是,在默認(rèn)的內(nèi)容頁中,附帶的廣告比較多,需要刪除右側(cè)兩個廣告位,如圖5.37所示。
圖5.37 內(nèi)容頁右側(cè)的廣告位置
還有文章正文中嵌套的一個廣告位,如圖5.38所示。
圖5.38 內(nèi)容正文中的廣告位
以及頁面底部的banner型廣告位,如圖5.39所示。
圖5.39 底部的廣告位置
在刪除默認(rèn)廣告位以后,根據(jù)需求,搜索引擎優(yōu)化者可以根據(jù)自己的需求刪減標(biāo)題下方的文章相關(guān)信息,如圖5.40所示。
圖5.40 默認(rèn)的文章屬性
在通常情況下,文章信息中保留更新時間即可,其他項目都可以不要。具體的代碼如下:
<div class="info"> <small>時間:</small>
{dede:field.pubdate function="MyDate ('Y-m-d H:i',@me)"/}<small>來源:</small>
{dede:field.source/} <small>作者: </small>
{dede:field.writer/} <small>點擊:</small>
<script src="{dede:field name='phpurl'/}
/count.php?view=yes&aid={dede:field name='id'/}
&mid={dede:field name='mid'/}" type='text/javascript'
language= "javascript"></script>
次</div>
從中小型文檔發(fā)布類網(wǎng)站的角度出發(fā),內(nèi)容頁面中有很多交互性功能,比如頂踩、收藏、挑錯、推薦、打印、評論等,優(yōu)化者可以根據(jù)自身的需求和網(wǎng)站功能設(shè)計進行取舍,下面給出相關(guān)代碼。
確定當(dāng)前訪問者是否登錄的頭部函數(shù)如下:
function CheckLogin(){
var taget_obj = document.getElementById('_ajax_feedback');
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("{dede:global.cfg_cmsurl/}/member/ajax_feedback.php ");
DedeXHTTP = null;
}
頂踩相關(guān)功能代碼如下:
function postBadGood(ftype,fid)
{
var taget_obj = document.getElementById(ftype+fid);
var saveid = GetCookie('badgoodid');
if(saveid != null)
{
var saveids = saveid.split(',');
var hasid = false;
saveid = '';
j = 1;
for(i=saveids.length-1;i>=0;i--)
{
if(saveids[i]==fid && hasid) continue;
else {
if(saveids[i]==fid && !hasid) hasid = true;
saveid += (saveid=='' ? saveids[i] : ','+saveids[i]);
j++;
if(j==10 && hasid) break;
if(j==9 && !hasid) break;
}
}
if(hasid) { alert('您剛才已表決過了喔!'); return false;}
else saveid += ','+fid;
SetCookie('badgoodid',saveid,1);
}
else
{
SetCookie('badgoodid',fid,1);
}
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("{dede:field name='phpurl'/}/
feedback.php?aid="+fid+ "&action="+ftype+"&fid="+fid);
}
function postDigg(ftype,aid)
{
var taget_obj = document.getElementById('newdigg');
var saveid = GetCookie('diggid');
if(saveid != null)
{
var saveids = saveid.split(',');
var hasid = false;
saveid = '';
j = 1;
for(i=saveids.length-1;i>=0;i--)
{
if(saveids[i]==aid && hasid) continue;
else {
if(saveids[i]==aid && !hasid) hasid = true;
saveid += (saveid=='' ? saveids[i] : ','+saveids[i]);
j++;
if(j==20 && hasid) break;
if(j==19 && !hasid) break;
}
}
if(hasid) { alert("您已經(jīng)頂過該帖,請不要重復(fù)頂帖 !"); return; }
else saveid += ','+aid;
SetCookie('diggid',saveid,1);
}
else
{
SetCookie('diggid',aid,1);
}
myajax = new DedeAjax(taget_obj,false,false,'','','');
var url = "{dede:global.cfg_phpurl/}/
digg_ajax.php?action="+ftype+"&id= "+aid;
myajax.SendGet2(url);
}
function getDigg(aid)
{
var taget_obj = document.getElementById('newdigg');
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("{dede:global.cfg_phpurl/}/digg_ajax.php?id="+aid);
DedeXHTTP = null;
}
上述代碼是各交互性功能的函數(shù),下面根據(jù)各功能在模板文件中的位置和樣式給出具體情況。