去掉DedeCms首页网址带index.html路径三种方案

方法一、

在网站优化中有时候会发现site网站,发现第一页是带index.html或者index.php的主域名,网站之前的权重好好的,现在下降了,关键词排名也掉了,这种情况会导致网站首页分权,不利于优化,那么要怎么解决呢?
https://zhidao.baidu.com/question/1822174267835077228.html
去掉小尾巴每个空间商后台的主机管理——控制面板——修改默认首页或首选域选择——将网站首页的小尾巴调到第一个(比如域名后面出现的的是index.html,就把index.html调为第一个)
全站链接使用绝对地址,不要使用相对地址,统一url。
对外发布外链时,不要发带index.html等的地址。
操作完以后大家就会发现域名后面的小尾巴被去掉了。如果网站带index.html的域名被收录,要做后面的两点,等搜索引擎识别你的主url后,慢慢也会改变回来。

1、空间没有设置默认首页,解决方法就是把index.html设置为默认首页,部分空间默认首页也是设置为index.html
2、在其他网站发了大量带index.html的外链,这个也domain了的网站,外链全是主域名,没有带index.html
3、网站结构问题,首页没有统一,网上大神给出的方法就是要统一首页网址,有首页的地方最好用绝对路径,直接把主域名写上去。
4、就是直接用robots把带index.html给屏蔽掉(方法有风险,网站权重排名会下降)
在robots.txt里加上Disallow: /index.html,这种方法要慎重一点,很有可能会把主域名也屏蔽了,所以可以作为参考。如果采用这种方法,记得在百度站长工具里的robots工具里提交更新下,这样百度才能及时处理。
5、用301跳转,把index.html跳转到主域名(该方法帮助我解决了问题)

http://www.xufanfan.com/post/1441.html
一般301跳转都是服务器进行跳转,不是同域名的,不带www和带WWW进行跳转,或者其他域名进行301跳转到另一个域名。而你这个是修改当下域名的路径,属于同域名下做301跳转,是针对内容页路径301到新内容页路径,而不是旧的内容页301到首页,这样也不是一一对应。
301重定向时要避免死循环。还需要区别对待域名,没有进行301重定向的域名可以进行重定向处理,而有的,则要避免重定向到一个还有再重定向的域名。介绍下具体的操作方法。
Linux主机
如果是Linux+apache,可以在根目录下建一个.htaccess文件,里面加上以下代码:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^a.com$
RewriteRule ^index.html$ http://主域名/ [R=301,L]

其中a.com是你需要进行301重定向的域名,需要注意避免死循环的发生。

百度有教程,新建.htaccess文件,并且上传到网站根目录下,因为是linux服务器 .htaccess这个文件是隐藏的​​​​​​​。然后进行

百度CDN清除所有缓存

打开百度云CDN管理中心,找到左侧“刷新缓存”--“缓存清除”,选择右侧的“目录清除”,然后输入你的网站首页地址即可,如下图:

ç¾åº¦CDNä¸æ¬¡æ§æ¸é¤ç½ç«å¨é¨ç¼å­çæ¹æ³
URL清除:是指清除单个CDN缓存页面,每天最多可以提交20000个URL清除的请求,一次最多提交100个;

  • 目录清除:可以清除某个目录下的所有内容,直接输入网址首页则是清除网站根目录下的所有缓存;

所以,想要一次性清理网站所有的CDN缓存,只要选择“目录清除”,然后输入网站域名,即可一次性清除网站根目录的所有CDN缓存

Window主机
如果是window主机,由于IIS版本不同,可能具体的代码有所不同,所以最好咨询下空间商支持。由于很多人使用的是window虚拟主机,下面就以IIS7.0为例给大家介绍下具体的代码,可以在根目录建一个web.config文件,里面加上以下代码:

<?xml version="1.0" 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="^index.html$" ignoreCase="false" />
<action type=Redirect" url="/" appendQueryString="false" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

上面第一个rule是重定向到主域名,第二个rule是根目录即网站的index.html,如果你还想处理栏目页,也可以参考上述方法进行。

设置完成之后,使用站长工具HTTP状态码检测下,返回码是否是301.

ç«é¿å·¥å·æ£æµè¿åç ä¸º301

方法二、

在index文件下面 head 标签里面加一个这个

<link rel="canonical" href="http://www.baidu.com/" />

过段时间收录后会变回来,效率比较慢。后来发现这个方法只能增加www.baidu.com的权重,达不到去除index.html的效果。

方法三、

默认的DEDECMS首页生成静态后,打开我们所用DEDECMS搭建的网站会在域名后面加上index.html路径,一来看的不是太美观,而来传言对SEM有所影响。
那就得想办法去掉,最简单的方法就是把DEDECMS根目录下的index.php内中的代码全部替换成如下:

<?php
/**
 * @version        $Id: index.php 1 9:23 2010-11-11 tianya $
 * @package        DedeCMS.Site
 * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.
 * @license        http://help.dedecms.com/usersguide/license.html
 * @link           http://www.dedecms.com
 */
 /*
if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
{
    header('Location:install/index.php');
    exit();
}
//自动生成HTML版
if(isset($_GET['upcache']) || !file_exists('index.html'))
{
    require_once (dirname(__FILE__) . "/include/common.inc.php");
    require_once DEDEINC."/arc.partview.class.php";
    $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__).'/index.html');
        include(dirname(__FILE__).'/index.html');
        exit();
    } else { 
        $pv->Display();
        exit();
    }
}
else
{
    header('HTTP/1.1 301 Moved Permanently');
    header('Location:index.html');
}
*/
/*替换为以下代码*/
if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
{
    header('Location:install/index.php');
    exit();
}
    require_once (dirname(__FILE__) . "/include/common.inc.php");
    require_once DEDEINC."/arc.partview.class.php";
    $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();
?>

猜你喜欢

转载自blog.csdn.net/qq_38985689/article/details/88391058