vuejs SPA应用程序和预渲染指南(+网站地图)

时间:2019-09-12 10:07:01

标签: vue.js single-page-application sitemap prerender

我已经阅读了很多有关预渲染以及如何在vue js应用程序中实现它的文章。 我已经在vuejs应用程序上成功使用了https://github.com/chrisvfritz/prerender-spa-plugin/。经过一段时间的配置后,我现在有了几个[routename] .html文件(Hourra o /)。

但是现在我有点迷路了。 我正在寻找一般指导(操作方法)

应该将Prerendenring页面用于客户端(因为它是html,它将加快速度,但是如何切换到vuejs客户端页面?)还是仅用于爬虫(如googlebot)? 如果搜寻器尝试访问页面,我应该将其重定向到上一个页面吗?

另一个问题:是否应该将这些预渲染页面添加到我的 sitemap 中?

1 个答案:

答案 0 :(得分:1)

到目前为止,我首先了解到SPA页面的预渲染是出于SEO的原因。如果不渲染,则搜索引擎机器人将无法在使用浏览器调用页面时抓取javascript生成的内容。前提页面必须上载到服务器并在站点地图中链接。该漫游器(不支持js)将调用预渲染的html页面。如果您在浏览器启用了js的情况下调用该页面,则javascript文件(已加载到预渲染的页面中,并且启用了js的时间很长)将接管并重新渲染该页面。

请记住,您可能需要.htaccess文件才能将路由路径映射到重新渲染的文件。 可能像这样:

# .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

我刚刚进行了第一次测试,并使其工作正常。在我的设置中 我的dist文件夹中有以下文件结构:

index.html
    about/index.html
    work/index.html
    etc.

在我的应用中具有匹配的路线

/
/about
/work