React 博客可以被搜索引擎索引吗?
Can a React blog be indexed by search engines?
我目前正在使用 React、Node.js、Express、Sequelize 等开发博客,我问自己一个问题:我的文章会被搜索引擎索引吗?还是只会索引我网站的主页?
例如,如果我在 URL blog.com/how-to-foo-bar
上有一篇文章 How to foo bar,这篇 URL 会被列在Google 如果有人搜索 How to foo bar ?
我听说过 Gatsby 可以生成静态站点和 SSR 的 Next,但是我对此一无所知,我应该使用这些工具来制作我的博客吗?
我建议使用服务器端渲染来获得索引站点。如果您像开发网络应用程序一样开发网站并且它仅在 JavaScript 上运行,那么您很幸运能够被编入索引,但这实际上取决于爬虫、加载您的网站需要多长时间以及可能的当前资源在爬行时访问机器人 (from a session I attended at JS Kongress with info from mid 2019)。
如果您需要索引(博客、商店等)并希望安全,请进行服务器端渲染。 Gatsby 本质上就是这样做的,Next 也是如此。所以你可以安全地使用 React 进行开发,并使用这些工具/框架或多或少地免费获得它。如果您已经拥有一些东西并且不想切换到其他东西,您可以查看可以预呈现您的页面并提供结果的工具。
根据我的经验,即时执行 SSR 效果不佳,因为它需要花费大量时间为服务器执行操作,从而导致用户加载时间过长。
预先执行 SSR,缓存结果,将缓存的版本推送给客户端并让他们补充状态确实有效,但需要大量的努力和正确性才能做到正确。您提到的工具基本上可以为您完成这些工作,您不必太担心。
如果您在 Netlify 等服务上托管您的 React 应用程序,您可以启用其 'Prerendering' 服务。当他们的 CDN 软件确定请求是否来自爬虫时,他们将提供预呈现的内容,因此您的文章将被搜索引擎编入索引。
但是,此服务预呈现您的页面需要时间,例如 Netlify 会将预呈现的页面缓存 24 到 48 小时。详细了解 Netlify Prerendering
如果你正在使用 React 和 Express.js,我建议你学习 Next.js。它同时执行服务器端呈现 (SSR) 和静态站点生成 (SSG)。您还可以使用无服务器函数 Next.js 构建 API。我建议您查看 Next.js
tutorials,这很容易理解。
在我看来,如果您将 React 用于生产站点,您应该始终考虑使用 Next.js 或 Gatsby.js。
如果您还不熟悉,请尝试研究 robots.txt
的概念。或者使用建议的框架之一...
我目前正在使用 React、Node.js、Express、Sequelize 等开发博客,我问自己一个问题:我的文章会被搜索引擎索引吗?还是只会索引我网站的主页?
例如,如果我在 URL blog.com/how-to-foo-bar
上有一篇文章 How to foo bar,这篇 URL 会被列在Google 如果有人搜索 How to foo bar ?
我听说过 Gatsby 可以生成静态站点和 SSR 的 Next,但是我对此一无所知,我应该使用这些工具来制作我的博客吗?
我建议使用服务器端渲染来获得索引站点。如果您像开发网络应用程序一样开发网站并且它仅在 JavaScript 上运行,那么您很幸运能够被编入索引,但这实际上取决于爬虫、加载您的网站需要多长时间以及可能的当前资源在爬行时访问机器人 (from a session I attended at JS Kongress with info from mid 2019)。
如果您需要索引(博客、商店等)并希望安全,请进行服务器端渲染。 Gatsby 本质上就是这样做的,Next 也是如此。所以你可以安全地使用 React 进行开发,并使用这些工具/框架或多或少地免费获得它。如果您已经拥有一些东西并且不想切换到其他东西,您可以查看可以预呈现您的页面并提供结果的工具。
根据我的经验,即时执行 SSR 效果不佳,因为它需要花费大量时间为服务器执行操作,从而导致用户加载时间过长。
预先执行 SSR,缓存结果,将缓存的版本推送给客户端并让他们补充状态确实有效,但需要大量的努力和正确性才能做到正确。您提到的工具基本上可以为您完成这些工作,您不必太担心。
如果您在 Netlify 等服务上托管您的 React 应用程序,您可以启用其 'Prerendering' 服务。当他们的 CDN 软件确定请求是否来自爬虫时,他们将提供预呈现的内容,因此您的文章将被搜索引擎编入索引。
但是,此服务预呈现您的页面需要时间,例如 Netlify 会将预呈现的页面缓存 24 到 48 小时。详细了解 Netlify Prerendering
如果你正在使用 React 和 Express.js,我建议你学习 Next.js。它同时执行服务器端呈现 (SSR) 和静态站点生成 (SSG)。您还可以使用无服务器函数 Next.js 构建 API。我建议您查看 Next.js
tutorials,这很容易理解。
在我看来,如果您将 React 用于生产站点,您应该始终考虑使用 Next.js 或 Gatsby.js。
如果您还不熟悉,请尝试研究 robots.txt
的概念。或者使用建议的框架之一...