前端后端分离,怎么解决SEO优化的问题呢?
  对于90%以上的互联网公司来说,前后端分离是必须要做的。目前接手的公司的一个工程,后端是PHP,用的smarty模板,开发效率和之前公司的完全分离相比,确实低不少,一方面需要前端会PHP,另一方面沟通成本也不少,改个PHP的路由还要经过后端的同意,还有系统臃肿,维护成本高等等。但做成前后端完全分离,做成SPA,怎么做SEO呢,公司的这款产品需要大量的SEO和SEM,国内搜索引擎现在对SPA的SEO并不好。看了看其它公司的方案,知乎目前做的前后端分离是前端渲染,那怎么做的SEO呢,暂时没有太多时间研究,找了篇关于前后端分离的文章。

前端后端分离,怎么解决SEO优化的问题呢?

   这篇文章的讨论里,比较好的方式,有了nodejs后主流做法是前后端同构方案,即一套代码在浏览器端和node端都可以运行,从而可以先在node端请求数据渲染模板,然后将渲染结果返回给浏览器最终呈现,java或PHP做底层,是目前最完美的前后端分离+SEO解决方案,目测没有之一。

泻药,简单说几点自己的个人看法。
解决题主的问题,首先得先想明白什么是SEO,然后再说前后端分离情况下如何做SEO优化。

我们假设这个产品是一个新产品,他需要做SEO,那么到底什么是SEO呢?SEO的缩写是『Search Engine Optimization』,搜索引擎优化,虽然我不是专业做SEO的,我也不是SEO工程师(你别说某些网站还真有这个岗位)。

不过或多或少,SEO这个行业曾经也是个特别有意思的行业。

优化针对这个问题分2个点:

1,前后端分离的架构,无法提供搜索引擎可收录的页面,需要搜索引擎蜘蛛拥有执行javascript能力才行,可现实是大部分的搜索引擎都不支持。

2,支持了SPA架构的产品,如何做SEO优化。(第一个点是先让他支持,第二条才落到优化)

我们先看第一个点,我们要做SEO支持首先要知道我们要优化哪些Search Engine。

常见的列举,百度,google,微软必应,搜狗,等等。

那么我们首先得了解Search Engine才能谈如何做到让页面被收录,这里就拿最常见的百度和google来举例吧。

百度是不支持收录SPA的页面的,而且SPA的网站对于百度的spider来说等于是只有1个页面,那么如何做到让这种搜索引擎收录页面呢?首先我们可以自行提交sitemap,让蜘蛛主动去爬,但是遇到sitemap中的URL,到达指定页面后页面只有一段js怎么办,我们可以利用比如标签来进行最简单的优化,比如在noscript里打印出当前页面一些关键的信息点,但是这个做法大家一看就非常的蠢,因为正常用户并不需要这些内容,占用下载量,而且不好维护。那么我们如何判断当前页面是否支持运行javascript呢?前端已做到,用noscript,后端不行,那么只好针对百度的spider做UA判断了,这也就是大家常见的一些解决方案,使用phantomjs或者nginx代理,来对spider访问的页面进行特殊的处理,达到被收录的效果。

那么这么做其实是有一些副作用的,比如你收录的页面和用户正常访问的页面差别较大是有被搜索引擎K掉的风险的,所以更多的做法还是选择首屏使用ssr的方式渲染,先通过后端路由保证页面的主要信息可以被服务器端输出,然后其他的功能,包括用户之后的路由跳转控制,再使用前端路由来做,曾经的项目经验在新浪博客手机版中也是这么做的,当然当时没有ssr,是后端直接渲染的模板,用户访问后,再进行交互则再采用前后端分离和前端路由控制来完成。

然后就是google的搜索引擎,是支持hashtag再rewrite访问你的静态版的,但是毕竟只有google支持,所以正规的做法都是使用pushState来对页面URL做前端的后续无刷新控制,对爬虫和所有用户提供任何入口的ssr或者首屏的直接渲染,才是最完美的SEO支持方案。

ok,到这里说清楚了第一个点,那么第二个点怎么做呢?SEO优化其实我也学过一些简单的,仅仅让站点支持收录只是第一步,关键词的搭配,页面关键词的分部,一些特殊的meta头,还有站内链接的链路,站外的链路,甚至站群权重的影响,这些加一起出一本都足够了,大家有兴趣可以去搜索SEO相关的一些书籍。

这里给大家讲一些很早年我做百度SEO的一些小故事,我上大学的时候认识一个专门做企业站百度SEO的公司,或者说小团队吧。他们做关键词的排名做到了什么程度呢?根本不需要你的网站有任何你想要的关键字,比如我想买一个『微信小程序』的关键字排名,他们当时的能力就是3天能让你上第一页。而且你的网站都不需要有微信小程序这个词。

怎么做到的呢?哈哈,其实就是站群,当时百度的收录权重是有很大的问题的,外链的引入量达到一定的时候,根本不需要你自己本身来做SEO优化,你的排名就会蹭蹭长,当然这个代价是非常大的,比如你需要先有1000个以上的域名,还要有批量的机器支持快速的更新这1000个站群的内容,和内部的链接等,这是一个技术和体力活,而且风险比较大,规则总是在变,随时有被K的风险,给客户做的时候也是需要自己测试无误再卖这种暴力产品。

所以,所谓的SEO,不还是。。。人家Search Engine里面几条规则的事,做优化,还是要先了解规则,才能优化的足够NB,这些规则里,前后端分离这玩意只是其中一条。更多的优化靠的还是内容和链接交换。

最后,再次泻药…

搜索引擎蜘蛛爬虫

《H5-前端后端分离SEO优化》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. 国内常用的学习flutter地址
  2. 【WebPack】WebPack的安装、使用WebPack打包 js/css/img 等文件
  3. 我与ARM的那些事儿2JINLK烧录nor flash
  4. sr锁存器 数电_C06. SR锁存器的认识
  5. 没有基础怎么学Web前端?相关学习路线是什么?
  6. LayoutInflater(二)
  7. 通向架构师的道路(第八天)之weblogic与apache的整合与调优 转
  8. Oracle Study之案例--在RAW上controlfile多元化
  9. android studio im源码,全开源即时通讯(IM)系统 高仿微信源码
  10. CodeMeter:软件加密的“木桶定律”
  11. 道长运维之CPU负载高
  12. 03-什么是Mach-O文件?
  13. 计算机网络的 89 个核心概念
  14. 分布式系统原理与设计
  15. 对凯恩期《通论》的一点随想
  16. 从“将男朋友转化为老公”的评价体系谈数据分析
  17. 在spring boot应用监控线程池的状态
  18. Darknet安装及使用
  19. iMeta | 国际标准刊号ISSN在线版正式确认
  20. Android JNI开发之使用Lame将录音转MP3

热门文章

  1. wikioi1077 多源最短路
  2. 物理层和Mac层的区别
  3. 计网MAC层和网络层通信流程梳理
  4. 企业级开源邮件系统搭建的全过程
  5. Python安装及配置环境变量
  6. MybatisPlus的使用和Wrapper(QueryWrapper and UpdateWrapper)
  7. tar: Removing leading `//‘ from member names
  8. redis和mysql的异步更新
  9. 使用cmd命令删除文件夹下所有文件
  10. python中的字符串比较