单页应用程序网络爬虫和搜索引擎优化



我已经在前端使用秘银框架将我的博客创建为单页应用程序。为了进行查询,我在后端使用了 rest API 和 Django。由于所有内容都是使用 javascript 代码呈现的,并且当爬虫点击我的博客时,他们看到的只是一个空白页面。除此之外,每当我在社交媒体上分享帖子时,Facebook看到的只是一个空白页面,而不是帖子内容和标题。 我正在考虑查看用户代理,每当 USER-AGENT 来自爬虫时,我都会向它提供页面的渲染版本,但我在实现上述方法时遇到了问题。

在后端 SEO 友好的网络爬虫中创建使用 rest API 和 Django 的单页应用程序的最佳实践是什么?

我现在正在一个项目中这样做,我真的建议使用 Node 而不是 Python 来做,如下所示:

https://isomorphic-mithril.mvlabs.it/en/

您可能希望查看爬网程序访问的页面的服务器端呈现。

这是一篇关于客户端与服务器端的好文章

我以前没有听说过秘银,但你可能会找到一些为你做到这一点的插件。

https://github.com/MithrilJS/mithril-node-render

这可能会帮助你: https://github.com/sharjeel619/SPA-SEO

上面的例子是用 Node/Express 制作的,但你可以在 Django 服务器上使用相同的逻辑。

逻辑

  • 浏览器从服务器请求您的单页应用程序, 将从单个索引.html文件加载。
  • 您编写了一些拦截客户端的中间服务器代码 请求并区分请求是来自浏览器还是 一些社交爬虫机器人。
  • 如果请求来自某个爬网程序机器人,请对 API 进行调用 您的后端服务器,收集所需的数据,并将该数据填写到 HTML 元标记,并将这些标记以字符串格式返回给 客户。
  • 如果请求不是来自某个爬虫机器人,那么只需 从单个页面的"生成"或">dist"文件夹中返回 index.html 文件 应用。

最新更新