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

去掉index.php

在网站根目录下新建文件.htaccess
写入内容如下:

<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写入下面文件

<?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+)/(w+).html
新文章页:https://blog.bbskali.cn/${2}.html
对于规则,我也不是很确定这样写是否正确,如果你有好的建议可以下方留言哦。
修改好规则后,就是等待改版了

Last modification:May 14th, 2020 at 05:30 pm
正在沿街乞讨中……