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

下面介绍了怎样基于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. crm操作业务部门

    using System;     using System.Linq;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messag ...

  2. 在VS2013中打开Nuget

    1.工具→NuGet程序包管理器→程序包管理控制台 2.没有的话,就去  工具→扩展和更新   搜索nuget

  3. HttpWebRequest用法实例

    [HttpPost] public ActionResult Setmobile() { string text = "<?xml version='1.0' encoding='UT ...

  4. 如何修改eclipse的默认字符集和修改中文乱码

    转载,以供以后学习.谢谢 有时候 java代码,导入eclipse中会出现 乱码的问题,通过修改字符集就可以解决. 看下面图片演示过程. 发表在 使用教程 | 标签为 eclipse, 乱码 | 留下 ...

  5. layui-字体图标

    layui官网下载:GitHub:https://github.com/sentsin/layui/ layui官网首页-下载:http://www.layui.com/ layui-字体图标-官方网 ...

  6. 触发器 (Delete Update)

    --delete触发器IF(EXISTS(SELECT * FROM sysobjects WHERE name='T_PlanQtyDelete'))DROP TRIGGER T_PlanQtyDe ...

  7. Visual Studio Code v1.17

    Visual Studio Code v1.17发布 欢迎来到2017年9月发行的Visual Studio代码.在这个版本中有一些重要的更新,我们希望你会喜欢,一些关键的亮点包括: macOS To ...

  8. 用canvas合成图片

    朋友圈有些分享功能是通过长按图片另存来实现的,就像淘宝内部要分享朋友圈的时候一样,这些图片可以用canvas来合成. 获取了img的dom对象以后,进行base64的转. //加载对象$page.ge ...

  9. win7激活附带激活软件

    链接: https://pan.baidu.com/s/1i46yoHR 密码: 7k6y

  10. Jquery datepicker的使用

    1. 设定初始日期 $("#<%=txtStart.ClientID %>").datepicker("setDate", start); 2. 设 ...