我遇到了问题,因为 SEO 检查工具(例如 https://technicalseo.com/tools/hreflang/)看不到我生成的 HREFLANG 标签。我在
next/head
组件内的语言切换器组件中生成这些。
我认为问题是因为我使用
useEffect()
来构建 hreflang url?
export default function LanguageSwitcher() {
useEffect(() => {
// I am building array of hreflang URL's here from which I then generate the HTML
}
return (
<Head>
{
languageMapper.map((l) => (
<link key={l.locale} rel="alternate" hrefLang={l.locale} href={l.url} />
))
}
</Head>
)
}
这对 Google 来说可以吗?还是我应该修复它?
检查 hrefLang 属性在页面上的呈现方式。如果 hrefLang 带有大写的 L,搜索引擎将看不到它。将其重命名为 hreflang,是的,它会向您发出有关无效 DOM 属性的警告,但我还没有找到解决方案。每当我找到正确答案时,我都会编辑此消息。
它通过将
link
移出 Head
🤷🏽 对我有用