V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
litpen
V2EX  ›  分享创造

单页应用 SPA 做 SEO 优化的一种新奇方案

  •  
  •   litpen ·
    lipten · 2018-12-04 18:23:01 +08:00 · 1927 次点击
    这是一个创建于 2211 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网上有好几种单页应用转 seo 的方案,有服务端渲染 ssr、有预渲染 prerender、google 抓 AJAX、静态化。。。这些方案都各有优劣,开发者可以根据不同的业务场景和环境决定用哪一种方案。本文将介绍另一种思路比较清奇的 SEO 方案,这个方案也是有优有劣,就看读者觉得适不适合了。

    以前写过一种单页应用 seo 的方案,就是自己先在本地用爬虫做预渲染,生成同样目录结构的静态化的 html,前端项目服务器判断请求的 UA 是搜索引擎蜘蛛的话就会转发到我事先静态化过的 html 页面

    当时的项目只是一个简单的只有几个页面的企业官网,预渲染没啥问题。

    跟着这个思路,只要判断搜索引擎蜘蛛让蜘蛛看到另一个有内容的页面不就行了。

    所以可以针对 SEO 做另一套网站,没有样式,只有符合 seo 规范的 html 标签和对应的数据,不需要在原有项目上改造,开发成本也不会很高,体积小加载速度更快。

    缺点也有,就是需要另外维护一套网站,主网站界面变化不会影响,如果展示数据有变化就需要同步修改 seo 版的网站。

    说了那么多废话,直接看看我的代码和示例网站就明白了 seo-mask

    示例网站:http://seo-mask.lipten.link/

    这只是我的一种思路,在这里分享给大家,目前已经在我项目里尝试一部分页面了,搜索引擎里查看快照也确实看得到蜘蛛爬出来的是理想内容,至于会有什么副作用就还不清楚。

    v 友们见多识广,要是有更好的思路和建议都可以提哈。

    12 条回复    2018-12-05 21:19:01 +08:00
    kakudesu
        1
    kakudesu  
       2018-12-04 18:35:13 +08:00
    spa 在前端做 seo 有什么好的方案么
    litpen
        2
    litpen  
    OP
       2018-12-04 18:38:43 +08:00
    @kakudesu 我这篇帖子就是在分享一种好的方案呐😂
    userdhf
        3
    userdhf  
       2018-12-04 19:46:38 +08:00
    在页面 body 下紧接着塞一些 display:none 的 ul,里面填充页面数据不行吗?
    kisnows
        4
    kisnows  
       2018-12-04 20:10:37 +08:00
    如果爬虫爬到的用户看到的差异比较大,会判定你作弊,然后进行降权。
    xylitolLin
        5
    xylitolLin  
       2018-12-04 20:16:56 +08:00
    所以还不如 ssr 来得直接?维护一套就行了
    zqjilove
        6
    zqjilove  
       2018-12-04 20:19:04 +08:00
    这也是黑产常用的方法。
    litpen
        7
    litpen  
    OP
       2018-12-05 09:48:57 +08:00
    @kisnows 按原理只抓取数据不会像浏览器一样解析 html 加载 js 之类的。想知道搜索引擎是怎么判定跟用户访问差异较大的,有没有好的文章讲述这块的原理的?
    litpen
        8
    litpen  
    OP
       2018-12-05 09:51:08 +08:00
    @zqjilove 我也了解过这方面的黑客常用操作,所以感觉应该行得通😂
    hoythan
        9
    hoythan  
       2018-12-05 12:44:48 +08:00
    爬虫访问到的东西和用户访问到的不一样,会判定作弊。
    litpen
        10
    litpen  
    OP
       2018-12-05 14:05:48 +08:00
    @xylitolLin 对于已经在线上运行的项目改造成 ssr 成本会很大,除非是用脚手架搭的会提供完美的改造方案就还行。
    Wichna
        11
    Wichna  
       2018-12-05 18:27:55 +08:00
    这个方案我也想过,不过没有付出行动
    kisnows
        12
    kisnows  
       2018-12-05 21:19:01 +08:00
    @litpen #7 没有,所以我们最终选择了 ssr
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5311 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:49 · PVG 13:49 · LAX 21:49 · JFK 00:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.