uniapp 搜索引擎seo优化(ssr 服务器渲染 非uniCloud版)
创始人
2024-09-26 18:26:06
0
 uniapp官方提供的seo优化方案必须要uniCloud也就是云函数才能使用。如果你要使用云函数这篇文章对你没用。

uni-app seo终极解决方案更新到了这篇文章:

uni-app ssr(服务器渲染) + 动态路由(伪静态) + seo优化-CSDN博客

在现代Web开发中,搜索引擎优化(SEO)对于提高网站的可见性和吸引流量至关重要。UniApp作为一个跨平台开发框架,通常用于构建移动应用和小程序,但也支持开发H5页面。在H5页面开发中,如果希望这些页面能够在搜索引擎中获得更高的排名,进行适当的SEO优化和服务端渲染(SSR)处理是必不可少的。但uniapp却没有官方给一个非云函数用户的一个解决办法。

开发一个小程序原本以为网页版使用h5版就可以 不需要再开发了。

结果几年了 网站都没被搜索引擎收录。不得已必须实现服务器渲染(ssr)实现静态化。

方法1: 首先尝试改成nuxt.js 

会遇到下面问题

1: uniapp有自己的组件。

第三方组件又使用uniapp的组件 结果全部第三方组件无法使用。要全部重写组件。

那工作量还不如重新写一个h5网站了。

2: uniapp的api无法使用。

跟uniapp相关的都无法使用,代码里那么多地方使用了api 要自己实现 。 

果断放弃。能肯重写开发也不去踩那巨坑

方法2: 使用官方的方法 uniCloud版云函数。 

又要托管 又要云函数。服务器空着不用。去用云函数绝对不可能。

方法3: seo作弊

就是判断是否搜索引擎请求。用 puppeteer 无界面浏览器 去请求真实网站将渲染后的内容返回给搜索引擎。

优点:这种方法挺好不要改任何代码。

缺点:这种作弊内容都不一样 搞不好k站。 而且请求速度慢排名也不会好哪去。  这里就不推荐。 

实现没办法 官方文档翻烂了。 搜索引擎找遍了 没有任何成功的案例。

恨不得重新开发一个h5版。但最终去看uniapp的源码 找到了解决办法。就有了方法4.

方法4:  直接调用render 函数就会返回渲染后的html代码。 

下面是关键代码片段。 完整代码 在 github https://github.com/fzl51/uniapp_ssr/

app.use(async (req, res, next) => {      if (!routes[req.path]) return next()     try {         console.log('req=>', req.path)         // 调用 render 函数         const {title, headMeta, preloadLinks, appHtml, appContext} = await render(req, {});         // 替换模板中的占位符         let finalHtml = templateHtml             .replace('', preloadLinks)             .replace('', appContext)             .replace('', `${appHtml}`);         // 设置标题         finalHtml = finalHtml.replace(/(.*?)<\/title>/, `<title>${title}`);         finalHtml = finalHtml.replace(/鼠标右键查看源码 如果源码存在此文字则成功/, `         鼠标右键查看源码 如果源码存在此文字则成功         `);         // 返回最终的 HTML         return res.send(finalHtml);     } catch (err) {         console.error(err)         res.status(500).send('Internal Server Error');     }  })  

uniapp_ssr_demo 用途:实现搜索引擎seo优化提高排名。将项目转为静态内容。 这是一个演示uniapp如何实现ssr服务器渲染 不使用uniapp官方指定的云函数来实现  `uniapp_ssr_demo` 是解决 [uniapp] 项目ssr(服务器端渲染),实现seo的解决方案。 这是实现uniCloud不需要云函数解决方案。   安装 
npm install

**Note:** 关键是需要安装最新的 @dcloudio/uni-app 及 @dcloudio/uni-h5。


在uniapp设置路由mode **history**



发行使用ssr


复制生成好的client跟server目录到该项目根目录运行

npm start

1. 不能有环境代码。详情可以看官方的比如 window document
2. 还有很多api不支持 比如 uni.getSystemInfoSync
3. App.vue不会调用 需要在main.js挂载钩子
4. 如果有npm包 需要在服务器上的项目安装一遍
5. 为每个页面实现不同的meta信息需要自己实现 这个项目只提供uniapp的ssr解决办法。
6. 注意链接 都是onclik事件
7. 如果有不兼容的代码 会node报错 不会服务器渲染 但不影响网页运行
8. ssr很多代码不兼容 多到让你怀疑人生 做好心里准备。

源码:uniapp_ssr_demo

相关内容

热门资讯

王者充值安卓系统在哪,轻松解锁... 亲爱的小伙伴们,是不是在王者荣耀的世界里,你发现了一个小秘密——想要充值,却不知道安卓系统里的充值入...
小米安卓原生系统桌面,体验非凡 哇塞,你有没有想过,你的小米手机其实可以变身成安卓原生的样子?没错,就是那种干净利落、简洁大方的原生...
天辰诀 安卓系统,安卓系统下的... 你知道吗?最近在安卓系统上有一款游戏火得一塌糊涂,那就是《天辰诀》!这款游戏不仅画面精美,玩法多样,...
安卓记录仪系统,安卓系统下的M... 你有没有想过,你的行车记录仪其实就像是一个小小的智能助手呢?它不仅能帮你记录行车过程中的点点滴滴,还...
安卓系统解码图案忘记,找回遗忘... 亲爱的手机控们,你们有没有遇到过这种情况:手机解锁图案忘得一干二净,急得像热锅上的蚂蚁,心里那个慌啊...
谷歌研发安卓新系统,探索谷歌的... 哇塞,你知道吗?谷歌最近可是秘密研发了一款全新的笔记本电脑,而且据说这款笔记本可能会搭载安卓系统哦!...
安卓如何转换ios系统,探索系... 你有没有想过,把你的安卓手机变成苹果手机呢?想象那光滑的屏幕、流畅的系统,还有那独特的苹果风格,是不...
小米11安卓系统耗电,深度剖析... 你有没有发现,最近你的小米11手机好像有点儿“懒洋洋”的,充电宝不离身,电量像坐过山车一样忽高忽低?...
魅蓝是安卓系统,深度解析安卓系... 你有没有想过,你的手机里那个小小的屏幕,竟然能装下整个世界?今天,咱们就来聊聊魅蓝手机,看看它那小小...
安卓系统怎么替换log,And... 亲爱的安卓开发者们,你是否曾在调试过程中为找不到合适的日志替换方法而头疼?别担心,今天我要带你一起探...
安卓手机好的系统,安卓手机操作... 你有没有发现,现在手机市场上的安卓手机真是琳琅满目,让人挑花了眼。不过,你知道吗?在这些安卓手机中,...
安卓系统mac电脑配置,打造安... 亲爱的电脑迷们,你是否曾想过,你的苹果笔记本里也能装上安卓系统?是的,你没听错!今天,就让我带你一起...
状元郎平板安卓系统,引领平板教... 你有没有想过,一款平板电脑,竟然能让你在学习之余,还能畅游安卓世界的海洋?没错,今天我要跟你聊聊的就...
安卓系统哪个传奇好玩,畅玩经典... 手机里的游戏可是咱们休闲娱乐的一大法宝,尤其是安卓系统,那丰富的游戏资源简直让人挑花眼。今天,就让我...
联众支持安卓系统吗,“联众PD... 斗地主爱好者们,是不是在为找不到一款好玩的斗地主游戏而烦恼呢?别急,今天我要给大家揭秘一个好消息——...
康佳电视安卓系统太卡,康佳电视... 亲爱的电视迷们,你们有没有遇到过这样的烦恼:家里的康佳电视用着用着就变得像蜗牛一样慢吞吞的,让人抓狂...
ios对比安卓系统流畅,流畅体... 你有没有发现,用手机的时候,有时候iOS系统就像个优雅的舞者,而安卓系统则像个活力四射的少年?没错,...
安卓系统占用内存小,深度解析优... 你有没有发现,手机用久了,就像人一样,会变得“臃肿”起来?尤其是安卓系统,有时候感觉就像一个超级大胃...
安卓系统怎么下载jdk,JDK... 你有没有想过,在安卓手机上也能编写Java程序呢?没错,就是那种在电脑上写代码的感觉,现在也能在手机...
安卓系统调手机亮度,轻松掌握手... 手机屏幕亮度总是让你眼花缭乱?别急,今天就来手把手教你如何轻松调节安卓系统的手机亮度,让你的手机屏幕...