今天在群里聊到了永久链接的问题,正好我准备把我的网站链接结构修改一下,变的更加简洁一点。

我在某度上搜索了很久,只找到了一篇文章是关于固定链接修改并且不影响SEO的,只是这篇文章的是2011年发布的,对现在的typecho貌似不起作用。

https://www.ikk.me/archives/default/seo_before_typecho_change_permalink.html

本来我是打算将链接修改成https://url.com/{category}/{cid}.html的,参考上面的这篇文章从数据库提取分类的司slug然后做301跳转,但是最后并没有这样做,在萧瑟大哥的建议下改成了https://url.com/{cid}.html

这样做的好处就是修改很方便,不需要走数据库,并且使得网站更加的简洁,只需要在404页面做修改就可以了。

链接结构

之前的链接结构https://url.com/posts/{cid}.html

1
https://eas1.cn/posts/71.html

修改后的链接结构https://url.com/{cid}.html

1
https://eas1.cn/71.html

修改方式

这个方法理论上对所有的typecho主题都适用,但是还要根据自己的链接结构做适当的修改。

我是参考萧瑟大哥的文章然后根据自己链接结构做的修改:

https://qsh5.cn/304.html

打开主题的404.php文件,在合适的位置添加以下代码,然后根据自己的需求修改第3行和第5行

1
2
3
4
5
6
7
8
9
<?php
$error_url = '//'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$id = strstr($error_url, 'posts'); //截取以posts开始的字符串
if($id != "" ||$id != null){//判断是否不等于空或者null
$nameid = substr($id,5);// 截取posts之后的字符串
header('HTTP/1.1 301 Moved Permanently'); //添加301状态码
header("location://".$_SERVER['HTTP_HOST'].$nameid);//跳转页面
}
?>

如果你的链接是这个样子:

1
https://eas1.cn/index.php/posts/71.html

建议你先在后台设置伪静态,然后将第三行的posts修改为index.php/posts,然后第五行的数字5修改为15,这个其实就是index.php/posts的长度。

如果你的链接不带后面的.html,比如:

1
https://eas1.cn/index.php/archives/33/

可以参考zeruns的这篇文章:
https://blog.zeruns.tech/archives/454.html

如果你是其他的链接结构,那就要根据自己的情况修改喽!不过还是建议先在本地测试一下代码,以免出现不可挽回的损失。

百度网站改版

打开:https://ziyuan.baidu.com/rewrite/

然后添加改版规则,等待规则生效即可。

如果不知道如何填写正则规则,可以参考:

https://ziyuan.baidu.com/college/courseinfo?id=267&page=5#h2_article_title22

最近也有朋友问我有没有啥免费好用的图床的问题,正好最近有用到Github做wiki站点的图床,那么就和大家聊一下吧,关于图床的问题。

先科普两句

什么是Github?

用过的人自然知道他是干啥的,没用过的可能听说过它的大名,全球最大的同性交友平台嘛!

哈哈,其实github是基于git的面向开源和私有代码的托管平台,全世界的程序员都聚集在这里,为世界的IT发展做贡献。

为什么要使用图床?

可能新建站的朋友不知道啥是图床,也不知道为啥要使用图床。

其实嘛,图床图床,顾名思义就是图的床嘛,也就是使用一个平台来托管我们博客上的图片,用户在访问网站的时候,图片并不是从我们的服务器展现给用户的,而是通过图床的外链,以此来减轻服务器的负担。

直观一点说,假如我们的服务器出口带宽是1m,除8就是我们从服务器上下载的速度上限。大胆点就按200k/s来算,假如我们的网页大小是50k,图片的大小是550k。当我们打开网页的时候,网页在1秒内加载完毕,剩余的带宽是150k,而图片则另外需要3秒的时间才可以加载完成,本来一秒就可以完成的事情,我们却用了3秒,当然,这只是一张图片。假如有10张的图片呢?那么时间就更长了。如果是100张呢?

一般来说,图床提供的带宽都足够的大,可以在很短的时间内加载大量的图片,在为服务器减轻负担的同时给用户带来更好的体验。

免费的图床解决方案

第三方免费图床

比如路过图床,imgurl,sm.ms之类的免费图床,图片的管理权不在我们的手中,而且我们也不能保证这个服务可以持续多久。

Github图床+Jsdelivr的CDN分发加速

Github是版本控制工具,免费为个人用户提供服务,当然也有面向团队的付费服务。免费的账号每个仓库有1G 的容量,可以放一部分我们的图片,当然这个1G容量用完还可以在新建一个仓库。这里我还是要说一句:请善待github!

熟悉github的朋友都知道,github的网站在国内慢的一批,有些朋友的移动宽带甚至直接打不开,所以就有了一个公共的CDN加速服务:jsdelivr,它提供了npm,github以及WordPress的静态资源加速服务,当然是免费的。

因为是免费加速,为广大的开发者服务,自然它也有很多的赞助商为它提供稳定的服务来给用户带来更好的服务(禁止套娃)。

关于这个方法的使用方式,我友链的博主已经提供了详细的使用方法,这里我就不再写教程了。

https://www.itrhx.com/2019/02/10/A18-free-cdn/

https://www.itrhx.com/2019/08/01/A27-image-hosting/

https://www.jsdelivr.com/

付费图床解决方案

说起付费,其实我的图床现在也基本不花钱,加入了又拍云联盟每个月有免费的15G流量和10G云存储,也足够使用了,说起来付费,也就是以后流量大了肯定会必不可少的付费。

自建图床

目前自建图床我用的程序是lsky pro,一款很优秀的免费图床程序,不过自从用了picgo之后,我就很少用我建的那个图床了。关于picgo,可以参考我的一篇文章,里面介绍了我的写作方式:

[post cid=”103”]

建议

如果考虑持久性和速度的话,自建图床无非是最好的方式,毕竟现在的云存储也不算贵,我用的又拍融合云,为我的网站带来了稳定又安全的体验,其实我也写过一篇文章介绍我的思路,这里就直接放链接吧,抠门也是一种态度,哈哈!

[post cid=”127”]

我的博客用的是云存储,最近新建的wiki站点,则完全是使用github和jsdelivr作为托管了。对了,今天有个好消息,我的备案成功了,我可以给wiki站点加上cdn了。

在默认情况下,typecho的访问用户注册之后的默认用户组是关注者(subscriber),我们需要给用户提供投稿功能,那么就需要修改默认的权限组为贡献者(contributor)。

修改方式

找到网站的根目录,然后打开/var/Widget/文件夹下的Register.php文件,大概在60到70行有以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$dataStruct = array(
'name' => $this->request->name,
'mail' => $this->request->mail,
'screenName'=> $this->request->name,
'password' => $hasher->HashPassword($generatedPassword),
'created' => $this->options->time,
'group' => 'contributor'
); $dataStruct = array(
'name' => $this->request->name,
'mail' => $this->request->mail,
'screenName'=> $this->request->name,
'password' => $hasher->HashPassword($generatedPassword),
'created' => $this->options->time,
'group' => 'subscriber' //修改此处
);

group后面的内容subscriber修改为想要的默认权限组,然后保存即可。权限级别参考以下权限列表,也可参考官方文档

权限列表

一直很喜欢ONEREC网站的烟花点击效果,单击可以显示烟花,左键长按再松开可以爆出更大的烟花,而且不需要再设置z-index,对handsome主题有了很好的兼容行,同时作者本人也给出了源代码。

介绍

名称:网站烟花点击效果
作者:ukuq(ONESRC)
博客:https://www.onesrc.cn/
原文:https://www.onesrc.cn/p/add-a-fireworks-click-effect-to-your-website.html

使用

我将源代码放入了github,同时采用了jsdeliver的方式进行加速访问,只要在页脚</body>标签之前添加以下代码即可

1
<script src="//cdn.jsdelivr.net/gh/kaygb/JS-effects/fireworks.js"></script>

预览

有很多的站点都支持点击外链然后弹出一个确认窗口再进行跳转,我感觉很炫酷,同时这也有益于进行SEO,然后我最近就发现了一个typecho的插件支持这个功能,而且是开源免费,大家可以尝试使用一下。名字叫做ShortLinks,支持正文和评论者链接外链转内链。

功能

  1. 把外部链接转换为your_blog_path/go/key/,撰写链接页面支持修改
  2. 通过菜单“创建->短链接”设置;
  3. 自定义短链功能来自golinks
  4. 支持 referer 白名单和外链转换白名单;
  5. 支持跳转页面,可以自行制作模板放到templates目录下,插件设置里可选择,目前自带5个模板;
  6. 支持自定义字段转换(实验性功能);
  7. 支持关闭指定页面的链接转换功能。添加自定义字段noshort即可;

下载

可以直接从GitHub下载,我直接clone的仓库,大家可以下载最新的稳定版。

https://github.com/benzBrake/ShortLinks

安装

这一步很简单,解压后上传到插件根目录,然后在后台启用,如果你用的是esc或者vps且装了git的话,可以直接再插件目录clone这个仓库即可。

有一点很重要,就是启用之后一定要进行配置点击一下保存再使用。

配置

支持很多功能

内置了几个跳转的模板,可以都尝试一下选择自己喜欢的那个

同时也支持referer配置

在这里可以配置短链接

短链接支持自定义后缀名称,KEY可以自定义,这个功能来自于golink插件,还可以记录访问的次数

跳转演示

关于SEO这点,网站内部有大量的外链会影响网站的权重,不利于SEO。

什么是“nofollow”?

​ “nofollow” 标签是Google、Yahoo和微软公司前几年一起提出的一个标签,链接加上这个标签后就不会被计算权值,搜索引擎支持nofollow属性,在很大程度上抑制博客或论坛的垃圾留言。对站长来说是一件大好事。

​ nofollow是HTML元标签(meta)的content属性和链接标签(a)的rel属性的一个值,告诉机器(爬虫)无需追踪目标页,为了对抗blogspam(博客垃圾留言信息),Google推荐使用nofollow,告诉搜索引擎爬虫无需抓取目标页,同时告诉搜索引擎无需将的当前页的Pagerank传递到目标页。但是如果你是通过sitemap直接提交该页面,爬虫还是会爬取,这里的nofollow只是当前页对目标页的一种态度,并不代表其他页对目标页的态度。

什么是“_blank”?

​ 为文章内的a标签添加target=“_blank”属性时,用户点击链接就会在浏览器的新一个窗口打开,这样可以防止浏览的流失,延长用户访问时间。

步骤

打开typecho根目录下 var/HyperDown.php 文件,找到大概第386行,如以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
// link
$text = preg_replace_callback(
"/\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]\(((?:[^\)]|\\\\\)|\\\\\()+?)\)/",
function ($matches) use ($self) {
$escaped = $self->parseInline(
$self->escapeBracket($matches[1]), '', false, false
);
$url = $self->escapeBracket($matches[2]);
$url = $self->cleanUrl($url);
return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");
},
$text
);

将代码中的:

1
return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");

注释掉,然后在下方添加以下代码:

1
2
3
4
5
if (strstr($url,'//siteurl.com') == false ) {    //url后的内容替换为自己的域名
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>");
} else {
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\">{$escaped}</a>");
}

修改之后的成品:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// link
$text = preg_replace_callback(
"/\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]\(((?:[^\)]|\\\\\)|\\\\\()+?)\)/",
function ($matches) use ($self) {
$escaped = $self->parseInline(
$self->escapeBracket($matches[1]), '', false, false
);
$url = $self->escapeBracket($matches[2]);
$url = $self->cleanUrl($url);
// return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");
if (strstr($url,'//kaygb.top') == false ) {
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>");
} else {
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\">{$escaped}</a>");
}
},
$text
);

然后可以新建文章测试一下。

本文将教大家如何更换免费的测试域名为自己的域名,如果您没有自己的主机推荐使用HoRain免费主机,无需备案,注册填写邀请码QGIav5可额外获得20元。

如果您不知道如何搭建个人博客,可以参考以下教程!

[post cid=”94”]

注册域名

可以去阿里云或者各大云服务商注册自己喜欢的域名,由于我们采用的是大陆以外的空间,所以域名并不需要备案。这里推荐阿里云

点此领取阿里云优惠券

打开https://wanwang.aliyun.com/domain,输入想要注册的域名,然后查询,购买。之后要在控制台实名一下。

域名注册.png

域名解析

首先打开HoRain主机控制台,在基本功能域名绑定内可以看到需要绑定的记录。

绑定域名1.png

然后打开域名控制台,点击域名解析

解析.png

添加Cname记录

如果你需要绑定二级域名,那么

记录类型 主机记录 记录值(以控制台为准)
根域名 CNAME @ xxxx.horainwebs.top
二级域名 CNAME blog(自定义) xxxx.horainwebs.top

CNAME解析.png

这里我解析的二级域名为:ty.kaygb.top(解析需要几分钟生效)

绑定域名

解析完成之后,在HoRain控制台的域名绑定处填入自己的域名,如果有多个目录还可以绑定多个域名。

绑定域名2.png

然后访问刚刚绑定的域名

访问测试.png

如果可以访问,那么就搞定,此时还需要在typecho后台修改网站的地址

修改网站地址

修改站点地址.png

修改之后

修改站点地址1.png

到这里就绑定成功了

介绍

typecho是什么?typecho是一款轻量级的个人博客程序,仅仅 7 张数据表,加上不足 400KB 的代码,就实现了完整的插件与模板机制。超低的 CPU 和内存使用率,足以发挥主机的最高性能。它对markdown有着良好的支持,非常适合搭建个人网站。

安装要求

  • 一款主机或者云服务器
  • typecho安装包
  • 一颗爱折腾的心

搭建步骤

注册一个免费主机

[scode type=”green”]本站推荐使用HoRain免费主机服务,注册 HoRain账户 并填写邀请码【yGfB73】,并加QQ截图给我【QQ:1328804036,备注领取主机】,免费赠送一年价值69.9元的新加坡普惠主机,快捷注册地址:https://webs.horain.net/user/register.html?id=yGfB73[/scode]

[button color=”success”] 点击此处免费注册[/button]

选择香港免费主机点击购买

购买免费主机.png

购买之后在控制中心可以看到主机的信息

主机信息.png

点击主机管理通过给出的主机管理账号和密码登入主机管理面板,也可直接通过ftp进行链接。登录成功之后打开文件管理下的在线文件管理,然后删除所有的文件。

在线文件管理.png

安装typecho

打开typecho官网获取typecho程序

http://typecho.org/downloads/1.1-17.10.30-release.tar.gz

下载之后将程序上传至网站目录

上传typecho.png

解压程序

解压.png

将解压完成的build文件夹重命名为typecho或者blog

重命名.png

然后在基本功能》运行目录这里设置typecho目录为运行目录。

修改运行目录.png

然后就可以访问`http://测试域名/进行安装了,如果你想绑定自己的域名,请参考以下文章。

绑定个人域名

参考以下文章

[post cid=”95”]

配置typecho

一路下一步,配置数据库,数据库的地址以及账号密码在主机信息内都已经给出。

配置数据库.png

提示安装成功,就大功告成啦!

可以访问查看一下。

typecho前台.png

配置伪静态

安装好之后你会发现地址栏有index.php,即影响观感也不利于SEO,在基本功能》伪静态规则里选择typecho,不要选择typecho2

伪静态.png

然后在typecho后台的永久链接设置里按照以下方法设置

永久链接设置.png

如果您觉得typecho自带的后台不顺手,可以尝试本站代售的APEX后台
[post cid=”71”]

差不多就完成啦!