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