百度移动搜索地域优化服务主要是为了帮助用户在移动端搜索时,将用户所在附近的服务优先推荐给用户,对于站长而言,也可以获得较多的移动端流量。实现方法是只需要在网站的前端页面标签的前面添加上一句meta标签即可:,其中province为省份简称,city是城市简称,coord为经纬度坐标。
实现的难点在于有的页面不需要添加标注(加错了反而会出问题),而有的页面又需要标注一下,这对于SEO优化来说就是站着说话不腰疼,而对于技术可能这个小小的需求却要搞得焦头烂额了,看上去简单,实际上实现这个功能挺难的。
dedecms添加百度地域标注方法
使用dedecms系统的站长挺幸运,首先不要多少复杂的代码编写,其次只要添加两个自定义字段即可实现,详细方法如下。
一、meta标签中动态的参数分别是省份、城市和经纬度这三个,其中经纬度是详细地址的经纬度,也就是每个带有地域页面的经纬度都不一样,而城市则大致不会变动,省份也属于基本不会变动。鉴于此,如果你的网站不涉及跨省份的地址,可以只针对城市和经纬度添加字段,把省份名称直接写出来即可。
二、按照省份分类的栏目,比如河北、山西、四川等省份是一级分类,市为二级分类,那么meta中的省市则可以直接使用标签调用栏目名称:
{dede:type typeid='1'}[field:typename/]{/dede:type}
如果删除typeid则表示调用上一级栏目的名称,将省份和城市名称调出来。
然后在后台/核心/频道模型/内容模型管理,选择你对应的文章模型,添加一个自定义字段,比如metazb,然后打开对应的分类文章模板,将meta标签中的经纬度坐标添加上,完整的代码如下。
typeid='2'是获取一级分类id为2的分类,即省份简称,typeid='7'是获取id为7的二级分类市的简称,{dede:field.metazb/}是获得详细地址的坐标,在后台发布文章时填写即可。其中的省和市也可以直接写出来,不使用标签调用。
这样写有点瑕疵,就是必须保证使用该模板的分类下所有文章都是需要标注位置的,否则那些不需要标注的文章页面也会受到影响。经过一番改进之后,在网站后台只添加动态坐标字段,然后在模板中判断坐标是否为空,如果没有填坐标则不输出整个meta,如果填写了坐标就输出完整的meta标签,代码如下。
{dede:field name='metazb' runphp='yes'}if(@me == "") @me = "";else @me = "";{/dede:field}
其中metazb为自定义坐标字段,注意代码中分号为英文状态下的分号。该方法的优点是可以保证不会出错,不需要添加标注的内容也只有不填坐标就行;缺点是需要为每一个市级分类创建一个对应的模板,模板文件会比较多。
三、如果是全国任何地方该怎么标注?假如我的一个分类没有限定省市,只是一个文章发布的分类,那么全国任何地址都有可能,还有的文章不需要标注,这个需要二次开发做联动筛选,工作量可大了。
提供一种简单的笨办法:网站后台添加自定义字段metazb,数据类型选择“多行文本”,“默认值”里面输入代码,在发布文章的时候手动填写省、市及坐标,如果内容没有地址和坐标,发文章的时候就把这个“默认值”删除留空即可。然后在前台模板里面使用判断调用该字段,代码如下。
{dede:field name='metazb' runphp='yes'}if(@me == "") @me = "";else @me = @me;{/dede:field}
这样不需要标注meta的文章就不会添加meta了,而需要添加标注的文章则会按照我们的要求完美加上。这种方法的优点是不管什么样的分类和文章都可以使用,技术难度小,缺点是在发布文章的时候要查省市简称表,还要获取坐标,有点麻烦。
本文由岑辉宇博客整理发布,微信搜索微信公众号“岑辉宇 ”可查看更多内容。
更多SEO教程:http://www.cenhuiyu.com/