本文约 4,694 字,预计阅读 12 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:收录了首页,其余页面全军覆没
一位站长做了个设计资源导航,收录了 800 多个站点,内容质量自认不差。但 Search Console 里显示:只有首页和 12 个页面被索引,其余近 800 个详情页全部是”已抓取,但目前未编入索引”。更难受的是,站点整体排名也很差,搜”设计导航”翻十页都找不到自己。
原因不复杂:这些详情页对搜索引擎来说几乎一模一样——标题是站点名,正文是一个链接加一句简介,其余全是模板。搜索引擎抓取后会判定这些页面”内容单薄、缺乏独立价值”,进而只索引少数几个,把抓取预算留给其他站点。这是所有聚合型站点(导航、目录、榜单、黄页)的通病,解决办法不是”多加点关键词”,而是让每个页面都携带独一无二的增量信息。
原理分析:搜索引擎怎么判断”低质聚合页”
搜索引擎评估一个页面,核心看它是否提供了”独立价值”。对于导航站的一个站点详情页,纯模板输出意味着:不同 URL 的内容差异仅体现在站点名和 URL 上,正文实质为空。这类页面在算法里通常被归入” doorway pages(门页)”或”thin content(单薄内容)”的范畴。
判断标准可以量化:一个详情页如果去掉模板部分(导航、页脚、侧栏、相关推荐)后,剩余原创内容不足 200 字,基本可以判定为单薄。
| 页面形态 | 独立价值 | 收录预期 |
|---|---|---|
| 仅名称 + 链接 | 极低 | 不收录 |
| 名称 + 链接 + 50 字简介 | 低 | 少量收录 |
| 名称 + 链接 + 300 字测评 + 截图 | 中 | 大部分收录 |
| 加使用教程、替代方案、更新记录 | 高 | 稳定收录并获排名 |
因此导航站的 SEO 策略不是”堆链接数量”,而是”给每个链接页面配一份独特内容”,并让分类页承担主要排名任务(因为分类页天然聚合了一组相关内容,信息密度更高)。
保姆级实操
步骤 1:确定收录优先级,只对高质量页面开放索引。 没写测评的占位条目一律 noindex,避免拉低整站质量分。
add_filter( 'wp_robots', 'mimangfei_nav_noindex' );
function mimangfei_nav_noindex( $robots ) {
if ( is_singular( 'nav_site' ) ) {
$desc = get_post_meta( get_queried_object_id(), '_site_desc', true );
if ( mb_strlen( wp_strip_all_tags( $desc ) ) < 120 ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
}
// 标签页与日期归档同样不索引,避免重复
if ( is_date() || is_author() ) {
$robots['noindex'] = true;
}
return $robots;
}
步骤 2:给分类页补原创导语。 分类描述是导航站最容易被忽略、也最有效的差异化内容。在”网址分类”编辑页填写 150–300 字说明,讲清这个分类收录什么、怎么挑的。
add_action( 'nav_cat_edit_form_fields', function ( $term ) {
?>
<tr class="form-field">
<th scope="row"><label for="nav_cat_intro">分类导语</label></th>
<td>
<textarea name="nav_cat_intro" id="nav_cat_intro" rows="4" cols="50"><?php
echo esc_textarea( get_term_meta( $term->term_id, '_cat_intro', true ) );
?></textarea>
<p class="description">填写 150–300 字,说明本分类的收录标准。</p>
</td>
</tr>
<?php
} );
add_action( 'edited_nav_cat', function ( $term_id ) {
if ( isset( $_POST['nav_cat_intro'] ) ) {
update_term_meta( $term_id, '_cat_intro', sanitize_textarea_field( $_POST['nav_cat_intro'] ) );
}
} );
步骤 3:给分类页加 ItemList 结构化数据。 让搜索结果有概率展示更丰富的摘要。
add_action( 'wp_head', function () {
if ( ! is_tax( 'nav_cat' ) ) {
return;
}
$term = get_queried_object();
$sites = get_posts( array(
'post_type' => 'nav_site',
'posts_per_page' => 20,
'tax_query' => array( array(
'taxonomy' => 'nav_cat',
'field' => 'term_id',
'terms' => $term->term_id,
) ),
) );
$items = array();
foreach ( $sites as $i => $s ) {
$items[] = array(
'@type' => 'ListItem',
'position' => $i + 1,
'name' => get_the_title( $s ),
'url' => get_post_meta( $s->ID, '_site_url', true ),
);
}
$json = array(
'@context' => 'https://schema.org',
'@type' => 'ItemList',
'name' => $term->name,
'itemListElement' => $items,
);
echo '<script type="application/ld+json">' . wp_json_encode( $json ) . '</script>';
} );
步骤 4:外链统一加 nofollow 与 noopener。 导航站本质是外链集合,全部 dofollow 容易被判定为链接农场。
add_filter( 'the_content', 'mimangfei_nav_link_rel' );
function mimangfei_nav_link_rel( $content ) {
if ( ! is_singular( 'nav_site' ) ) {
return $content;
}
return str_replace(
'<a href=',
'<a rel="nofollow noopener" target="_blank" href=',
$content
);
}
步骤 5:控制列表页分页与重复标题。 分页标题加页码,避免几十个页面标题完全一致。
add_filter( 'document_title_parts', function ( $parts ) {
$paged = get_query_var( 'paged' );
if ( $paged > 1 ) {
$parts['title'] .= '(第 ' . (int) $paged . ' 页)';
}
return $parts;
} );
步骤 6:建立死链巡检。 每周用脚本探测,把连续三次非 200 的条目自动转草稿。
常见踩坑
- 一口气把上千条链接全部设为可索引,结果整站被判定为低质聚合。
- 分类描述留空,几十个分类页长得一模一样。
- 外链全部
dofollow,有被判为链接农场的风险。 - 分页标题重复,Search Console 里”重复的标题标记”成百上千。
- 结构化数据手写 JSON 未转义,导致 HTML 输出破损(应使用
wp_json_encode())。 - 案例:某导航站为了快速起量,用采集脚本一次性导入 5000 条链接,每条只有站点名和一个 URL,正文不足 30 字。三个月后整站日搜索流量不足 20,且首页排名也掉了。复盘后删掉了 4000 条低质条目,只对 200 条写了原创测评的页面开放索引,半年后这 200 个页面带来的流量反而超过了之前的 5000 条。
- 只做首页优化,忽略了分类页才是导航站的主要排名入口。
- 死链不清理,搜索引擎抓取到大量 404,影响整站抓取评价。
总结
导航站 SEO 的判断标准很直接:把任意两个详情页的正文(去掉模板)放在一起对比,看是否存在实质差异;如果差异只有站点名,说明该页面还不该被索引。行动清单:① 低质量条目一律 noindex;② 分类页写 150–300 字导语;③ 详情页至少 200 字原创;④ 外链统一 nofollow + noopener;⑤ 分页标题加页码;⑥ 每周巡检死链。内容与合规层面的做法还可参考 导航站商业化与合规、导航站链接批量导入 与 WordPress 结构化数据教程。
