Typecho去掉index并实现网站改版

2021-12-18 14:07:07 浏览数 (1)

typecho的seo优化,相对来说还是很不错的。但是我们的搜索引擎最喜欢爬取静态的页面,如hello.html而对于动态的页面效果肯定没有静态的好。typecho默认的网址路劲为https://xxx.com/index.php/archives/{cid}/本文教你怎样优化网址链接。

去掉index.php

在网站根目录下新建文件.htaccess

写入内容如下:

代码语言:javascript复制
<IfModule mod_rewrite.c>
Options  FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

保存后,登录网站后台,永久链接设置

启用地址从写功能,并自定义网站网址路劲/{cid}.html

解决404问题

如果你的网站是新站,或者百度收录比较少的话,这样就可以了。但是笔者的网站上线时间比较长,百度收录的也比较多。那么问题来了,百度收录的地址是https://blog.bbskali.cn/index.php/archives/22/而我现在的新地址是https://blog.bbskali.cn/22.html如果从百度访问站点直接404

解决方案:

在博客主题404写入下面文件

代码语言:javascript复制
<?php
$error_url = '//'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$id = strstr($error_url, 'index.php/archives');    //截取以posts开始的字符串
if($id != "" ||$id != null){//判断是否不等于空或者null
    $str = substr($id,18);
    $id2 = substr($str,-1);
    if($id2 != '/'){
      header('HTTP/1.1 301 Moved Permanently'); //添加301状态码
      header("location://".$_SERVER['HTTP_HOST'].$str.".html");
    } 
    elseif($id2 == '/'){
     $nameid = substr($str,0,-1);
      header('HTTP/1.1 301 Moved Permanently'); //添加301状态码
      header("location://".$_SERVER['HTTP_HOST'].$nameid.".html");
    }
}
?>

这样便可以解决从百度搜索引擎访问404问题。但是靠301跳转并不是长久之计,还得要从搜索引擎入手。

网站改版

登录百度站长平台-网站改版-添加改版规则

这里的网站改版规则很重要,填写规则让百度知道你的新网址和旧网址直接的规则关系。

利用sitemap(推荐小白使用)

利用sitemap我们获取全站的url然后新站和旧站的数据进行对比。

注意:中间用空格隔开,然后提交给百度。

自定义规则

首先来参考下百度给出的规则

旧文章页:https://blog.bbskali.cn/index.php/(/(w ).html

新文章页:https://blog.bbskali.cn/${2}.html

对于规则,我也不是很确定这样写是否正确,如果你有好的建议可以下方留言哦。

修改好规则后,就是等待改版了

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1921366

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

0 人点赞