曾经写过关于手机网站的SEO优化方向,但是多数是注重在移动网站代码方面,而把移动和PC的重点关系优化给忽略了,这方面也是很多做SEO优化站长给忽略的一些事情。

2015年11月6日,在百度站长平台可以提交移动适配,并且使用301定向做跳转适配,简单说用户使用手机访问PC页面,自动301转向到PC对应的移动页面。这种跳转适配,最好使用301或302定向,不使用JS。为什么不使用JS跳转?1、百度不任何JS跳转,百度认可301或302定向;2、JS跳转前,要打开很多东西,然后再进行跳转,本来手机网速就慢,你还让用户干着急;3、很多浏览器拦截JS,让JS跳转不能生效。

http://www.admin5.com/article/20151207/636435.shtml

PC网站和移动网站对应的关系有三种:

第一种如同我博客一样, URL和模版都是使用同一个,根据用户设备尺寸大小自动调整。
第二种URL不一样,模版不一样,但内容一样,久闻网就是这样做的。
第三种URL一样,但是模版不一样,判断用户所用的浏览器生成不同的HTML模版。

  

目前来讲移动和PC的网站对应关系只有这三种,如果遇到第四种,比如内容不一样、URL不能对于、模版不一样,出现这种情况的网站,那么这个移动站点压根就没办法和PC站点对应起来,自然也考虑独立优化了,那么这三种形式的对于分别如何对应起来呢。

第一种:自动响应

自动响应的网站理论上是不需要对应的,全自动对应起来的,但是由于早期百度无法认识到自动响应的网站,所以导致了大多网站都使用了第三方网站模版做移动网站,但是百度最近发出公告,说明自动响应网站对移动站点优化有一定的好处,另外一个自动响应的网站相对而言管理更简单,但是也需要在自动响应的网站上做mata申明。

<meta name="applicable-device"content="pc,mobile">
表示页面同时适合在移动设备和PC上进行浏览。

  

另外一个是为了让图片跟着自动响应变动大小,所以建议在网站的头部加上<picture>元素处理自适应图片:
<meta name="viewport" content="width=device-width, initial-scale=1.0">

  

第二种:跳转适用

跳转适用是通过判断用户使用的设备来自动跳转到对于的模版中,比如手机访问即会跳转到手机网站中,这种做法其实是很早以前的手机网站模版进行改版过来的,缺点非常多,优点没几个,所以能够不适用这种形式就不使用。

跳转的方式大多是使用JS来判断手机网站和PC网站访问。其实这是不符合搜索引擎优化的做法,也是不利于用户体验的做法,为什么呢,第一搜索引擎无法识别JS,百度官方的说法是百度爬虫不支持JS渲染,所以无法发现JS的重定向,第二个是用户在浏览PC网站后加载这个JS才进入移动网站,也就是说用户要打开你的移动网站,要加载两个网站,网站打开速度太慢的同时还浪费流量。

最好的做法是直接使用301或302跳转,301或302跳转是在解析域名的时候就做出了跳转的动作,所以不存在用户要打开两个网站,同时百度也可以识别301或302的返回状态,下面是301或302的规则。注意pc与主移动版本用301重定向,各移动版本之间用302重定向。

linux+Apache的跳转规则

一、根目录下.htaccess内容,处理pc域名到手机站域名的跳转:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]
RewriteRule ^$ http://手机站域名/ [R=301,L]
</IfModule>

  二、子目录下的.htaccess的跳转规则

RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]
RewriteRule ^\/$ http://手机站域名/list.php?tid=25 [R=301,L]

  三、子目录下的文章页面(按日期分类及命名)的url跳转规则

RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]

RewriteRule ^([0-9]+)/([0-9]+)\.html$ http://手机站域名/view.php?aid=$2 [R=301,L]

win+iis跳转规则

<rewrite>
<rules>
<rule name="已导入的规则 1" stopProcessing="true">
<match url="^$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_USER_AGENT}" pattern="android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|MQQBrowser|Windows Phone|wap" />
</conditions>
<action type="Redirect" url="http://m.aaaaa.com/" redirectType="Permanent" />
</rule>
<rule name="已导入的规则 2" stopProcessing="true">
<match url="^a/view/(.*).html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_USER_AGENT}" pattern="android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|MQQBrowser|Windows Phone|wap" />
</conditions>
<action type="Redirect" url="http://m.aaaaa.com/a/{R:1}.html" redirectType="Permanent" />
</rule>
<rule name="已导入的规则 3" stopProcessing="true">
<match url="^down/html/(.*).html$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_USER_AGENT}" pattern="android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|MQQBrowser|Windows Phone|wap" />
</conditions>
<action type="Redirect" url="http://m.aaaaa.com/s/{R:1}.html" redirectType="Permanent" />
</rule>
<rule name="已导入的规则 4" stopProcessing="true">
<match url="^down/class/(.*)_(.*).html" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_USER_AGENT}" pattern="android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|MQQBrowser|Windows Phone|wap" />
</conditions>
<action type="Redirect" url="http://m.aaaaa.com/list/{R:1}.html" redirectType="Permanent" />
</rule>
<rule name="已导入的规则 1-1" stopProcessing="true">
<match url="^tags.php?/(.*)/$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_USER_AGENT}" pattern="android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|MQQBrowser|Windows Phone|wap" /><
</conditions>
<action type="Redirect" url="http://m.aaaaa.com/tags_{R:1}.html" redirectType="Permanent" />
</rule>
<rule name="已导入的规则 2-1" stopProcessing="true">
<match url="^tags.php$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_USER_AGENT}" pattern="android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|MQQBrowser|Windows Phone|wap" />
</conditions>
<action type="Redirect" url="http://m.aaaaa.com/tags.html" redirectType="Permanent" />
</rule>
</rules>
</rewrite>

第三种:代码适配

代码适配的网页其实就是鸡肋,在技术上比自动响应的高,在效果比自动响应的差,相对前面两种代码适配是比较中性的,所以我们在市面上也很少见到有网站会使用此技术来做移动网站。不过在移动站点优化上,代码适配确实有写不一样的优势。

Vary HTTP 标头助于 百度spdier 更快速地发现针对移动设备进行优化的内容,会将有效的 Vary HTTP 标头作为抓取信号之一,我们会提高用其他ua抓取此网页的优先级。

并且在pc的响应的head中添加
<meta name="applicable-device" content="pc">
在移动的响应的包头中添加
<meta name="applicable-device" content="mobile">

如果上面看不懂,请看下面最简单的方式

如果你是自动响应的,那就不需要看了,因为自动响应网站可以全自动适配对应上,如果是后面两个方式,不懂,可以直接使用百度站长平台的移动适配工具来适配。做适配前,需要验证百度站长平台

适配网站:http://zhanzhang.baidu.com/mobile/

在里面有两种方式进行适配,第一种通过规则来适配,但要懂规则,这里的规则非常简单,第二种通过URL来适配,把你手机站和移动站对应的URL下载出来,整理成一个txt文档上传进去,如果你网站URL多,第二种方法明显就不适合了。那么第一种方法的规则如下:

PC网站:http://www.ssffx.com/SEOjishu/1191.html

移动网站:http://m.ssffx.com/SEOjishu/1191.html

a)确定都是数字的,则用 (\d+)表示

b)确定都是字母的,则用 ([a-zA-Z]+) 表示

c)确定是字母数字混合,则用 ([a-zA-Z0-9]+) 表示

d)确定是字母数字下划线混合,则用 (\w+) 表示

从上面的URL得出下面的适配关系。

PC网站:http://www.ssffx.com/ ([a-zA-Z]+)/ (\d+).html
移动网站:http://m.ssffx.com/${1}/${2}.html

相信大家看到上面的说法都懂得,这些也都是小学生都能够看懂的对应关系,把a,b,c,d运用对应上去即可,至于${1},${2},依次用${1},${2},……表示替换掉改版前url中的可替换参数或路径。提交到百度移动适配的工具中,另外找三对PC和移动对应的URL放上去提交后等待校验即可。

总结:移动站点的排名主要是根据PC网站来对应获得的排名,因为大多移动关键词排名都是PC搜索结果的数据。

来源:冯耀宗博客(QQ/微信号:394062665),欢迎分享本文,转载请保留出处!

说说PC站和移动站的移动适配关系优化的更多相关文章

  1. 如何布局您的PC站和移动站,并表达两者之间内容的对应关系

      如何布局您的PC站和移动站,并表达两者之间内容的对应关系 目前较流量的PC站与移动站配置方式有三种,百度站在搜索引擎角度将这三种分别称为跳转适配.代码适配和自适应,以下为这三种配置方式的名词解释及 ...

  2. PC站与H5移动站最佳适配方案

    HTML5是目前HTML的最屌版本,同时也是建设移动站的最佳技术.百度适时推出PC站与H5移动站的最佳适配方案,对站长而言实在是久旱逢甘霖.详情如下: PC站与H5移动站最佳适配方案 pc端: 在pc ...

  3. dedecms手机站和PC站共用同一数据库的方法

    我们知道搜索引擎建议将手机站和PC站分开,虽然自适应可以适配不同的终端,但单独建独立的m站可能权重和排名更好,因为移动端的竞争度不同甚至更低.代码更精简.蜘蛛抓取更顺畅,所以要单独建手机站比较好.那么 ...

  4. 帝国移动pc站文章

    帝国建站的时候发现,如果在PC站发文章,那么移动站的文章正文无法显示... 搜索调试了很久,原来是要对config进行配置. 在移动站config.php文件,对 $ecms_config['sets ...

  5. 从Pc转向H5开发遇到的适配问题思考

    1.首先说滚动条 移动端开发在不设置任何适配和viewport宽度的情况下,以iphone5为例:屏幕界面的逻辑分辨率是320x568,在谷歌浏览器的界面下屏幕的可视宽度是980px(谷歌设置的,每个 ...

  6. dedecms网站扩展手机网站—共用数据库真正做到电脑手机同步访问,原pc站无需改动,对原pc站无任何影响

    在如今无线互联网大潮的冲击下,越来越多的pc网站访问量下降,首当其冲的就是以pc网站为生的站长们,为了顺应无线互联网的要求,站长们很有必要为自己的pc网站扩展一套手机网站,更早的抓住手机用户的流量,使 ...

  7. PC端、移动端页面适配方案

    前言 页面自适应PC端.移动端大体上可以分为两种: 1.在同一个页面进行自适应布局,通常使用CSS3 @media 媒体查询器实现 2.两套页面,在后端进行统一适配,根据不同的浏览器UA返回对应的页面 ...

  8. PC端和移动端地址适配

    判断当前页面的打开方式是pc还是移动设备,如果是移动设备,跳转到对应移到端网站的方法: 方法一.还是用@media screen 思路:css使用媒体查询,当屏幕小于760px时,使某个元素的样式发生 ...

  9. 一个简单的 PC端与移动端的适配(通过UA)

    只需在header引用个js文件, 原理就是判断UA里面的标识.  加下面代码添加到js文件,在头文件引用即可 var Pc_url = 'http://www.baidu.com'; //PC端网址 ...

随机推荐

  1. Servlet常用的接口和类

    使用接口和类的作用:Servlet也是依靠继承父类和实现接口来实现的.使用Servlet必须要引入两个包:javax.servlet和javax.servlet.http.所有的Servlet应用都是 ...

  2. javascript排序算法-快速排序

    快速排序 概念: (1) 首先,从数组中选择中间一项作为主元. (2) 创建两个指针,左边一个指向数组第一个项,右边一个指向数组最后一个项.移动左指针直到我们找到一个比主元大的元素,接着,移动右指针直 ...

  3. android使用百度地图最新sdk5.0后后代码混淆时,地图无法显示闪退问题

    描述:刚开始遇到这个问题我一步一步去排除,最后发现在初始化地图的时候,代码混淆就有问题了, 问题描述:当跳显示地图的页面APP闪退, 解决对比: 1:对于老版本百度sdk:代码混淆时语句: -libr ...

  4. .Net Core 学习笔记1——包、元包、框架

    .Net Core 是由NuGet包(package)组成的平台. 一起使用的多个包的集合:元包(Metapackage) package 包 (对应以前的程序集概念) Framework 框架 as ...

  5. 前端/C# 前后台交互文件上传、下载

    试了很多方式,最终确认这个全面简单版的.废话不多说,贴码. 文件上传 input的type命名为file,即可实现文件上传.嗯~~~现在html还是很强大的.Good! 前端 单个文件上传 Html: ...

  6. 【js】Number与数组

    定义和用法 Number() 函数把对象的值转换为数字. 语法 Number(object):参数必须是对象 如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫 ...

  7. 我用Python爬取了李沧最近一年多的二手房成交数据得出以下结论

    前言 去年年底,博主有购房的意愿,本来是打算在青岛市北购房,怎奈工作变动,意向转移到了李沧,坐等了半年以后,最终选择在红岛附近购置了期房. 也许一些知道青岛红岛的小伙伴会问我,为什么会跑到那鸟不拉屎的 ...

  8. matlab转C语言

    1.软件版本  matlab R2018a 2.步骤 (1).编写特定功能的matlab代码,以及其测试文件 (2).检查matlab代码的兼容性,确保matlab代码都能转换成C/C++代码(并不是 ...

  9. python中可变与不可变类型变量中一些较难理解的地方

    当函数内部引用一个全局变量时,如果此全局变量为可变类型,那么函数内部是可以改变此全局变量的值,用不用globale申明全局变量都一样.但是如果想给此变量重新赋值则必须要使用global. l = [] ...

  10. Pairwise 找到你的另一半

    都说优秀的程序员擅长面向对象编程,但却经常找不到另一半,这是为什么呢?因为你总是把自己局限成为一个程序员,没有打开自己的思维. 这是一个社群的时代啊,在这里你应该找到与你有相同价值观但又互补的另一半. ...