我如何使用WordPress—记博客成立一周年
一年前的今天,一位刚刚考完期末考的大一学生,坐在电脑前
他用lamp部署了wordpress——他人生中的第一个博客,并起名为Newlearnerの小站
一段缘分,从这里开始
Newlearnerの小站终于在今天(7.12)走过了它的一周年纪念日,从建站一路走来,有许许多多的事情想要和大家分享。在这里首先要感谢各位读者和tg群的群友对本博客的支持和鼓励。
我将和大家讲述博客一年来走过的路,以及我如何使用Wordpress这个Blog CMS平台探索未知、记录点滴。
建博客的初衷
18年上半年我感受到了贴吧的没落,自己辛苦整理的内容无人问津,复读机的生活索然无味。
mbp吧里的大佬瑞仙森
偶尔有一次和我谈到了当前的现状,并且劝我别当复读机了,不如找一些自己感兴趣的事情做做。
导火索:在mbp吧发了一个答疑帖,并分享了一个自己整理的mbp型号表格。结果遭到隔壁吧mb吧的吧务插手,说我是借鉴了他们的图片样式而没有标注。于是注明,然而还是遭到了不依不饶的举报最后被吧务删帖。
发展:不能自由地发表自己的看法是我无法忍受的,于是离开了贴吧。直到六月底我开始接触VPS,搭建了国际网络之后想要物尽其用。搜索了「VPS用途」之后,发现还可以搭建博客,当时就萌发了这个想法并在18年7月12日付诸了行动,于是就有了大家今天所见的Newlearnerの小站。
博客的logo和名称从建站开始就一直沿用了,核心主题叫做「探索未知,记录点滴」,主要分享IT相关文章。作为一个非计算机专业的学生,是兴趣使然让我对IT相关产生了兴趣,深感自己的浅薄,于是想要有一个记录自己学习&感悟的地方。
博客是自己的自留地,在这里可以畅所欲言,而无需担心会被删帖。也可以即时修改与更新博客的内容,使其与时俱进。
写出来的文章不算是教程,而是自己在摸索过程中的记录与分享。若干年之后回头看看,也算是成长的历程了。
时间轴
- 2018.7.12 中午:通过LAMP+Wordpress搭建了这个博客,主题用的是Ribbon Lite。按捺不住内心的喜悦,将自己的几篇贴吧文章搬运了过来。后来百度贴吧也没有让我失望,原文在贴吧几乎悉数尽失
- 2018.7.14:给网站手动添加了SSL证书,从此小站用上了绿标
- 2018.7.20:网站开始采用Google Analytics作为博客访问量统计
- 2018.9.16:增加「给我留言」页面
- 2018.11.12:博客从Vultr迁移到搬瓦工主机,升级了机器配置
- 2018.12:博客采用新主题Kratos
- 2018.12.29:增加「FriendsのLinks」页面,正式开始征集友链
- 2019.2.19:增加「博文归档」页面
- 2019.6:优化了博客CSS加载和首页图片大小
梦开始的样子:
现在:
博客统计
从
2018.7.12
–2019.7.12
,Newlearnerの小站一岁了。在这一年里,博客文章共有60
篇,码了117,044
字共有
73,000
位用户来访了小站,网站用访问量(PV)为145,000
,目前日均PU在650
左右其中访问量最多的文章为Telegram群组/频道/机器人推荐,贡献了
50,100
次访问量小站在Alexa的世界排名约为
240,000
名,国内排名约为50,000-100,000
名博主平均更博速度为
4
篇每月,目前友链数量为8
个,评论数目为104
条网站
风雨无阻地运行了363
天,其中2
天因为不可抗力关站维护
从上图可见网站在进入9102之后访问量大增,在6月初曾经关站两天,目前访问量依然在小幅增长中。小站的流量来源大多为谷歌搜索引擎,本人不喜欢硬广,有缘的人自然会相遇。相比1月初的2019,新的开始这篇博文的数据,小站的各项指标得到了长足的进步和增长。
今后也会认真更新博客,和各位大佬互相交换友链,即使个人博客不比昔日。希望等博客两周年时,又会看到不一样的Newlearnerの小站。
对主题的修改
之前的Ribbon Lite一度被朋友吐槽很复古,后来更换了Kratos之后我对主题做了部分修改。
-
统计网站运行时间
建站不久想给博客做一个运行时间统计,于是谷歌了相关办法,并决定把这个模块放到博客的侧栏。美中不足的是手机端不可以看到。
在侧栏中选择「自定义html」模块并添加,代码为:
<script> function secondToDate(second) { if (!second) { return 0; } var time = new Array(0, 0, 0, 0, 0); if (second >= 365 * 24 * 3600) { time[0] = parseInt(second / (365 * 24 * 3600)); second %= 365 * 24 * 3600; } if (second >= 24 * 3600) { time[1] = parseInt(second / (24 * 3600)); second %= 24 * 3600; } if (second >= 3600) { time[2] = parseInt(second / 3600); second %= 3600; } if (second >= 60) { time[3] = parseInt(second / 60); second %= 60; } if (second > 0) { time[4] = second; } return time; } </script> <script type="text/javascript" language="javascript"> function setTime() { // 博客创建时间秒数,时间格式中,月比较特殊,是从0开始的,所以想要显示5月,得写4才行,如下 var create_time = Math.round(new Date(Date.UTC(2018, 6, 12, 0, 0, 0)) .getTime() / 1000); // 当前时间秒数,增加时区的差异 var timestamp = Math.round((new Date().getTime() + 8 * 60 * 60 * 1000) / 1000); currentTime = secondToDate((timestamp - create_time)); currentTimeHtml = currentTime[0] + '年' + currentTime[1] + '天' + currentTime[2] + '时' + currentTime[3] + '分' + currentTime[4] + '秒'; document.getElementById("htmer_time").innerHTML = currentTimeHtml; } setInterval(setTime, 1000); </script> <strong>网站运行:<span id="htmer_time" style="color:grey;font-size: 12pt;"></span></strong>
-
统计博客访问量
博客的统计可以在Google Analytics后台看到详细的数据,但是我想在博客页面也显示出来。最后采用的方案适合大多人一样的,采用不蒜子统计。
官网:不蒜子-极简网页计数器
根据官网的方法,只需要在footer.php
里面增加两行代码就可以了。但是我的情况比较特殊,因为在我试用不蒜子统计的时候,网站已经有了一些流量,我想要做增量统计。所以最后在页脚的php页增加了如下代码:
<script src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> <span id="busuanzi_container_site_pv" style='display:none'>本站总访问量<span id="busuanzi_value_site_pv"></span>次</span> <script> $(document).ready(function() { var int = setInterval(fixCount, 50); // 50ms周期检测函数 var countOffset = 46081; // 46081为截止2019.3.14日访问本站的总page views数 function fixCount() { if (document.getElementById("busuanzi_container_site_pv").style.display != "none") { $("#busuanzi_value_site_pv").html(parseInt($("#busuanzi_value_site_pv").html()) + countOffset); clearInterval(int); } if ($("#busuanzi_container_site_pv").css("display") != "none") { $("#busuanzi_value_site_uv").html(parseInt($("#busuanzi_value_site_uv").html()) + countOffset); // 加上初始数据 clearInterval(int); // 停止检测 } } }); </script>
-
增加文章阅读时间和字数统计
Kratos默认在文章开头只显示日期、点赞、阅读数等,不符合我的需求。
效果图:
在function.php
中加入如下代码:
function count_words_read_time () { global $post; $text_num = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8'); $read_time = ceil($text_num/400); $output .= '本文共' . $text_num . '个字,预计阅读时间' . $read_time . '分钟。'; return $output; } function count_words () { global $post; $text_num = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8'); $output .= '本文共' . $text_num . '个字'; return $output; }
然后在文章首页single.php
合适位置添加如下代码:
<i class="fa fa-book"></i><?php echo count_words_read_time(); ?><br>
在content.php
加入如下代码,使其在首页也生效:
<a href="<?php the_permalink() ?>"><i class="fa fa-book"></i> <?php echo count_words(); ?></a>
-
增加文章最后修改时间
效果图:
这个主题依然没有提供文章最后修改时间,这可能会让几年后看到文章的人无法判断该文章的时效性,于是我经过谷歌,在single.php
加入如下代码:
<?php if ((get_the_modified_time('Y')*365+get_the_modified_time('z')) > (get_the_time('Y')*365+get_the_time('z'))) : ?> 最后修改:<?php the_modified_time('Y-m-j h:s'); ?><?php else : ?><?php endif; ?>
-
优化meta
原主题自带的meta头很糟糕,在tg中放出链接甚至不能显示文章简介,在这里要特别感谢青鸟大佬为我指出这个问题。后来我在header.php
中加入如下代码:
<?php // add meta keywords and description by conditionary //以下内容针对网站首页 if ( is_home() || is_front_page() ) { //判断是否为首页 $description = "Newlearner365的自留地,不定期更新一些关于IT的文章。探索未知,记录点滴!";//将双引号中的内容修改为你自己的 $keywords = "博客,Mac,iOS,VPS,IT,技术分享";//将双引号中的内容修改为你自己的 } elseif ( is_singular() && !is_attachment() ) { $exerpt = $post->post_excerpt; //2012.11.01 因 get_the_excerpt() 会在没有设定 excerpt 时自动生成一个 excerpt 而导致某些情况下出错。 if ( $exerpt != '') { //是否存在摘要 $description = $exerpt; //使用文章摘要作为描述 } else { $description = $post->post_content; //使用文章内容的前 200 个字符(后面会进行截短)作为描述 } $keywords =""; $tags = wp_get_post_tags( $post->ID, array( 'fields' => 'names' ) ); $keywords = implode(",", $tags); } elseif(is_category()) { $description = category_description(); // $keywords = ""; } elseif(is_tag()) { $description = tag_description(); // $keywords = ""; } if ( $description != '' ) { $description = preg_replace('#\[[^\]]+\]#', '', $description); // 清理 description 中的 HTML 代码,并截短为 200 个字符 $description = wp_html_excerpt( wp_strip_all_tags( $description, true ), 200 ); ?> <meta name="description" content="<?php echo $description; ?>" /> <?php } //类似 description 来处理 keywords if ( $keywords !='' ): ?> <meta name="keywords" content="<?php echo $keywords; ?>" /> <?php endif; ?>
-
彩蛋/Something else
1、给调试中的控制台(console)加入:“居然被你发现啦,既然这样来telegram一起吹水:https://t.me/NewlearnerGroup”文字
通过控制台在主题中找到相关文件并加入:
var copyright = function() { console.log("居然被你发现啦,既然这样来telegram一起吹水:https://t.me/NewlearnerGroup"); }
2、给网站源代码页加入了字符画
<!-- __ _ /\ \ \_____ _| | ___ __ _ _ __ _ __ ___ _ __ / \/ / _ \ \ /\ / / |/ _ \/ _` | '__| '_ \ / _ \ '__| / /\ / __/\ V V /| | __/ (_| | | | | | | __/ | \_\ \/ \___| \_/\_/ |_|\___|\__,_|_| |_| |_|\___|_| -->
3、加入了复制提醒
在header.php
加入如下代码:
<script type="text/javascript"> document.body.oncopy=function(){alert("复制成功!转载请注明出处");} </script>
-
一点遗憾
主题并不支持移动端搜索以及侧边栏显示,这令人很头疼
顶部的菜单导航栏排布太多在低分屏下会出现重叠情况,我只好加了一个「更多」菜单,并将多余的项目收入其中
插件
简单和大家分享下我正在用的插件,wp的一大好处就是主题和插件的支持很到位。
1、Autoptimize
可以优化图片、js、css的加载速度
2、Captcha by BestWebSoft
数字评论验证码插件,有效防范垃圾评论
3、Crayon Syntax Highlighter
代码高亮插件,不过早就对它不满意了。什么时候不咕了打算用prism.js替换之
4、Cresta Posts Box
免费版会在读者翻到文章结尾处时自动弹出上一篇的简介,实用的小插件
5、Google Analytics Dashboard for WP
谷歌分析插件,免去直接修改themes文件的麻烦,还可以直接在admin后台显示统计情况
6、Google XML Sitemaps
网站地图插件,会生成方便谷歌收录的网站地图
7、Permalink Manager Lite
自定义每篇文章的link
8、Sassy Social Share
博文分享栏,对国内社交软件支持有限
9、TablePress
表格插件,可以拿来制作友链等
10、Unique Cursor
更改网站鼠标样式
11、UpdraftPlus
网站备份及恢复
12、WP FancyZoom
支持博文图片以大图显示
13、WP Super Cache
动态页面缓存,有助于加快网页打开速度,支持cdn嵌套
14、先荐
在每篇博文底部以及侧边栏推荐相关类型博文
15、年度归档
归档页面所用插件,按年份月份归档
16、WP Word Count
统计博客字数
以后的发展
只要咱有钱续费服务器,Newlearnerの小站就会一直陪伴大家。第二年将会考虑增加一些硬件、Mac相关的话题和文章。
囿于年龄和学生身份等限制,有些领域我还无法去涉足。博客作为一个小型的自媒体,发表的观点也是很个人的,如有幼稚和片面的地方希望大家多多宽容!
虽然没有加入博客十年之约,但是还是希望能认真写好每一篇文章,探索未知,记录点滴。
特别感谢
1、我的读者们
很多人其实是在谷歌认识这个网站的,在网站建立前期我还去过贴吧和威锋做过硬广。谢谢你们的关注和留言。
2、舍友ss大佬
在网站建立前期给了我很多有用的指导,并帮助我迁移网站到搬瓦工。
3、不愿透露姓名的J大和朋友们
一年内给了我很多鼓励和支持,也帮我纠正了一些错误的地方。写博客始于热爱,贵于坚持。
最后给大家带来一个小抽奖,评论本篇博文即可参与,留下你的真实邮箱。在7.13日晚九点半会准时开奖。
奖品:2个奈飞4k独享账号1个月+2个spotify美区会员2个月