网站桌面端和手机端不同url的设置
你的网站在搜索引擎中表现怎样很大程度上依赖于你的你的网站对于不同设备上的设计。
下面介绍了怎样基于URL构造来优化你的网站对于搜索引擎的支持。
- 决定你网页的URL构造 Determine the URL structure of your webpage
- 响应式布局是极度推荐的 Responsive design is most recommended
- 使用
rel='canonical'和rel='alternate'对网站的桌面端和手机端进行不同的设计 使用Vary HTTP头部对于一个单一的url来提供对于桌面端和手机端动态的不同html内容
决定你网站的url结构
下面常见的三种网站url结构:
- 响应式布局页面: 提供相同的HTML和一个URL地址,在css中进行设备询问来决定页面在客户端应该怎样渲染
ex) Desktop and Mobile: http://www.example.com/ - 分开的手机端地址: 根据user-agent将用户重定向到一个不同的url
ex) Desktop: http://www.example.com/ Mobile: http://m.example.com/ - 动态提供: 在一个url上根据user-agent的不同提供不同的html
- ex) Desktop and Mobile: http://www.example.com/
推荐响应式页面布局

响应式布局的好处:
- 让用户更容易获取你的页面以及分享你的页面
- 不需要根据用户代理user-agent来重定向,所以,运行更快
- 对网站和网络爬虫而言维护消费更低
学习怎样使用响应式布局请点击这里: Responsive Layouts
提供分开的url时使用 link[rel=canonical] 和 link[rel=alternate]
同一个页面在桌面版和手机版中使用不同的URL,将导致用户和搜索引擎困惑,因为提供的是相同页面内容,但是url完全不同,所以你需要暗示:
- 这两个url的内容是相同的
- 哪一个是手机版本的url
- 哪一个是桌面版本的url
上面的信息可以更好的帮助搜索引擎工作,并且确保用户寻找他们想在特定设备上使用时应该用哪种形式的url。
对桌面版本使用 link[rel=alternate]
media属性将帮助搜索引擎了解页面是特定于小屏幕的。
<title>...</title>
<link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.example.com/">
对手机版本使用 link[rel=canonical]
<title>...</title>
<link rel="canonical" href="http://www.example.com/">

Use Vary HTTP header
为了表明url是基于user-agent而产生不同的html内容的,我们需要在HTTP头部提供Vary: User-Agent。
http://www.example.com/ HTTP Header
HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710

提供了Vary:User-Agent头部之后,搜索引擎和代理商知道了被传输的内容是由用户代理决定的。
着允许了搜搜索引分开对待桌面版本和手机版本,让代理商优雅地存储这些内容。
了解更多: Building Smartphone-Optimized Websites.
网站桌面端和手机端不同url的设置的更多相关文章
- 山西大同大学教务处学生端--送给学弟,学妹的礼物,可在PC端,手机端操作
解决问题:大同大学教务处官网学生端口一进去就卡住了,点上面一行的菜单无响应 转眼已是四年,想想自己大学即将结束,不由得让人感慨啊.这才刚开学几天,我就听到有同学在因为补考,选课的事情发愁.学校官方的教 ...
- 项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!
前言 系列文章:[传送门] 洗了个澡,准备写篇博客.然后看书了.时间 3 7 分.我慢慢规律生活,向目标靠近. 很喜欢珍惜时间像叮当猫一样 正文 慢慢地,二维码实现签到将要落幕了.下篇文章出二维码实 ...
- js 判断pc端或手机端
<script> (function () { var navUA = navigator.userAgent; var defIncludeStr = "iPhone|Andr ...
- 山西大同大学教务处教师端——可在PC端,手机端操作
解决问题:大同大学教务处官网教师端口一进去就卡住了,点上面一行的菜单无响应 下载方法(学生端 / 教师端 / 验证脚本): 链接:https://pan.baidu.com/s/1MWrJXoPzE ...
- 监听微信端,手机端,ios端的浏览器返回事件,pc端关闭事件
直接上代码了,可以监听微信端,手机端,iOS端的浏览器返回事件,关闭事件不支持 当进入该页面,我们就给这个history压入一个本地的连接.当点击返回.后退及上一页的操作时,就进行监听,在监听代码中实 ...
- 判断浏览器是pc端还是手机端
1. 判断浏览器是pc端还是手机端 <script type="text/javascript"> var browser = { versions: function ...
- web端和手机端测试有什么不同
面试中经常被问到web端测试和手机端测试有什么相同点和区别呢?现在总结一下这个问题,如有不对敬请指正 web端和手机端测试有什么区别 1.相同点 不管是web测试还是手机App测试,都离不开测试的相关 ...
- 关于PC端与手机端随着手指移动图片位置放生变化的拖拽事件
当按下鼠标时,图片随鼠标移动松开时图片回到原位 drag("div_id") function drag(node_id){ var node = document.getElem ...
- 【工具】PC端调试手机端 Html 页面的工具
一.概述 有一个项目需要在手机端显示一个 web 页面,而每次把应用 launch 后,从手机端看比较麻烦,因此搜罗了几种在 PC 端调试手机端页面的工具. 二.工具 http://fonkie.it ...
随机推荐
- Android开发第一讲之目录结构和程序的执行流程
1.如何在eclipse当中,修改字体 下面的这种办法,可以更改xml的字体 窗口--首选项--常规--外观--颜色和字体--基本--文本字体--编辑Window --> Preferences ...
- 获取服务器classes根路径
/** * 获取web应用路径 * @Description : 方法描述 * @Method_Name : getRootPath * @return * @return : String * @C ...
- c# out ref
out 关键字会导致参数通过引用来传递.这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化.若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字.例如 ...
- eclipse中查看java源代码设置方法
众所周知,第一次查看class文件时,eclipse会给个界面选择添加源代码路径. 但是,如果我要换源代码路径了怎么办,eclipse也不会提示了.那就使用手动的吧 方法1: 使用ec ...
- winform 下载文件显示进度和百分比
/// <summary> /// 下载完成 /// </summary> private void DownloadFileCompleted() { IsComlate = ...
- cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
----我的生活,我的点点滴滴!! 最后一个LabelBMFont了,字体图集LabelBMFont,LabelBMFont类是一个基于位图的字体图集.是一个包括全部你须要于坐标数据一起显示在屏幕上的 ...
- 推荐TED演讲:20岁光阴不再来(Why 30 is not the new 20)
缘起 早上起来在电脑上看到"自强不息"群(群号)中骆宏给大家分享的视频."20岁光阴不再来",利用短暂的时间浏览了一下.就像把这个TED视频分享给很多其它的朋友 ...
- Centos 6.X noVNC+websockify 实现webvnc
文章参考:https://github.com/kanaka/noVNC http://www.cnblogs.com/yanghuahui/p/3574388.html 工作原理: noVNC 可以 ...
- MyBatis做动态模糊查询时,like后面要不要加单引号??
做项目遇到了个奇怪的问题,项目里面要对商品.账户.进行分别的多条件查询,于是我就采用动态多条件分页查询,起初在做账户部分的时候Mybatis是这样写的 <!-- 动态多条件分页查询 --> ...
- Go语言入门系列1:安装,How to Write Go Code
https://golang.org/doc/code.html src contains Go source files, pkg contains package objects, and bin ...