React 是不是比较难处理静态 html + ajax 这种页面 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dartabe
V2EX    React

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

  •  
  •   dartabe 2020-06-12 06:44:24 +08:00 5919 次点击
    这是一个创建于 2012 天前的主题,中的信息可能已经有所发展或是发生改变。
    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 的纯静态页面
    (adsbygoogle = window.adsbygoogle || []).push({});
    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 再开发一个 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     Solana     2513 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 00:22 PVG 08:22 LAX 16:22 JFK 19:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86