【问题标题】:Can a React blog be indexed by search engines?React 博客可以被搜索引擎索引吗?
【发布时间】:2020-10-03 10:48:28
【问题描述】:

我目前正在开发一个包含 React、Node.js、Express、Sequelize 的博客……我问自己一个问题:我的文章会被搜索引擎索引吗?还是只会将我网站的主页编入索引?

例如,如果我在 URL blog.com/how-to-foo-bar 有一篇文章How to foo bar,如果有人搜索此 URL,Google 会列出此 URL How to foo bar ?

我听说过 Gatsby 生成静态站点和 Next for SSR 但我对此一无所知,我是否应该使用这些工具来制作我的博客?

【问题讨论】:

  • 如果您的网址返回服务器呈现的内容,那么搜索引擎应该能够对其进行索引。
  • 谷歌says it can render JS,你也可以preview它如何呈现你的页面。这当然不适用于其他机器人

标签: javascript node.js reactjs next.js server-side-rendering


【解决方案1】:

我建议使用服务器端渲染来建立索引站点。如果您像 Web 应用程序一样开发网站并且它仅使用 JavaScript 运行,那么您很幸运能够被索引,但这实际上取决于爬虫、加载您的网站需要多长时间以及可能访问机器人的当前资源。进行爬行 (from a session I attended at JS Kongress with info from mid 2019)。

如果您需要索引(博客、商店等)并希望安全,请执行服务器端渲染。 Gatsby 基本上就是这样做的,Next 也是如此。因此,您可以安全地使用 React 进行开发,并使用这些工具/框架或多或少地免费获得它。如果您已经有一些东西并且不想切换到其他东西,您可以查看一些工具来预呈现您的页面并提供结果。

根据我的经验,动态执行 SSR 效果不佳,因为服务器需要花费大量时间,从而导致用户加载时间过长。

预先进行 SSR,缓存结果,将缓存的版本推送给客户端,让他们水合状态确实有效,但它需要大量的努力和正确性才能使其正确。您提到的工具基本上可以为您做到这一点,而您不必担心太多。

【讨论】:

  • 感谢您的回答,我想我会使用 Next.js !
【解决方案2】:

如果您将 React 应用托管在 Netlify 等服务上,您可以启用其“预渲染”服务。当他们的 CDN 软件确定请求是否来自爬虫时,他们将提供预呈现的内容,因此您的文章将被搜索引擎索引。

但是,此服务需要一些时间来预呈现您的页面,例如 Netlify 会将预呈现的页面缓存 24 到 48 小时。详细了解Netlify Prerendering

如果您使用 React 和 Express.js,我建议您学习 Next.js。它同时执行服务器端渲染 (SSR) 和静态站点生成 (SSG)。您还可以使用无服务器函数 Next.js 构建您的 API。我建议您结帐Next.jstutorials,这很容易理解。

在我看来,如果您将 React 用于生产站点,您应该始终考虑使用 Next.js 或 Gatsby.js。

【讨论】:

    【解决方案3】:

    如果您还不熟悉,请尝试研究robots.txt 的概念。或者使用建议的框架之一...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 2021-11-03
      相关资源
      最近更新 更多