dede全站做移动跳转+适配,精通dede和PHP的来!
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,请将以下代码全部复制替换上述文件
<phpfunction 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'时为普通文档
参考资料:
0条评论