最近这段时间每天都有好几百的流量来自SEO这个词,说明大家对SEO的关注还是非常大的,虽然最近没更新博客了但仍旧在关注SEO的发展和变化,今天在这里就发点基础也算实用的东西吧,所以就把前段时间接触的dedecms程序建站的一些优化代码整理下,既是和大家分享也是留作自己备用。9 d# y' ? E; j0 m8 Z
- }, K0 F1 u: g, `1 ? O- M% t
相信大家对dedecms这个程序相当的熟悉了,在国内很多资讯类站点或者是企业站点都是使用该程序搭建的,当然很大部分原因是这个程序使用方便而且也比较利于优化。我以前虽然用过dedecms,不过对优化上的代码很少去了解,在后来使用dedecms来完整的建站之后因为SEO上的考虑需要用到一些代码,虽然网上都有现成的代码,不过我还是把几个常用到的代码整理到一起方便以后使用。
& z; v2 t. R' N a( n. M( ]3 D
6 O5 J2 W$ ~& w* u5 ~相关文章列表调用代码
4 C$ ?% ]9 u5 K' u% i9 t9 Q4 b* @1 ]3 @8 w' o- ~, Z- |
相关文章列表的使用在很多网站中都有用到,大至门户网站,小至个人博客都能看到用标签聚合的列表模块,除了引导用户进一步的浏览之外,在SEO上也经常会把这个列表考虑进去,有利于文章链接的进一步展现,引导蜘蛛的爬行抓取从而达到提高收录的目的,也能提高页面的内容相关性。
4 s5 K: l" T# a1 a8 U
3 [8 ]7 E$ z5 i) I* t{dede:likearticle col='2' row='10' titlelen='55'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:likearticle}
# Q! I# P; U) c$ ?5 O5 l0 o, _. ?+ ~$ | x0 a3 `! v
col为1,一列显示,为2则为两列显示
" r2 V7 s; X+ J9 x0 z! c) ^' U1 [ U. P- E+ A
row为行数,显示相关文章数量
; A; o" W ^, `: h
6 {7 }6 j* Y) }3 gtitlelen为列表中标题文字的长度
- V+ e/ V/ l2 m3 d5 `! v2 v
) b9 K; x- x4 Q3 w- ?需要注意的是此种写法为调用该栏目下的相关文章,如需调用全站相关文章需另外修改代码:
3 m% |% U3 o |- T/ u7 I
+ ^9 g9 j b+ e2 q$ v5 ]1 {1 g8 \找到include/taglib/likearticle.lib.php页面将 $typeid = " AND arc.typeid IN($typeid) AND arc.id<>$arcid "; 替换为 $typeid = " And arc.id<>$arcid ";2 S8 B' n4 y3 V! ~
' p2 O1 s( ^. E/ ]8 ]
即可实现调用全站相关文章。
" G- t% ~( O9 {2 g Y, m( d) n" b# l. Q( N9 p- T
随机文章列表调用代码, B5 p& Q0 _( @# K; Y$ x7 L0 J
& r, e {8 z) u0 V. B9 v7 @在没有太多的内容来更新的时候随机文章列表就可能用得上了,具体的作用就不再叙述了,就是保持一个更新的状态,不过就dedecms这个程序,由于是html生成的,要想更新就需要在后台手动更新首页、栏目页和内页,这也是不大方便的一点。
- c& p V: G. ^, G9 ]
- E. i/ `' ~$ A7 n/ P" U7 H/ S{dede:arclist typeid='2' col='2' row='10' titlelen='55' orderby='rand'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist}
) W( y) O A+ n# M# ?8 z/ X2 A4 Z3 L" F& r* g
typeid为栏目id,2即表示调用id为2的栏目下随机文章列表,如需全站则填写rand,ordby则为列表文章显示的排序方式,rand则为随机排序,hot或者click为点击次数排序,id为按id顺序排序,pubdate为发布时间排序。: K# w# L8 N6 M$ C
( P9 p7 K: A X2 ^
标签的调用
- m" [- z+ e$ s% J$ V6 ^) `9 N5 ?6 P6 {6 P
有的时候可能需要在右侧边栏或者增加标签列表页,标签可以聚合内容,方便内容的归类,默认的dedecms标签是动态的,也有很多网站利用标签静态化来提升网站的收录。
3 b( ?/ r& K' a5 F2 K
; F& J+ R9 R- o8 Q: B9 Q{dede:tag row='60' sort='new'} <a href='[field:link/]' class='tagc[field:highlight /]'>[field:tag /]</a> {/dede:tag}
' B; t& [3 x0 x( C& p" h1 a
9 u: K6 }8 V/ \! D7 W' i( B其中row表示标签数量,sort为new则表示调用的是最新标签,如果要调用热门标签可以把参数改为month,而改为rand则是调用的随机标签。2 i4 _$ i& @+ j+ W- g8 g
- { }* X& F9 }8 I分类栏目标题添加分页码
+ O- C" b9 G7 X' T7 W
7 E6 Q+ E) Z+ R3 \% X2 @ _# F在网站各分类栏目添加一定数量内容之后,文章列表自然而然会形成分页,如果栏目标题不添加分页码用来标记当前页数,那就很容易出现较多相同标题的页面,这个时候为了SEO上的考虑就会需要给各栏目标题添加页码,一方面可以很直接的从网页标题告诉用户当前页数,另一方面避免了相同标题的网页出现,下面是给分类页添加页码的代码:7 U2 U3 ]9 E; W( t2 j
. c; V. G( C" b5 `{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/}
# y7 \7 \- U, [& B/ ?; U3 |$ Z$ W. w# o
其中{dede:field.title/}为当前分类名称,中间的一长串代码是调用当前页码的,使用该代码就能让分类标题显示为”分类名称 - 第几页 - 网站名称“的形式,同样的该代码适用于文章分页标题、标签分页标题中页码的添加。
- t d: E& |, p3 a0 l5 U
3 }3 s/ [6 V9 k, K# O1 t7 p相比其他一些开源建站程序而言,dedecms应该是很容易使用和上手的了,毕竟使用的人多,即便是需要修改一些代码或者设置参数之类的问题基本上都能在网上找到解决方案,以后有关dedecms的一些代码我也会进行搜集整理一并发布到本文,对dedecms很熟悉的朋友如果还有比较好的代码也可以分享出来。
: v6 J# v: d; F! \
2 `; G7 C9 `, ]' y8 C( Y |