首页 > 解决方案 > 如何从 next.js amp 页面中删除链接 rel=canonical?

问题描述

有没有办法完全删除这个元标记?它似乎是自动添加的,但我需要摆脱它吗?我没有使用任何库进行元标记/头部处理,但我没有注意到他们的文档中有任何有用的东西。

编辑:next.js 的 amp 可能负责这个标签

标签: next.jsamp-htmlmeta-tagshead

解决方案


我们遇到了类似的问题。我们在混合模式下运行带有 amp 的 nextjs,并且有时不希望链接到页面的 amp 版本...... amphtml 和规范链接都是由 next 自动添加的,没有明显的选择退出的方法不是成立。我们最终为此创建了一个组件,该组件包含在我们想要的任何地方。也许这也对你有用?

import { useEffect } from 'react'    
function NoCanonicalMetaLink() {
  useEffect(() => {
    document.head.querySelector('link[rel="canonical"]')?.remove()
  })
  return null
}

function SomePage() {
  ...
  return (
    ...
    <NoCanonicalMetaLink />
    ...
  )
}

推荐阅读