网站地图    收藏   

主页 > 前端 > css教程 >

修改discuz论坛的标题header和footer - html/css语言栏目

来源:自学PHP网    时间:2015-04-14 14:51 作者: 阅读:

[导读] 1、关于去掉DZ论坛标题处的Powered by Discuz!,去掉他的原因是为了使标题更加简洁明了,还有就是不被搜索到导致SPAM:具体的修改方法:打开 templates default header htm,在第五行中直接删除...

1、关于去掉DZ论坛标题处的Powered by Discuz!,去掉他的原因是为了使标题更加简洁明了,还有就是不被搜索到导致SPAM:具体的修改方法:打开/templates/default/header.htm,在第五行中直接删除:- Powered by Discuz!就可。
2、如果针对DZ底部的版权信息进行修改,建议不要进行大的修改,那是版权问题,在这里:风格 模板里 /templates/default/footer.html 注意对应自己正在使用的模板,第47行处开始。
3、去掉多余的或修改Meta部分“<meta name="copyright" content="2001-2007 Comsenz Inc." />”同样在header.htm内。将<meta name="description" content="$metadescription $bbname $seodescription - Discuz! Board" /> 改为<meta name="description" content="$metadescription $bbname $seodescription" />,
Meta区中这两个可以留1个即可,是为了保护作者的版权:<meta name="generator" content="Discuz! $version" />
<meta name="author" content="Discuz! Team and Comsenz UI Team" />
打开archiver/include/header.inc.php,将前面对应的改为:<title> <?=$_DCACHE['settings']['seotitle']?> <?=$navtitle?> <?=$_DCACHE['settings']['bbname']?> -   Archiver</title>
将Kewords中的Discuz!,Board,Comsenz,forums,bulletin board,去掉,将meta name="description"后边的 - Discuz! Archiver也可去掉,同样跟上边说的一样,将<meta name="author" content="Discuz! Team & Comsenz UI Team" />
<meta name="copyright" content="2001-2007 Comsenz Inc." /> 其中之一去掉1个。
把关键字放大:修改 forum.inc.php,index.inc.php,thread.inc.php
在这些文件的最后加入
<br> <font color=<?=MAINTABLECOLOR?>><?=$_DCACHE['settings']['seokeywords']?></font>
论坛信息分类优化:
打开viewthread.php
查找:
$navigation = "» <a href=\"forumdisplay.php?fid=$fid".($extra ? '&'.preg_replace("/^(&)*/", '', $extra) : '')."\">$forum[name]</a> » $thread[subject]";
$navtitle = $thread['subject'].' - '.strip_tags($forum['name']);
if($forum['type'] == 'sub') {
       $query = $db->query("SELECT fid, name FROM {$tablepre}forums WHERE fid='$forum[fup]'");
       $fup = $db->fetch_array($query);
       $navigation = "» <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> $navigation";
       $navtitle = $navtitle.' - '.strip_tags($fup['name']);
}
$navtitle .= ' - ';
替换成:
if($lastvisit < $thread['lastpost'] && (!isset($_DCOOKIE['fid'.$fid]) || $thread['lastpost'] > $_DCOOKIE['fid'.$fid])) {
       dsetcookie('fid'.$fid, $thread['lastpost'], 3600);
}
$navigation = "» <a href=\"forumdisplay.php?fid=$fid".($extra ? '&'.preg_replace("/^(&)*/", '', $extra) : '')."\">$forum[name]</a> » $thread[subject]";
if($thread['typeid'] && isset($forum['threadtypes']['types'][$thread['typeid']])) {
$navtitle = '('.$forum['threadtypes']['types'][$thread['typeid']].')'.$thread['subject'].' - '.strip_tags($forum['name']);
}else{
$navtitle = $thread['subject'].' - '.strip_tags($forum['name']);
}
if($forum['type'] == 'sub') {
       $query = $db->query("SELECT fid, name FROM {$tablepre}forums WHERE fid='$forum[fup]'");
       $fup = $db->fetch_array($query);
       $navigation = "» <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> $navigation";
       $navtitle = $navtitle.' - '.strip_tags($fup['name']);
}
$navtitle .= ' - ';
用googleSitemap 和 雅虎url工具优化论坛,完成!
在misc.php中找到$threadurl = "{$boardurl}viewthread.php?tid=$tid";
(奇怪的是6.0的新版本中是$threadurl = "{$boardurl}viewthread.php?tid=$tid$fromuid"; 所以我在这里没有改。)改为
$threadurl = "{$boardurl}viewthread.php?tid=$tid&fromuid=$discuz_uid";
在推荐朋友功能中增加推荐人的标记。这样的推荐能给推荐人带来金币收入。
高级优化?前提:1.discuz! 5.0/5.5 已启用伪静态功能,只启用普通页面静态化就可以了;2.不要启用Archiver功能?;3.后台的keywords和description设置只是针对首页的<来源www.gadmin.cn>(如果您没做列表页和内容页的meta修改则也应用到它们);4.后台首页文件名为/(当然您也可以设置自己特定的),然后开始优化:
一、meta的优化
discuz的后台可以对meta信息进行设置,甚至可以添加自己的头部信息,但它的设置都是针对于所有页面的,全部页面都拥有相同的keywords和description是SEO所不赞成的。
方案一:删除meta
修改页头模板文件 templates/default/header.htm:将meta的keywords和description标签删除。
这两个标签作用很小了,而且还有discuz自带的一些无用信息,用得不好反而会有坏作用,因此宁缺勿滥。
方案二:定制meta
本部分实现了将内容页keywords设为帖子标题,description为内容前100字;也实现了主页与各版列表页meta的单独设置(不同版的不同,同一版各列表页相同)。
1.修改页头模板文件 templates\default\header.htm:将meta的keywords和description标签改为如下形式:
<meta name="keywords" content="{$metakeywords}$seokeywords" />
<meta name="description" content="$seodescription" />
这里的$seokeywords、$seodescription就是后台设置的那个值,下面说怎么定制这个值;{$metakeywords}是奇虎的关键字,留下以后处理
2.内容页(viewthread)设置keywords为帖子标题,description为内容前100字
2.1修改 viewthread.php 文件:
在 include template('viewthread'); (更新:dz5.5为iinclude template($iscircle ? 'supesite_viewthread' : 'viewthread'); ) 语句的上面加入一行:
require_once DISCUZ_ROOT.'./include/bmt.thread.inc.php';
2.2创建 include/bmt.thread.inc.php 文件,内容为:
<?php
if(!defined('IN_DISCUZ')) { exit('Access Denied'); }
$seokeywords = strip_tags($thread['subject']); //关键字设为帖子的标题
//(已更新: nethome 提出问题,当启用主题分类并允许按类别浏览时,原来代码会有问题。所以加了标签过滤,本来在viewthread.php中改更好,为以后升级方便,还是放在这里吧,subject很短,不会影响效率)
$seodescription = current( $postlist );//description取文章内容的前100字
$seodescription = mb_substr( $seodescription['message'],0,100,"gb2312" );
$seodescription = htmlspecialchars( strip_tags($seodescription) );
?>
*此处数字和个别函数适用于GBK版本,utf 8 的可能有个别不一样,请大家继续寻找相关更适合自己版本的优化内容。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论