Настройка
Я использую GitHub Pages для статического размещения своего сайта. Для генерации данных SEO я использую собственный метод head()
, поддерживаемый фреймворком Nuxt. Вот образец моей установки.
export default {
head() {
return meta({
title: 'Page title here',
description: "Page description here",
image: this.image, // programmatic image
})
}
}
Проблема
Как и ожидалось для одностраничного приложения, метаданные отображаются в DOM по мере загрузки страницы. Исходные данные в HTML берутся из nuxt.config.js
, информации, предназначенной для моей домашней страницы. Это вызывает проблему, заключающуюся в том, что при очистке любой страницы все они имеют одни и те же метаданные.
Цель
Можно ли отображать метаданные каждой страницы в соответствующих файлах HTML при запуске nuxt generate
? Таким образом, соответствующие метаданные будут доступны, когда Google, Facebook, Instagram и другие платформы очищают метаданные.
yarn generate
иyarn start
и проверьте исходный код. - person kissu   schedule 11.07.2021yarn generate
не отображает его в файле HTML во время сборки. - person dvoutt   schedule 12.07.2021head()
данные после загрузки DOM, поэтому они всегда пропускаются при извлечении из исходного HTML-кода до загрузки JS. - person dvoutt   schedule 12.07.2021View page source
. В вашемnuxt.config.js
файле естьtarget: static
иssr: true
, верно? - person kissu   schedule 12.07.2021ssr: true
, который имел бы смысл в моей проблеме. Пытаюсь переключить его, и у меня проблема с модулем npm, и мне нужно будет попытаться найти обходной путь. Я отчитаюсь после того, как полагаю, что это будет. - person dvoutt   schedule 12.07.2021ssr: true
, это действительно останется только как SPA, следовательно, статический контент без JS не будет. Вероятно, ваш модуль несовместим с SSR, установите для негоmode: client
, как показано здесь: nuxtjs.org/docs/2.x/directory-structure/plugins#object-syntax - person kissu   schedule 12.07.2021ssr: true
, и да, модуль был несовместим, но не был плагином или чем-то еще на основе Vue. Мне просто нужно было написать условие для переменной, чтобы проверить, является лиprocess.client
истинным или нет, чтобы вызвать проблему сборки. - person dvoutt   schedule 12.07.2021