You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js 14 App Router如何添加<meta name="google" content="notranslate">标签

在Next.js App Router中添加google="notranslate" Meta标签的解决方案

问题背景

在Next.js Page Router中,可通过Head组件直接添加<meta name="google" content="notranslate">标签,阻止谷歌自动翻译页面内容。但切换到App Router后,原方法不再适用,且官方文档未给出相关说明。

有开发者提出,该标签需将content替换为value才能生效,但这一方案尚未验证。同时,尝试通过generateMetadata函数直接返回google: "notranslate"的写法并未生效,示例代码如下:

export async function generateMetadata({ params: { lng } }) {
  
  const metadata = siteMetadata[lng] || siteMetadata.en;

  return {
    google: "notranslate",
    // 其他元数据配置...
  }

正确实现方式

在App Router的generateMetadata函数中,需通过meta数组定义自定义meta标签,具体有两种写法:

方式一:使用标准content属性

这是符合HTML规范的常规写法,适配绝大多数场景:

export async function generateMetadata({ params: { lng } }) {
  const metadata = siteMetadata[lng] || siteMetadata.en;

  return {
    // 保留原有元数据配置
    title: metadata.title,
    description: metadata.description,
    // 添加谷歌翻译禁用标签
    meta: [
      {
        name: "google",
        content: "notranslate",
      },
      // 其他自定义meta标签...
    ],
  };
}

方式二:尝试value属性(针对特殊场景)

如果上述方式未生效,可尝试将content替换为value:

export async function generateMetadata({ params: { lng } }) {
  const metadata = siteMetadata[lng] || siteMetadata.en;

  return {
    // 保留原有元数据配置
    title: metadata.title,
    description: metadata.description,
    // 添加谷歌翻译禁用标签
    meta: [
      {
        name: "google",
        value: "notranslate",
      },
      // 其他自定义meta标签...
    ],
  };
}

验证方法

本地运行或部署项目后,查看页面HTML源代码,确认目标meta标签已生成;同时测试谷歌翻译功能,验证页面是否不再被自动翻译。

内容的提问来源于stack exchange,提问作者Antonio Colella

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 02:20:00