英超

DeDeCMS默认首页及WWW域嘚301

2019-10-08 23:38:58来源:励志吧0次阅读

你是否留心过:通过域名访问站首页时,页返回Http状态码是什么?甚至访问内页时,Http状态码又是什么吗?

大多数人可能会想当然的认为首页返回的肯定是200,因为我们很容易观察到首页能否可以正常打开以及URL是否发生过明显跳转,然而,真的如我们预想的那样吗!

在近期接手的SEO项目里,我们就遇到类似的问题:

以上数据暴露出几个严重的SEO问题:

1、主域与www域之间的跳转问题

2、域访问与默认首页之间的跳转问题

3、页面可以打开但是状态码返回的不是200

上述SEO问题的处理逻辑:

1、通常情况下,站主要使用www域,而不使用主域(国内民的访问习惯),考虑到SEO因素,为了避免复制页问题,一般会将主域做301跳转然后重定向到www二级域,这样搜索引擎就不会收录两个版本的站首页,也避免了页面权重分流。

2、域访问与默认首页之间本不应该存在任何跳转动作。试想一下,如果直接访问站域名却发生了跳转,无论是301还是302,首页权重都会被降低,这对SEO而言是多么可怕的一件事情,首页低权重,内页也在劫难逃!正确的SEO处理方式是:访问域时

,直接返回200。以DedeCMS为例,如果站的默认首页不是ml或者p优先级高于ml,当以域方式访问站首页时,程序默认设置为URL发生301跳转至ml。

3、用工具全面检测下页面Http状态码,确认页面200。

DeDeCMS解决www域跳转与默认首页跳转问题的方法:

修改根目录下的p文件,用以下代码进行替换:

PHP代码

?php

//主域名301跳转到www

$redirect301=1; //301跳转开关,1代表打开,0代表关闭

$index_file=ml; //指定站默认首页文件,DeDeCMS设置为ml,不支持SSI(shtml/shtm)

if(substr($_SERVER['SERVER_NAME'],0,4)!='www

.'$redirect301) //判断URL中是否带www

{

header('HTTP/1.1 301 Moved Permanently');

header('Location:http://www.'.$_SERVER['SERVER_NAME']); //301跳转到www

exit();

}

if(!file_exists(dirname(__FILE__).'/data/p'))

{

header('Location:install/p');

exit();

}

//自动生成HTML版

if(isset($_GET['upcache']))

{

require_once (dirname(__FILE__). "/include/p");

require_once DEDEINC."/p";

$GLOBALS['_arclistEnv'] = 'index';

$row = $dsql-GetOne("Select * From `#@__homepageset`");

$row['templet']= MfTemplet($row['templet']);

$pv = new PartView();

$pv-》SetTemplet($cfg_basedir.$cfg_templets_dir

."/". $row['templet']);

$pv-》SaveToHtml(dirname(__FILE__).'/ml');

include(dirname(__FILE__).'/ml');

exit();

}

include(dirname(__FILE__).'/'.$index_file); //联接站默认首页文件

?

原文地址:

注:相关站建设技巧阅读请移步到建站教程频道。

微商城定制
小程序秒杀
微商城
分享到: