dede全站做移动跳转+适配,精通dede和PHP的来!

dede全站做移动跳转+适配,精通dede和PHP的来!,第1张

dedecms栏目名称的调用方法:

{dede:field name="typename"} 调用当前栏目的名称

{dede:channel type='son' row='5'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel}调用该顶级频道下所有字栏目,row代表调用5条

{dede:type typeid='栏目id'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:type} 表示调用指定id的栏目,只能调用一个。

{dede:channel type='top'}<a>[field:typename/]</a> {/dede:channel}调用子栏目的当前顶级栏目名称。

调用顶级栏目名称示例代码:

{dede:fieldtitle runphp=’yes’}list($toptype,$sontype)=split(‘/’,@me);@me=$toptype;{/dede:fieldtitle}

dedecms也叫织梦内容管理系统,是一款知名的PHP开源网站内容管理系统,以简单、实用、开源而闻名,DedeCms免费版的主要目标用户在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用。

一、修改文件:\include\taglib目录下的channellibphp,请将以下代码全部复制替换上述文件

<php

function lib_channel(&$ctag,&$refObj)

{

    global $_sys_globals,$envs,$dsql;

    $attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";

    FillAttsDefault($ctag->CAttribute->Items,$attlist);

    extract($ctag->CAttribute->Items, EXTR_SKIP);

    $innertext = $ctag->GetInnerText();

        $cacheid = trim($cacheid);

    if($cacheid !='') {

        $likeType = GetCacheBlock($cacheid);

        if($likeType != '') return $likeType;

    }

    $reid = 0;

    $topid = 0;

    if(empty($typeid) && $envs['typeid']!=0)

    {

        $typeid = $envs['typeid'];

        $reid = $envs['reid'];

    }else{

        $reid=0;

    }

    if($type==''||$type=='sun') $type="son";

    if($innertext=='') $innertext = GetSysTemplets("channel_listhtm");

    if($reid==0 && $typeid>0)

    {

        $dbrow = $dsql->GetOne("Select reid From dede_arctype where id='$typeid' ");

        if(is_array($dbrow)) $reid = $dbrow['reid'];

    }

    $likeType = '';

    if($type=='top')

    {

        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

          From dede_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row";

    }

    else if($type=="son")

    {

        //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];

        if($typeid==0) {

            return '';

        }

        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

          From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";

    }

    else if($type=="self")

    {

        if($reid==0) {

            return '';

        }

        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

            From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";

    }

    //And id<>'$typeid'

    $needRel = false;

    $dtp2 = new DedeTagParse();

    $dtp2->SetNameSpace("field","[","]");

    $dtp2->LoadSource($innertext);

    $dsql2 = clone $dsql;

    $dsql->SetQuery($sql);

    $dsql->Execute();

    $line = $row;

        //检查是否有子栏目,并返回rel提示(用于二级菜单)

    if(ereg(':rel', $innertext)) $needRel = true;

   

    if(empty($sql)) return '';

    $dsql->SetQuery($sql);

    $dsql->Execute();

   

    $totalRow = $dsql->GetTotalRow();

    $GLOBALS['autoindex'] = 0;

    for($i=0;$i < $line;$i++)

    {

        if($col>1) $likeType = "<dl>\r\n";

        for($j=0;$j<$col;$j++)

        {

            if($col>1) $likeType = "<dd>\r\n";

            if($row=$dsql->GetArray())

            {

                            $row['sonids'] = $row['rel'] = '';

                if($needRel)

                {

                    $row['sonids'] = GetSonIds($row['id'], 0, false);

                    if($row['sonids']=='') $row['rel'] = '';

                    else $row['rel'] = " rel='dropmenu{$row['id']}'";

                }

                //处理同级栏目中,当前栏目的样式

                if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )

                {

                    if($currentstyle!='')

                    {

                    $linkOkstr = $currentstyle;

                    $row['typelink'] = GetOneTypeUrlA($row);

                    $linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr);

                    $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr);

                    $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr);

                    $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);

                    $likeType = $linkOkstr;

                    }

                }else

                {

                    $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);

                    if(is_array($dtp2->CTags))

                    {

                        foreach($dtp2->CTags as $tagid=>$ctag){

                            if(isset($row[$ctag->GetName()]))

                            {

                                $dtp2->Assign($tagid,$row[$ctag->GetName()]);

                            }

                            elseif (preg_match('/^sonchannel[0-9]$/',$ctag->GetName()))

                            {

                                $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));

                            }

                        }

                    }

                    $likeType = $dtp2->GetResult();

                }

            }

            if($col>1) $likeType = "</dd>\r\n";

            $GLOBALS['autoindex']++;

        }//Loop Col

        if($col>1)

        {

            $i += $col - 1;

            $likeType = "    </dl>\r\n";

        }

    }//Loop for $i

    reset($dsql2);

    $dsql->FreeResult();

    return $likeType;

}

function lib_channel_son($ctag,$typeid = 0,$dsql2)

{

    $attlist = "row|100,col|1,currentstyle|";

    FillAttsDefault($ctag->CAttribute->Items,$attlist);

    extract($ctag->CAttribute->Items, EXTR_SKIP);

    $innertext = $ctag->GetInnerText();

    $dsql3 = clone $dsql2;

    $likeType = '';

    //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];

    if($typeid==0) {

        return '';

    }

    $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

          From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";

    //And id<>'$typeid'

    $dtp2 = new DedeTagParse();

    $dtp2->SetNameSpace("field","[","]");

    $dtp2->LoadSource($innertext);

    $dsql2->SetQuery($sql);

    $dsql2->Execute();

    $line = $row;

    for($i=0;$i < $line;$i++)

    {

        if($col>1) $likeType = "<dl>\r\n";

        for($j=0;$j<$col;$j++)

        {

            if($col>1) $likeType = "<dd>\r\n";

            if($row=$dsql2->GetArray())

            {

                $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);

                if(is_array($dtp2->CTags))

                {

                    foreach($dtp2->CTags as $tagid=>$ctag){

                        if(isset($row[$ctag->GetName()]))

                        {

                            $dtp2->Assign($tagid,$row[$ctag->GetName()]);

                        }

                        elseif (preg_match('/^sonchannel[0-9]$/',$ctag->GetName()))

                        {

                            $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3));

                        }

                    }

                }

                $likeType = $dtp2->GetResult();

            }

            if($col>1) $likeType = "</dd>\r\n";

        }//Loop Col

        if($col>1)

        {

            $i += $col - 1;

            $likeType = "    </dl>\r\n";

        }

    }//Loop for $i

    reset($dsql3);

    $dsql2->FreeResult();

    return $likeType;

}

>

二、在模板调用

实例:

{dede:channel type='son' typeid='改成你的大栏目ID'}

              [field:typename/]

                    <ul>

                    [field:sonchannel0]

                    <li><a href="[field:typelink/]">[field:typename/]</a></li>

                         [field:sonchannel1]

                        <li><a href="[field:typelink/]">---[field:typename/]</a></li>

                             [field:sonchannel2]

                            <li><a href="[field:typelink/]">===[field:typename/]</a></li>

                                [field:sonchannel3]

                                <li><a href="[field:typelink/]">===[field:typename/]</a></li>

                                 [/field:sonchannel3]

                             [/field:sonchannel2]

                         [/field:sonchannel1]

                    [/field:sonchannel0]

                    </ul>

 {/dede:channel}

模板调用    [field:sonchannel0] [/field:sonchannel0] 这个是用来取子栏目用的(使用[sonchannel+数字] 作为标签名是为了防止嵌套的时候无法正确解析标签)

这个的作用就是当你的栏目有很多子栏目 无限分级的时候方便你取子栏目的。

考虑到中小型网站中Dedecms使用概率较高,今天我们特地邀请了百度站长社区版主—洪石陈来为大家做Dedecms移动适配分享。

第一步:安装Dedecms移动站点的两种方式

(1)下载新版本直接安装使用,Dedecms版本:V57SP1正式版(2015-06-18)该版本包含旧版本所没有的移动站点功能。

(2)老版本升级(仅针对增加移动站点功能),下载最新版本(注意网站编码需与原站一致),复制压缩包中以下文件到原站对应目录下:

注意:如果原站有非默认模板,如某栏目模板为/templets/defaultst_default_newshtm,可将/templets/defaultst_default_mhtm复制一份改名为list_default_news_mhtm。

即:pc端网站模板需有对应的移动端网站模板,后者文件名为前者文件名后“_m”。

安装或升级dedecms完成,此时应该就可以进行移动跳转适配了,但,dedecms20150618版本提供的移动站点功能在使用过程中发现一些问题,需要进行修改后才可正常使用,所以有了下面的dedecms修改步骤…

第二步:修改Dedecms

(1)原站如做了将DATA移到根目录外的安全设置,需修改/m/indexphp代码:

if(!file_exists(dirname(__FILE__)'//data/commonincphp'))

{

header('Location:install/indexphp');

exit();

}

将其中//data/commonincphp改为///data/commonincphp,或直接将以上5行代码删除。

(2) 移动站点首页在会第一次访问时自动生成首页静态文件,前提是/m/目录需设置为可写权限,否则将无法正常更新。之后更新首页静态文件需登陆后台手动更新:在“更新主页HTML”中将“选择主页模板”改为“default/index_mhtm”,将“主页位置”改为“/m/indexhtml”,再生成主页静态文件。

注:该版本号称“自动生成HTML版”,但默认移动站模板里却有<ahref="indexphp">的动态首页链接,需替换为<ahref="indexhtml">静态链接形式。

※如觉得使用静态页面麻烦,想将首页设置为动态浏览,可修改/m/indexphp:

$row['showmod']= isset($row['showmod']) $row['showmod'] : 0;

if ($row['showmod'] == 1)

{

$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');

include(dirname(__FILE__)'/indexhtml');

exit();

}

else {

$pv->Display();

exit();

}

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

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

搜索模板/templets/default/index_mhtm中所有<a href="[field:arcurl/]"> ,替换为<ahref="viewphpaid=[field:id/]">

第四步:通用头部含有搜索框,搜索跳转至pc端搜索页面,建议删除:

在/templets/default/header_mhtm中删除以下代码:

<form class="am-topbar-form am-topbar-leftam-form-inline am-topbar-right" role="search"action="{dede:globalcfg_cmsurl/}/plus/searchphp">

<input type="hidden" name="mobile"value="1" />

<input type="hidden" name="kwtype"value="0" />

<div class="am-form-group">

<input name="q" type="text"class="am-form-field am-input-sm" placeholder="输入关键词">

</div>

<button type="submit" class="am-btnam-btn-default am-btn-sm">搜索</button>

</form>

第五步: 移动站点默认使用二级目录,但目前移动适配需要使用二级域名(前段时间是可以使用二级目录的,但目前已调整,不能再提交二级目录),所以我们要设置移动站可通过二级域名访问,解析二级域名至网站所在服务器ip,并在服务器/空间上将二级域名绑定到/m/目录。

成功设置二级域名后,通过二级域名浏览网站会发现均无法显示,原因是路径有误——路径为“/uploads/x/yjpg”

相对根目录路径形式,在pc站页面中显示正常,因为pc站域名下存在该目录,而二级域名绑定的是二级目录,其中并不存在该目录,

所以访问会返回 404错误。对此,有多种解决方案,下面提供两个思路(示例pc站:wwwnt090com;移动站:mnt090com):

(1)URL 重写(推荐)

将对http://mnt090com/uploads/的访问重写 至http://wwwnt090com/uploads/,apache环境下,在/m/目录中的htaccess(如无则需新建)中增加以下代码即可:

RewriteEngine on

RewriteCond %{http_host} ^mnt090com [NC]

RewriteRule ^uploads/()$ http://wwwnt090com/uploads/$1 [L]

iis环境下类似规则。

(2)修改模板路径

在所有移动端模板中的<head></head>中增加:

<base href="http://wwwnt090com" />

再将代码中的

“<a href="listphp”改为完整路径“<a href="http://mnt090com/listphp”

“<a href="viewphp”改为完整路径“<a href="http://mnt090com/viewphp”

另:需将根目录下的/images/defaultpicgif(缩略图默认)复制到/m/目录下,否则列表页中如存在无缩略图的文章,对应缩略图位置会无法正常显示。

其他:

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

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

首页

<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/">

<scripttype="text/javascript">

if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}

</script>

栏目页

<metahttp-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}">

<scripttype="text/javascript">

if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}

</script>

文章页

<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}">

<script type="text/javascript">

if(windowlocationtoString()indexOf('pref=padindex') !=-1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}

</script>

代码中的{dede:globalcfg_mobileurl/}部分要替换为包含“http://”的二级域名(即:http://mnt090com),如不想修改模板里的相关代码,也可修改/include/commonincphp中的$cfg_mobileurl变量赋值为二级域名。

以上代码为dedecms新版模板所使用,第一行<meta>标签代码为百度发现跳转适配关系的方式(可同时使用)之一——“Meta标记”,下面几行javascript代码的功能是识别是否移动端设备访问,如是则将当前pc端页面自动跳转到匹配的移动端页面。

另外,还可使用<link>标签以便于百度更好地发现PC站和移动站的移动适配关系,在模板的<head></head>标签内加入如下代码:

PC站首页模板:

<link rel="alternate" media="only screen and(max-width: 640px)" href="http://mnt090com" >

PC站栏目页模板:

<link rel="alternate" media="only screen and(max-width: 640px)"href="http://mnt090com/listphptid={dede:fieldid/}" >

PC站文章页模板:

<link rel="alternate" media="only screen and(max-width: 640px)" href=" http://mnt090com/viewphpaid={dede:fieldid/}">

移动站首页模板:

<link rel="canonical"href="http://wwwnt090com/ "/>

栏目页模板:

<link rel="canonical"href="http://wwwnt090com{dede:type typeid='0' row=1}[field:typelink/]{/dede:type}"/>

文章页模板:

<link rel="canonical"href="http://wwwnt090com/{dede:fieldidrunphp='yes'}$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];{/dede:fieldid}"/>

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

提交移动跳转适配

URL对应关系示例:

你要看一下你买的模板是不是自适应的呢,要是自适应的,就是PC端和手机端链接都一样,那就不需要做,手机端生成一下就可以同步了,如果不是,就去你的模板里看带m的就是移动端模板,要改什么直接改就行,和PC一样,但是在最后做完需要做一个PC端和移动端的适配。适配是比较复杂的一个步骤,到时候可以看适配规则上面的步骤详解。

分析筛选关键词:

精准度:分析用户的搜索目的:——企业网站;

竞争度:关键词优化难度;

确定网站优化词:

搜索量:首页关键核心词3-5个;栏目关键词2-3个。

URL网址结构优化:影响用户浏览体验:影响搜索引擎抓取网站内部网页的效率

网站地图

站内链接结构优化:影响用户浏览习惯

静态化:层次少;

URL网址规范化:

DEDECMS操作:去掉首页域名后跳出的indexhtml

启用绝对网址:系统基本参数-核心设置-启用绝对网址;

登陆环宇-我的主机-控制面板-基础环境设置-默认首页设置-indexhtml置顶

robotstxt:存储在空间根目录;告诉搜索引擎:网站哪些内容可以抓取/不允许抓取;蜘蛛程序访问网站第一时间访问根目录下的robotstxt

例1

User-agent

Disallow

表示所有内容都允许抓取-与空间根目录没有robotetxt一样的效果

例2

User-agent:spider

Disallow

表示网站所有内容不允许百度抓取

3、登陆环宇-wodezhuji-kongmianban-jichuhuanjingshe

-默认后也设置-indexhtml置顶-生成-静态

4、网站内容优化:网站内容更新+增加收录量+增加长尾关键词排名

5、站外优化:高质量外链+站外常规推广

影响排名的三大因素:

1、内容与关键词的相关性:关键词出现为止;关键词出现频率;关键词出现方式(完整出现/拆分出现);

2、链接:高质量外链;

3、用户:地区;用户浏览习惯:用户浏览体验;用户搜索点击;

SEO的常用术语

301重定向跳转

1、网站更换域名,通过301重定向把老域名跳转指向新域名,实现老于明德收录机记录数据和排名等传递给新域名;

疑问词:尽量不选为首页核心词:主要使用问答平台;也可以利用文章页;

关键词布局结构:给网站各个不同层次的网页匹配合适的关键词;

1、网站首页:核心关键词,3-5个;重要关键词放首位;--很大的排名优势

2、栏目页:2-3个左右;比较简单的关键词+跟栏目页相关;

3、内容页:长尾关键词

长尾关键词优化:主要利用内容页做比较简单的关键词排名

网站收录数据:文章数量+文章质量;

用户的内容需求

文章内容编辑:原创;长尾关键词(标题+内容);

4、

5、不同网页的关键词尽量不出现完全重复

网络营销转化率:这个转化率一般可以理解为投入金额与收入回报金额之间的百分比,也就是投放的资金与收入的金额。

公司相关信息介绍+营销转化的内容+资讯栏目+更好地与关键词匹配

网页title优化:设置关键词最重要的位置

1、网站不同网页的title不能完全重复;

2、字数显示:30字左右

3、不能恶意重复关键词,例;可以合理重复,把某个关键词包含进其它关键词内,例,一般重复三次左右,尽量不超过五次;

4、关键词先后排序:按照重要程度依次排序;

5、品牌词:

重视产品次/业务词牌名,品牌词写最后面;

重视品牌推广的企业,品牌词写最前面

品牌词一般使用简写形式or品牌词与产品词的组合,不适用营业执照的公司名称;

6、关键词之间的分隔符:常用的有-|_,等英文符号;

不能使用特殊符号★◇等;

7、不能经常修改title;

8、常见的网站哥哥网页的title设置格式

1、网站首页

2栏目页:

3文章页:

DEDECMS操作:

修改栏目页模版list_articlehtm;index_articlehtm;

1、首页title:在首页模版

修改为

系统基本参数-网站参数-网站名称:填写品牌词;

栏目-高级选项-SEO标题:填写各个栏目的关键词

备注:{dede:fieldseotitle/}栏目-高级选项平-SEO标题;

{dede:globalglobalcfg_webname/}系统基本参数-网站名称;

网站描述优化设置:比较重要;

各个网页的描述文字不能完全重复;

对当前网页内容简单描述,必须包含相关关键词

URL网址结构:营销网站内部网页的收录效率以及排名;

1、动态URL

2、静态URL

虚拟主机:FTP网页空间-数据库空间

发布文章-保存在数据库的数据表中-生成网页文件存储在FTP网页空间;

1、真静态:根据静态URL的路径结构,在FTP空间中有对应的真实文件存在;

2、伪静态:根据静态URL的路径结构,在FTP空间的相应位置不存在文件;

URL网址优化的知识点:

静态化,减少目录层次

剪短;

适当包含关键词拼音;

URL网址规范化:访问首页域名不自动跳转indexhtml;

所有超链接启用绝对网址;

DEDECMA操作:

栏目-常规选项-文件保存目录:/当前栏目目录名称,例/news;

——不同栏目的目录名称不能出现重复;新闻栏目的目录名称使用news;目录名称不能使用汉字;目录名称不能太长;

404错误页面:

含有返回网站的链接;

不要使用metarefresh跳转;

制作1个网页文件404html;

404html上传到空间根目录;

主机管理控制台-基础环境设置-404页面设置:把404html设置成网站404页面;

站内链接结构优化:

网站地图:提高蜘蛛对网站内容的抓取效率

XML格式:sitemapxml-站点地图协议文件

HTML格式:展现网站大多数链接的网页;

地图

站内链接结构:网站内部网页之间的链接关系;影响用户浏览体验+引导蜘蛛爬行抓取(影响收录效率);

站内链接结构优化:缩短首页与内容页之间的链接距离;突出重点页面;

1、网站

设计:展示出所有栏目的链接(包括子栏目);

顶部导航(主导航)

底部导航

侧边导航:产品导航、相关导航;

面包屑导航:内页的当前位置;

链接列表布局设计:至少一个链接列表(频繁更新);

营销型网站:网站内容+页面设计=利用转化成交;利于优化推广

1、规划网站栏目;

2、选出核心关键词;

3、策划设计网站首页的布局图;

网页body中关键词的合理分布:

关键词密度不能太高;

关键词在网页中均匀分布;网页局部位置关键词频率太高被惩罚得到风险;

关键词尽量融入在内容中;

关键词有完整匹配出现(频率不能太高),也有拆分出现/相关词出现;

网站内容优化:网站内容更新+增加网站收录量+做长尾关键词排名;

1、用户:搜索需求;阅读体验;

2、搜索引擎:原创;关键词;

1、网站内容规划:栏目规划中需要有咨询栏目,可以持续发文章,且可以结合用户的搜索需求以及长尾词关键词发文章

文章内容:

字数>150字;用户的阅读体验;

需要添加alt属性;文章内容中较少,alt可以写文章标题;如果文章内容中较多,各个的alt需要区分;

文章开头体现相关关键词;

文章内容中可以适当添加关键词链接,2个左右,多样化(不能所有文章都添加同一个关键词链接+同一篇文章同样关键词不能添加2次链接);关

链接网址是对应的;

用户阅读体验:可以适当插入;文章内容篇幅不要太长,可以分页/分成多篇文章发布;突出重点(加粗/颜色/字体大小)

需要设置tag标签,跟文章相关的关键词;

5、网站内容更新规律:时间;数量;

HTML代码优化:

1、代码优化

(javascript语言)

自己添加h1,可以隐藏(不影响网页的视觉效果);

在模板的后添加以下代码:

核心词

在对应的CSS中添加以下代码:

abc{display:none;}

<scipttype="text/javascript"src="xxxjs")

documentwrite(xxxxxxxxxxxxxxxx");

robotstxt实现的是一个完整的网页不被搜索引擎抓取收录;

文字;告诉蜘蛛不要跟随访问该链接网址;以上这句代码能够正常抓取;

1、外链建设原则:

链接来源多样化,链接来自于不同域名的网站;

重视链接质量:内容相关;对方网站权重(SEO状况);

链接文字以关键词为主,并且多样化;

链接数量持续平稳增加;不能短期内暴增;不能使用群发软件

不能主动链接垃圾网站/违法网站;

2、外链建设方法:

1、友情链接:尽量找内容相关的网站交换;尽量找权重对等(甚至比我们网站高)的网站交换;

①找网站:QQ群;换链神器;链接交换平台;分析竞争网站/相关网站的友情链接

②分析网站

③沟通交换

④定期检查更新:检查对方是否正常加链接;检查对方网站SEO情况

购买链接:

不能购买黑链

明链:挑不卖违法连接的网站;

网址导航/网站分类目录:等网站有一定的SEO数据之后,在想网址导航/分类目录提交;

软文链接/新闻链接:向行业网站投稿;

网站(品牌推广+长尾词排名+外链);

第三方平台-连接质量一般;以推广为主要目的,顺带做外链

1、DEDECMS后台-系统-数据库备份/还原-备份所有的数据表:把数据库控件中的所有数据表全部备份下载到FTP空间中/data/backupdata/

把FTP空间中所有文件全部下载:主机管理控制台-文件管理-文件压缩

蜘蛛抓取--释放收录数据(能够查询到数据):有时间间隔;

多发布一些新闻资讯文章(news;结合有百度指数的加关虚假关键词

结合热点事件/热门知识/长尾关键词发布文章

1、找关键词

2、文章内容原创度40%以上-开头

3、目标关键词在文章页中重复几次-开头必须有文章;

网站SEO流程:

1、内容结构调整(栏目结构):结合公司信息+用户搜索习惯+资讯栏目;

2、选择关键词工具;

分析筛选:精准度;竞争度;搜索量;

3、站内优化:

1、设置关键词:

head区域:title;description;keywords

body区域:h1/h2;靠近网页开头

2、URL网址结构优化:静态化,层次少;简短;适当包含关键词拼音;URL网址规范化

3、站内结构优化:网页布局用户浏览体验+SEO(导航设计+链接列表设计);

4、网站地图:sitemapxml+网页形式的地图;

5、HTML代码优化:代码;精简代码;

6、robotstxt;404错误页面;

修改arclist标签的asc属性。

具体代码如下:

{dede:arclistorderway=''asc'}

文章按照顺序排列

{/dede:arclist}

解析原因:

orderway=''值为desc或asc,指定排序方式是降序还是顺向排序,将值修改asc就是顺序排列。

扩展资料

其他属性

1、typeid=''表示栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;

2、row=''表示返回文档列表总数;

3、col=''表示分多少列显示(默认为单列);

4、titlelen=''表示标题长度;

5、infolen=''表示内容简介长度;

6、imgwidth=''表示缩略图宽度;

7、imgheight=''表示缩略图高度;

8、type=''表示档案类型,其中空值、不使用这个属性或type='all'时为普通文档

参考资料:

:arclist

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dede全站做移动跳转+适配,精通dede和PHP的来!

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情