ke.qq.com url重构总结

一、重构的目的

1.url简化

过长的url不利于传播,比如输入框的字数限制导致分享的url被截断或分享内容无法提交。复制url文本时,短的url也可能使鼠标少拖动一段距离。

2.规范url

http://ke.qq.com/cgi-bin/courseDetail?course_id=36413 类似这个课程详情页的url,包含大、小字母、下划线和中划线。我们希望统一下划线做单词间分隔。

3.结构化,语义化

例如:http://ke.qq.com/tupu/3/course 这个链接表示图谱(学习导图)模块中,3号学习导图囊括的课程列表,这是url的结构。语义化:特性领域的一些词汇,"tupu"(图谱),“course”(课程)。为什么url中有汉语拼音,又有英文单词,那是因为大家觉得这样简洁,比较好懂。若把url中的图谱id“/3/”换成图谱名称"/android/",可能从语义上、搜索结果排名上会更好一些。

4.采用技术无关的url

提供动态内容服务时,像cgi-bin之类的单词不应该出现在url中。

说明:本次url重构主要是对直出页面做的。

二、url重构前、后的对应关系

重构前url

重构后URL

全部课程页

http://ke.qq.com/cgi-bin/courseList

http://ke.qq.com/course/list

搜索结果页

http://ke.qq.com/cgi-bin/courseList?word=android

http://ke.qq.com/course/list/android (2015.11.2发布)

课程详情页

http://ke.qq.com/cgi-bin/courseDetail?course_id=36413

http://ke.qq.com/course/36413

老师详情页

http://ke.qq.com/cgi-bin/teacher?tid=4140927368

http://ke.qq.com/teacher/4140927368

学团贴子列表页

http://ke.qq.com/cgi-bin/bbs/xbar_info?bid=226209

http://ke.qq.com/bbs/tuan/226209

学团帖子详情页

http://ke.qq.com/cgi-bin/bbs/posts/post_detail?bid=226209&pid=8097603-1435217065

http://ke.qq.com/bbs/topic/8097603-1435217065?bid=226209

图谱首页

http://ke.qq.com/cgi-bin/ke_graph?mapid=6

http://ke.qq.com/tupu/6

图谱的课程页

http://ke.qq.com/cgi-bin/ke_graph/courseList?mapid=6

http://ke.qq.com/tupu/6/course

H5所有页面

http://ke.qq.com/mobilev2/*.html

http://m.ke.qq.com/*.html

三、url重构需要做什么?

1.nginx转发规则

(1)索引擎收录了大量旧url,希望搜索引擎能快速地切换到新url,并且将页面的权重传递过去,所以用了301跳转,如下方图1所示。(2015.11.2发布) (2)希望url重构对CGI层透明,由接入层nginx完成新-旧地址的转换工作,如下方图2所示。

2.平台互转

教育的部分重点页面在PC端与移动端有2个不同版本的实现,如果用户使用手机浏览他人分享的PC课程详情页时,我们希望用户看到的是相应H5的课程详情页,反之亦然。处理这种不同平台url的对应关系叫平台互转。

pc url

移动端url

首页

http://ke.qq.com/

http://m.ke.qq.com/

课程详情页

http://ke.qq.com/course/36413

http://m.ke.qq.com/courseDetail.html?course_id=36413

全部课程页

http://ke.qq.com/course/list

http://m.ke.qq.com/courseList.html

老师详情页

http://ke.qq.com/teacher/4140927368

http://m.ke.qq.com/teacher.html?tid=4140927368

3.url提交

url重构后,出现了一批新地址,我们要将这批新地址及时地提交百度搜索引擎。

//提交百度
$(window).load(function () {
        $.getScript('http://push.zhanzhang.baidu.com/push.js');
});

4.路径上报

目前,用户访问路径上报是通过一份公共的配置管理的。 var KEY_MAP ={ '/cgi-bin/courseDetail': 'H', '/cgi-bin/courseList': 'K', ... }; 比如用户访问课程详情页http://ke.qq.com/cgi-bin/courseDetail?course_id=36413 ,那么在用户访问路径中会新增一个节点"H"与之对应。url变成http://ke.qq.com/course/36413 之后这个映射key也需要微调。

5.其他修改点

  • 后台代码对url的合法性检查
  • 页面内a标签url修改
  • 获取页面参数修改
  • 管理后台运营配置

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏全栈数据化营销

不用代码也可以采集到高质量网页数据!

最近浙江省新高中信息技术教材将VB语言替换成python,并且使用「Python/Matplotlib/Pandas」组合作为高中计算机高考内容,这个引起了使用...

31510
来自专栏SEO

搜索新规则下,移动端如何优化?

2726
来自专栏杨建荣的学习笔记

前后端分离的流程设计

这里需要提两个概念,一个是本地前端,另外一个是平台前端,本地前端是在内部迭代使用,界面可以简单一些,功能为主;平台前端是一个具有全局规划性的前端技术,简...

962
来自专栏腾讯社交用户体验设计

效率至上—全新微云

1383
来自专栏QQ会员技术团队的专栏

腾讯 VasSonic 框架,让你的 H5 页面首屏秒开

我们研发出了 VasSonic 框架,让 H5 页面首屏达到秒开,给用户一个更好的 H5 体验。

1.5K8
来自专栏知晓程序

微信小程序如何做到好看又好用?| 官方文档解读

1432
来自专栏QQ会员技术团队的专栏

腾讯祭出大招 VasSonic,让你的 H5 页面首屏秒开!

本文根据作者在 2017GMTC 全球移动技术大会的上分享的 ppt 整理,特别感谢卢景伦(腾讯 SNG 增值产品部高级工程师)将 ppt 精华汇总成文,方便...

7170
来自专栏IT 指南者专栏

五月福利,吐血整理,重磅推荐,我坚信总有你需要的

大家都知道,从上个月开始,这个公号「compassblog」每月都会至少送出一次福利,并且这些福利涵盖学习资料、工具推荐、编程资源、抽奖送钱等等,当然啦,抽奖可...

38518
来自专栏极客慕白的成长之路

如何在一个月内学会Python爬取大规模数据

1184
来自专栏python开发者

接口自动化测试的"开胃小菜"---简单黑客攻击手段

Web应用系统的小安全漏洞及相应的攻击方式 接口自动化测试的"开胃小菜" 1   写作目的 本文讲述一个简单的利用WebAPI来进行一次基本没有破坏力的“黑客”...

2119

扫码关注云+社区