【发布时间】:2023-01-24 02:34:32
【问题描述】:
我对如何在 Next.js 13 中管理客户端组件的 SEO 感到困惑。
假设我想在 /contact 创建一个联系我们的页面
在新框架中,我应该在app 目录中创建一个名为contact 的文件夹。按照惯例,我应该在其中创建一个名为 page.js 的页面。
现在我需要创建一个表单,当然需要管理它的状态。因此,我应该使用 useState 或来自 React 的其他钩子。
但是当我这样做时,Next.js 编译器会抱怨它是一个服务器组件,如果我想在客户端使用它,我应该在顶部用 'use client' 指令标记它。
但我不希望组件在客户端呈现。我需要我的 /contact 页面被搜索引擎索引。
我应该怎么办?
【问题讨论】:
-
Client components 仍在服务器上预渲染。但与服务器组件不同的是,它们也会在客户端得到补充。只要您的 SEO 逻辑不在仅客户端代码(
useEffect内)中处理,就不会有任何问题。
标签: next.js seo server-side-rendering