V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
dartabe
V2EX  ›  React

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

  •  
  •   dartabe · Jun 12, 2020 · 6247 views
    This topic created in 2148 days ago, the information mentioned may be changed or developed.
    React 的 spa 可能 SEO 不友好

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

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

    有点迷茫
    Supplement 1  ·  Jun 13, 2020
    nextjs 貌似提供了一个 hook 叫 stale-while-revalidate ( SWR ) 用来在客户端 fetch 数据

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


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

    谷歌自己对于 JS SEO 的建议:
    Procumbens
        2
    Procumbens  
       Jun 12, 2020   ❤️ 2
    可以用 Gatsby ?
    dartabe
        3
    dartabe  
    OP
       Jun 12, 2020
    @Procumbens 好像 gatsby 确实可以啊

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