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

React 是不是比较难处理静态 html + ajax 这种页面

  •  
  •   dartabe · 2020-06-12 06:44:24 +08:00 · 4872 次点击
    这是一个创建于 1386 天前的主题,其中的信息可能已经有所发展或是发生改变。
    React 的 spa 可能 SEO 不友好

    如果只是希望 seo 友好的展示页面 同时需要远程 api 更新几个小的数据点 React 是不是就不太适合了?

    Nextjs 之类的框架貌似可以 但是静态服务器又用不了了?

    有点迷茫
    第 1 条附言  ·  2020-06-13 11:37:08 +08:00
    nextjs 貌似提供了一个 hook 叫 stale-while-revalidate ( SWR ) 用来在客户端 fetch 数据

    https://github.com/vercel/swr#data-fetching


    nextjs 好杂 好难 哎 不过感觉挺有用的 个人比较不喜欢 gatsby
    17 条回复    2020-06-13 09:12:39 +08:00
    zachguo
        1
    zachguo  
       2020-06-12 06:54:54 +08:00
    这是对于 JS SPA 的普遍性 SEO 问题,和 React 没关系

    谷歌自己对于 JS SEO 的建议:
    Procumbens
        2
    Procumbens  
       2020-06-12 06:57:42 +08:00   ❤️ 2
    可以用 Gatsby ?
    dartabe
        3
    dartabe  
    OP
       2020-06-12 07:11:53 +08:00
    @Procumbens 好像 gatsby 确实可以啊

    不知道 nextjs 输出静态页面的时候有没有类似 结合 runtime data 的功能
    zj1926
        4
    zj1926  
       2020-06-12 07:12:27 +08:00
    不会啊,我的这个项目就是 react 写的,https://github.com/im6/javascript-fun,SEO 贼友好
    dartabe
        5
    dartabe  
    OP
       2020-06-12 07:27:30 +08:00
    @zachguo 话是这么说 但我看某些专门搞 seo 的公司主页也是基于 nextjs 的纯静态页面
    zachguo
        6
    zachguo  
       2020-06-12 07:33:27 +08:00
    @dartabe 你的点是什么?到底要问啥? nextjs 帮 react 进行 SSR 或者 SSG 罢了,任何 JS 都可以 SSR 或 SSG
    dartabe
        7
    dartabe  
    OP
       2020-06-12 07:41:29 +08:00
    @zachguo 不好意思 看错了你回复了
    murmur
        8
    murmur  
       2020-06-12 07:58:17 +08:00
    seo 国内本身就没啥意义,资金不到位怎么 seo 也比不上广告排名
    lizz666
        9
    lizz666  
       2020-06-12 08:12:44 +08:00
    最近要弄个网站,也在纠结选 react 版的 next.js 还是 vue 版的 nuxt.js
    Perry
        10
    Perry  
       2020-06-12 08:24:36 +08:00
    @dartabe Next.js 支持 Static Exporting
    dartabe
        11
    dartabe  
    OP
       2020-06-12 08:53:37 +08:00
    看了一下 好像是 react.hydrate() 实现的 那应该是框架无关了 应该都能用
    zzzmh
        12
    zzzmh  
       2020-06-12 10:08:46 +08:00
    这个是一开始就要设计好的,例如 V2EX 就有专门给谷歌收录的 url
    一些知名网站,基本是首页是 spa,然后跳转到的子页面是部分后端渲染,部分(如点赞数评论区)前端渲染。
    如果头铁一点不怕百度判你作弊的话,也可以先全站 spa,
    然后子页面再开发一个一模一样的后端渲染的,专门有个 url 路径,专门提供搜索引擎收录
    例如这个帖子是 www.v2ex.com/#/t/680857 再开发一个 https://www.v2ex.com/t/680857 专门给百度收录用的
    joesonw
        13
    joesonw  
       2020-06-12 10:12:39 +08:00
    你要理解到 React SSR 的原理. 如果只是为了 SEO, 只需要服务端 renderToString 即可.如果前端还有后续操作的, 用 hydrate 即可.
    lbw
        14
    lbw  
       2020-06-12 10:47:17 +08:00
    非动态网页用预渲染 prerender 就可以了,react 下有 next.js ,vue 下有 nuxt.js ,它们都支持静态 prerender 导出,而非 spa 或 ssr
    hantsy
        15
    hantsy  
       2020-06-12 15:42:34 +08:00
    老话题了,好像 5,6 年前第一次用 ANgularjs 的时候就看过一些方案。prerender 是一个专有的,另外应该 Ngnix,Apache 等 Web 服务器都是配置缓存页面的,让搜索引擎去查缓存。
    xcstream
        16
    xcstream  
       2020-06-12 20:45:50 +08:00
    需要 seo 的页面 通常比较简单 根本无需这种框架
    zhuweiyou
        17
    zhuweiyou  
       2020-06-13 09:12:39 +08:00
    nextjs 支持 export html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2873 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:03 · PVG 21:03 · LAX 06:03 · JFK 09:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.