Я использую Nuxt SSR и использую функцию head для генерации метатегов на странице (странице продукта), где метатеги будут динамическими в зависимости от продукта.
Тем не менее, метатеги не генерируются, если я обращаюсь к странице напрямую, и тестирование страницы на SEO-шашках приводит к плохим оценкам, поскольку метатеги отсутствуют. Если я перейду на страницу внутри сайта, мета-теги будут созданы идеально. Почему это так?
Вот функция головы:
const i18nSeo = this.$nuxtI18nSeo();
//@ts-ignore
const item: Item = this.item;
const setHID = (suffix: string): string => item.name + suffix;
let images = item.__images;
let image;
if (images) {
image =
images.length !== 0
? getImage(images[0].file_url)
: location.origin + '/favicon.ico';
}
return {
title: item.item_name,
meta: [
{
hid: item.name,
name: item.item_name,
content: item.description
},
{
name: 'description',
content: item.description,
hid: setHID('description')
},
{
property: 'og:title',
content: item.item_name,
hid: setHID('og-title')
},
{
property: 'og:url',
content: location.href.replace('=', '%3D'),
hid: setHID('og-url')
},
{
property: 'og:description',
content: item.description,
hid: setHID('og-description')
},
{
property: 'og:image',
content: image,
hid: setHID('og-image')
},
{
property: 'og:type',
content: 'article',
hid: setHID('og-type')
},
{
property: 'og:site_name',
content: 'Aljanoub',
hid: setHID('og-site-name')
},
...i18nSeo.meta
]
};