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

下面介绍了怎样基于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. java:注解(一)

    什么是注解 注解(Annotation),也叫(metadata)元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法. ...

  2. 浅谈对TDD的看法

    程序猿对TDD这个词一定不陌生.近几年比較火.英文全称Test-Driven Development,測试驱动开发. 它要求在编写某个功能的代码之前先编写測试代码,然后仅仅编写使測试通过的功能代码,通 ...

  3. java程序如何优化--技巧总结

    http://www.douban.com/group/topic/17850695/

  4. 设计模式之单利模式(C#语言描述,附视频下载地址)

    今天来介绍所有设计模式中结构最简单的设计模式单例模式,它的核心结构中只包含一个被称为单例类的特殊类. 要想完成单例类的设计,我们要遵循一下原则即可: 1.一个类只能有一个实例 2.确保该实例对外有一个 ...

  5. Struts2学习四----------动态方法调用

    © 版权声明:本文为博主原创文章,转载请注明出处 Struts2动态方法调用 - 默认:默认执行方法中的execute方法,若指定类中没有该方法,默认返回success <package nam ...

  6. JavaWeb学习笔记:Servlet

    Servlet JavaWeb 概念 Java Web应用由一组Servlet.HTML页面.类.以及其他能够被绑定的资源构成. 他能够在各种供应商提供的实现Servlet规范的Servlet容器中执 ...

  7. apt-get update --> Bad header line (fresh install) Ign http://archive.ubuntu.com natty-security/multiverse Sources/DiffIndex W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/natty/Rele

    apt-get update --> Bad header line (fresh install) fresh natty install i386 desktop. I get this e ...

  8. jdbc 模板 连接

    package itcast; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;i ...

  9. sed: -e expression #1, unknown option to `s'解决办法

    报错如下: sed: -e expression #1, char 13: unknown option to `s' 需要替换的行为: monitor.url=http://192.168.25.1 ...

  10. PHP下最好用的富文本HTML过滤器:HTMLPurifier使用教程

    HTMLPurifier是我目前用过最好的PHP富文本HTML过滤器了,采用了白名单机制,有效杜绝了用户提交表单中的非法HTML标签,从而可以防止XSS攻击! HTMLPurifier项目地址:htt ...