PageSourceSearch

https://www.wensi.ai/assets/technical-seo.html-TAS3LoFb.js

js wensi.ai collected 2026-10-05 13:24:11 UTC 41,103 bytes, 136 lines download raw bytes

1import{_ as e,c as p,b as l,a,e as n,d as i,w as o,r as c,o as r}from"./app-BNAFTfp7.js";const u={};function d(m,s){const t=c("RouteLink");return r(),p("div",null,[s[4]||(s[4]=l(`<h1 id="技术seo完全实战指南" tabindex="-1"><a class="header-anchor" href="#技术seo完全实战指南"><span>技术SEO完全实战指南</span></a></h1><p>技术SEO是SEO的地基。如果地基不牢,内容再好也难以排名。本文将从最实际的角度,教你如何搭建一个搜索引擎爬虫&quot;爱抓取&quot;的网站。</p><h2 id="一、本质思考-技术seo到底在解决什么问题" tabindex="-1"><a class="header-anchor" href="#一、本质思考-技术seo到底在解决什么问题"><span>一、本质思考:技术SEO到底在解决什么问题?</span></a></h2><p><strong>核心问题:让搜索引擎能够高效地发现、抓取、理解和索引你的网站。</strong></p><p>想象搜索引擎是一位图书管理员:</p><ul><li>如果你的书(网页)藏在地下室(加载慢、结构混乱),管理员找不到。</li><li>如果你的书目录(sitemap)清晰,管理员就能快速归类。</li><li>如果书的语言(HTML结构)符合标准,管理员就能理解内容。</li></ul><p><strong>记住</strong>:技术SEO不是为了&quot;欺骗&quot;搜索引擎,而是为了<strong>消除障碍</strong>。</p><hr><h2 id="二、实操路径-技术seo的4个核心战场" tabindex="-1"><a class="header-anchor" href="#二、实操路径-技术seo的4个核心战场"><span>二、实操路径:技术SEO的4个核心战场</span></a></h2><h3 id="🚀-战场1-网站速度优化-core-web-vitals" tabindex="-1"><a class="header-anchor" href="#🚀-战场1-网站速度优化-core-web-vitals"><span>🚀 战场1:网站速度优化(Core Web Vitals)</span></a></h3><h4 id="为什么重要" tabindex="-1"><a class="header-anchor" href="#为什么重要"><span>为什么重要?</span></a></h4><p>Google 已明确将页面速度作为排名因素。用户等待超过3秒,53%会放弃访问。</p><h4 id="实操步骤" tabindex="-1"><a class="header-anchor" href="#实操步骤"><span>实操步骤</span></a></h4><p><strong>1. 测速工具诊断</strong></p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh"><pre><code class="language-bash"><span class="line"><span class="token comment"># 使用 Google PageSpeed Insights</span></span>
2<span class="line">https://pagespeed.web.dev/</span>
3<span class="line"></span>
4<span class="line"><span class="token comment"># 或使用 Lighthouse(Chrome 浏览器内置)</span></span>
5<span class="line"><span class="token comment"># F12 打开开发者工具 → Lighthouse → 生成报告</span></span>
6<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>2. 具体优化手段</strong></p><p><strong>图片优化</strong></p><div class="language-html line-numbers-mode" data-highlighter="prismjs" data-ext="html"><pre><code class="language-html"><span class="line"><span class="token comment">&lt;!-- ❌ 错误:直接用原图 --&gt;</span></span>
7<span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>img</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>photo.jpg<span class="token punctuation">&quot;</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>风景<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span></span>
8<span class="line"></span>
9<span class="line"><span class="token comment">&lt;!-- ✅ 正确:使用 WebP + 延迟加载 --&gt;</span></span>
10<span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>img</span> </span>
11<span class="line">  <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>photo.webp<span class="token punctuation">&quot;</span></span> </span>
12<span class="line">  <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>杭州西湖日落全景<span class="token punctuation">&quot;</span></span> </span>
13<span class="line">  <span class="token attr-name">loading</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>lazy<span class="token punctuation">&quot;</span></span></span>
14<span class="line">  <span class="token attr-name">width</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>800<span class="token punctuation">&quot;</span></span></span>
15<span class="line">  <span class="token attr-name">height</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>600<span class="token punctuation">&quot;</span></span></span>
16<span class="line"><span class="token punctuation">&gt;</span></span></span>
17<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>工具推荐</strong>:</p><ul><li><a href="https://tinypng.com/" target="_blank" rel="noopener noreferrer">TinyPNG</a> - 在线压缩图片</li><li><a href="https://imageoptim.com/" target="_blank" rel="noopener noreferrer">ImageOptim</a> - Mac 批量压缩</li></ul><p><strong>代码压缩与合并</strong></p><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js"><pre><code class="language-javascript"><span class="line"><span class="token comment">// 在 VuePress 项目中,Vite 会自动处理</span></span>
18<span class="line"><span class="token comment">// 但你可以检查 build 输出</span></span>
19<span class="line">npm run build</span>
20<span class="line"></span>
21<span class="line"><span class="token comment">// 查看 dist 文件夹,确认 JS/CSS 已被压缩</span></span>
22<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>CDN 加速</strong></p><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js"><pre><code class="language-javascript"><span class="line"><span class="token comment">// 推荐使用 Cloudflare(免费)</span></span>
23<span class="line"><span class="token comment">// 1. 注册 Cloudflare 账号</span></span>
24<span class="line"><span class="token comment">// 2. 添加你的域名</span></span>
25<span class="line"><span class="token comment">// 3. 修改 DNS 解析到 Cloudflare</span></span>
26<span class="line"><span class="token comment">// 4. 开启 Auto Minify(自动压缩)</span></span>
27<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>3. 核心指标解读</strong></p><table><thead><tr><th>
27指标</th><th>含义</th><th>目标值</th></tr></thead><tbody><tr><td><strong>LCP</strong> (最大内容绘制)</td><td>主要内容加载时间</td><td>&lt; 2.5秒</td></tr><tr><td><strong>FID</strong> (首次输入延迟)</td><td>用户首次交互响应</td><td>&lt; 100毫秒</td></tr><tr><td><strong>CLS</strong> (累积布局偏移)</td><td>页面元素稳定性</td><td>&lt; 0.1</td></tr></tbody></table><p><strong>诀窍</strong>:先优化 LCP,影响最大。通常问题出在大图和服务器响应慢。</p><hr><h3 id="🗺️-战场2-网站结构与爬虫抓取" tabindex="-1"><a class="header-anchor" href="#🗺️-战场2-网站结构与爬虫抓取"><span>🗺️ 战场2:网站结构与爬虫抓取</span></a></h3><h4 id="实操1-创建-sitemap-站点地图" tabindex="-1"><a class="header-anchor" href="#实操1-创建-sitemap-站点地图"><span>实操1:创建 Sitemap(站点地图)</span></a></h4><p><strong>VuePress 自动生成方法</strong></p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh"><pre><code class="language-bash"><span class="line"><span class="token comment"># 安装 sitemap 插件</span></span>
28<span class="line"><span class="token function">npm</span> <span class="token function">install</span> <span class="token parameter variable">-D</span> vuepress-plugin-sitemap2</span>
29<span class="line"></span>
30<span class="line"><span class="token comment"># 在 .vuepress/config.js 添加</span></span>
31<span class="line"><span class="token function">import</span> <span class="token punctuation">{</span> sitemapPlugin <span class="token punctuation">}</span> from <span class="token string">&#39;vuepress-plugin-sitemap2&#39;</span></span>
32<span class="line"></span>
33<span class="line"><span class="token builtin class-name">export</span> default <span class="token punctuation">{</span></span>
34<span class="line">  plugins: <span class="token punctuation">[</span></span>
35<span class="line">    sitemapPlugin<span class="token punctuation">(</span><span class="token punctuation">{</span></span>
36<span class="line">      hostname: <span class="token string">&#39;https://yourdomain.com&#39;</span>,</span>
37<span class="line">    <span class="token punctuation">}</span><span class="token punctuation">)</span>,</span>
38<span class="line">  <span class="token punctuation">]</span>,</span>
39<span class="line"><span class="token punctuation">}</span></span>
40<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>手动检查 sitemap.xml</strong></p><div class="language-xml line-numbers-mode" data-highlighter="prismjs" data-ext="xml"><pre><code class="language-xml"><span class="line"><span class="token comment">&lt;!-- 生成后访问 https://yourdomain.com/sitemap.xml --&gt;</span></span>
41<span class="line"><span class="token prolog">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span></span>
42<span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>urlset</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>http://www.sitemaps.org/schemas/sitemap/0.9<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span></span>
43<span class="line">  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>url</span><span class="token punctuation">&gt;</span></span></span>
44<span class="line">    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>loc</span><span class="token punctuation">&gt;</span></span>https://yourdomain.com/ai-product/seo/<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>loc</span><span class="token punctuation">&gt;</span></span></span>
45<span class="line">    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>lastmod</span><span class="token punctuation">&gt;</span></span>2025-12-20<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>lastmod</span><span class="token punctuation">&gt;</span></span></span>
46<span class="line">    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>changefreq</span><span class="token punctuation">&gt;</span></span>weekly<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>changefreq</span><span class="token punctuation">&gt;</span></span></span>
47<span class="line">    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>priority</span><span class="token punctuation">&gt;</span></span>0.8<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>priority</span><span class="token punctuation">&gt;</span></span></span>
48<span class="line">  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>url</span><span class="token punctuation">&gt;</span></span></span>
49<span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>urlset</span><span class="token punctuation">&gt;</span></span></span>
50<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>
50提交到搜索引擎</strong></p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh"><pre><code class="language-bash"><span class="line"><span class="token comment"># Google Search Console</span></span>
51<span class="line">https://search.google.com/search-console</span>
52<span class="line"></span>
53<span class="line"><span class="token comment"># 百度站长平台</span></span>
54<span class="line">https://ziyuan.baidu.com/</span>
55<span class="line"></span>
56<span class="line"><span class="token comment"># 操作:左侧菜单 → Sitemap → 添加新的站点地图</span></span>
57<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="实操2-优化-robots-txt" tabindex="-1"><a class="header-anchor" href="#实操2-优化-robots-txt"><span>实操2:优化 robots.txt</span></a></h4><div class="language-txt line-numbers-mode" data-highlighter="prismjs" data-ext="txt"><pre><code class="language-txt"><span class="line"># /public/robots.txt(VuePress 项目放这里)</span>
58<span class="line">User-agent: *</span>
59<span class="line">Allow: /</span>
60<span class="line">Disallow: /admin/</span>
61<span class="line">Disallow: /.vuepress/</span>
62<span class="line">Disallow: /node_modules/</span>
63<span class="line"></span>
64<span class="line">Sitemap: https://yourdomain.com/sitemap.xml</span>
65<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>诀窍</strong>:</p><ul><li>不要屏蔽 CSS/JS,Google 需要渲染页面。</li><li>测试工具:Google Search Console → robots.txt 测试工具</li></ul><hr><h3 id="📱-战场3-移动端优化-mobile-first" tabindex="-1"><a class="header-anchor" href="#📱-战场3-移动端优化-mobile-first"><span>📱 战场3:移动端优化(Mobile-First)</span></a></h3><h4 id="为什么重要-1" tabindex="-1"><a class="header-anchor" href="#为什么重要-1"><span>为什么重要?</span></a></h4><p>Google 从2019年起采用<strong>移动优先索引</strong>,意味着排名主要看手机版表现。</p><h4 id="实操检查清单" tabindex="-1"><a class="header-anchor" href="#实操检查清单"><span>实操检查清单</span></a></h4><p><strong>1. 响应式设计测试</strong></p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh"><pre><code class="language-bash"><span class="line"><span class="token comment"># Chrome 开发者工具</span></span>
66<span class="line">F12 → Toggle device toolbar <span class="token punctuation">(</span>Ctrl+Shift+M<span class="token punctuation">)</span></span>
67<span class="line"><span class="token comment"># 切换不同设备查看布局</span></span>
68<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>2. 字体大小适配</strong></p><div class="language-css line-numbers-mode" data-highlighter="prismjs" data-ext="css"><pre><code class="language-css"><span class="line"><span class="token comment">/* ❌ 错误:固定像素 */</span></span>
69<span class="line"><span class="token selector">body</span> <span class="token punctuation">{</span></span>
70<span class="line">  <span class="token property">font-size</span><span class="token punctuation">:</span> 12px<span class="token punctuation">;</span></span>
71<span class="line"><span class="token punctuation">}</span></span>
72<span class="line"></span>
73<span class="line"><span class="token comment">/* ✅ 正确:相对单位 */</span></span>
74<span class="line"><span class="token selector">body</span> <span class="token punctuation">{</span></span>
75<span class="line">  <span class="token property">font-size</span><span class="token punctuation">:</span> 16px<span class="token punctuation">;</span> <span class="token comment">/* 基准 */</span></span>
76<span class="line"><span class="token punctuation">}</span></span>
77<span class="line"></span>
78<span class="line"><span class="token selector">h1</span> <span class="token punctuation">{</span></span>
79<span class="line">  <span class="token property">font-size</span><span class="token punctuation">:</span> 2rem<span class="token punctuation">;</span> <span class="token comment">/* 相对于 body */</span></span>
80<span class="line"><span class="token punctuation">}</span></span>
81<span class="line"></span>
82<span class="line"><span class="token atrule"><span class="token rule">@media</span> <span class="token punctuation">(</span><span class="token property">max-width</span><span class="token punctuation">:</span> 768px<span class="token punctuation">)</span></span> <span class="token punctuation">{</span></span>
83<span class="line">  <span class="token selector">body</span> <span class="token punctuation">{</span></span>
84<span class="line">    <span class="token property">font-size</span><span class="token punctuation">:</span> 14px<span class="token punctuation">;</span> <span class="token comment">
84/* 小屏幕适当缩小 */</span></span>
85<span class="line">  <span class="token punctuation">}</span></span>
86<span class="line"><span class="token punctuation">}</span></span>
87<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>3. 点击目标大小</strong></p><div class="language-css line-numbers-mode" data-highlighter="prismjs" data-ext="css"><pre><code class="language-css"><span class="line"><span class="token comment">/* 按钮至少 48x48 像素 */</span></span>
88<span class="line"><span class="token selector">.button</span> <span class="token punctuation">{</span></span>
89<span class="line">  <span class="token property">
89min-height</span><span class="token punctuation">:</span> 48px<span class="token punctuation">;</span></span>
90<span class="line">  <span class="token property">min-width</span><span class="token punctuation">:</span> 48px<span class="token punctuation">;</span></span>
91<span class="line">  <span class="token property">padding</span><span class="token punctuation">:</span> 12px 24px<span class="token punctuation">;</span></span>
92<span class="line"><span class="token punctuation">}</span></span>
93<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>验证工具</strong>:</p><ul><li><a href="https://search.google.com/test/mobile-friendly" target="_blank" rel="noopener noreferrer">Mobile-Friendly Test</a></li></ul><hr><h3 id="🏷️-战场4-结构化数据-schema-markup" tabindex="-1"><a class="header-anchor" href="#🏷️-战场4-结构化数据-schema-markup"><span>🏷️ 战场4:结构化数据(Schema Markup)</span></a></h3><h4 id="为什么重要-2" tabindex="-1"><a class="header-anchor" href="#为什么重要-2"><span>为什么重要?</span></a></h4><p>帮助搜索引擎理解页面类型,可能获得<strong>富媒体搜索结果</strong>(星级、图片、价格等)。</p><h4 id="实操-添加文章结构化数据" tabindex="-1"><a class="header-anchor" href="#实操-添加文章结构化数据"><span>实操:添加文章结构化数据</span></a></h4><div class="language-html line-numbers-mode" data-highlighter="prismjs" data-ext="html"><pre><code class="language-html"><span class="line"><span class="token comment">&lt;!-- 在每篇博客文章的 frontmatter 或 Head 中添加 --&gt;</span></span>
94<span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>application/ld+json<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span><span class="token script"><span class="token language-javascript"></span>
95<span class="line"><span class="token punctuation">{</span></span>
96<span class="line">  <span class="token string-property property">&quot;@context&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://schema.org&quot;</span><span class="token punctuation">,</span></span>
97<span class="line">  <span class="token string-property property">&quot;@type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Article&quot;</span><span class="token punctuation">,</span></span>
98<span class="line">  <span class="token string-property property">&quot;headline&quot;</span><span class="token operator">:</span> <span class="token string">&quot;技术SEO完全实战指南&quot;</span><span class="token punctuation">,</span></span>
99<span class="line">  <span class="token string-property property">&quot;author&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span></span>
100<span class="line">    <span class="token string-property property">&quot;@type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Person&quot;</span><span class="token punctuation">,</span></span>
101<span class="line">    <span class="token string-property property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;你的名字&quot;</span></span>
102<span class="line">  <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
103<span class="line">  <span class="token string-property property">&quot;datePublished&quot;</span><span class="token operator">:</span> <span class="token string">&quot;2025-12-20&quot;</span><span class="token punctuation">,</span></span>
104<span class="line">  <span class="token string-property property">&quot;dateModified&quot;</span><span class="token operator">:</span> <span class="token string">&quot;2025-12-20&quot;</span><span class="token punctuation">,</span></span>
105<span class="line">  <span class="token string-property property">&quot;image&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://yourdomain.com/images/technical-seo-cover.jpg&quot;</span><span class="token punctuation">,</span></span>
106<span class="line">  <span class="token string-property property">&quot;publisher&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span></span>
107<span class="line">    <span class="token string-property property">&quot;@type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Organization&quot;</span><span class="token punctuation">,</span></span>
108<span class="line">    <span class="token string-property property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;AI VuePress Blog&quot;</span><span class="token punctuation">,</span></span>
109<span class="line">    <span class="token string-property property">&quot;logo&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span></span>
110<span class="line">
110      <span class="token string-property property">&quot;@type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;ImageObject&quot;</span><span class="token punctuation">,</span></span>
111<span class="line">      <span class="token string-property property">&quot;url&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://yourdomain.com/logo.png&quot;</span></span>
112<span class="line">    <span class="token punctuation">}</span></span>
113<span class="line">  <span class="token punctuation">}</span></span>
114<span class="line"><span class="token punctuation">}</span></span>
115<span class="line"></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">&gt;</span></span></span>
116<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>VuePress 实现方式</strong></p><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js"><pre><code class="language-javascript"><span class="line"><span class="token comment">// .vuepress/config.js</span></span>
117<span class="line"><span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token punctuation">{</span></span>
118<span class="line">  <span class="token literal-property property">head</span><span class="token operator">:</span> <span class="token punctuation">[</span></span>
119<span class="line">    <span class="token punctuation">[</span><span class="token string">&#39;script&#39;</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> <span class="token literal-property property">type</span><span class="token operator">:</span> <span class="token string">&#39;application/ld+json&#39;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token constant">JSON</span><span class="token punctuation">.</span><span class="token function">stringify</span><span class="token punctuation">(</span><span class="token punctuation">{</span></span>
120<span class="line">      <span class="token string-property property">&quot;@context&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://schema.org&quot;</span><span class="token punctuation">,</span></span>
121<span class="line">      <span class="token string-property property">&quot;@type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;WebSite&quot;</span><span class="token punctuation">,</span></span>
122<span class="line">      <span class="token string-property property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;AI VuePress Blog&quot;</span><span class="token punctuation">,</span></span>
123<span class="line">      <span class="token string-property property">&quot;url&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://yourdomain.com&quot;</span></span>
124<span class="line">    <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">]</span></span>
125<span class="line">  <span class="token punctuation">]</span></span>
126<span class="line"><span class="token punctuation">}</span></span>
127<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>验证工具</strong>:</p><ul><li><a href="https://search.google.com/test/rich-results" target="_blank" rel="noopener noreferrer">Rich Results Test</a></li></ul><p><strong>诀窍</strong>:优先添加 <code>Article</code>、<code>BreadcrumbList</code>、<code>FAQ</code> 类型,最容易见效。</p><hr><h2 id="三、进阶技巧-技术seo的隐藏关卡" tabindex="-1"><a class="header-anchor" href="#三、进阶技巧-技术seo的隐藏关卡"><span>三、进阶技巧:技术SEO的隐藏关卡</span></a></h2><h3 id="🔒-https-是必选项" tabindex="-1"><a class="header-anchor" href="#🔒-https-是必选项"><span>🔒 HTTPS 是必选项</span></a></h3><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh"><pre><code class="language-bash"><span class="line"><span class="token comment">
127# 使用 Let&#39;s Encrypt 免费证书</span></span>
128<span class="line"><span class="token comment"># Vercel/Netlify 部署会自动配置 HTTPS,不用操心</span></span>
129<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="🔗-规范化-url-canonical-tag" tabindex="-1"><a class="header-anchor" href="#🔗-规范化-url-canonical-tag"><span>🔗 规范化 URL(Canonical Tag)</span></a></h3><div class="language-html line-numbers-mode" data-highlighter="prismjs" data-ext="html"><pre><code class="language-html"><span class="line"><span class="token comment">&lt;!-- 避免重复内容问题 --&gt;</span></span>
130<span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>link</span> <span class="token attr-name">rel</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>canonical<span class="token punctuation">&quot;</span></span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>https://yourdomain.com/ai-product/seo/<span class="token punctuation">&quot;</span></span> <span class="token punctuation">/&gt;</span></span></span>
131<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="🌐-hreflang-多语言网站" tabindex="-1"><a class="header-anchor" href="#🌐-hreflang-多语言网站"><span>🌐 Hreflang(多语言网站)</span></a></h3><div class="language-html line-numbers-mode" data-highlighter="prismjs" data-ext="html"><pre><code class="language-html"><span class="line"><span class="token comment">&lt;!-- 如果你有中英文版本 --&gt;</span></span>
132<span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>link</span> <span class="token attr-name">rel</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>alternate<span class="token punctuation">&quot;</span></span> <span class="token attr-name">hreflang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>zh-CN<span class="token punctuation">&quot;</span></span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>https://yourdomain.com/cn/<span class="token punctuation">&quot;</span></span> <span class="token punctuation">/&gt;</span></span></span>
133<span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>link</span> <span class="token attr-name">rel</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>alternate<span class="token punctuation">&quot;</span></span> <span class="token attr-name">hreflang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>en<span class="token punctuation">&quot;</span></span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>https://yourdomain.com/en/<span class="token punctuation">&quot;</span></span> <span class="token punctuation">/&gt;</span></span></span>
134<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="🗄️-日志文件分析-高级" tabindex="-1"><a class="header-anchor" href="#🗄️-日志文件分析-高级"><span>🗄️ 日志文件分析(高级)</span></a></h3><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh"><pre><code class="language-bash"><span class="line"><span class="token comment"># 分析服务器日志,看爬虫抓取行为</span></span>
135<span class="line"><span class="token comment">
135# 工具:Screaming Frog Log File Analyser</span></span>
136<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><hr><h2 id="四、常见错误与解决方案" tabindex="-1"><a class="header-anchor" href="#四、常见错误与解决方案"><span>四、常见错误与解决方案</span></a></h2><table><thead><tr><th>问题</th><th>原因</th><th>解决方案</th></tr></thead><tbody><tr><td><strong>索引速度慢</strong></td><td>没有提交 sitemap</td><td>主动提交到 Google Search Console</td></tr><tr><td><strong>移动端排名差</strong></td><td>字体太小/按钮难点</td><td>使用响应式设计,测试真机</td></tr><tr><td><strong>重复内容惩罚</strong></td><td>同一文章多个 URL</td><td>设置 canonical 标签</td></tr><tr><td><strong>爬虫抓取配额浪费</strong></td><td>抓取无用页面(如分页)</td><td>用 robots.txt 或 noindex 屏蔽</td></tr></tbody></table><hr><h2 id="五、技术seo终极检查清单" tabindex="-1"><a class="header-anchor" href="#五、技术seo终极检查清单"><span>五、技术SEO终极检查清单</span></a></h2><p>打印出来,每个新站上线前过一遍:</p><ul><li>[ ] HTTPS 已启用</li><li>[ ] 页面加载速度 &lt; 3秒(移动端)</li><li>[ ] Sitemap 已生成并提交</li><li>[ ] Robots.txt 配置正确</li><li>[ ] 移动端友好测试通过</li><li>[ ] 核心页面添加了结构化数据</li><li>[ ] 所有图片有 alt 属性</li><li>[ ] 没有死链(404页面)</li><li>[ ] URL 结构简洁(避免过长参数)</li><li>[ ] 设置了 canonical 标签</li></ul><hr><h2 id="六、监控工具推荐" tabindex="-1"><a class="header-anchor" href="#六、监控工具推荐"><span>六、监控工具推荐</span></a></h2><h3 id="免费工具" tabindex="-1"><a class="header-anchor" href="#免费工具"><span>免费工具</span></a></h3><ol><li><strong>Google Search Console</strong> - 必装,看索引状态</li><li><strong>Google PageSpeed Insights</strong> - 测速</li><li><strong>Bing Webmaster Tools</strong> - 不要忽视 Bing</li></ol><h3 id="付费工具-进阶" tabindex="-1"><a class="header-anchor" href="#付费工具-进阶"><span>付费工具(进阶)</span></a></h3><ol><li><strong>Screaming Frog</strong> - 爬虫模拟,找技术问题</li><li><strong>Ahrefs Site Audit</strong> - 全面技术审计</li></ol><hr><h2 id="总结-技术seo的本质是-扫清障碍" tabindex="-1"><a class="header-anchor" href="#总结-技术seo的本质是-扫清障碍"><span>总结:技术SEO的本质是&quot;扫清障碍&quot;</span></a></h2><p>技术SEO就像开车前检查车况:</p><ul><li>轮胎气足不足(网站速度)</li><li>导航好不好用(网站结构)</li><li>牌照齐不齐(HTTPS、结构化数据)</li></ul><p><strong>记住</strong>:技术SEO是基础,一次做好可以受益很久。但不要过度优化,80%的效果来自20%的核心工作。</p>`,92)),a("p",null,[s[1]||(s[1]=a("strong",null,"下一步",-1)),s[2]||(s[2]=n(":掌握技术基础后,进入 ",-1)),i(t,{to:"/ai-product/seo/content-seo.html"},{default:o(()=>[...s[0]||(s[0]=[n("内容SEO实战指南",-1)])]),_:1}),s[3]||(s[3]=n(",学习如何创作高排名内容。",-1))])])}const v=e(u,[["render",d]]),g=JSON.parse('{"path":"/ai-marketing/seo/technical-seo.html","title":"技术SEO完全实战指南","lang":"zh-CN","frontmatter":{"title":"技术SEO完全实战指南","description":"从网站架构到性能优化,手把手教你搭建搜索引擎友好的技术基础"},"git":{"updatedTime":1766413539000,"contributors":[{"name":"wsyx","username":"","email":"[email protected]","commits":2}],"changelog":[{"hash":"6f88b92aa0bd0fb67a38a1ba536877d410aa38fb","time":1766413539000,"email":"[email protected]","author":"wsyx","message":"feat:文章结构优化"},{"hash":"15662e24c1ce92647c17665165b07013e654f326","time":1766389330000,"email":"[email protected]","author":"wsyx","message":"feat:提交文章"}]},"filePathRelative":"ai-marketing/seo/technical-seo.md"}');export{v as comp,g as data};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.