DedeCms首页网址去掉带index.html路径三种方案
网站优化中有时候会发现site网站,发现第一页是带或者的主域名,网站之前的权重好好的,现在下降了,关键词排名也掉了,这种情况会导致网站首页分权,不利于优化,那么要怎么解决呢?
去掉小尾巴每个空间商后台的主机管理——控制面板——修改默认首页或首选域选择——将网站首页的小尾巴调到第一个(比如域名后面出现的的是,就把调为第一个)
全站链接使用绝对地址,不要使用相对地址,统一url。
对外发布外链时,不要发带等的地址。
操作完以后大家就会发现域名后面的小尾巴被去掉了。如果网站带的域名被收录,要做后面的两点,等搜索引擎识别你的主url后,慢慢也会改变回来。
1、空间没有设置默认首页,解决方法就是把设置为默认首页,部分空间默认首页也是设置为
2、在其他网站发了大量带的外链,这个也domain了的网站,外链全是主域名,没有带
3、网站结构问题,首页没有统一,网上大神给出的方法就是要统一首页网址,有首页的地方最好用绝对路径,直接把主域名写上去。
4、就是直接用robots把带给屏蔽掉(方法有风险,网站权重排名会下降)
在里加上Disallow: /,这种方法要慎重一点,很有可能会把主域名也屏蔽了,所以可以作为参考。如果采用这种方法,记得在百度站长工具里的robots工具里提交更新下,这样百度才能及时处理。
5、用301跳转,把跳转到主域名(该方法帮助我解决了问题)
一般301跳转都是服务器进行跳转,不是同域名的,不带www和带WWW进行跳转,或者其他域名进行301跳转到另一个域名。而你这个是修改当下域名的路径,属于同域名下做301跳转,是针对内容页路径301到新内容页路径,而不是旧的内容页301到首页,这样也不是一一对应。
301重定向时要避免死循环。还需要区别对待域名,没有进行301重定向的域名可以进行重定向处理,而有的,则要避免重定向到一个还有再重定向的域名。介绍下具体的操作方法。
Linux主机
如果是Linux+apache,可以在根目录下建一个.htaccess文件,里面加上以下代码:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^$
RewriteRule ^$ http://主域名/ [R=301,L]
其中是你需要进行301重定向的域名,需要注意避免死循环的发生。
百度有教程,新建.htaccess文件,并且上传到网站根目录下,因为是linux服务器 .htaccess这个文件是隐藏的。然后进行
百度CDN清除所有缓存
打开百度云CDN管理中心,找到左侧“刷新缓存”--“缓存清除”,选择右侧的“目录清除”,然后输入你的网站首页地址即可,如下图:
URL清除:是指清除单个CDN缓存页面,每天最多可以提交20000个URL清除的请求,一次最多提交100个;
- 目录清除:可以清除某个目录下的所有内容,直接输入网址首页则是清除网站根目录下的所有缓存;
所以,想要一次性清理网站所有的CDN缓存,只要选择“目录清除”,然后输入网站域名,即可一次性清除网站根目录的所有CDN缓存。
Window主机
如果是window主机,由于IIS版本不同,可能具体的代码有所不同,所以最好咨询下空间商支持。由于很多人使用的是window虚拟主机,下面就以为例给大家介绍下具体的代码,可以在根目录建一个文件,里面加上以下代码:
<?xml version="" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="301Redirect" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^$" />
</conditions>
<action type="Rddirect" url="http://主域名/{R:0}" redirectType="Permanent" />
</rule>
<rule name="homeIndex">
<match url="^$" ignoreCase="false" />
<action type=Redirect" url="/" appendQueryString="false" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
上面第一个rule是重定向到主域名,第二个rule是根目录即网站的,如果你还想处理栏目页,也可以参考上述方法进行。
设置完成之后,使用站长工具HTTP状态码检测下,返回码是否是301.
方法二、
在index文件下面 head 标签里面加一个这个
<link rel="canonical" href="" />
过段时间收录后会变回来,效率比较慢。后来发现这个方法只能增加的权重,达不到去除的效果。
方法三、
默认的DEDECMS首页生成静态后,打开我们所用DEDECMS搭建的网站会在域名后面加上路径,一来看的不是太美观,而来传言对SEM有所影响。
那就得想办法去掉,最简单的方法就是把DEDECMS根目录下的内中的代码全部替换成如下:
<?php
/**
* @version $Id: 1 9:23 2010-11-11 tianya $
* @package
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc.
* @license
* @link
*/
/*
if(!file_exists(dirname(__FILE__).'/data/'))
{
header('Location:install/');
exit();
}
//自动生成HTML版
if(isset($_GET['upcache']) || !file_exists(''))
{
require_once (dirname(__FILE__) . "/include/");
require_once DEDEINC."/";
$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']);
$row['showmod'] = isset($row['showmod'])? $row['showmod'] : 0;
if ($row['showmod'] == 1)
{
$pv->SaveToHtml(dirname(__FILE__).'/');
include(dirname(__FILE__).'/');
exit();
} else {
$pv->Display();
exit();
}
}
else
{
header('HTTP/1.1 301 Moved Permanently');
header('Location:');
}
*/
/*替换为以下代码*/
if(!file_exists(dirname(__FILE__).'/data/'))
{
header('Location:install/');
exit();
}
require_once (dirname(__FILE__) . "/include/");
require_once DEDEINC."/";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select * From `dede_homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
$pv->Display();
?>