01百度移動搜索地域優(yōu)化說明
一、添加html適配meta標簽
在網頁前端頁面的</head>標簽前面添加如下meta標簽:
<meta name="location" content="province=北京;city=北京;coord=116.036942,40.361584">
其中province后面是省份的簡稱,city后面是市級城市的簡稱,coord后面的數字是經緯度(可以使用百度地圖坐標拾取系統(tǒng)獲得),坐標可以省略不寫(但我建議寫上)。
二、移動地域標注注意事項
在百度資源平臺有一句話“站長還是需要注意只對頁面內容或服務本身具有較強地域屬性的頁面進行地域信息標注”,也就是說即使你的網站是本地服務類型的網站,有的頁面也不需要標注!做SEO優(yōu)化時不要所有的頁面都加一樣的meta。
比如一個上門維修電腦的網站,服務本身是本地的網頁需要標注,而網站上發(fā)布的電腦維修技術相關的知識分享類頁面沒有地域性,不需要標注。注意移動和PC網頁均需要添加。
三、實現該標注的難點
上面的meta代碼中,省、市和坐標這三個是動態(tài)的,每一個頁面并不一樣,除了這3個動態(tài)參數之外,有的頁面還不能標注(也就是不能出現該meta標簽),那么問題就在于如何實現想要的時候出現,不要的時候隱藏,并且準確無誤。下面以dedecms系統(tǒng)為例來實現這個功能。
02dedecms實現移動搜索地域優(yōu)化思路
根據前面的需求,我們只需要在文章內容模型添加3個對應的自定義字段來獲取省市名稱及坐標即可,然后在前端頁面上使用判斷的方式,哪些頁面需要添加該meta標簽,哪些需要隱藏,這樣可以非常靈活的添加標注。
03添加各省簡稱和坐標字段
展開dedecms網站后臺/核心/頻道模型/內容模型管理,選擇你的內容模型,添加新字段,①添加坐標字段:“表單提示文字”填寫“地圖坐標”,“字段名稱”填寫“mappoint”,“數據類型”這里選擇“單行文本(varchar)”;②添加省份字段:“表單提示文字”填寫“百度省份”,“字段名稱”填寫“bdsheng”,“數據類型”選擇“使用option下拉框”,并且在“默認值”這里把省份的簡稱填上,每個省份之間使用英文狀態(tài)的逗號隔開,因為省份只有三十多個,一個字段足矣。
省份簡稱和城市簡稱請百度搜索“百度移動搜索地域優(yōu)化服務說明”進入百度資源平臺獲得,一定要使用官方提供名稱哦,和我們平時的習慣簡稱不太一樣。
移動標注三個自定義字段
04添加聯(lián)動類型城市字段
如第三步中的圖片字段所示,前面已添加的2個字段都非常容易,坐標在添加文章的時候直接填寫,省份通過下拉選擇,但是城市簡稱太多了,每個省下面有多個市,只能使用聯(lián)動類型來實現,單獨寫這個字段的添加方法是因為有點難。
一、添加城市聯(lián)動類別字段
在網站后臺點擊頻道模型下面的“聯(lián)動類別管理”,右上角的位置點“新增類別組”添加聯(lián)動枚舉分類,下圖所示,類別名填寫“百度地域”,緩存組名填寫“bddiyu”。
dedecms添加聯(lián)動類別組
點“確定添加”之后,繼續(xù)添加省份簡稱,先把省份簡稱加入,每個名稱之間使用英文逗號隔開。
dedecms聯(lián)動類型添加
使用同樣的方法把每個省下面的“市”簡稱添加完,稍微有點多,一個一個加就行。
二、內容模型關聯(lián)“聯(lián)動類型”
回到“頻道模型”,點擊“內容模型管理”,在前面第三步中添加字段的那個內容模型中添加新字段,“表單提示文字”填寫“百度地域”,“字段名稱”填寫“bddiyu”,特別注意此處的字段名稱要和上一步聯(lián)動緩存組名保持一致,“數據類型”選擇“聯(lián)動類型”,其他的留空,然后保存即可。
通過一番添加和關聯(lián),所有的功能性自定義字段全部添加完畢,著實挺麻煩的。
05前端模板添加移動地域meta標簽
根據前面的需求和思路,一個分類下面的文章是多種多樣的,有的文章不需要添加該meta標簽,那么在模板文件中需要使用到判斷語句。
在模板文件的</head>標簽前面添加如下代碼:
{dede:field name='array' runphp='yes'}if(@me['bdsheng'] !='' && @me['bddiyu'] != '' && @me['mappoint'] != '')@me='<' . 'meta' . ' ' . 'name=' . '"' . 'location' . '" ' . 'content=' . '"'.'province='.@me['bdsheng'] .';'.'city=' .@me['bddiyu'] . ';' . 'coord=' .@me['mappoint'] . '"' . '>' ;else @me = "";{/dede:field}{dede:field name='bddiyu' runphp='yes'}if(@me != "") @me = "";else @me = "";{/dede:field}其中bdsheng是自定義字段“省份”,bddiyu是聯(lián)動類型“市”的字段名,mappoint是經緯度坐標的字段名。將這3個替換為你自己的對應字段名即可,避免出錯,建議按照我的添加。
此時基本上所有的功能性修改均添加完成,但是還有一點小問題,如果是dedecms5.7版本系統(tǒng),默認聯(lián)動類型會把這個名稱顯示為數字,比如“城市”我們選擇的是石家莊,正確的應該是“city=石家莊”,此時調出來的是數字,也就是“city=1503”這樣的,顯然不正確。
06織夢聯(lián)動類型枚舉名顯示文字
我們需要把聯(lián)動類型枚舉名稱直接顯示出來,打開dedecms系統(tǒng)根目錄\include\taglib\channel\stepselect.lib.php文件,分別搜索以下代碼:
return $GLOBALS['em_'.$egroup.'s'][$etopvalue].' -- '.$GLOBALS['em_'.$egroup.'s'][$esonvalue].' -- '.$GLOBALS['em_'.$egroup.'s'][$esecvalue];替換為:
return $GLOBALS['em_'.$egroup.'s'][$esecvalue];//聯(lián)動枚舉名顯示 by烈火大地
繼續(xù)搜索代碼:
return $GLOBALS['em_'.$egroup.'s'][$erevalue].' -- '.$GLOBALS['em_'.$egroup.'s'][$evalue];替換為如下代碼:
return $GLOBALS['em_'.$egroup.'s'][$evalue];//聯(lián)動枚舉名顯示 by烈火大地
經過上面的修改和各種添加,百度移動搜索地域優(yōu)化針對dedecms系統(tǒng)整改算是完美結束了,這個功能主要是針對文章詳情頁,對于分類列表頁面,由于分類是固定不變的,可以根據具體情況直接將meta代碼添加到模板里面。
07修改或發(fā)布文章驗證meta是否正確
在添加了自定義字段的內容模型分類下面,發(fā)布一篇文章(修改也是可以的),下圖所示,“坐標”填寫文章內容中具體地址的經緯度。
織夢系統(tǒng)移動搜索地域優(yōu)化功能
坐標、地域(調用市簡稱)、省份這3項一定要填寫,不能為空,并且注意“百度省份”這個字段要選擇正確,然后發(fā)布文章,前臺瀏覽該文章,在網頁空白處點鼠標右鍵/查看網頁源代碼,可以看到meta標簽中的各項值均準確無誤。
帶有移動標注meta代碼
08隱藏移動meta標簽的方法
以上是需要添加百度移動搜索meta的文章頁面,如果我們的文章不具有地域限制性,那么這個標簽是千萬不能加的,不讓meta出現的方法是前面我們添加的3個自定義字段:坐標,省份,城市,這3個字段中只要有一個留空即可,因為前臺模板代碼中已經進行了判斷:只有這三個字段均不為空時,移動meta才會顯示。所以不顯示移動meta的方法是:只要這3個字段中的其中一個或全部都不填就行了。
這種方法算是比較完美了吧,對于編輯發(fā)布文章來說可以事半功倍,顯示時拾取坐標、選擇省市就可以了,字段不顯示時留空不管就行。同時也非常有利于SEO優(yōu)化,針對具體的文章進行meta標注,很靈活。