dedecms分页标签怎么优化

pagelist SEO canonical

默认分页标签的SEO痛点

织梦列表页底部的分页标签 {dede:pagelist listsize='5' listitem='index,end,pre,next,pageno'/} 默认会输出几十个独立的分页 URL,例如 list_5_2.htmllist_5_3.html。这些页面内容高度相似,容易被百度判为低质重复页,导致整站权重分散。

优化方向一览

基础写法与参数说明

{dede:pagelist listsize='3' listitem='index,pre,pageno,next,end'/}

listitem 可用值:

渲染效果示例:

升级版:自定义分页样式

修改 include/arc.listview.class.phpGetPageListDM 方法,让分页 a 标签带 rel 属性:

// 上一页
$prepage .="<a href='".str_replace('{page}',$prepagenum,$tnamerule)."' rel='prev'>上一页</a>\n";
// 下一页
$nextpage .="<a href='".str_replace('{page}',$nextpagenum,$tnamerule)."' rel='next'>下一页</a>\n";

添加 canonical 标签

<head> 中根据当前页码输出 canonical:

{dede:field name='page' runphp='yes'}
if(@me > 1){
    @me='<link rel="canonical" href="'.GetCurUrl().'/list_{dede:field.typeid/}_1.html" />';
}else{
    @me='';
}
{/dede:field}
注意:百度已不再使用 rel="prev/next",但 Google 仍参考,且对用户浏览体验有帮助,建议保留。

NOINDEX 处理分页第N页

对第 2 页之后的内容,可在 <head> 注入 noindex,follow,让搜索引擎不收录但仍跟踪内链:

{dede:field name='page' runphp='yes'}
if(@me > 1) @me='<meta name="robots" content="noindex,follow" />';
else @me='';
{/dede:field}

移动端分页优化

移动端屏幕窄,建议 listsize='2' 并隐藏尾页按钮,用「加载更多」替代分页:在 list_article.htm 末尾用 AJAX 请求下一页 list_5_2.html 并追加到列表容器。

后续行动建议

先用站长工具抓取一下现有分页,看看返回码和标题是否雷同,再有针对性地按本文方案逐项优化。分页优化完成后,记得在百度搜索资源平台提交 sitemap,让搜索引擎尽快重新评估。SEO 不是一次性工作,建议每季度复查一次分页收录情况,把分页这块「隐形的权重漏斗」持续维护好。