阿迪SEM博客 > 移动SEO > Dedecms网站移动化需要几步?五步即可!
2015年12月19日

Dedecms网站移动化需要几步?五步即可!

  随着移动互联网的飞速发展,网站的移动化对于站长来说就尤为重要了。网站移动化不仅可以提升网站用户体验,对网站的排名也会起到重要的作用。dedecms(织梦)由于其简单易用,容易上手,,且利于SEO,受到了众多站长的喜爱。但是dedecms网站想移动化还需要做一些调整。下面郑州SEO-阿迪SEM博客分析一下。

  一、Dedecms的移动化

  目前Dedecms V5.7SP1正式版(2015-06-18)已经支持移动端网站(老版本请自行升级)。后台移动模板结构如下(注意模板编码)

移动站主文件: /m/
移动端默认模板:

 

  /templets/default/index_m.htm 首页

  /templets/default/header_m.htm 通用头部

  /templets/default/footer_m.htm 通用底部

  /templets/default/list_default_m.htm 栏目页

  /templets/default/index_article_m.htm 频道页

  /templets/default/article_article_m.htm 文章页

 

 

 

 

  注:如果有非默认模板设置,如某个栏目模板为/templets/default/article_article2.htm,可将/templets/default/article_article_m.htm复制一份改名为article_article2.htm。即pc端模板均需对应移动端模板,移动端模板文件名为pc端模板文件名后加“_m”后缀。

  二、dedecms设置:

  1、原站如做过安全设置,将DATA移到根目录外,需修改/m/index.php:

if(!file_exists(dirname(__FILE__).'/../data/common.inc.php'))
             
{
             
header('Location:install/index.php');
             
exit();
             
}


  将其中/../data/common.inc.php 改为/../../data/common.inc.php 或直接将以上5行代码删除

  2、 移动站在浏览首页时会自动生成首页静态文件,所以需将/m/目录和首页生成文件index.html均设置为可写,否则将无法正常更新。移动站的首页静态文件更新需登陆后台,在“更新主页HTML”中将“选择主页模板:”改为“default/index_m.htm”,将“主页位置:”改为“../m/index.html”,再生成主页静态文件。

  该版本号称“自动生成HTML版”,但默认移动站模板里却有的首页链接,需替换。

  3、如觉得使用静态页面麻烦,要将首页设置为动态显示,可修改/m/index.php:

$row['showmod'] =isset($row['showmod'])? $row['showmod'] : 0;
            
    if ($row['showmod'] == 1)
            
    {
            
        $pv->SaveToHtml(dirname(__FILE__).'/index.html');
            
        include(dirname(__FILE__).'/index.html');
            
        exit();
            
    } else {
            
        $pv->Display();
            
        exit();
            
}

  以上代码替换为一行:$pv->Display();

  4、首页“图文资讯”部分的url为pc端链接,修改为移动端链接:

  搜索模板/templets/default/index_m.htm中所有,替换为<a href="view.php?aid=[field:id/]">

  5、通用头部含有搜索框,搜索跳转链接为pc端搜索页面,建议删除:

  /templets/default/header_m.htm中删除以下代码:

<form class="am-topbar-formam-topbar-left am-form-inline am-topbar-right" role="search"action="{dede:global.cfg_cmsurl/}/plus/search.php">
            
              <input type="hidden"name="mobile" value="1" />
            
              <input type="hidden"name="kwtype" value="0" />
            
      <divclass="am-form-group">
            
        <input name="q"type="text" class="am-form-field am-input-sm"placeholder="输入关键词">
            
      </div>
            
      <button type="submit"class="am-btn am-btn-default am-btn-sm">搜索</button>
            
    </form>

  三、其他注意事项

  1、如有栏目不想在首页下方列表区域或通用头部显示,可在后台对应的栏目管理/常规选项中设置隐藏。

  2、为了更好的实现pc端和移动端匹配效果,可在pc端模板增加类似如下代码:

  首页:

<metahttp-equiv="mobile-agent"content="format=xhtml;url={dede:global.cfg_mobileurl/}/">
            
<scripttype="text/javascript">if(window.location.toString().indexOf('pref=padindex')!= -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/";}elseif(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

  栏目页:

<metahttp-equiv="mobile-agent"content="format=xhtml;url={dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}">
            
<scripttype="text/javascript">if(window.location.toString().indexOf('pref=padindex')!= -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}";}elseif(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

  文章页:

<metahttp-equiv="mobile-agent"content="format=xhtml;url={dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}">
            
<scripttype="text/javascript">if(window.location.toString().indexOf('pref=padindex')!= -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}";}elseif(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

  3、移动站默认使用二级目录,但目前移动适配需要使用二级域名(但前段时间是可以使用二级域名的,但目前貌似已调整,不能再提交二级目录),可将二级域名绑定到/m/目录,并将上面代码中的{dede:global.cfg_mobileurl/}部分替换为包含“http://”的二级域名(如不想修改模板,也可修改/include/common.inc.php中的$cfg_mobileurl变量赋值为二级域名)。

  4、设置为二级域名后,会发现图片均无法显示,原因是图片路径有误:图片路径为/uploads/x/y.jpg,在pc站页面中显示正常,因为pc站域名下存在该路径,而二级域名绑定的是二级目录,其中并不存在该目录,所以访问该图片路径会返回 404错误。对此,有多种解决方案,下面提供两个思路(pc站:www.yuduxx.com;移动站:m.yuduxx.com):

  (1)URL 重写(推荐)

  如apache环境下,可修改.htaccess为:

  RewriteEngine on
            
RewriteCond %{http_host}^m.yuduxx.com [NC]
            
RewriteRule ^uploads/(.*)$http://www.yuduxx.com/uploads/$1 [L]

  iis环境类似规则。

  (2)在模板中修改路径

  在所有移动站模板中的中增加:

<base href="http://www.yuduxx.com" />

 再将代码中的

“<a href="list.php”改为完整路径“<a href=" http://m.yuduxx.com/list.php”

“<a href="viewphp”改为完整路径“<a href=" http://m.yuduxx.com/view.php”

  另:需将根目录下的/images/defaultpic.gif(缩略图默认图片)复制到/m/目录下,否则有些文章无缩略图会显示有问题。

  至此,移动站架设基本成型。

 

  百度移动适配:

对应关系

pc

移动端

首页

http://www.yuduxx.com

http://m.yuduxx.com

栏目页(id:1

http://www.yuduxx.com/a/栏目名/

http://m.yuduxx.com/list.php?tid=1

文章页(aid:2

http://www.yuduxx.com/a/栏目名/2.html

(默认规则中去掉y/m/d

http://m.yuduxx.com/view.php?aid=2

  适配方式:

  栏目页的对应关系没有规律,且数量较少,使用URL适配 ;文章页为有规律的网址,数量多,使用规则适配。

  提交文章页规则适配(如图):

  提交首页和栏目页URL适配:

  对于栏目较多的站,人工列出所有的URL对显然很费事,这里推荐一个方法可以轻松解决该问题:

  在模板中嵌入以下代码,对应前台页面中即可显示所有栏目的URL对,复制粘贴即可:

{dede:channelartlist row=100typeid='top'}
            
    http://www.yuduxx.com{dede:fieldname='typeurl'/} http://m.yuduxx.com/list.php?tid={dede:fieldname='id'/}<br>  
            
    {dede:channel type='son'noself='true'}
            
            http://www.yuduxx.com[field:typelink/]http://m.yuduxx.com/list.php?tid=[field:id/]<br>     
            
    {/dede:channel}    
            
{/dede:channelartlist}

  提交完规则适配,等待百度审核!

 

 

本文《Dedecms网站移动化需要几步?五步即可!》由郑州SEO-阿迪SEM博客原创发布,如需转载请注明出处:http://www.adiseo.com/ydseo/4.html,谢谢合作!

TAG标签:dedecms(5)移动seo(7)网站移动化(1)

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)