移动设备使用群体不断增加,所以移动端SEO优化的呼声逐渐升高。做移动端优化首先要考虑的就是网站在移动设备的展现问题以及搜索引擎在PC端和移动端的不同。
思维浅析
————
尽管在百度搜索资源平台中已经给出了移动端优化的解决方案,但绝大多数的中小型网站个人站长对移动适配工具的使用具有很大的困扰,考虑到DEDE织梦CMS在中小型网站建设中使用比较普遍,SEO视界以织梦CMS为例为大家整理分享移动适配操作步骤。
01
—
检查网站所用DEDECMS程序版本,对于V5.7SP1正式版(2015-06-18)包含旧版本所没有的移动站点功能,如果为旧版本织梦程序则需要对程序进行升级增加移动站点功能(升级需要注意程序编码保持一致)
在程序支持移动站点功能之后,移动站点的程序存放在根目录下的“m”文件夹中,移动站点默认使用二级目录,直接通过http://www.xxx.com/m/即可访问手机站。但目前移动适配需要使用二级域名(最初是可以使用二级目录的,但目前已调整,不能再提交二级目录)除此之外移动站建议采用二级域名的形式而非二级目录形式,可参考文章《二级域名与二级目录优秀的SEOer都是如何选择的》,所以接下来需要设置移动站可通过二级域名访问,解析二级域名至网站所在服务器ip,并在服务器/空间上将二级域名绑定到wwwroot/m/目录。
Tips:虚拟主机没有远程连接服务器的权限,不能直接进入服务器对web服务器进行配置,一般在IDC服务商登陆账号之后选择域名管理,通过别名(CNAME)将二级域名(m.xxx.com)解析至虚拟服务器,再通过虚拟主机管理开通子站将二级域名绑定至虚拟主机下的“m”目录。
02
—
通过二级域名成功访问移动站之后,以默认移动站模板为例发现网站首页调用的文章图片以及文章详情中的配图无法显示,其原因是图片调用路径出错所致,通过织梦CMS发布配图文章,无论是文章内容字段还是图片附件在数据库中的存储形式形如“/uploads/allimg/123/123.png”,所以文章列表中[field:image/]标签以及文章内容中{dede:field.body/}标签所调用到的均为图片的相对路径,图片资源在网站服务器(wwwroot为网站根目录)上的存储路径为“wwwroot/uploads/allimg/123/123.png”。
在PC站及移动站均使用[field:image/]与{dede:field.body/}调用图片时,PC端的图片调用路径为www.xxx.com/uploads/allimg/123/123.png,对应的调用路径为wwwroot/uploads/allimg/123/123.png,而移动端的图片路径变成了m.xxx.com/uploads/allimg/123/123.png,对应的调用路径成了wwwroot/m/uploads/allimg/123/123.png。在PC站域名解析到了wwwroot根目录,存在图片所在的“uploads”目录,因此PC站页面中图片显示正常,而移动站由于直接将m.xxx.com绑定到了子目录(即根目录下的m目录),在m目录下并不存在图片所在的“uploads”目录,因此移动站中的图片不能正常显示。
03
—
对于移动站图片路径出错这里提供两个解决思路:
第一种:URL重定向(推荐)
将移动站中对http://m.xxx.com/uploads/allimg/123/123.png的访问重写至http://www.xxx.com/uploads/allimg/123/123.png。
apache环境下,在/m/目录中的.htaccess文件(如无则需新建)中增加以下代码即可:
RewriteEngine on
RewriteCond %{http_host} ^m.xxx.com [NC]
RewriteRule ^uploads/(.*)$ http://www.xxx.com/uploads/$1 [L]
IIS环境下,在/m/目录中的web.config文件(如无则需新建)中增加以下代码即可:
<rule name="m">
<match url="^uploads/allimg/(.*)" />
<action
type="Redirect"
url="http://www.xxx.com/uploads/allimg/{R:1}" redirectType="Permanent" />
</rule>
第二种:将相对路径改为绝对路径
即就是将形如“/uploads/allimg/123/123.png”的相对路径改为绝对路径的形式“http://www.xxx.com/uploads/allimg/123/123.png”
Ⅰ、将数据库中已有的相对路径批量替换为绝对路径,然后开启多站点支持使后续新添加数据为绝对路径。(由于需要进行数据库级别的操作,一定记得先将数据库备份,即使操作出错,也可使用备份还原数据库数据,避免损失)
1、进入织梦后台—核心—批量维护—数据库内容替换
选择表 dede_addonarticle 字段 body(修改文章详情表中图片路径)
选择表dede_archives 字段 litpic (修改附件表中图片路径)
被替换内容: src="/uploads/
替换为:src="http://www.xxx.com/uploads/
2、后台—系统—系统设置—核心设置—(是/否)支持多站点,开启此项后附件、栏目连接、arclist内容启用绝对网址:选择是,然后保存。
3、完成后记得重新生成所有内容页面。
Ⅱ、修改涉及图片调用的两个织梦标签(未测试)
① 修改{dede:field.body/}标签中的路径为绝对路径
1、修改目录include下的文件extend.func.php,在最后面添加一个函数方法
function replaceurl($newurl)
{
$newurl=str_replace('src="/uploads/allimg/','src="http://www.xxx.com/uploads/allimg/',$newurl);
return $newurl;
}
2、文章模板中调用文章内容的标签{dede:field.body/}
替换成:{dede:field.body function='replaceurl(@me)'/}
② 修改[field:image/]标签中的路径为绝对路径
修改includetaglib下的文件arclist.lib.php(大约在512行,如果找不到可直接搜索$row['image'])
$row['image'] = "<img src='".$row['picname']."' border='0' width='$imgwidth' height='$imgheight' alt='".preg_replace("#['><]#", "", $row['title'])."'>";
为<img>标签中的src属性值拼接上“http://www.xxx.com”字符串。
04
—
通过二级域名m.xxx.com可以正常访问移动站之后,再去百度搜索资源平台的移动适配工具进行提交。
织梦默认生成的栏目URL规则为“www.xxx.com/a/lanmu1/”,文章页URL规则为“www.xxx.com/a/lanmu1/y/m/d/1.html”,从SEO的角度考虑不建议URL层级过深,所以修改栏目URL规则为“www.xxx.com/lanmu1/”,修改文章页URL规则为“www.xxx.com/lanmu1/1.html”,可参考《第十八课:站内SEO之网站目录结构优化》。
至此PC站与移动站的URL对应关系如下:
首页
http://www.xxx.com
http://m.xxx.com
栏目页
http://www.xxx.com/lanmu1/
http://m.xxx.com/list.php?tid=1
文章页
http://www.xxx.com/lanmu1/1.html
http://m.xxx.com/view.php?aid=1
栏目页URL对应关系杂乱且数量较少可采用URL适配
http://www.xxx.com/lanmu1/http://m.xxx.com/list.php?tid=1
http://www.xxx.com/lanmu2/http://m.xxx.com/list.php?tid=2
文章页URL对应关系规律且数量较多可采用规则适配
http://www.xxx.com/(w+)/(d+).html
http://m.xxx.com/view.php?aid=${2}
适配规则提交后请耐心等待校验。
写在最后
————
关于DEDE织梦CMS移动站搭建及移动适配基本完成,对SEOer而言难以理解的在于移动站点的搭建以及图片路径出错的问题,以上给出的两种解决思路和方法中,对网站代码及织梦CMS程序不熟悉的童鞋建议首选第一种URL重定向的方法,避免对网站造成比必要的损失。
当前织梦CMS移动站功能较为简单易用。尽管其访问网址为动态URL,并不能像PC站中那样定义URL规则生成静态页面文件,但是随着搜索引擎的升级,这种简短的动态URL参数可被搜索引擎识别。要是略有强迫症的童鞋只习惯.html结尾的URL,可在上述的配置文件中添加伪静态规则,调整织梦CMS移动站的URL形式。
同样是做SEO,对于SEO思维和实操,不同的SEOer都有自己的见解与心得,欢迎每一位喜欢SEO的朋友留言交流!!!