相信很多站长或SEO对dedecms这个程序已经相当的熟悉了,因为在国内很多资讯类站点或者是企业站点都是使用该程序搭建的,当然很大部分原因是这个程序使用方便而且也比较利于SEO优化。
最近,我使用dedecms后台管理系统做了很多的网站,整理了很多的织梦标签,因为SEO优化上的考虑还需要用到一些特殊的代码,虽然网上都有现成的代码,不过我还是把几个常用到的代码整理到一起方便以后使用,在此,也在站上跟大家分享一下:
1、分类栏目标题添加分页码
在网站各分类栏目添加一定数量内容之后,文章列表自然而然会形成分页,如果栏目标题不添加分页码用来标记当前页数,那就很容易出现较多相同标题的页面。
这个时候为了SEO上的考虑就会需要给各栏目标题添加页码,一方面可以很直接的从网页标题告诉用户当前页数,另一方面避免了相同标题的网页出现,下面是dede58整理给分类页添加页码的代码:
{dede:field.title/} - {dede:pagelist listitem="pageno" listsize="0" runphp='yes'}@me=trim(strip_tags(@me));if (is_numeric(@me)){if (@me!='1') @me='-第('.@me.')页';else @me="";}else @me="";{/dede:pagelist} - {dede:global.cfg_webname/}
其中{dede:field.title/}为当前分类名称,中间的一长串代码是调用当前页码的,使用该代码就能让分类标题显示为”分类名称 - 第几页 - 网站名称“的形式,同样的该代码适用于文章分页标题、标签分页标题中页码的添加。
2、调用某个栏目的下级栏目标题+链接列表
{dede:channelartlist typeid='1,2'}
{dede:type}
<a href="[field:typeurl/]">[field:typename/]</a>
{/dede:type}
{/dede:channelartlist}
3、实现“文章标题-2级栏目-1级栏目-网站名”形式
{dede:field name='title'/}-{dede:field name='position' runphp='yes'}
$tc="-"; //分隔符
$tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符
@me=html2text(@me); //去除html标签
$tf=split($tw,@me); //分解成数组
for($ta=(count($tf)-2);$ta>=1;$ta--){ //循环赋值给$tk
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
@me=$tk; //赋值给@me
{/dede:field}-{dede:global name='cfg_webname'/}
4、只调用栏目标题的标签
默认的栏目标题调用代码:
{dede:field.title/}_{dede:global.cfg_webname/}
自定义栏目标题的调用标签:
{dede:field.seotitle /}
5、友情链接调用标签
默认的友链调用代码:
{dede:flink row='24'/}
图片友情链接调用代码:
{dede:flink row='24' type='image' titlelen="24" typeid="0"}
[field:link /]
{/dede:flink}
文字友情链接调用代码:
{dede:flink row='24' type='text' titlelen="24" typeid="0"}
[field:link /]
{/dede:flink}
dede58说明:typeid为友情链接分类编号。
6、内容简介的调用代码
常规调用内容简介或摘要的标签:
①、[field:info /]
②、[field:description /]
限制字数的调用内容简介或摘要的标签:
①、[field:info function="cn_substr(@me,120)"/]
②、[field:description function="cn_substr(@me,120)"/]
dede58注:这两种调用方式是相等的,另外,简介长度有两种控制方式,一种是infolen=""控制,如果infolen无参数,则默认为250;另外一种是使用function="cn_substr(@me,120)"控制120为所取字符宽度。
7、点击次数调用标签代码
文章点击调用标签:
<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>
栏目内调用点击次数代码:
[field:click/]
超过1000点击的,显示红色:
[field:click runphp="yes"]
if(@me>1000)@me='<font color="#ff0000">@me</font>';
else @me=@me;
[/field:click]
8、引入一个文件
{dede:include file='文件名' ismake=''/}
使用标记:include,代码:(file文件名ismake是否包含模板标记,如果包含用ismake='yes')
9、系统变量
{dede:global name='变量名'/}
常用变量:cfg_webname(网站名称)、cfg_cmspath(CMS安装目录)、cfg_templeturl(模板网址)、cfg_phpurl(插件网址)。
10、投票管理
{dede:vote id='1' lineheight='22'
tablewidth='100%' titlebgcolor='#EDEDE2'
titlebackground='' tablebgcolor='#FFFFFF'}
{/dede:vote}
11、站点新闻
{dede:mynews row='1' titlelen='24'}
[field:title/]([field:writer/]|[field:senddate function='GetDate("@me")'/])
<hr size=1>
[field:body /]
{/dede:mynews}
12、任何系统页面调用会员积分排行
{dede:sql sql="Select id,userid,uname,scores From dede_member order by scores desc limit 0,10"}
<dd>
<span class="name">
<a href='[field:global name='cfg_cmspath'/]/member/?[field:userid/]/'>[field:uname/]</a>
</span>
<span class="jifen">积分[field:scores/]</span>
</dd>
{/dede:sql}
13、搜索表单调用标签
<form action="{dede:global name='cfg_phpurl'/}/search.php" name="formsearch">
<input type="hidden" name="kwtype" value="1" />
<input name="keyword" id="keyword" type="text" class="searchtxt" />
<select name="searchtype" id="searchtype">
<option value="titlekeyword" selected>智能模糊搜索</option>
<option value="title">仅搜索标题</option>
</select>
<input type="image" src="{dede:field name='templeturl'/}/images/topsearch_submit.gif" />
</form>
14、企业调用
{dede:sql sql="SELECT m.ID,m.type,m.userid,m.matt,c.id,c.comname
FROM dede_member m
left join dede_member_cominfo c on m.ID = c.id
where m.type = 1 and m.matt = 1
LIMIT 0 , 10"}
<dd><span class="name"><a href='[field:global name='cfg_cmspath'/]/member/?[field:userid/]/'>[field:comname/]</a>
</span></dd>
{/dede:sql}
15、专题调用
{dede:specart typeid='' titlelen='28' row='10' col='1'}
<a href='[field:arcurl/]'>[field:title/]</a><br>
{/dede:specart}
或:
{dede:arclist typeid='' type='spec' titlelen='28' row='10' col='1'}
<a href='[field:arcurl/]'>[field:title/]</a><br>
{/dede:arclist}
或:
{dede:arclist row=10 orderby=rand type='spec.'}
<li><a href="[field:filename function='str_replace("index.html","",@me)'/]" target="_blank"><STRONG>[field:title function=' ( strlen("@me")>16 ? cn_substr("@me",16): "@me" ) '/]
</STRONG></a></li>
{/dede:arclist}
16、问答系统调用
{dede:ask row='10'}
<li>
<span class="gpclass">[<a href="[field:typeurl/]">[field:tidname/]</a>]</span>
<span class="gptlink"><a href="[field:url/]">[field:title/]</a></span>
</li>
{/dede:ask}
17、一种很酷的时间效果
[field:pubdate runphp="yes"]
if((time()-@me)<(60*60*24)){@me='<font color="#ff6600">'.strftime("%H:%M",@me).'</FONT>';}
else {@me=strftime("%m-%d",@me);}
[/field:pubdate]
18、加个百度搜索本篇文章的SEO小技巧
<a href="javascript:" target="_top" title="在百度搜索“{dede:field name="title" /}”相关内容"><font color=red>百度搜索</font></a>
19、COPY页面内容,自动在后面加上网站信息
<script type="text/javascript">
document.body.oncopy = function () { setTimeout( function () { var text = clipboardData.getData("text"); if (text) { text = text + " 本篇文章来源于www.dede58.com原文链接:"+location.href; clipboardData.setData("text", text); } }, 100 ) }
</script>
20、根据判定语法对特定文章加特效
{dede:list row='10'}
<DIV class="list" >
[field:global name=autoindex runphp='yes']
if(@me==1){ @me='<div style="float:left"><a href="/online/swt/" target="_blank"><img width="234" height="200" src="/templets/default/my120/go.gif"></a></div>';}
elseif(@me==2){@me='<div style=" width:100%; height:30px; margin:-30px 0 30px 0;border-bottom: 1px dashed #d9d9d9; line-height:30px; color:#553b6a; font-weight:700; font-size:18px">相关问题推荐</div>';}
else{@me='<div style="display:none"></div>';}
[/field:global]
<DIV class=hd>
<H2><a href="[field:arcurl/]" class="title" target=_blank>[field:title/]</a></H2>
</DIV>
</DIV>
{/dede:list}
dede58注解:上面的调用案例是指,列表页调用10条文章,给第1条文章的左边加上图片,第2条的上面加上“相关问题推荐”等字样。
站长点评:
相比其他一些开源建站程序而言,dedecms应该是很容易使用和上手的了,毕竟使用的人多,即便是需要修改一些代码或者设置参数之类的问题基本上都能在网上找到解决方案,以后有关dedecms的一些代码我也会进行搜集整理一并发布到dede58,对dedecms很熟悉的朋友如果还有比较好的代码也可以分享出来。
新闻热点
疑难解答