你的网站在搜索引擎中表现怎样很大程度上依赖于你的你的网站对于不同设备上的设计。

下面介绍了怎样基于URL构造来优化你的网站对于搜索引擎的支持。

  • 决定你网页的URL构造 Determine the URL structure of your webpage
  • 响应式布局是极度推荐的 Responsive design is most recommended
  • 使用 rel='canonical' 和 rel='alternate'对网站的桌面端和手机端进行不同的设计 
  • 使用Vary HTTP 头部对于一个单一的url来提供对于桌面端和手机端动态的不同html内容

决定你网站的url结构

下面常见的三种网站url结构:

  1. 响应式布局页面: 提供相同的HTML和一个URL地址,在css中进行设备询问来决定页面在客户端应该怎样渲染
    ex) Desktop and Mobile: http://www.example.com/
  2. 分开的手机端地址: 根据user-agent将用户重定向到一个不同的url
    ex) Desktop: http://www.example.com/ Mobile: http://m.example.com/
  3. 动态提供: 在一个url上根据user-agent的不同提供不同的html
  4. 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.

原文 : https://developers.google.com/web/fundamentals/discovery-and-monetization/search-optimization/url-structure?hl=en

网站桌面端和手机端不同url的设置的更多相关文章

  1. 山西大同大学教务处学生端--送给学弟,学妹的礼物,可在PC端,手机端操作

    解决问题:大同大学教务处官网学生端口一进去就卡住了,点上面一行的菜单无响应 转眼已是四年,想想自己大学即将结束,不由得让人感慨啊.这才刚开学几天,我就听到有同学在因为补考,选课的事情发愁.学校官方的教 ...

  2. 项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!

    前言 系列文章:[传送门] 洗了个澡,准备写篇博客.然后看书了.时间 3 7 分.我慢慢规律生活,向目标靠近.  很喜欢珍惜时间像叮当猫一样 正文 慢慢地,二维码实现签到将要落幕了.下篇文章出二维码实 ...

  3. js 判断pc端或手机端

    <script> (function () { var navUA = navigator.userAgent; var defIncludeStr = "iPhone|Andr ...

  4. 山西大同大学教务处教师端——可在PC端,手机端操作

    解决问题:大同大学教务处官网教师端口一进去就卡住了,点上面一行的菜单无响应 下载方法(学生端 / 教师端  / 验证脚本): 链接:https://pan.baidu.com/s/1MWrJXoPzE ...

  5. 监听微信端,手机端,ios端的浏览器返回事件,pc端关闭事件

    直接上代码了,可以监听微信端,手机端,iOS端的浏览器返回事件,关闭事件不支持 当进入该页面,我们就给这个history压入一个本地的连接.当点击返回.后退及上一页的操作时,就进行监听,在监听代码中实 ...

  6. 判断浏览器是pc端还是手机端

    1. 判断浏览器是pc端还是手机端 <script type="text/javascript"> var browser = { versions: function ...

  7. web端和手机端测试有什么不同

    面试中经常被问到web端测试和手机端测试有什么相同点和区别呢?现在总结一下这个问题,如有不对敬请指正 web端和手机端测试有什么区别 1.相同点 不管是web测试还是手机App测试,都离不开测试的相关 ...

  8. 关于PC端与手机端随着手指移动图片位置放生变化的拖拽事件

    当按下鼠标时,图片随鼠标移动松开时图片回到原位 drag("div_id") function drag(node_id){ var node = document.getElem ...

  9. 【工具】PC端调试手机端 Html 页面的工具

    一.概述 有一个项目需要在手机端显示一个 web 页面,而每次把应用 launch 后,从手机端看比较麻烦,因此搜罗了几种在 PC 端调试手机端页面的工具. 二.工具 http://fonkie.it ...

随机推荐

  1. 《android 1: 创建一个安卓项目》

    创建方式有两种: 通过Eclipse创建 在工具栏上选择New>android>android application project,或者在导航栏上选择file>new>pr ...

  2. js函数的Json写法

    https://zhidao.baidu.com/question/83401454.html

  3. Hive命令详解

    http://blog.itpub.net/22778222/viewspace-1119892/  官方文档翻译 http://blog.csdn.net/hguisu/article/detail ...

  4. mixare的measureText方法在频繁调用时抛出“referencetable overflow max 1024”的解决方式

    这几天在搞基于位置的AR应用,採用了github上两款开源项目: mixare android-argument-reality-framework 这两个项目实现机制大致同样.我选取的是androi ...

  5. sql 查询 一张表里面的数据 在另一张表中是否存在 和 比对两个集合中的差集和交集(原创)

    这两天在搞一个修复的小功能 需求: A表,B表,C表,日志文件 先筛选出A表和B表中都符合条件的数据,然后检查这些数据在C表中是否存在.如果不存在,就从日志中读取数据,存入C表中,如果存在,则不做操作 ...

  6. mysql 让一个存储过程定时作业的代码(转)

    1.在mysql 中建立一个数据库 test1 语句:create database test1 2.创建表examinfo create table examinfo( id int auto_in ...

  7. 一张图帮你看懂 iPhone 6 Plus 的屏幕分辨率

    一张图帮你看懂 iPhone 6 Plus 的屏幕分辨率 几天前公布的 iPhone 6 Plus 官方标称屏幕是 1920 x 1080 的,可是在 Xcode 中我们发现模拟器的屏幕事实上是看似奇 ...

  8. Android-DrawerLayout介绍

    DrawerLayout已经出来非常久了,个人认为国内的app都深受ios的毒害在设计上都争先模仿ios的风格,都忘了什么是独特的Android风格.自己得先学的然后跟产品争取在项目中使用上一系列的A ...

  9. android菜鸟学习笔记10----Intent及<intent-filter>

    关于Bundle: 注意到Activity的onCreate()方法的签名是protected void onCreate(Bundle savedInstanceState),其参数是一个Bundl ...

  10. 九度OJ 1017:还是畅通工程 (最小生成树)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4789 解决:2382 题目描述:     某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府"畅通工程&quo ...