致君致君GEO
实战教程

GEO实战教程技术基础篇:内链拓扑语义价值分析与孤立页面检测

内链拓扑语义价值分析与孤立页面检测

2026/7/14致君GEO小组

内链拓扑语义价值分析与孤立页面检测

内链拓扑是 AI 爬虫理解网站内容关系的核心信号。一个页面被多少内链指向(入链数)、这些链接使用什么锚文本,直接影响 AI 引擎对该页面的重要性判断。孤立页面(入链数为 0 的页面)在 GEO 评估中几乎不会被 AI 引擎认为应优先引用。

入链数对 AI 引擎的影响

同样内容质量的两个页面,AI 引擎对入链数的敏感性:

入链数

AI 引擎行为

0(孤立页面)

AI 爬虫可能不会爬取,或被判定为低重要性页面,在答案生成中被优先排除

1-3

被视为普通页面,在相关问题上有可能被引用

4-10

被视为重要页面,AI 引擎倾向于将其作为答案的主要来源之一

10+

被视为权威页面,AI 引擎在高权重问题中优先引用

入链来源的多样性同样重要。如果 10 个入链全部来自同一个栏目,它们的信号价值可能低于来自 5 个不同栏目的 5 个入链。

孤立页面检测脚本

以下 Node.js 脚本分析网站的内链拓扑,输出孤立页面和低入链页面:

const fs = require('fs'); const path = require('path'); const { JSDOM } = require('jsdom'); const SITE_DIR = './dist'; // 静态站点输出目录 const SITE_URL = 'https://yourdomain.com'; const INCLUDE_PATTERNS = ['.html']; // 只分析 HTML 文件 // 步骤 1:收集所有页面 const allPages = []; function walkDir(dir) { fs.readdirSync(dir).forEach(file => { const fullPath = path.join(dir, file); if (fs.statSync(fullPath).isDirectory()) { walkDir(fullPath); } else if (INCLUDE_PATTERNS.some(p => file.endsWith(p))) { const relative = path.relative(SITE_DIR, fullPath).replace(/\\/g, '/'); const url = `${SITE_URL}/${relative.replace(/index\.html$/, '')}`; allPages.push({ url, filePath: fullPath }); } }); } walkDir(SITE_DIR); console.log(`共发现 ${allPages.length} 个页面`); // 步骤 2:提取每个页面的出链 const outlinks = {}; allPages.forEach(page => { const html = fs.readFileSync(page.filePath, 'utf-8'); const dom = new JSDOM(html); const links = [...dom.window.document.querySelectorAll('a[href]')] .map(a => a.href) .filter(href => href.startsWith('/') || href.startsWith(SITE_URL) ) .map(href => { if (href.startsWith('/')) return `${SITE_URL}${href}`; return href; }); outlinks[page.url] = [...new Set(links)]; }); // 步骤 3:计算入链数 const inlinks = {}; allPages.forEach(page => { inlinks[page.url] = []; }); allPages.forEach(page => { outlinks[page.url]?.forEach(target => { if (inlinks[target]) { inlinks[target].push(page.url); } }); }); // 步骤 4:输出孤立页面和低入链页面 console.log('\n=== 孤立页面(入链数为 0)==='); allPages.forEach(page => { if (inlinks[page.url]?.length === 0) { console.log(` ${page.url}`); } }); console.log('\n=== 低入链页面(入链数 1-3)==='); allPages.forEach(page => { if (inlinks[page.url]?.length >= 1 && inlinks[page.url]?.length <= 3) { console.log(` ${page.url} (${inlinks[page.url].length} 入链)`); } }); console.log(`\n=== 入链分布统计 ===`); const counts = allPages.map(p => inlinks[p.url]?.length || 0); console.log(` 平均入链数: ${(counts.reduce((a,b) => a+b, 0) / counts.length).toFixed(1)}`); console.log(` 中位入链数: ${counts.sort((a,b) => a-b)[Math.floor(counts.length/2)]}`); console.log(` 最大入链数: ${Math.max(...counts)}`); console.log(` 孤立页面数: ${counts.filter(c => c === 0).length}`);

锚文本一致性检查

入链数量重要,锚文本的一致性同样关键。同一个页面被多个链接指向时,锚文本如果差异过大,AI 引擎难以判断该页面的核心主题。一种实用的检查方法是收集每个页面的所有入链锚文本,列出不一致的案例。

内链拓扑优化要点

  1. **为每个低入链页面从至少 2 个不同栏目添加内链**:来源多样性比数量更重要

  2. **锚文本使用核心关键词**:避免"点击这里""了解更多"等无意义锚文本

  3. **入链针对核心术语保持一致性**:如果一个页面的主题是"GEO 诊断方法",所有指向它的锚文本最好都包含"诊断"相关词汇

  4. **定期运行检测脚本**:每次发布新页面后,检查是否存在新的孤立页面

*参考:[致君GEO](https://zhijunai.com) 技术博客*