Как удалить ссылку rel=canonical из next.js страница усилителя?

#next.js #amp-html #meta-tags #head

#next.js #amp-html #мета-теги #глава

Вопрос:

Есть ли какой-либо способ полностью удалить этот метатег? Кажется, он добавляется автоматически, но мне нужно от него избавиться? Я не использую никаких библиотек для обработки мета-тегов / заголовков, но я не заметил ничего полезного в их документах.

Редактировать: вероятно, amp для next.js отвечает за этот тег

Комментарии:

1. обычно это находится в файле под названием index.html

2. его нет в next.js . Я искал часть, где это можно было бы жестко запрограммировать, но она отсутствует. Что может быть актуально: на этой странице используется next/amp, но я не уверен, повлияет ли это на подобные мета-теги

Ответ №1:

У нас была похожая проблема. Мы запускаем nextjs с amp в гибридном режиме и хотим иногда не иметь ссылки на версию amp страницы… Ссылки amphtml и canonical автоматически добавляются next, и очевидного способа отказаться от этого не найдено. В итоге мы создали для этого компонент, который был включен везде, где мы хотели. Возможно, это может сработать и для вас?

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

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