Of course. The listpagesize3 tag is a specific and useful conditional tag in the DedeCMS (织梦CMS) template engine. It's used to control the display of content on list pages (频道列表页, arclist list page) based on whether the current page is the third page or beyond.

Let's break it down in detail.
What is listpagesize3?
In simple terms, listpagesize3 is a conditional tag that checks if the current page number in a list is greater than or equal to 3.
<php>block: Inside a PHP block in your template, it evaluates totrueif$pageNo >= 3.{dede:}tag: As a Dede tag, it acts as a wrapper. The content inside it will only be processed and displayed if the condition is met.
The Problem It Solves
The most common use case for listpagesize3 is for Search Engine Optimization (SEO), specifically to prevent duplicate content issues.
Here's the scenario:

- You have a category page (e.g.,
https://www.yoursite.com/news/list-1.html). - This page lists your articles, paginated over several pages (e.g.,
.../list-1-2.html,.../list-1-3.html, etc.). - The content on page 2, 3, 4, etc., is often very similar to the content on page 1. It might just have a few older articles removed and new ones added.
- Search engines might see this as duplicate content, which can negatively impact your site's ranking for that category page.
The solution is to tell search engines (via meta tags) to ignore pages after the first one. The listpagesize3 tag helps you do this elegantly.
How to Use It
You will typically use it within the <head> section of your list template (e.g., list_article.htm).
Method 1: Using the PHP Block (Most Common)
This is the most direct way to use it. You place it inside a <php>...</php> block within your {dede:loop} or {dede:list} tag block.
Example Scenario:
You want to add a noindex, follow meta tag to all list pages starting from the 3rd page to tell search engines not to index them.

Template Code (list_article.htm):
<head>
<meta charset="UTF-8">{dede:field.title/}_{dede:global.cfg_webname/}</title>
<meta name="keywords" content="{dede:field name='keywords'/}">
<meta name="description" content="{dede:field name='description' function='html2text(@me)'/}">
<!-- Use listpagesize3 to add meta tags for SEO -->
<php>
if($pageNo >= 3) {
// This code will only run on page 3, 4, 5, etc.
echo '<meta name="robots" content="noindex, follow">';
}
</php>
</head>
<body>
<h1>{dede:field.title/}</h1>
<ul>
{dede:list pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
</li>
{/dede:list}
</ul>
<!-- 分页链接 -->
{dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}
</body>
</html>
How it works:
- On page 1 (
.../list-1.html),$pageNois 1. The condition$pageNo >= 3isfalse. Thenoindextag is not added. - On page 2 (
.../list-1-2.html),$pageNois 2. The condition is stillfalse. Thenoindextag is not added. - On page 3 (
.../list-1-3.html),$pageNois 3. The condition is nowtrue. Theechostatement runs, and the<meta name="robots" content="noindex, follow">tag is injected into the<head>section.
Method 2: Using the Dede Tag Wrapper
You can also use it as a wrapper for other Dede tags. This is less common for the SEO example but can be useful for other layout changes.
Example Scenario: You want to hide a specific banner or advertisement widget only on the first two list pages.
Template Code:
<div class="main-content">
<!-- Main article list -->
{dede:list pagesize='10'}
... your article list items ...
{/dede:list}
<!-- This ad will only appear on page 3 and beyond -->
{listpagesize3}
<div class="sidebar-ad">
{dede:myad name='listpagead'/}
</div>
{/listpagesize3}
</div>
In this case, the myad tag will only be parsed and the sidebar-ad div will only be rendered if the user is on page 3 or later.
Important Considerations
- Scope:
listpagesize3is only available and functional on list pages (those generated by{dede:list},{dede:arclist}, or channel list templates). It will not work on article detail pages (article_article.htm) or the homepage (index.htm). - Page Numbering: The page numbering starts at 1 for the first page (e.g.,
list-1-1.htmlis technically page 1, but DedeCMS often treatslist-1.htmlas page 1 as well, with$pageNo=1). The logic$pageNo >= 3correctly targets the third page and all subsequent ones. - SEO Best Practice: The
noindex, followdirective is a good choice. It tells the search engine, "Don't index this page, but still follow the links on it to find other pages on my site." This preserves the link equity flowing through your pagination.
Summary
| Feature | Description |
|---|---|
| Name | listpagesize3 |
| Type | Conditional Tag |
| Condition | Checks if the current page number ($pageNo) is greater than or equal to 3. |
| Primary Use | SEO: Preventing duplicate content issues in paginated lists by adding noindex meta tags to pages 3 and beyond. |
| Usage | Inside a <php> block for logic, or as a {listpagesize3}...{/listpagesize3} wrapper for content. |
| Location | List page templates (e.g., list_article.htm). |
