百度移動搜索地域優(yōu)化服務主要是為了幫助用戶在移動端搜索時,將用戶所在附近的服務優(yōu)先推薦給用戶,對于站長而言,也可以獲得較多的移動端流量。實現方法是只需要在網站的前端頁面標簽的前面添加上一句meta標簽即可:,其中province為省份簡稱,city是城市簡稱,coord為經緯度坐標。
實現的難點在于有的頁面不需要添加標注(加錯了反而會出問題),而有的頁面又需要標注一下,這對于SEO優(yōu)化來說就是站著說話不腰疼,而對于技術可能這個小小的需求卻要搞得焦頭爛額了,看上去簡單,實際上實現這個功能挺難的。
dedecms添加百度地域標注方法
使用dedecms系統(tǒng)的站長挺幸運,首先不要多少復雜的代碼編寫,其次只要添加兩個自定義字段即可實現,詳細方法如下。
一、meta標簽中動態(tài)的參數分別是省份、城市和經緯度這三個,其中經緯度是詳細地址的經緯度,也就是每個帶有地域頁面的經緯度都不一樣,而城市則大致不會變動,省份也屬于基本不會變動。鑒于此,如果你的網站不涉及跨省份的地址,可以只針對城市和經緯度添加字段,把省份名稱直接寫出來即可。
二、按照省份分類的欄目,比如河北、山西、四川等省份是一級分類,市為二級分類,那么meta中的省市則可以直接使用標簽調用欄目名稱:
{dede:type typeid='1'}[field:typename/]{/dede:type}
如果刪除typeid則表示調用上一級欄目的名稱,將省份和城市名稱調出來。
然后在后臺/核心/頻道模型/內容模型管理,選擇你對應的文章模型,添加一個自定義字段,比如metazb,然后打開對應的分類文章模板,將meta標簽中的經緯度坐標添加上,完整的代碼如下。
typeid='2'是獲取一級分類id為2的分類,即省份簡稱,typeid='7'是獲取id為7的二級分類市的簡稱,{dede:field.metazb/}是獲得詳細地址的坐標,在后臺發(fā)布文章時填寫即可。其中的省和市也可以直接寫出來,不使用標簽調用。
這樣寫有點瑕疵,就是必須保證使用該模板的分類下所有文章都是需要標注位置的,否則那些不需要標注的文章頁面也會受到影響。經過一番改進之后,在網站后臺只添加動態(tài)坐標字段,然后在模板中判斷坐標是否為空,如果沒有填坐標則不輸出整個meta,如果填寫了坐標就輸出完整的meta標簽,代碼如下。
{dede:field name='metazb' runphp='yes'}if(@me == "") @me = "";else @me = "";{/dede:field}
其中metazb為自定義坐標字段,注意代碼中分號為英文狀態(tài)下的分號。該方法的優(yōu)點是可以保證不會出錯,不需要添加標注的內容也只有不填坐標就行;缺點是需要為每一個市級分類創(chuàng)建一個對應的模板,模板文件會比較多。
三、如果是全國任何地方該怎么標注?假如我的一個分類沒有限定省市,只是一個文章發(fā)布的分類,那么全國任何地址都有可能,還有的文章不需要標注,這個需要二次開發(fā)做聯動篩選,工作量可大了。
提供一種簡單的笨辦法:網站后臺添加自定義字段metazb,數據類型選擇“多行文本”,“默認值”里面輸入代碼,在發(fā)布文章的時候手動填寫省、市及坐標,如果內容沒有地址和坐標,發(fā)文章的時候就把這個“默認值”刪除留空即可。然后在前臺模板里面使用判斷調用該字段,代碼如下。
{dede:field name='metazb' runphp='yes'}if(@me == "") @me = "";else @me = @me;{/dede:field}
這樣不需要標注meta的文章就不會添加meta了,而需要添加標注的文章則會按照我們的要求完美加上。這種方法的優(yōu)點是不管什么樣的分類和文章都可以使用,技術難度小,缺點是在發(fā)布文章的時候要查省市簡稱表,還要獲取坐標,有點麻煩。
本文由岑輝宇博客整理發(fā)布,微信搜索微信公眾號“岑輝宇 ”可查看更多內容。
更多SEO教程:http://www.cenhuiyu.com/
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!