seo-optimizer
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSEO Optimizer
SEO优化器
Overview
概述
Optimize websites for search engine visibility through technical SEO, on-page optimization, structured data implementation, and Core Web Vitals performance tuning. This skill covers crawlability, indexability, meta tag strategy, Schema.org markup, sitemap generation, canonical URL management, internationalization (hreflang), and performance optimization for Google's ranking signals.
Apply this skill whenever a site needs better organic search performance, whether for a single page audit or a full-site overhaul.
通过技术SEO、页面内优化、结构化数据落地、Core Web Vitals性能调优,提升网站的搜索引擎可见性。本技能覆盖可爬取性、可索引性、元标签策略、Schema.org标记、站点地图生成、规范URL管理、国际化(hreflang)以及针对谷歌排名信号的性能优化。
无论是单页审计还是整站改造,只要站点需要提升自然搜索表现,都可以应用本技能。
Multi-Phase Process
多阶段流程
Phase 1: Technical Audit
阶段1:技术审计
- Crawl the site (Screaming Frog, Sitebulb, or custom script)
- Check robots.txt and XML sitemap validity
- Identify crawl errors, redirect chains, and broken links
- Verify canonical URLs and duplicate content handling
- Assess mobile-friendliness and responsive design
- Check HTTPS implementation and mixed content
- Evaluate page load performance (Core Web Vitals)
STOP — Do NOT proceed to Phase 2 until audit findings are documented and prioritized.
- 爬取站点(Screaming Frog、Sitebulb或自定义脚本)
- 检查robots.txt和XML站点地图有效性
- 识别爬取错误、重定向链和坏链
- 验证规范URL和重复内容处理逻辑
- 评估移动端友好性和响应式设计适配
- 检查HTTPS实现和混合内容问题
- 评估页面加载性能(Core Web Vitals)
停止 —— 审计发现已完成记录和优先级排序前,请勿进入阶段2。
Phase 2: On-Page Optimization
阶段2:页面内优化
- Audit title tags (unique, 50-60 chars, keyword placement)
- Review meta descriptions (unique, 150-160 chars, compelling CTAs)
- Analyze heading hierarchy (single H1, logical H2-H6 structure)
- Optimize image alt text and file names
- Review internal linking structure and anchor text
- Check URL structure (short, descriptive, hyphenated)
- Validate Open Graph and Twitter Card tags
STOP — Do NOT proceed to Phase 3 until on-page changes are implemented and verified.
- 审计标题标签(唯一、50-60字符、关键词布局合理)
- 审查元描述(唯一、150-160字符、有吸引力的行动号召)
- 分析标题层级(单个H1、逻辑清晰的H2-H6结构)
- 优化图片alt文本和文件名
- 审查内链结构和锚文本
- 检查URL结构(简短、描述性、使用连字符分隔)
- 验证Open Graph和Twitter Card标签
停止 —— 页面内修改落地并验证通过前,请勿进入阶段3。
Phase 3: Structured Data Implementation
阶段3:结构化数据落地
- Identify applicable Schema.org types for content
- Implement JSON-LD structured data
- Validate with Google Rich Results Test
- Test for rich snippet eligibility
- Monitor Search Console for structured data errors
STOP — Do NOT proceed to Phase 4 until structured data passes validation.
- 识别内容适配的Schema.org类型
- 实现JSON-LD结构化数据
- 用谷歌富结果测试工具验证
- 测试富片段适配资格
- 监控Search Console的结构化数据错误
停止 —— 结构化数据验证通过前,请勿进入阶段4。
Phase 4: Monitoring and Iteration
阶段4:监控与迭代
- Set up Google Search Console monitoring
- Track Core Web Vitals over time
- Monitor indexation status and coverage
- Review search performance (clicks, impressions, CTR, position)
- Set up alerts for crawl errors and ranking drops
- 配置谷歌Search Console监控
- 长期跟踪Core Web Vitals变化
- 监控索引状态和覆盖范围
- 复盘搜索表现(点击量、曝光量、CTR、排名)
- 配置爬取错误和排名下跌告警
Audit Priority Decision Table
审计优先级决策表
| Finding | Severity | Fix Priority | Impact |
|---|---|---|---|
| No HTTPS / mixed content | Critical | Immediate | Ranking penalty, trust signals |
| Missing canonical URLs | Critical | Immediate | Duplicate content dilution |
| Broken redirect chains (3+ hops) | High | This sprint | Crawl budget waste, link equity loss |
| Missing or duplicate title tags | High | This sprint | CTR drop, ranking confusion |
| No structured data | Medium | Next sprint | Missing rich snippets |
| Missing alt text on images | Medium | Next sprint | Accessibility and image search loss |
| Suboptimal Core Web Vitals | Medium | Next sprint | Ranking signal, user experience |
| Missing hreflang tags (multi-language) | Low | Backlog | Geo-targeting issues |
| Non-descriptive URL slugs | Low | Backlog | Minor ranking and CTR effect |
| 发现问题 | 严重程度 | 修复优先级 | 影响 |
|---|---|---|---|
| 无HTTPS / 混合内容 | 严重 | 立即修复 | 排名惩罚、信任信号受损 |
| 缺失规范URL | 严重 | 立即修复 | 重复内容权重稀释 |
| 重定向链过长(3跳及以上) | 高 | 本迭代 | 爬取预算浪费、链接权重流失 |
| 标题标签缺失或重复 | 高 | 本迭代 | CTR下跌、排名识别混乱 |
| 无结构化数据 | 中 | 下迭代 | 错失富片段展示机会 |
| 图片缺失alt文本 | 中 | 下迭代 | 可访问性受损、图片搜索流量流失 |
| Core Web Vitals未达最优 | 中 | 下迭代 | 排名信号受损、用户体验下降 |
| 缺失hreflang标签(多语言站点) | 低 | 待办队列 | 地域定向问题 |
| URL slug无描述性 | 低 | 待办队列 | 对排名和CTR影响较小 |
Meta Tag Reference
元标签参考
Essential Meta Tags
核心元标签
html
<head>
<!-- Primary -->
<title>Primary Keyword - Secondary Keyword | Brand Name</title>
<meta name="description" content="Compelling 150-160 char description with target keyword and clear value proposition.">
<link rel="canonical" href="https://example.com/page">
<!-- Robots -->
<meta name="robots" content="index, follow">
<!-- or noindex, nofollow for pages that shouldn't be indexed -->
<!-- Viewport (mobile) -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:title" content="Page Title for Social Sharing">
<meta property="og:description" content="Description optimized for social sharing.">
<meta property="og:image" content="https://example.com/og-image.jpg">
<meta property="og:url" content="https://example.com/page">
<meta property="og:site_name" content="Brand Name">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Page Title">
<meta name="twitter:description" content="Twitter-optimized description.">
<meta name="twitter:image" content="https://example.com/twitter-image.jpg">
<!-- Internationalization -->
<link rel="alternate" hreflang="en" href="https://example.com/en/page">
<link rel="alternate" hreflang="de" href="https://example.com/de/page">
<link rel="alternate" hreflang="x-default" href="https://example.com/page">
</head>html
<head>
<!-- Primary -->
<title>Primary Keyword - Secondary Keyword | Brand Name</title>
<meta name="description" content="Compelling 150-160 char description with target keyword and clear value proposition.">
<link rel="canonical" href="https://example.com/page">
<!-- Robots -->
<meta name="robots" content="index, follow">
<!-- or noindex, nofollow for pages that shouldn't be indexed -->
<!-- Viewport (mobile) -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:title" content="Page Title for Social Sharing">
<meta property="og:description" content="Description optimized for social sharing.">
<meta property="og:image" content="https://example.com/og-image.jpg">
<meta property="og:url" content="https://example.com/page">
<meta property="og:site_name" content="Brand Name">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Page Title">
<meta name="twitter:description" content="Twitter-optimized description.">
<meta name="twitter:image" content="https://example.com/twitter-image.jpg">
<!-- Internationalization -->
<link rel="alternate" hreflang="en" href="https://example.com/en/page">
<link rel="alternate" hreflang="de" href="https://example.com/de/page">
<link rel="alternate" hreflang="x-default" href="https://example.com/page">
</head>Meta Tag Optimization Matrix
元标签优化矩阵
| Element | Max Length | Priority Keywords | Common Mistakes |
|---|---|---|---|
| Title tag | 50-60 chars | Front-load primary keyword | Too long, keyword stuffing, duplicate |
| Meta description | 150-160 chars | Include CTA and keyword | Missing, duplicate, no CTA |
| H1 | N/A (single per page) | Primary keyword variation | Multiple H1s, missing H1 |
| URL slug | 3-5 words | Target keyword | Too long, parameters, underscores |
| Image alt | 125 chars | Descriptive, keyword if natural | Empty, "image of...", keyword stuffing |
| OG title | 60-90 chars | Engaging, shareable | Same as title tag (missed opportunity) |
| 元素 | 最大长度 | 优先级关键词 | 常见错误 |
|---|---|---|---|
| 标题标签 | 50-60字符 | 前置核心关键词 | 过长、关键词堆砌、重复 |
| 元描述 | 150-160字符 | 包含CTA和关键词 | 缺失、重复、无CTA |
| H1 | 无限制(每页仅一个) | 核心关键词变体 | 多个H1、缺失H1 |
| URL slug | 3-5个词 | 目标关键词 | 过长、带参数、使用下划线分隔 |
| 图片alt文本 | 125字符 | 描述性、自然融入关键词 | 为空、使用「图片的...」、关键词堆砌 |
| OG标题 | 60-90字符 | 有吸引力、适合分享 | 和页面标题完全一致(浪费曝光机会) |
Structured Data (JSON-LD)
结构化数据(JSON-LD)
Article
文章
html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Optimize Core Web Vitals",
"author": {
"@type": "Person",
"name": "Jane Smith",
"url": "https://example.com/authors/jane-smith"
},
"datePublished": "2026-03-01",
"dateModified": "2026-03-15",
"image": "https://example.com/images/article-hero.jpg",
"publisher": {
"@type": "Organization",
"name": "Example Blog",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"description": "A comprehensive guide to improving LCP, FID, and CLS scores."
}
</script>html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Optimize Core Web Vitals",
"author": {
"@type": "Person",
"name": "Jane Smith",
"url": "https://example.com/authors/jane-smith"
},
"datePublished": "2026-03-01",
"dateModified": "2026-03-15",
"image": "https://example.com/images/article-hero.jpg",
"publisher": {
"@type": "Organization",
"name": "Example Blog",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"description": "A comprehensive guide to improving LCP, FID, and CLS scores."
}
</script>Product
产品
html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Widget Pro",
"description": "Professional-grade widget for enterprise use.",
"image": "https://example.com/widget-pro.jpg",
"brand": { "@type": "Brand", "name": "WidgetCo" },
"offers": {
"@type": "Offer",
"price": "49.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/widget-pro"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "312"
}
}
</script>html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Widget Pro",
"description": "Professional-grade widget for enterprise use.",
"image": "https://example.com/widget-pro.jpg",
"brand": { "@type": "Brand", "name": "WidgetCo" },
"offers": {
"@type": "Offer",
"price": "49.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/widget-pro"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "312"
}
}
</script>FAQ Page
FAQ页面
html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is Core Web Vitals?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Core Web Vitals are a set of metrics that measure real-world user experience for loading, interactivity, and visual stability."
}
}
]
}
</script>html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is Core Web Vitals?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Core Web Vitals are a set of metrics that measure real-world user experience for loading, interactivity, and visual stability."
}
}
]
}
</script>Schema Type Decision Guide
Schema类型选择指南
| Content Type | Schema Type | Rich Result |
|---|---|---|
| Blog post | Article | Article snippet |
| Product page | Product | Price, rating, availability |
| FAQ section | FAQPage | Expandable Q&A |
| How-to guide | HowTo | Step-by-step snippet |
| Recipe | Recipe | Image, time, rating |
| Event | Event | Date, location, price |
| Local business | LocalBusiness | Map pack, hours |
| Software | SoftwareApplication | Rating, price |
| Breadcrumbs | BreadcrumbList | Breadcrumb trail |
| Video | VideoObject | Thumbnail, duration |
| 内容类型 | Schema类型 | 富结果类型 |
|---|---|---|
| 博客文章 | Article | 文章片段 |
| 产品页面 | Product | 价格、评分、库存状态 |
| FAQ模块 | FAQPage | 可展开问答 |
| 操作指南 | HowTo | 分步片段 |
| 食谱 | Recipe | 图片、耗时、评分 |
| 活动 | Event | 日期、地点、价格 |
| 本地商家 | LocalBusiness | 地图卡片、营业时间 |
| 软件 | SoftwareApplication | 评分、价格 |
| 面包屑 | BreadcrumbList | 面包屑导航 |
| 视频 | VideoObject | 缩略图、时长 |
Core Web Vitals
Core Web Vitals
Metrics and Thresholds
指标与阈值
| Metric | Good | Needs Improvement | Poor | Measures |
|---|---|---|---|---|
| LCP (Largest Contentful Paint) | <= 2.5s | <= 4.0s | > 4.0s | Loading performance |
| INP (Interaction to Next Paint) | <= 200ms | <= 500ms | > 500ms | Interactivity |
| CLS (Cumulative Layout Shift) | <= 0.1 | <= 0.25 | > 0.25 | Visual stability |
| 指标 | 优秀 | 待改进 | 较差 | 衡量维度 |
|---|---|---|---|---|
| LCP(最大内容绘制) | <= 2.5s | <= 4.0s | > 4.0s | 加载性能 |
| INP(交互到下一次绘制) | <= 200ms | <= 500ms | > 500ms | 交互性 |
| CLS(累积布局偏移) | <= 0.1 | <= 0.25 | > 0.25 | 视觉稳定性 |
LCP Optimization
LCP优化
html
<!-- Preload hero image -->
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high">
<!-- Use modern image formats -->
<picture>
<source srcset="/hero.avif" type="image/avif">
<source srcset="/hero.webp" type="image/webp">
<img src="/hero.jpg" alt="Hero description" width="1200" height="600"
fetchpriority="high" decoding="async">
</picture>html
<!-- Preload hero image -->
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high">
<!-- Use modern image formats -->
<picture>
<source srcset="/hero.avif" type="image/avif">
<source srcset="/hero.webp" type="image/webp">
<img src="/hero.jpg" alt="Hero description" width="1200" height="600"
fetchpriority="high" decoding="async">
</picture>CLS Prevention
CLS预防
css
/* Always set dimensions on images and video */
img, video {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}
/* Reserve space for dynamic content */
.ad-slot {
min-height: 250px;
}
/* Avoid inserting content above existing content */
.notification-bar {
position: fixed; /* doesn't shift layout */
}css
/* Always set dimensions on images and video */
img, video {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}
/* Reserve space for dynamic content */
.ad-slot {
min-height: 250px;
}
/* Avoid inserting content above existing content */
.notification-bar {
position: fixed; /* doesn't shift layout */
}INP Optimization
INP优化
javascript
// Break long tasks with yield
async function processLargeDataset(data) {
for (let i = 0; i < data.length; i++) {
processItem(data[i]);
if (i % 100 === 0) {
await new Promise(resolve => setTimeout(resolve, 0)); // yield to main thread
}
}
}
// Use requestIdleCallback for non-critical work
requestIdleCallback(() => {
loadAnalytics();
initNonCriticalFeatures();
});javascript
// Break long tasks with yield
async function processLargeDataset(data) {
for (let i = 0; i < data.length; i++) {
processItem(data[i]);
if (i % 100 === 0) {
await new Promise(resolve => setTimeout(resolve, 0)); // yield to main thread
}
}
}
// Use requestIdleCallback for non-critical work
requestIdleCallback(() => {
loadAnalytics();
initNonCriticalFeatures();
});XML Sitemap
XML站点地图
Generation Pattern
生成规范
xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2026-03-15</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/products</loc>
<lastmod>2026-03-14</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2026-03-15</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/products</loc>
<lastmod>2026-03-14</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>Sitemap Best Practices
站点地图最佳实践
- Maximum 50,000 URLs per sitemap file
- Use sitemap index for larger sites
- Include only canonical, indexable URLs
- Update only when content genuinely changes
lastmod - Submit via Google Search Console and robots.txt
- 每个站点地图文件最多包含50000个URL
- 大型站点使用站点地图索引文件
- 仅包含规范的可索引URL
- 仅当内容真正更新时才修改
lastmod - 通过谷歌Search Console和robots.txt提交
robots.txt Template
robots.txt模板
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?filter=
Sitemap: https://example.com/sitemap.xmlUser-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?filter=
Sitemap: https://example.com/sitemap.xmlNext.js / React SEO Patterns
Next.js / React SEO 最佳实践
Next.js Metadata API (App Router)
Next.js Metadata API(App Router)
typescript
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: {
template: '%s | Brand Name',
default: 'Brand Name - Tagline',
},
description: 'Site-wide default description.',
openGraph: {
type: 'website',
locale: 'en_US',
url: 'https://example.com',
siteName: 'Brand Name',
},
twitter: {
card: 'summary_large_image',
},
robots: {
index: true,
follow: true,
},
alternates: {
canonical: 'https://example.com',
},
};typescript
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: {
template: '%s | Brand Name',
default: 'Brand Name - Tagline',
},
description: 'Site-wide default description.',
openGraph: {
type: 'website',
locale: 'en_US',
url: 'https://example.com',
siteName: 'Brand Name',
},
twitter: {
card: 'summary_large_image',
},
robots: {
index: true,
follow: true,
},
alternates: {
canonical: 'https://example.com',
},
};Dynamic Metadata per Page
页面级动态Metadata
typescript
export async function generateMetadata({ params }): Promise<Metadata> {
const product = await getProduct(params.slug);
return {
title: product.name,
description: product.description.slice(0, 160),
openGraph: {
title: product.name,
description: product.description.slice(0, 200),
images: [{ url: product.image, width: 1200, height: 630 }],
},
};
}typescript
export async function generateMetadata({ params }): Promise<Metadata> {
const product = await getProduct(params.slug);
return {
title: product.name,
description: product.description.slice(0, 160),
openGraph: {
title: product.name,
description: product.description.slice(0, 200),
images: [{ url: product.image, width: 1200, height: 630 }],
},
};
}Anti-Patterns / Common Mistakes
反模式/常见错误
| Anti-Pattern | Why It Fails | What To Do Instead |
|---|---|---|
| Keyword stuffing in titles/content | Triggers spam filters, reduces CTR | Use primary keyword once naturally, add variations |
| Same title/description across pages | Duplicate content signals, wasted opportunity | Unique, page-specific meta for every indexable URL |
| Blocking CSS/JS in robots.txt | Googlebot cannot render pages | Allow all rendering resources |
| Structured data mismatching page content | Google penalties, rich snippet removal | Schema must reflect visible content exactly |
| Redirect chains > 2 hops | Crawl budget waste, link equity loss | Redirect directly to final destination |
| JS-only navigation without SSR links | Crawler cannot discover pages | Server-render navigation links |
| Ignoring Core Web Vitals | Ranking signal degradation | Profile and optimize LCP, INP, CLS |
| Missing canonical URLs | Duplicate content penalties | Set canonical on every indexable page |
| Over-optimized anchor text | Unnatural link patterns trigger penalties | Use descriptive, varied anchor text |
| Hiding content with CSS for SEO | Cloaking violation | All SEO content must be visible to users |
| 反模式 | 失效原因 | 替代方案 |
|---|---|---|
| 标题/内容中堆砌关键词 | 触发垃圾内容过滤器、降低CTR | 自然使用一次核心关键词,加入变体 |
| 所有页面使用相同的标题/描述 | 触发重复内容信号、浪费曝光机会 | 每个可索引URL配置唯一的页面专属元信息 |
| 在robots.txt中屏蔽CSS/JS | Googlebot无法渲染页面 | 放行所有渲染所需资源 |
| 结构化数据和页面内容不匹配 | 谷歌惩罚、移除富片段资格 | Schema必须完全匹配可见内容 |
| 重定向链超过2跳 | 爬取预算浪费、链接权重流失 | 直接重定向到最终目标地址 |
| 仅JS实现导航无SSR链接 | 爬虫无法发现页面 | 服务端渲染导航链接 |
| 忽略Core Web Vitals | 排名信号下降 | profiling并优化LCP、INP、CLS |
| 缺失规范URL | 重复内容惩罚 | 每个可索引页面都设置规范URL |
| 锚文本过度优化 | 非自然链接模式触发惩罚 | 使用描述性、多样化的锚文本 |
| 为SEO用CSS隐藏内容 | 违反伪装规则 | 所有SEO相关内容必须对用户可见 |
Anti-Rationalization Guards
合理性校验规则
- Do NOT skip the technical audit because "the site looks fine" -- crawl it.
- Do NOT add structured data without validating it passes the Rich Results Test.
- Do NOT assume meta tags are correct without checking every page type.
- Do NOT deploy SEO changes without before/after measurement.
- Do NOT optimize for search engines at the expense of user experience.
- 不要因为「站点看起来没问题」就跳过技术审计——一定要爬取站点。
- 结构化数据添加前必须通过富结果测试工具验证,否则不要上线。
- 不要默认元标签是正确的,要检查每种页面类型的配置。
- SEO改动上线前后必须做数据对比,不要无测量就上线。
- 不要为了优化搜索引擎而牺牲用户体验。
Integration Points
关联技能
| Skill | How It Connects |
|---|---|
| SEO informs keyword targeting and headline strategy for marketing content |
| Research-backed content needs SEO-optimized structure and meta tags |
| Core Web Vitals optimization requires frontend performance tuning |
| Page speed directly affects LCP and INP scores |
| SEO changes need proper cache invalidation and redirect configuration |
| Documentation sites need sitemap, canonical, and structured data setup |
| 技能 | 关联方式 |
|---|---|
| SEO为营销内容提供关键词定位和标题策略指导 |
| 研究驱动的内容需要适配SEO的结构和元标签优化 |
| Core Web Vitals优化需要前端性能调优能力 |
| 页面速度直接影响LCP和INP得分 |
| SEO改动需要正确的缓存失效和重定向配置 |
| 文档站点需要配置站点地图、规范URL和结构化数据 |
Skill Type
技能类型
FLEXIBLE — Adapt the optimization strategy to the site's technology stack, content type, and competitive landscape. Technical SEO fundamentals and structured data best practices are strongly recommended; specific implementation patterns vary by framework.
灵活适配——根据站点的技术栈、内容类型和竞争环境调整优化策略。技术SEO基础原理和结构化数据最佳实践为强推荐要求,具体实现模式根据框架不同会有差异。