说说PC站和移动站的移动适配关系优化
曾经写过关于手机网站的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站和移动站的移动适配关系优化的更多相关文章
- 如何布局您的PC站和移动站,并表达两者之间内容的对应关系
如何布局您的PC站和移动站,并表达两者之间内容的对应关系 目前较流量的PC站与移动站配置方式有三种,百度站在搜索引擎角度将这三种分别称为跳转适配.代码适配和自适应,以下为这三种配置方式的名词解释及 ...
- PC站与H5移动站最佳适配方案
HTML5是目前HTML的最屌版本,同时也是建设移动站的最佳技术.百度适时推出PC站与H5移动站的最佳适配方案,对站长而言实在是久旱逢甘霖.详情如下: PC站与H5移动站最佳适配方案 pc端: 在pc ...
- dedecms手机站和PC站共用同一数据库的方法
我们知道搜索引擎建议将手机站和PC站分开,虽然自适应可以适配不同的终端,但单独建独立的m站可能权重和排名更好,因为移动端的竞争度不同甚至更低.代码更精简.蜘蛛抓取更顺畅,所以要单独建手机站比较好.那么 ...
- 帝国移动pc站文章
帝国建站的时候发现,如果在PC站发文章,那么移动站的文章正文无法显示... 搜索调试了很久,原来是要对config进行配置. 在移动站config.php文件,对 $ecms_config['sets ...
- 从Pc转向H5开发遇到的适配问题思考
1.首先说滚动条 移动端开发在不设置任何适配和viewport宽度的情况下,以iphone5为例:屏幕界面的逻辑分辨率是320x568,在谷歌浏览器的界面下屏幕的可视宽度是980px(谷歌设置的,每个 ...
- dedecms网站扩展手机网站—共用数据库真正做到电脑手机同步访问,原pc站无需改动,对原pc站无任何影响
在如今无线互联网大潮的冲击下,越来越多的pc网站访问量下降,首当其冲的就是以pc网站为生的站长们,为了顺应无线互联网的要求,站长们很有必要为自己的pc网站扩展一套手机网站,更早的抓住手机用户的流量,使 ...
- PC端、移动端页面适配方案
前言 页面自适应PC端.移动端大体上可以分为两种: 1.在同一个页面进行自适应布局,通常使用CSS3 @media 媒体查询器实现 2.两套页面,在后端进行统一适配,根据不同的浏览器UA返回对应的页面 ...
- PC端和移动端地址适配
判断当前页面的打开方式是pc还是移动设备,如果是移动设备,跳转到对应移到端网站的方法: 方法一.还是用@media screen 思路:css使用媒体查询,当屏幕小于760px时,使某个元素的样式发生 ...
- 一个简单的 PC端与移动端的适配(通过UA)
只需在header引用个js文件, 原理就是判断UA里面的标识. 加下面代码添加到js文件,在头文件引用即可 var Pc_url = 'http://www.baidu.com'; //PC端网址 ...
随机推荐
- eclipse导入java工程
1)File下的import选项 2)点击General,选择Existing Projects into Workspace,点击next 3)点击Browse,在弹出的窗口中选择导入工程所在的文件 ...
- MongoDB学习(操作集合中的文档)
文档概念 文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式. BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON. 插入文档 insert()方法 ...
- arcgis api 3.x for js 入门开发系列十七在线天地图、百度地图、高德地图(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- 转int啥啥啥的
1.String转int类型的话.需要用Double.valueof("这写String类型的数据").intValue(); 2.保留小数点: float scale = (fl ...
- Android远程桌面助手(B1371)
Android远程桌面助手(B1371),下载:https://files.cnblogs.com/files/we-hjb/ARDC%28B1371%29.7z 1.增加了对超大分辨率4320*21 ...
- Ionic3关闭弹出页面,跳转到列表后刷新父页面
记得上次写过一篇如何弹出页面的文章,好像是2月28号ionic3 Modal组件那一篇,这篇也算那一篇的续集吧!这篇是弹出的页面关闭后刷新父页面的干活!上代码! 弹出页面:(关闭的时候可以传入值,再父 ...
- 再议Java中的static关键字
再议Java中的static关键字 java中的static关键字在很久之前的一篇博文中已经讲到过了,感兴趣的朋友可以参考:<Java中的static关键字解析>. 今天我们再来谈一谈st ...
- vue.js 学习笔记3——TypeScript
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...
- 【书摘】一种基于Git的版本管理方案
本篇摘录自<前端工程化体系设计与实践>一书,笔者认为是一套相对合理的方案,建议团队可以根据实际情况进行调整并增加协作命名规范. master分支--主分支 存储已发布版本的源码,不能在此分 ...
- 安装可以查看PMM 源码的Go环境
1.基础介绍 最近在搭建PMM数据库监控系统,我们知道 Prometheus 是 PMM Server 的重要组件,*_exporter是PMM Client的主要组件. 归属组件 名称 作用 Ser ...