曾經寫過關於手機網站的SEO優化方向,可是多數是注重在移動網站代碼方面,而把移動和PC的重點關係優化給忽略了,這方面也是不少作SEO優化站長給忽略的一些事情。php
2015年11月6日,在百度站長平臺能夠提交移動適配,而且使用301定向作跳轉適配,簡單說用戶使用手機訪問PC頁面,自動301轉向到PC對應的移動頁面。這種跳轉適配,最好使用301或302定向,不使用JS。爲何不使用JS跳轉?一、百度不任何JS跳轉,百度承認301或302定向;二、JS跳轉前,要打開不少東西,而後再進行跳轉,原本手機網速就慢,你還讓用戶乾着急;三、不少瀏覽器攔截JS,讓JS跳轉不能生效。html
http://www.admin5.com/article/20151207/636435.shtmlpython
PC網站和移動網站對應的關係有三種:linux
第一種如同我博客同樣, URL和模版都是使用同一個,根據用戶設備尺寸大小自動調整。 第二種URL不同,模版不同,但內容同樣,久聞網就是這樣作的。 第三種URL同樣,可是模版不同,判斷用戶所用的瀏覽器生成不一樣的HTML模版。
目前來說移動和PC的網站對應關係只有這三種,若是遇到第四種,好比內容不同、URL不能對於、模版不同,出現這種狀況的網站,那麼這個移動站點壓根就沒辦法和PC站點對應起來,天然也考慮獨立優化了,那麼這三種形式的對於分別如何對應起來呢。android
第一種:自動響應web
自動響應的網站理論上是不須要對應的,全自動對應起來的,可是因爲早期百度沒法認識到自動響應的網站,因此致使了大多網站都使用了第三方網站模版作移動網站,可是百度最近發出公告,說明自動響應網站對移動站點優化有必定的好處,另一個自動響應的網站相對而言管理更簡單,可是也須要在自動響應的網站上作mata申明。瀏覽器
<meta name="applicable-device"content="pc,mobile"> 表示頁面同時適合在移動設備和PC上進行瀏覽。
另一個是爲了讓圖片跟着自動響應變更大小,因此建議在網站的頭部加上<picture>元素處理自適應圖片: <meta name="viewport" content="width=device-width, initial-scale=1.0">
第二種:跳轉適用ruby
跳轉適用是經過判斷用戶使用的設備來自動跳轉到對於的模版中,好比手機訪問即會跳轉到手機網站中,這種作法實際上是很早之前的手機網站模版進行改版過來的,缺點很是多,優勢沒幾個,因此可以不適用這種形式就不使用。微信
跳轉的方式大可能是使用JS來判斷手機網站和PC網站訪問。其實這是不符合搜索引擎優化的作法,也是不利於用戶體驗的作法,爲何呢,第一搜索引擎沒法識別JS,百度官方的說法是百度爬蟲不支持JS渲染,因此沒法發現JS的重定向,第二個是用戶在瀏覽PC網站後加載這個JS才進入移動網站,也就是說用戶要打開你的移動網站,要加載兩個網站,網站打開速度太慢的同時還浪費流量。app
最好的作法是直接使用301或302跳轉,301或302跳轉是在解析域名的時候就作出了跳轉的動做,因此不存在用戶要打開兩個網站,同時百度也能夠識別301或302的返回狀態,下面是301或302的規則。注意pc與主移動版本用301重定向,各移動版本之間用302重定向。
linux+Apache的跳轉規則
1、根目錄下.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>
2、子目錄下的.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]
3、子目錄下的文章頁面(按日期分類及命名)的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),歡迎分享本文,轉載請保留出處!