geo-technical

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

GEO Technical SEO Audit

GEO技术SEO审计

Purpose

审计目的

Technical SEO forms the foundation of both traditional search visibility and AI search citation. A technically broken site cannot be crawled, indexed, or cited by any platform. This skill audits 8 categories of technical health with specific attention to GEO requirements — most critically, server-side rendering (AI crawlers do not execute JavaScript) and AI crawler access (many sites inadvertently block AI crawlers in robots.txt).
技术SEO是传统搜索曝光和AI搜索引用的基础。存在技术问题的网站无法被任何平台抓取、索引或引用。本技能会审计8类技术健康指标,同时重点关注GEO场景的特定要求——其中最关键的是服务器端渲染(SSR)(AI爬虫不执行JavaScript)和AI爬虫访问权限(许多网站会在robots.txt中无意阻止AI爬虫)。

How to Use This Skill

如何使用本技能

  1. Collect the target URL (homepage + 2-3 key inner pages)
  2. Fetch each page using curl/WebFetch to get raw HTML and HTTP headers
  3. Run through each of the 8 audit categories below
  4. Score each category using the rubric
  5. Generate GEO-TECHNICAL-AUDIT.md with results

  1. 收集目标URL(首页+2-3个核心内页)
  2. 使用curl/WebFetch获取每个页面的原始HTML和HTTP头信息
  3. 按照以下8个审计类别逐一检查
  4. 根据评分标准为每个类别打分
  5. 生成包含审计结果的GEO-TECHNICAL-AUDIT.md文件

Category 1: Crawlability (15 points)

类别1:可抓取性(15分)

1.1 robots.txt Validity

1.1 robots.txt有效性

  • Fetch
    https://[domain]/robots.txt
  • Check for syntactic validity: proper
    User-agent
    ,
    Allow
    ,
    Disallow
    directives
  • Check for common errors: missing User-agent, wildcards blocking important paths, Disallow: / blocking entire site
  • Verify XML sitemap is referenced:
    Sitemap: https://[domain]/sitemap.xml
  • 获取
    https://[domain]/robots.txt
    文件
  • 检查语法有效性:是否包含正确的
    User-agent
    Allow
    Disallow
    指令
  • 排查常见错误:缺少User-agent、通配符阻止重要路径、Disallow: / 阻止整个站点
  • 验证是否引用了XML站点地图:
    Sitemap: https://[domain]/sitemap.xml

1.2 AI Crawler Access (CRITICAL for GEO)

1.2 AI爬虫访问权限(GEO场景关键)

Check robots.txt for directives targeting these AI crawlers:
CrawlerUser-AgentPlatform
GPTBotGPTBotChatGPT / OpenAI
Google-ExtendedGoogle-ExtendedGemini / Google AI training
GooglebotGooglebotGoogle Search + AI Overviews
BingbotbingbotBing Copilot + ChatGPT (via Bing)
PerplexityBotPerplexityBotPerplexity AI
ClaudeBotClaudeBotAnthropic Claude
AmazonbotAmazonbotAlexa / Amazon AI
CCBotCCBotCommon Crawl (used by many AI models)
FacebookBotFacebookExternalHitMeta AI
BytespiderBytespiderTikTok / ByteDance AI
Applebot-ExtendedApplebot-ExtendedApple Intelligence
Scoring for AI crawler access:
  • All major AI crawlers allowed: 5 points
  • Some blocked but Googlebot + Bingbot allowed: 3 points
  • GPTBot or PerplexityBot blocked: 1 point (significant GEO impact)
  • Googlebot blocked: 0 points (fatal)
Important nuance: Blocking Google-Extended does NOT block Googlebot. Google-Extended only controls AI training data usage, not search indexing. However, blocking Google-Extended may reduce presence in AI Overviews. Recommend allowing Google-Extended unless there is a specific data licensing concern.
检查robots.txt中针对以下AI爬虫的指令:
爬虫名称User-Agent标识所属平台
GPTBotGPTBotChatGPT / OpenAI
Google-ExtendedGoogle-ExtendedGemini / Google AI训练
GooglebotGooglebotGoogle搜索 + AI概览
BingbotbingbotBing Copilot + ChatGPT(通过Bing)
PerplexityBotPerplexityBotPerplexity AI
ClaudeBotClaudeBotAnthropic Claude
AmazonbotAmazonbotAlexa / Amazon AI
CCBotCCBotCommon Crawl(被众多AI模型使用)
FacebookBotFacebookExternalHitMeta AI
BytespiderBytespiderTikTok / 字节跳动AI
Applebot-ExtendedApplebot-ExtendedApple Intelligence
AI爬虫访问权限评分标准:
  • 所有主流AI爬虫均被允许:5分
  • 部分被阻止但Googlebot + Bingbot可访问:3分
  • GPTBot或PerplexityBot被阻止:1分(对GEO场景影响显著)
  • Googlebot被阻止:0分(致命问题)
重要说明:阻止Google-Extended不会阻止Googlebot。Google-Extended仅控制AI训练数据的使用,不影响搜索索引。不过,阻止Google-Extended可能会降低在AI概览中的曝光率。除非有特定的数据授权顾虑,否则建议允许Google-Extended访问。

1.3 XML Sitemaps

1.3 XML站点地图

  • Fetch sitemap (check robots.txt for location, or try
    /sitemap.xml
    ,
    /sitemap_index.xml
    )
  • Validate XML syntax
  • Check for
    <lastmod>
    dates (should be present and accurate)
  • Count URLs — compare to expected number of indexable pages
  • Check for sitemap index if large site (50,000+ URLs per sitemap max)
  • Verify all sitemap URLs return 200 status codes (sample check)
  • 获取站点地图(可通过robots.txt查找位置,或尝试
    /sitemap.xml
    /sitemap_index.xml
  • 验证XML语法
  • 检查是否包含
    <lastmod>
    日期(应存在且准确)
  • 统计URL数量——与预期可索引页面数量对比
  • 若为大型站点(每个站点地图最多50000个URL),检查是否使用站点地图索引
  • 验证所有站点地图URL返回200状态码(抽样检查)

1.4 Crawl Depth

1.4 抓取深度

  • Homepage = depth 0. Check that all important pages are reachable within 3 clicks (depth 3)
  • Pages at depth 4+ receive significantly less crawl budget and are less likely to be cited by AI
  • Check internal linking: are key content pages linked from the homepage or main navigation?
  • 首页=深度0。确保所有重要页面可在3次点击内(深度3)到达
  • 深度4及以上的页面会获得更少的抓取预算,被AI引用的可能性更低
  • 检查内部链接:核心内容页面是否从首页或主导航链接?

1.5 Noindex Management

1.5 Noindex管理

  • Check for
    <meta name="robots" content="noindex">
    on pages that SHOULD be indexed
  • Check for
    X-Robots-Tag: noindex
    HTTP headers
  • Common mistakes: noindex on paginated pages, category pages, or key landing pages
Category Scoring:
CheckPoints
robots.txt valid and complete3
AI crawlers allowed5
XML sitemap present and valid3
Crawl depth within 3 clicks2
No erroneous noindex directives2

  • 检查应被索引的页面是否包含
    <meta name="robots" content="noindex">
    标签
  • 检查HTTP头中的
    X-Robots-Tag: noindex
    指令
  • 常见错误:分页页面、分类页面或核心落地页被设置为noindex
类别评分:
检查项分值
robots.txt有效且完整3
AI爬虫被允许访问5
XML站点地图存在且有效3
抓取深度控制在3次点击内2
无错误的noindex指令2

Category 2: Indexability (12 points)

类别2:可索引性(12分)

2.1 Canonical Tags

2.1 规范标签(Canonical Tags)

  • Every indexable page must have a
    <link rel="canonical" href="...">
    tag
  • Canonical must point to itself (self-referencing) for the authoritative version
  • Check for conflicting canonicals (canonical in HTML vs. HTTP header)
  • Check for canonical chains (A canonicals to B, B canonicals to C — should be A to C)
  • 每个可索引页面必须包含
    <link rel="canonical" href="...">
    标签
  • 规范标签应指向页面自身(自引用),以确定权威版本
  • 检查是否存在冲突的规范标签(HTML中的标签与HTTP头中的标签不一致)
  • 检查是否存在规范标签链(A指向B,B指向C——应直接设置为A指向C)

2.2 Duplicate Content

2.2 重复内容

  • Check for www vs. non-www (both should resolve, one should redirect)
  • Check for HTTP vs. HTTPS (HTTP should redirect to HTTPS)
  • Check for trailing slash consistency (pick one pattern and redirect the other)
  • Check for parameter-based duplicates (
    ?sort=price
    creating duplicate pages)
  • 检查www与非www域名(两者应均可访问,其中一个需重定向到另一个)
  • 检查HTTP与HTTPS(HTTP应重定向到HTTPS)
  • 检查斜杠一致性(选择一种格式,将另一种重定向)
  • 检查基于参数的重复内容(如
    ?sort=price
    生成重复页面)

2.3 Pagination

2.3 分页处理

  • If paginated content exists, check for
    rel="next"
    /
    rel="prev"
    (note: Google ignores these as of 2019, but Bing still uses them)
  • Preferred: use
    rel="canonical"
    on paginated pages pointing to a view-all page or the first page
  • Ensure paginated pages are not noindexed if they contain unique content
  • 若存在分页内容,检查是否使用
    rel="next"
    /
    rel="prev"
    标签(注意:Google自2019年起不再使用这些标签,但Bing仍在使用)
  • 推荐方案:在分页页面上使用
    rel="canonical"
    标签指向"查看全部"页面或第一页
  • 若分页页面包含独特内容,确保未被设置为noindex

2.4 Hreflang (international sites)

2.4 Hreflang标签(国际站点)

  • Check for
    <link rel="alternate" hreflang="xx">
    tags
  • Validate: reciprocal hreflang (if page A points to page B, B must point back to A)
  • Validate: x-default fallback exists
  • Check for language/region code validity (ISO 639-1 / ISO 3166-1)
  • 检查是否包含
    <link rel="alternate" hreflang="xx">
    标签
  • 验证:hreflang是否双向关联(若页面A指向页面B,页面B必须指向页面A)
  • 验证:是否存在x-default fallback选项
  • 检查语言/地区代码是否有效(符合ISO 639-1 / ISO 3166-1标准)

2.5 Index Bloat

2.5 索引膨胀

  • Estimate number of indexed pages (check sitemap count, use
    site:domain.com
    estimate)
  • Compare indexed pages to actual valuable content pages
  • Flag if indexed pages significantly exceed content pages (index bloat from thin/duplicate/parameter pages)
Category Scoring:
CheckPoints
Canonical tags correct on all pages3
No duplicate content issues3
Pagination handled correctly2
Hreflang correct (if applicable)2
No index bloat2

  • 估算已索引页面数量(检查站点地图数量,或使用
    site:domain.com
    估算)
  • 将已索引页面数量与实际有价值的内容页面数量对比
  • 若已索引页面数量显著超过内容页面数量,标记为索引膨胀(由低质量/重复/参数页面导致)
类别评分:
检查项分值
所有页面的规范标签设置正确3
无重复内容问题3
分页处理正确2
Hreflang设置正确(若适用)2
无索引膨胀问题2

Category 3: Security (10 points)

类别3:安全性(10分)

3.1 HTTPS Enforcement

3.1 HTTPS强制实施

  • Site must load over HTTPS
  • HTTP must redirect to HTTPS (301 redirect)
  • No mixed content warnings (HTTP resources on HTTPS pages)
  • SSL/TLS certificate must be valid and not expired
  • 站点必须通过HTTPS加载
  • HTTP必须重定向到HTTPS(301永久重定向)
  • 无混合内容警告(HTTPS页面中加载HTTP资源)
  • SSL/TLS证书必须有效且未过期

3.2 Security Headers

3.2 安全头信息

Check HTTP response headers for:
HeaderRequired ValuePurpose
Strict-Transport-Security
max-age=31536000; includeSubDomains
Forces HTTPS
Content-Security-Policy
Appropriate policyPrevents XSS
X-Content-Type-Options
nosniff
Prevents MIME sniffing
X-Frame-Options
DENY
or
SAMEORIGIN
Prevents clickjacking
Referrer-Policy
strict-origin-when-cross-origin
or stricter
Controls referrer data
Permissions-Policy
Appropriate restrictionsControls browser features
Category Scoring:
CheckPoints
HTTPS enforced with valid cert4
HSTS header present2
X-Content-Type-Options1
X-Frame-Options1
Referrer-Policy1
Content-Security-Policy1

检查HTTP响应头是否包含以下内容:
头信息推荐值作用
Strict-Transport-Security
max-age=31536000; includeSubDomains
强制使用HTTPS
Content-Security-Policy
合适的策略防止XSS攻击
X-Content-Type-Options
nosniff
阻止MIME类型嗅探
X-Frame-Options
DENY
SAMEORIGIN
防止点击劫持
Referrer-Policy
strict-origin-when-cross-origin
或更严格的设置
控制引用数据
Permissions-Policy
合适的限制策略控制浏览器功能权限
类别评分:
检查项分值
强制实施HTTPS且证书有效4
存在HSTS头信息2
存在X-Content-Type-Options头1
存在X-Frame-Options头1
存在Referrer-Policy头1
存在Content-Security-Policy头1

Category 4: URL Structure (8 points)

类别4:URL结构(8分)

4.1 Clean URLs

4.1 简洁可读的URL

  • URLs should be human-readable:
    /blog/seo-guide
    not
    /blog?id=12345
  • No session IDs in URLs
  • Lowercase only (no mixed case)
  • Hyphens for word separation (not underscores)
  • No special characters or encoded spaces
  • URL应易于人类阅读:如
    /blog/seo-guide
    而非
    /blog?id=12345
  • URL中不应包含会话ID
  • 仅使用小写字母(避免大小写混合)
  • 使用连字符分隔单词(而非下划线)
  • 无特殊字符或编码空格

4.2 Logical Hierarchy

4.2 逻辑层级

  • URL path should reflect site architecture:
    /category/subcategory/page
  • Flat where appropriate — avoid unnecessarily deep nesting
  • Consistent pattern across the site
  • URL路径应反映站点架构:如
    /category/subcategory/page
  • 必要时采用扁平化结构——避免不必要的深层嵌套
  • 全站保持一致的URL模式

4.3 Redirect Chains

4.3 重定向链

  • Check for redirect chains (A redirects to B redirects to C)
  • Maximum 1 hop recommended (A redirects to C directly)
  • Check for redirect loops
  • All redirects should be 301 (permanent), not 302 (temporary), unless intentionally temporary
  • 检查是否存在重定向链(A重定向到B,B重定向到C)
  • 建议最多1次跳转(A直接重定向到C)
  • 检查是否存在重定向循环
  • 除非是临时需求,否则所有重定向均应使用301(永久)重定向,而非302(临时)重定向

4.4 Parameter Handling

4.4 参数处理

  • URL parameters should not create duplicate indexable pages
  • Use canonical tags or
    robots.txt
    Disallow for parameter variations
  • Configure parameter handling in Google Search Console and Bing Webmaster Tools
Category Scoring:
CheckPoints
Clean, readable URLs2
Logical hierarchy2
No redirect chains (max 1 hop)2
Parameter handling configured2

  • URL参数不应生成可索引的重复页面
  • 使用规范标签或
    robots.txt
    的Disallow指令处理参数变体
  • 在Google Search Console和Bing Webmaster Tools中配置参数处理规则
类别评分:
检查项分值
URL简洁可读2
URL逻辑层级清晰2
无重定向链(最多1次跳转)2
参数处理配置完善2

Category 5: Mobile Optimization (10 points)

类别5:移动端优化(10分)

Critical Context

关键背景

As of July 2024, Google crawls ALL sites exclusively with mobile Googlebot. There is no desktop crawling. If your site does not work on mobile, it does not work for Google. Period.
截至2024年7月,Google仅使用移动端Googlebot抓取所有站点,不再进行桌面端抓取。如果你的站点在移动端无法正常工作,那么对Google来说它就是不可用的,这是硬性要求。

5.1 Responsive Design

5.1 响应式设计

  • Check for
    <meta name="viewport" content="width=device-width, initial-scale=1">
  • Content must not require horizontal scrolling on mobile
  • No fixed-width layouts wider than viewport
  • 检查是否包含
    <meta name="viewport" content="width=device-width, initial-scale=1">
    标签
  • 移动端内容无需横向滚动
  • 无宽于视口的固定宽度布局

5.2 Tap Targets

5.2 点击目标

  • Interactive elements (buttons, links) must be at least 48x48 CSS pixels
  • Minimum 8px spacing between tap targets
  • Check that navigation is usable on mobile
  • 交互元素(按钮、链接)的尺寸至少为48x48 CSS像素
  • 点击目标之间的最小间距为8px
  • 检查移动端导航是否易用

5.3 Font Sizes

5.3 字体大小

  • Base font size should be at least 16px
  • No text requiring zoom to read
  • Sufficient contrast ratio (WCAG AA: 4.5:1 for normal text, 3:1 for large text)
  • 基础字体大小至少为16px
  • 无需缩放即可阅读文本
  • 足够的对比度(WCAG AA标准:普通文本4.5:1,大文本3:1)

5.4 Mobile Content Parity

5.4 移动端内容一致性

  • All content visible on desktop must also be visible on mobile
  • No hidden content behind "read more" toggles that Googlebot cannot expand (though Google has improved at expanding these as of 2025)
  • Images and media must load on mobile
Category Scoring:
CheckPoints
Viewport meta tag correct3
Responsive layout (no horizontal scroll)3
Tap targets appropriately sized2
Font sizes legible2

  • 桌面端可见的所有内容在移动端也必须可见
  • 无隐藏在"查看更多"切换按钮后的内容(Googlebot无法展开此类内容,不过截至2025年Google在这方面的能力已有所提升)
  • 图片和媒体资源可在移动端正常加载
类别评分:
检查项分值
Viewport元标签设置正确3
响应式布局(无横向滚动)3
点击目标尺寸合适2
字体大小清晰可读2

Category 6: Core Web Vitals (15 points)

类别6:核心Web指标(15分)

2026 Metrics and Thresholds

2026年指标及阈值

Core Web Vitals use the 75th percentile of real user data (field data) as the benchmark. Lab data is useful for debugging but field data determines the ranking signal.
MetricGoodNeeds ImprovementPoorNotes
LCP (Largest Contentful Paint)< 2.5s2.5s - 4.0s> 4.0sMeasures loading — time until largest visible element renders
INP (Interaction to Next Paint)< 200ms200ms - 500ms> 500msReplaced FID in March 2024. Measures ALL interactions, not just first
CLS (Cumulative Layout Shift)< 0.10.1 - 0.25> 0.25Measures visual stability — unexpected layout movements
核心Web指标以真实用户数据(现场数据)的第75百分位数为基准。实验室数据可用于调试,但现场数据决定排名权重。
指标优秀需要改进较差说明
LCP(最大内容绘制)< 2.5秒2.5秒 - 4.0秒> 4.0秒衡量加载速度——最大可见元素渲染完成的时间
INP(交互到下一次绘制)< 200毫秒200毫秒 - 500毫秒> 500毫秒2024年3月替代FID。衡量所有交互,而非首次交互
CLS(累积布局偏移)< 0.10.1 - 0.25> 0.25衡量视觉稳定性——意外的布局移动

How to Assess Without CrUX Data

无CrUX数据时的评估方法

When real user data is unavailable, estimate from page characteristics:
  • LCP: Check largest above-fold element. Is it an image (check size/format)? Is it text (check web font loading)? Server response time (TTFB)?
  • INP: Check for heavy JavaScript on page. Long tasks (>50ms) block interactivity. Check for third-party scripts.
  • CLS: Check for images without explicit width/height. Check for dynamically inserted content above the fold. Check for web fonts causing layout shift (FOUT/FOIT).
当无法获取真实用户数据时,可通过页面特征估算:
  • LCP:检查首屏最大元素。是图片(检查大小/格式)?还是文本(检查网页字体加载)?服务器响应时间(TTFB)?
  • INP:检查页面是否包含大量JavaScript。长任务(>50毫秒)会阻塞交互性。检查第三方脚本。
  • CLS:检查图片是否缺少明确的宽/高属性。检查首屏是否有动态插入的内容。检查网页字体是否导致布局偏移(FOUT/FOIT)。

Common LCP Fixes

常见LCP优化方案

  1. Optimize hero images: WebP/AVIF format, correct sizing, preload with
    <link rel="preload">
  2. Reduce server response time (TTFB < 800ms)
  3. Eliminate render-blocking CSS/JS
  4. Preconnect to critical third-party origins
  1. 优化首屏图片:使用WebP/AVIF格式,设置正确尺寸,通过
    <link rel="preload">
    预加载
  2. 缩短服务器响应时间(TTFB < 800毫秒)
  3. 消除阻塞渲染的CSS/JS
  4. 预连接到关键第三方源

Common INP Fixes

常见INP优化方案

  1. Break up long tasks (>50ms) into smaller chunks using
    requestIdleCallback
    or
    scheduler.yield()
  2. Reduce third-party JavaScript
  3. Use
    content-visibility: auto
    for off-screen content
  4. Debounce/throttle event handlers
  1. 使用
    requestIdleCallback
    scheduler.yield()
    将长任务(>50毫秒)拆分为更小的任务块
  2. 减少第三方JavaScript
  3. 对屏幕外内容使用
    content-visibility: auto
  4. 对事件处理函数进行防抖/节流

Common CLS Fixes

常见CLS优化方案

  1. Always include
    width
    and
    height
    attributes on images and videos
  2. Reserve space for ads and embeds with CSS
    aspect-ratio
    or explicit dimensions
  3. Use
    font-display: swap
    with size-adjusted fallback fonts
  4. Avoid inserting content above existing content after page load
Category Scoring:
CheckPoints
LCP < 2.5s5
INP < 200ms5
CLS < 0.15

  1. 始终为图片和视频添加
    width
    height
    属性
  2. 使用CSS
    aspect-ratio
    或明确尺寸为广告和嵌入内容预留空间
  3. 配合尺寸调整后的备用字体使用
    font-display: swap
  4. 避免页面加载后在现有内容上方插入新内容
类别评分:
检查项分值
LCP < 2.5秒5
INP < 200毫秒5
CLS < 0.15

Category 7: Server-Side Rendering (15 points) — CRITICAL FOR GEO

类别7:服务器端渲染(SSR)(15分)——GEO场景关键

Why SSR Is Mandatory for AI Visibility

为何SSR对AI曝光至关重要

AI crawlers (GPTBot, PerplexityBot, ClaudeBot, etc.) do NOT execute JavaScript. They fetch the raw HTML and parse it. If your content is rendered client-side by React, Vue, Angular, or any other JavaScript framework, AI crawlers see an empty page.
Even Googlebot, which does execute JavaScript, deprioritizes JS-rendered content due to the additional crawl budget required. Google processes JS rendering in a separate "rendering queue" that can delay indexing by days or weeks.
AI爬虫(GPTBot、PerplexityBot、ClaudeBot等)不执行JavaScript。它们仅获取原始HTML并进行解析。如果你的内容是通过React、Vue、Angular或其他JavaScript框架在客户端渲染的,AI爬虫看到的将是空白页面。
即使是会执行JavaScript的Googlebot,也会优先处理非JS渲染的内容,因为JS渲染需要额外的抓取预算。Google会在单独的"渲染队列"中处理JS渲染,这可能导致索引延迟数天甚至数周。

Detection Method

检测方法

  1. Fetch the page with curl (no JavaScript execution):
    curl -s [URL]
  2. Compare the raw HTML to the rendered DOM (via browser)
  3. If key content (headings, paragraphs, product info, article text) is MISSING from the curl output, the site relies on client-side rendering
  1. 使用curl获取页面(不执行JavaScript):
    curl -s [URL]
  2. 将原始HTML与浏览器渲染后的DOM进行对比
  3. 如果关键内容(标题、段落、产品信息、文章文本)在curl输出中缺失,则站点依赖客户端渲染

What to Check

检查要点

  • Main content text: Is the article body / product description / page content in the raw HTML?
  • Headings: Are H1, H2, H3 tags present in raw HTML?
  • Navigation: Is the main navigation server-rendered?
  • Structured data: Is JSON-LD in the raw HTML or injected by JavaScript?
  • Meta tags: Are title, description, canonical, OG tags in the raw HTML?
  • Internal links: Are navigation and content links in the raw HTML? (Critical for crawlability)
  • 主要内容文本:文章正文/产品描述/页面内容是否存在于原始HTML中?
  • 标题标签:H1、H2、H3标签是否存在于原始HTML中?
  • 导航:主导航是否为服务器渲染?
  • 结构化数据:JSON-LD是否存在于原始HTML中,还是由JavaScript注入?
  • 元标签:标题、描述、规范标签、OG标签是否存在于原始HTML中?
  • 内部链接:导航和内容链接是否存在于原始HTML中?(对可抓取性至关重要)

SSR Solutions to Recommend

推荐的SSR解决方案

FrameworkSSR Solution
ReactNext.js (SSR/SSG), Remix, Gatsby (SSG)
VueNuxt.js (SSR/SSG)
AngularAngular Universal
SvelteSvelteKit
GenericPrerender.io (prerendering service), Rendertron
框架SSR解决方案
ReactNext.js(SSR/SSG)、Remix、Gatsby(SSG)
VueNuxt.js(SSR/SSG)
AngularAngular Universal
SvelteSvelteKit
通用方案Prerender.io(预渲染服务)、Rendertron

Scoring Detail

评分细节

  • All key content server-rendered: 15 points
  • Main content server-rendered but some elements JS-only: 10 points
  • Critical content requires JS (product info, article text): 5 points
  • Entire page is client-rendered (empty body in raw HTML): 0 points
Category Scoring:
CheckPoints
Main content in raw HTML8
Meta tags + structured data in raw HTML4
Internal links in raw HTML3

  • 所有关键内容均为服务器渲染:15分
  • 主要内容为服务器渲染,但部分元素仅支持JS渲染:10分
  • 关键内容需要JS渲染(如产品信息、文章文本):5分
  • 整个页面为客户端渲染(原始HTML中正文为空):0分
类别评分:
检查项分值
主要内容存在于原始HTML中8
元标签+结构化数据存在于原始HTML中4
内部链接存在于原始HTML中3

Category 8: Page Speed & Server Performance (15 points)

类别8:页面速度与服务器性能(15分)

8.1 Time to First Byte (TTFB)

8.1 首字节时间(TTFB)

  • Target: < 800ms (ideally < 200ms)
  • Measure with curl:
    curl -o /dev/null -s -w 'TTFB: %{time_starttransfer}s\n' [URL]
  • If TTFB > 800ms: check server location, caching, database queries, CDN usage
  • 目标:< 800毫秒(理想状态<200毫秒)
  • 使用curl测量:
    curl -o /dev/null -s -w 'TTFB: %{time_starttransfer}s\n' [URL]
  • 若TTFB > 800毫秒:检查服务器位置、缓存、数据库查询、CDN使用情况

8.2 Resource Optimization

8.2 资源优化

  • Total page weight target: < 2MB (critical pages < 1MB)
  • Check for uncompressed resources (gzip/brotli compression should be enabled)
  • Check for unminified CSS and JavaScript
  • Check for unused CSS/JS (can represent 50%+ of downloaded bytes on many sites)
  • 页面总大小目标:< 2MB(核心页面<1MB)
  • 检查是否存在未压缩的资源(应启用gzip/brotli压缩)
  • 检查是否存在未压缩的CSS和JavaScript
  • 检查是否存在未使用的CSS/JS(在许多站点中,这部分可能占下载字节的50%以上)

8.3 Image Optimization

8.3 图片优化

  • Check image formats: WebP or AVIF preferred over JPEG/PNG
  • Check for oversized images (images larger than display size)
  • Check for lazy loading: images below fold should have
    loading="lazy"
  • Check for explicit dimensions (width/height attributes prevent CLS)
  • Above-fold images should NOT be lazy loaded (harms LCP)
  • 检查图片格式:优先使用WebP或AVIF,而非JPEG/PNG
  • 检查是否存在过大的图片(图片尺寸大于显示尺寸)
  • 检查是否启用懒加载:首屏以下的图片应添加
    loading="lazy"
    属性
  • 检查是否包含明确的宽/高属性(防止CLS)
  • 首屏图片不应启用懒加载(会影响LCP)

8.4 Code Splitting and Lazy Loading

8.4 代码分割与懒加载

  • JavaScript should be code-split so each page only loads what it needs
  • Check for large JavaScript bundles (> 200KB compressed is a warning, > 500KB is critical)
  • Third-party scripts should load asynchronously (
    async
    or
    defer
    )
  • Check for render-blocking resources in
    <head>
  • JavaScript应进行代码分割,确保每个页面仅加载所需的代码
  • 检查是否存在过大的JavaScript包(压缩后>200KB为警告,>500KB为严重问题)
  • 第三方脚本应异步加载(使用
    async
    defer
    属性)
  • 检查
    <head>
    中是否存在阻塞渲染的资源

8.5 Caching

8.5 缓存设置

  • Check
    Cache-Control
    headers on static resources (images, CSS, JS)
  • Static assets should have long cache times:
    max-age=31536000
    (1 year) with content-hashed filenames
  • HTML pages should have shorter cache or
    no-cache
    with validation (
    ETag
    or
    Last-Modified
    )
  • 检查静态资源(图片、CSS、JS)的
    Cache-Control
    头信息
  • 静态资源应设置长缓存时间:
    max-age=31536000
    (1年),并使用带内容哈希的文件名
  • HTML页面应设置较短的缓存时间或
    no-cache
    ,并配合验证机制(
    ETag
    Last-Modified

8.6 CDN Usage

8.6 CDN使用

  • Check if static resources are served from a CDN (different domain or CDN-specific headers)
  • For global audience, CDN is critical for consistent performance
  • Check for CDN-specific headers:
    CF-Ray
    (Cloudflare),
    X-Cache
    (AWS CloudFront),
    X-Served-By
    (Fastly)
Category Scoring:
CheckPoints
TTFB < 800ms3
Page weight < 2MB2
Images optimized (format, size, lazy)3
JS bundles reasonable (< 200KB compressed)2
Compression enabled (gzip/brotli)2
Cache headers on static resources2
CDN in use1

  • 检查静态资源是否通过CDN提供服务(不同域名或CDN专属头信息)
  • 面向全球受众的站点,CDN对保持一致性能至关重要
  • 检查CDN专属头信息:
    CF-Ray
    (Cloudflare)、
    X-Cache
    (AWS CloudFront)、
    X-Served-By
    (Fastly)
类别评分:
检查项分值
TTFB < 800毫秒3
页面大小 < 2MB2
图片优化到位(格式、尺寸、懒加载)3
JS包大小合理(压缩后<200KB)2
启用压缩(gzip/brotli)2
静态资源缓存头设置正确2
使用CDN1

IndexNow Protocol

IndexNow协议

What It Is

什么是IndexNow

IndexNow is an open protocol that allows websites to notify search engines instantly when content is created, updated, or deleted. Supported by Bing, Yandex, Seznam, and Naver. Google does NOT support IndexNow but monitors the protocol.
IndexNow是一种开放协议,允许网站在内容创建、更新或删除时立即通知搜索引擎。Bing、Yandex、Seznam和Naver均支持该协议。Google目前不支持IndexNow,但会对其进行监控。

Why It Matters for GEO

为何对GEO场景重要

ChatGPT uses Bing's index. Bing Copilot uses Bing's index. Faster Bing indexing means faster AI visibility on two major platforms.
ChatGPT使用Bing的索引,Bing Copilot也使用Bing的索引。更快的Bing索引意味着在两大平台上的AI曝光速度更快。

Implementation Check

实施检查

  1. Check for IndexNow key file:
    https://[domain]/.well-known/indexnow-key.txt
    or similar
  2. Check if CMS has IndexNow plugin (WordPress: IndexNow plugin; many modern CMS platforms support it natively)
  3. If not implemented, recommend adding it with instructions

  1. 检查是否存在IndexNow密钥文件:
    https://[domain]/.well-known/indexnow-key.txt
    或类似路径
  2. 检查CMS是否有IndexNow插件(WordPress:IndexNow插件;许多现代CMS平台原生支持)
  3. 若未实施,建议添加并提供相关指导

Overall Scoring

整体评分

CategoryMax PointsWeight
Crawlability15Core foundation
Indexability12Core foundation
Security10Trust signal
URL Structure8Crawl efficiency
Mobile Optimization10Google requirement
Core Web Vitals15Ranking signal
Server-Side Rendering15GEO critical
Page Speed & Server15Performance
Total100
类别最高分权重
可抓取性15核心基础
可索引性12核心基础
安全性10信任信号
URL结构8抓取效率
移动端优化10Google硬性要求
核心Web指标15排名信号
服务器端渲染15GEO场景关键
页面速度与服务器性能15性能指标
总分100

Score Interpretation

分数解读

  • 90-100: Excellent — technically sound for both traditional SEO and GEO
  • 70-89: Good — minor issues to address but fundamentally solid
  • 50-69: Needs Work — significant technical debt impacting visibility
  • 30-49: Poor — major issues blocking crawling, indexing, or AI visibility
  • 0-29: Critical — fundamental technical failures requiring immediate attention

  • 90-100分:优秀——技术层面完全适配传统SEO和GEO场景
  • 70-89分:良好——存在小问题需修复,但整体基础扎实
  • 50-69分:需要改进——存在显著技术债务,影响曝光
  • 30-49分:较差——存在重大问题,阻碍抓取、索引或AI曝光
  • 0-29分:严重——存在根本性技术故障,需立即修复

Output Format

输出格式

Generate GEO-TECHNICAL-AUDIT.md with:
markdown
undefined
生成GEO-TECHNICAL-AUDIT.md文件,内容如下:
markdown
undefined

GEO Technical SEO Audit — [Domain]

GEO技术SEO审计 —— [域名]

Date: [Date]
日期: [审计日期]

Technical Score: XX/100

技术评分: XX/100

Score Breakdown

分数明细

CategoryScoreStatus
CrawlabilityXX/15Pass/Warn/Fail
IndexabilityXX/12Pass/Warn/Fail
SecurityXX/10Pass/Warn/Fail
URL StructureXX/8Pass/Warn/Fail
Mobile OptimizationXX/10Pass/Warn/Fail
Core Web VitalsXX/15Pass/Warn/Fail
Server-Side RenderingXX/15Pass/Warn/Fail
Page Speed & ServerXX/15Pass/Warn/Fail
Status: Pass = 80%+ of category points, Warn = 50-79%, Fail = <50%
类别得分状态
可抓取性XX/15通过/警告/失败
可索引性XX/12通过/警告/失败
安全性XX/10通过/警告/失败
URL结构XX/8通过/警告/失败
移动端优化XX/10通过/警告/失败
核心Web指标XX/15通过/警告/失败
服务器端渲染XX/15通过/警告/失败
页面速度与服务器性能XX/15通过/警告/失败
状态说明:通过=获得类别80%及以上分数,警告=获得50%-79%分数,失败=获得不足50%分数

AI Crawler Access

AI爬虫访问权限

CrawlerUser-AgentStatusRecommendation
GPTBotGPTBotAllowed/Blocked[Action]
GooglebotGooglebotAllowed/Blocked[Action]
[Continue for all AI crawlers]
爬虫名称User-Agent标识状态建议
GPTBotGPTBot允许/阻止[操作建议]
GooglebotGooglebot允许/阻止[操作建议]
[继续列出所有AI爬虫]

Critical Issues (fix immediately)

严重问题(立即修复)

[List with specific page URLs and what is wrong]
[列出具体页面URL及问题描述]

Warnings (fix this month)

警告(本月内修复)

[List with details]
[列出详细问题]

Recommendations (optimize this quarter)

优化建议(本季度内完成)

[List with details]
[列出详细建议]

Detailed Findings

详细审计结果

[Per-category breakdown with evidence]
undefined
[按类别细分,附证据]
undefined