Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 代码发布 › 「代码分享」配置 Nuxt3 SEO | 站点地图 sitemap.xml 和 robots.txt

「代码分享」配置 Nuxt3 SEO | 站点地图 sitemap.xml 和 robots.txt

Eswlnk的头像
Eswlnk
2024-04-13 13:38:11
「代码分享」配置 Nuxt3 SEO | 站点地图 sitemap.xml 和 robots.txt-Eswlnk Blog
智能摘要 AI
在Nuxt 3中配置SEO优化的站点地图(sitemap.xml)和robots.txt,主要包括以下几个步骤: 1. **安装模块**:使用`pnpm i @nuxtjs/seo -D`安装SEO整合模块。 2. **配置文件**:在`nuxt.config.ts`中添加模块,并设置站点URL: ```typescript export default defineNuxtConfig({ modules: ['@nuxtjs/seo'], site: { url: 'https://example.com' } }); ``` 或通过环境变量配置: ```bash NUXT_PUBLIC_SITE_URL="http://localhost:3000" ``` 3. **配置站点地图**:

在进行网站的 SEO 优化过程中,配置站点地图 sitemap.xml 和 robots.txt 是非常关键的一步。这些配置可以帮助搜索引擎快速抓取您网站的内容,同时也能更好地控制爬虫的行为。

「代码分享」配置 Nuxt3 SEO | 站点地图 sitemap.xml 和 robots.txt-Eswlnk Blog
站点改造

准备工作

首先,确保您已安装了 Nuxt 的 SEO 整合模块 @nuxtjs/seo:

pnpm i @nuxtjs/seo -D

然后,在 nuxt.config.ts 文件中添加该模块:

export default defineNuxtConfig({
  modules: ['@nuxtjs/seo']
})

配置站点链接

除了安装模块,我们还需要配置站点链接,这样在站点地图中才能正确拼接出完整的访问链接。您可以在 nuxt.config.ts 中配置站点的 URL:

export default defineNuxtConfig({
  site: {
    url: 'https://example.com',
  },
})

或者,您可以使用环境变量配置:

NUXT_PUBLIC_SITE_URL="http://localhost:3000"

我个人更喜欢使用环境变量进行配置,这样可以方便地在不同的环境之间切换,而不必修改 nuxt.config.ts 文件。

配置 sitemap.xml

在 nuxt.config.ts 中添加以下内容来配置站点地图:

export default defineNuxtConfig({
  /** sitemap */
  sitemap: {
    cacheMaxAgeSeconds: 6 * 60 * 60, // 6小时缓存
    autoLastmod: true // 用于爬虫抓取
  }
})

启动项目后,您可以通过访问项目域名加 /sitemap.xml 的方式来查看站点地图文件。

对于动态链接(例如带有动态参数的页面),自动生成的站点地图文件可能不会包含这部分链接内容,您需要手动生成这些内容。

处理动态 URL

为了处理动态 URL,您可以创建一个 server API。首先,在项目根目录创建 /server/api/sitemap.ts:

import type { PageListResult } from "@/api/bookmark";
import type { RequestResult } from "@/composables/useRequest/types";

export default defineSitemapEventHandler(async () => {
  try {
    const config = useRuntimeConfig();
    const res: RequestResult = await $fetch("/page/list", {
      baseURL: config.public.apiUrl,
      method: "GET"
    });

    const routeList = res.data.map(({ id }) => {
      return { loc: `/bookmark-page/${id}` };
    });

    return routeList ?? [];
  } catch (error) {
    console.error("获取sitemap失败", error);
    return [];
  }
});

然后,在配置文件中使用这个 server API:

export default defineNuxtConfig({
  /** sitemap */
  sitemap: {
    sources: ["/api/sitemap"],
    cacheMaxAgeSeconds: 6 * 60 * 60, // 6小时缓存
    autoLastmod: true // 用于爬虫抓取
  }
})

如果有多个 server API,您可以配置多个源。这里需要根据您的项目实际情况进行调整和定制。

生成 robots.txt

在 nuxt.config.ts 中配置 robots.txt 的生成:

export default defineNuxtConfig({
  nitro: {
    prerender: {
      routes: ["/robots.txt"]
    }
  },
  /** robots */
  robots: {
    disallow: ["/admin", "/bind-google"]
  }
})

这里使用 nitro 来预渲染路由,并配置了具体的 robots 规则,例如禁止抓取 /admin 和 /bind-google 相关的页面。

生成的 robots.txt 内容会包含所配置的规则,同时也会包含之前配置的站点地图链接。

以上是配置 Nuxt3 中站点地图和 robots.txt 的基本步骤。通过这些配置,您可以更好地控制搜索引擎爬虫的行为,提升网站的 SEO 效果。

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
nuxtSEOsitemap
18
0
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
「WordPress开发」资源展示小区块,可用于展示插件/主题
上一篇
「代码分享」JavaScript 单例模式的实现与应用
下一篇

评论 (0)

请登录以参与评论
现在登录
    发表评论

猜你喜欢

  • 「日志记录」逆向必应翻译网页版API实现免费调用
  • 「代码分享」第三方平台VIP视频解析API接口
  • 「至臻原创」某系统网站登录功能监测
  • 「反馈记录」百度站长平台配额申请
  • 「开发日志」在Vue3中如何为路由Query参数标注类型
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

「日志记录」某粤嵌公司实习培训课程商城系统
2024-01-06 20:22:57
「日志记录」逆向必应翻译网页版API实现免费调用
2025-02-07 22:02:20
「原创教程」WordPress自定义古腾堡区块详解
2022-11-25 22:23:41

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 0.656 秒   |  SQL查询 23 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈