V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kongkongye
V2EX  ›  程序员

ssr 有哪些好的方案吗?

  •  
  •   kongkongye ·
    kongkongye · 2022-10-13 17:58:58 +08:00 · 3056 次点击
    这是一个创建于 778 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要目的是 seo ,前端用的 react+redux+vite ,想支持 ssr ,看了一下午看的头疼,要支持 ssr 有很多框架,但好像都是侵入式的,要大刀阔斧地改代码。
    话说可以直接用无头浏览器后台渲染出 html 然后返回给爬虫吗?还没实践不知是否可行

    19 条回复    2023-09-26 16:12:16 +08:00
    233373
        1
    233373  
       2022-10-13 18:02:32 +08:00
    关注下,不知道有没有 react+express 的方案
    kid740246048
        2
    kid740246048  
       2022-10-13 18:10:19 +08:00
    单纯为了 seo 而上 ssr 代价有点过大,可以考虑下使用 puppeteer 做预渲染的方案
    P.S. 2202 年了,考虑下别的状态管理器呗😏
    kongkongye
        3
    kongkongye  
    OP
       2022-10-13 18:14:25 +08:00 via iPhone
    @kid740246048 useContext+useReducer ?
    redux 我觉得虽然复杂,但官方用例封装的却很简单好用
    fay94
        4
    fay94  
       2022-10-13 18:15:33 +08:00
    seo 用个静态官网不就行了
    zhuweiyou
        5
    zhuweiyou  
       2022-10-13 18:15:50 +08:00
    据说给爬虫单独做一套页面,会被搜索引擎降权.
    duan602728596
        6
    duan602728596  
       2022-10-13 18:24:02 +08:00
    其实自己改造的成本不高。不太推荐用无头。
    haha512
        7
    haha512  
       2022-10-13 18:26:19 +08:00
    seo 最好的方案可能还是 几年前的 jsp php jq 前后不分离方式吧。
    vue react + ssr 太费劲了,效果还未必有混合方式好
    leoli
        8
    leoli  
       2022-10-13 18:27:27 +08:00
    next.js
    wu67
        9
    wu67  
       2022-10-13 18:32:31 +08:00
    vue react 都有各自的一套 ssr 框架, 但是我个人看来, 都是一个强约束类型的方案, 基本上把代码组织和写法都给你框好了, 如果跟团队现行的代码差异较大, 确实非常痛苦.
    像 vue 的 nuxt, 甚至路由都给你规划好了, 一个文件就是一个路径

    如果只是要把首页做 seo, 那直接整一个静态页就好了. 如果要全站, 对不起我只是路过...
    dudubaba
        10
    dudubaba  
       2022-10-13 19:10:48 +08:00
    react 目前 next.js 是功能最全的也是用户最多的。
    potatowish
        11
    potatowish  
       2022-10-13 19:12:42 +08:00 via iPhone
    @duan602728596 用无头会有什么问题呢
    ChefIsAwesome
        12
    ChefIsAwesome  
       2022-10-13 19:34:41 +08:00 via Android
    百度不清楚。无头浏览器渲染,谷歌不仅不会降权,还推荐这个方法。我之前做的网站就用 rendertron 渲染的,谷歌排第一呢。
    kongkongye
        13
    kongkongye  
    OP
       2022-10-13 20:00:06 +08:00 via iPhone
    @ChefIsAwesome 这个库已经不维护了,好像说这种方法不推荐
    Charrlles
        14
    Charrlles  
       2022-10-14 03:05:27 +08:00 via iPhone
    我们用 rendora

    只要内容一致,不会降权的,谷歌的文档有写: https://developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering?hl=zh-cn
    buffzty
        15
    buffzty  
       2022-10-14 04:12:57 +08:00
    @kongkongye 我之前用的 puppeteer 自己搭的. 谷歌官方推荐的就是这种方法
    Envov
        16
    Envov  
       2022-10-14 14:13:11 +08:00
    可以吧代码改动一下,利用 renderToString 和水合,把主要需要 seo 的页面做一下 ssg
    karott7
        17
    karott7  
       2022-10-14 16:14:10 +08:00
    next.js
    liushuigs
        18
    liushuigs  
       2023-09-26 16:11:01 +08:00
    可以试试 Runmix: 从零开始搭建的 React SSR 框架,非常轻量级。https://github.com/runmix-dev/runmix
    liushuigs
        19
    liushuigs  
       2023-09-26 16:12:16 +08:00
    @233373 https://github.com/runmix-dev/runmix 就是 React + express 的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2176 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:46 · PVG 08:46 · LAX 16:46 · JFK 19:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.