【发布时间】:2020-06-21 18:06:51
【问题描述】:
Afaik,预渲染的 HTML 内容,其中文本内容已经填充在 DOM 中具有更好的 SEO 性能,因为 Google 机器人不需要使用 javascript 来读取页面内的数据。
正如我在 Gatsby 的文档中看到的,可以通过 useStaticQuery 填充数据,其中数据通过 XHR 请求加载并使用 javascript 注入需要另一个渲染的页面。我想知道它在 SEO 性能方面的效率如何。
正如我所见,他们直接建议通过这些查询提供 SEO 敏感数据:
const SEO = ({ title, description, image, article }) => {
const { pathname } = useLocation()
const { site } = useStaticQuery(query)
const {
defaultTitle,
titleTemplate,
defaultDescription,
siteUrl,
defaultImage,
twitterUsername,
} = site.siteMetadata
const seo = {
title: title || defaultTitle,
description: description || defaultDescription,
image: `${siteUrl}${image || defaultImage}`,
url: `${siteUrl}${pathname}`,
}
return null
}
export default SEO
此外,如果这种查询方法对 SEO 性能有负面影响,那么 Gatsby 中是否有任何内置方法可以预渲染这些内容?
【问题讨论】:
标签: javascript html reactjs seo gatsby