Vue3 SPA 支持 SEO 终极总结

🔥 Vue3 SPA 支持 SEO 终极总结(极简 4 步,直接照做)

我给你最精简、最不绕弯、可直接存档 的版本,包含:渲染服务 + meta 标签 + sitemap,你照着做就能 100% 支持 SEO(Google / 百度都收录)。


一、你必须做的 4 件事(复制就能用)

1)加页面 Meta 标题、描述(代码里必须加)

用最轻量的 @vueuse/head,每个页面独立设置 SEO 信息。

安装:

bash 复制代码
npm i @vueuse/head

main.js 引入:

js 复制代码
import { createHead } from '@vueuse/head'
app.use(createHead())

每个页面.vue 里写:

js 复制代码
import { useHead } from '@vueuse/head'

useHead({
  title: "页面标题",
  meta: [
    { name: "description", content: "页面描述,80-160字" },
    { name: "keywords", content: "关键词1,关键词2" }
  ]
})

2)启动 Puppeteer 渲染服务(让爬虫看到完整 HTML)

不改 Vue 代码,只需要跑一个渲染服务。

render-service.js(直接复制):

js 复制代码
const express = require('express');
const puppeteer = require('puppeteer');
const app = express();

let browser;
(async () => {
  browser = await puppeteer.launch({ headless: 'new', args: ['--no-sandbox'] });
})();

app.get('/render', async (req, res) => {
  try {
    const url = req.query.url;
    const page = await browser.newPage();
    await page.goto(url, { waitUntil: 'networkidle2' });
    const html = await page.content();
    await page.close();
    res.send(html);
  } catch (e) { res.send(''); }
});

app.listen(26666);

运行:

bash 复制代码
node render-service.js

3)Nginx 转发爬虫到渲染服务(核心!)

爬虫访问 → 自动返回完整 HTML

用户访问 → 正常走 Vue 前端

零侵入、零修改项目

Nginx 配置:

复制代码
location / {
  if ($http_user_agent ~* "bot|spider|baidu|google|bing") {
    proxy_pass http://127.0.0.1:26666/render?url=$scheme://$host$request_uri;
    break;
  }
  root /dist;
  try_files $uri $uri/ /index.html;
}

4)生成 sitemap.xml(SEO 必交搜索引擎)

直接用我给你的接口生成:

访问:

复制代码
http://localhost:26666/sitemap?url=https://你的网站.com

生成后上传到网站根目录,去 Google Search Console / 百度搜索资源平台 提交即可。


二、最终效果(你最关心的)

  1. 爬虫能抓到完整 HTML
  2. 每个页面有独立标题、描述、关键词
  3. 有 sitemap 引导收录
  4. Vue 项目一行代码不改结构
  5. 用户访问速度不受影响
  6. Google / 百度 正常收录、排名

三、超级精简总结(直接存档)

Vue3 SPA 做 SEO 只需要 4 步

  1. 每个页面加 title / description / keywords(代码里)
  2. 跑 Puppeteer 渲染服务
  3. Nginx 转发爬虫
  4. 生成 sitemap.xml 并提交

做完这 4 步,你的 Vue3 网站 SEO 完全正常,和传统网站无区别


需要我把这 4 步做成 一份一页纸 PDF 存档版 吗?干净、可打印、随时看。

相关推荐
草莓熊Lotso3 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
XR1234567883 小时前
汽车制造园区网络怎么建?柔性产线与 AGV 的选型逻辑
网络·汽车·制造
IT大白鼠12 小时前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Julien200413 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
kekekzt14 小时前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
mooooooooooye16 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina17 小时前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络
江安下小雨19 小时前
muduo网络库(十六):新增连接池模块
网络·c++
aiot1891893521819 小时前
机场候机大厅高空场景技术红线!蓝牙AOA不能做手机导航??!!
大数据·网络·人工智能·蓝牙aoa
从入门到退休19 小时前
企业远程控制选型:向日葵SDK vs RustDesk自建,谁是更务实的选择?
运维·服务器·网络·远程工作·远程控制