此文是共有9部分的《重新设计StevePavlina.com网站》系列文章的第6部分。
博客文章主页
对于博客文章主页,与WordPress的默认效果相比,我想要更简洁和可视化的设计。我通常会为每篇文章写出合理清晰的标题,这样大多数情况下,人们只用看到标题,就能明白一篇文章的内容是什么。这种做法让额外显示文章片段毫无必要。我选择用美观的3×4方块布局,在每个页面列出12篇文章。在更小的阅读设备上,这些方块也能自动调整成不同的布局结构。
Beaver Builder内建的布局模块,会用砖块网格方式显示各篇文章。但因为各个区块有着不同大小,我并不喜欢那种砖块结构的不规则外观。我认为拥有更对称的布局看起来要更漂亮,所以添加了一些CSS编码来达到自己想要的结果。现有布局能让人更快扫描浏览所有文章标题。
博客存档
对于博客存档,我一直无法理解WordPress为何不默认提供得体的完整存档页面。我为此项功能尝试了一些不同插件,最后决定使用Simple Yearly Archive(简称SYA)插件。
SYA立刻做出了漂亮存档,但我发现与必要程度相比,即使自定义了SYA的设置,其默认布局在视觉上仍显得较为复杂。
于是我额外编写了一些CSS代码,移除了项目符号(毫无必要的杂乱元素),为日期采用等宽字体(Lato字体),以使日期和文章标题显得漂亮整齐,并调整了每行内容的格式。这些改动极大提升了页面的视觉简洁性。
由于我只在存档页面使用等宽Lato字体,于是另外编写了一些代码,只在存档页面载入这种字体,并未把它应用在整个网站上。
处理存档页面的同时,我也觉得应该清理一些旧博客文章。原来的存档文章里分散着许多早已过期的内容,比如工作坊注册提醒,还有一次性举办的免费在线活动介绍。由于我多年前链接的许多网站都已转移到其他地址,或不再存在,这些旧文里还有成百上千的失效链接。
为处理那些失效链接,我用了一款名为Broken Link Checker(失效链接检查器,简称BLC)的插件。运行这款插件花了很长时间,但它识别出我网站上的500多个失效链接。我逐个查看了那些链接,并对它们进行了修补或移除操作,这项工作又花了很多小时。它还是非常枯燥的工作,我调整好个人节奏,中间有过许多休息活动,以免自己在这项工作上干得发疯。BLC是要耗费大量计算资源的插件,我不想让它一直在我电脑上运行。但为找出并修补更多可能失效的链接,偶尔安装并运行这款插件也是挺好的做法(比如每年一次)。
最终我决定浏览查看网站上的每篇旧博客(大概有1300多篇),移除过时和无用的那些文章,修正与新设计理念观感不一致的文章格式,偶尔还会更新一些文章内容。最终我删除了大概130篇旧文,从而使存档内容更为整洁有用。这项清理工作花了一周多的时间,就像之前在《十一年的成长》一文里所分享的,这项工作对我而言也是次巨大的成长经历。
网站主页
网站主页其实是最难设计的页面。我并不确定该对它做些什么。
大多数长期读者并不会劳烦自己访问主页,因为他们来到我的网站就是为了看博客文章。而大多数来自搜索引擎或其他网站链接的首次访客,通常会直接进入某篇具体文章。所以主页并非这个网站最常见的访客着陆页面。
旧的主页就是一大篇文本内容,告诉人们这是什么网站,并提供了大量可供探索的内容链接。对于新主页,我想要一种更加简洁、更具可视化,并有更少杂乱元素的页面效果。
我一头扎入其中,创作出新主页的草稿,在其中添加我认为应当包括的内容。我的原始计划是另外创作一个“从此开始”的页面,以便能指引首次访问网站的读者。最终因为觉得并无必要,我放弃了这个“从此开始”页面。
我决定让主页的文字内容简洁明了 — 把它作为告诉众人这是个什么网站的快速介绍,就这样。不再给出一大篇文字内容。
接下来我决定把自己《聪明人的个人发展》一书中的7项个人成长原则添加到主页上。这些原则是我个人成长哲学的核心内容,即使自己没有明确提及,它们也在我的作品中反复出现。将它们放在主页上看起来非常合适,大家因此会知道这个网站要表达何种价值观。
我为每项原则都添加了图标,从而让整个页面更有视觉效果。这些图标都来自Beaver Builder里的Font Awesome作品集。Rachelle则为这部分设计选定了颜色。
我想让主页能邀请人们直接进入免费内容,所以也在页面上添加了近期发布的博客文章。
联系表格
我旧网站上的联系表格是许多年前自己编写的一大堆自定义PHP编码,它还包括我自创版的验证码,用于阻拦bots(能执行外部命令的自动运行型木马程序。译者注)发送的垃圾邮件。
针对新网站的联系表格,我查看了两款流行插件:Gravity Forms(引力表格)和Ninja Forms(忍者表格)。我对两款插件都做了彻底研究,显然它们都能很好满足我的需要。但自己还有一些能帮助过滤邮件的自定义代码,不管选用哪款插件,我都希望还能用上那些代码。于是我给两款软件的支持人员都发了电邮,询问对方如何能将这种额外的过滤手段嵌入他们的代码。Ninja Form的支持人员以友好态度更快回复了我的问题,并告知我如何实现自己想要的结果。Gravity Forms支持人员的回复稍慢,服务态度也更像在做生意,针对我问题的回答也没那么有用。我最终选择了Ninja Forms。良好的支持服务对我来说十分重要。
通过使用Ninja Forms的联系表格方案,我得以完全清除验证码,而且仍能避免受到bots程序的攻击,那些垃圾信息永远无法通过联系表格的过滤。若你访问我的联系表格页面,也许会注意到在首次载入页面时,“Send”(发送)按钮上面会出现10秒倒计时。一个真实的人肯定至少要花10秒,才能填写完毕自己的名字、电邮地址和想发送的信息,所以这步措施并不会拖慢一个人的实际行动。但bot程序会即刻填充那些空白区域并试图马上发送垃圾信息,这恰恰使它在倒计时器仍在计数时无法完成发送操作。挺妙的拦截设计,是不?
Ninja Forms还包含了一块人眼无法看出的空白区域,但bot程序会把它当成像其他空白区域一样,试图在其中粘贴内容。当它这样做时,便出卖了自己不是人类的真相,从而使垃圾信息被自动屏蔽。
我喜欢这些屏蔽bot程序的方法,因为它们不像验证码那样会给人们带来不便。自从我发布新网站以来,还没有收到一条bot程序发送的垃圾信息。若没有这类反bot的保护措施,我每天都能从联系表格收到各类垃圾邮件。
另外,我为Ninja Forms购买了一款附加插件,可以在表格底部插入一个注册邮件列表的检查框。这样人们可以在联系我时,轻松选择加入我的邮件列表。到目前为止,有一半使用联系表格的人士,也注册了我的邮件列表,所以自己很高兴添加了这项额外功能。
鉴于我可能收到的邮件总量,这些过滤做法依然不够。我还需要些额外的过滤措施,才能让收到的邮件数量维持在合理水平。许多与我处境相同的人士,会聘用助手预先处理那些邮件。但在我看来,在信息发出的地方完成筛选,从上游源头解决这个问题更合乎情理。编写一点代码就能解决此问题,我可以过滤所有收到的信息,只让自己喜欢接收的信息通过,阻拦剩余的那些。与其每天收到100条信息,90条都源自推销人士或垃圾信息,我更愿只接收剩下的10条信息,而且它们都来自真实的读者。
每天都有很多人试图发送我不愿接收的信息,比如新闻稿件、转发请求、产品评论请求、书籍发布通告、SEO服务,还有其他营销和生意需求。这些人其实并未看过我的网站,即使他们会宣称如此。有时那些邮件还把我的名字或网站地址弄错。他们会到处为了推销目的而向博客作者们发送垃圾信息,我的网站只是他们骚扰的众多对象之一。如果不将他们过滤掉,我每天都能收到几十条此类信息。
在旧网站上,我编写了自定义的PHP脚本,来将这些内容过滤出去。而在新网站上,我决定编写自己的WordPress插件,从而实现这项功能。这种做法维护起来也更轻松容易。
我以前从没编写过WordPress插件,于是对具体做法做了些调查研究,结果发现此事非常容易。我的原始过滤代码采用PHP语言,而WordPress插件也使用PHP程序语言,所以那些代码甚至根本不必进行翻译。用了一个下午的部分时间,我便让插件上线运行。编写自己的插件,并在激活后看到它出现在WordPress网站管理区域的插件清单上,是非常好玩有趣的事情。我在个人能力工具箱里又添加了一项新技能。
这个插件相当基本。它主要检查我不想接收的那些邮件里会频繁出现,但又极不可能被我网站的真实读者使用的关键词和短语。我添加这份关键词清单已有多年。无论何时收到不想要的邮件信息,我都会查看其中的文字内容,把更多关键词添加到这个过滤器里。现在我的过滤器包含数百个不同关键词。我估计这种做法过滤了至少90%通过联系表格发送的邮件。正常反馈信息仍能基本无碍地发送给我,但大多数我不想接收的信息都会被屏蔽过滤。大多数日子里,我只会收到一两封自己不想看到的邮件,但它们的出现只会帮我改进这个过滤系统。
此过滤系统只会对那些试图给我带来不便的人们造成不便。那些和真实的人类一样,给我发送信息的正常读者,甚至不会注意到这套过滤系统,我将毫无问题地收到他们的信息。
若你想看看在试图发送那类我并不想要的信息时会发生什么,请直接尝试发送一条包含“infographic”(只有想让我发布无聊infographics信息图像的垃圾信息营销者们才会使用这个词)的信息。当你尝试发送这种信息时,网站会显示回复页面,告知你我不愿接收此类邮件。我也永远不会见到这条信息,网站会在发送之前就将它屏蔽。这种过滤做法已经管用了许多年。
有段时间我在想是否应当改进这款插件,把它公开发布,这样其他人也能使用。但我最后放弃了这个想法,自己手头要做的事情已经足够多,确实不想再给个人生活增加插件技术支持的工作。我还担心若有更多人使用,会导致自己跟营销者与垃圾信息发送者的军备竞赛,就像我们常在试图过滤普通垃圾邮件时看到的,那些人会试图打败我的过滤系统。它也不是大多数人都需要使用的插件。反正编码这种插件也没那么困难。
通过这些后端改进,我得以简化联系表格页面的设计。以前我会在表格之前列出各种可做与不可做的事项,请大家不要向我发送新闻稿件、产品测评请求等信息。但可想而知,人们会忽视这种请求,依然给我发送各种垃圾信息。现在,对那些只想给我发来一条信息的读者而言,联系表格页面上已不再有任何杂乱内容,大部分营销者和垃圾信息发送者都会被我礼貌拒绝。
网络骚扰者
我偶尔必须应对处理各种网络骚扰。这也是拥有一个流行博客网站的自然结果。我知道其他人遇过比我更糟的情形,尤其是那些在Gamergate(“玩家们”)事件中被列为攻击目标的女性。也就是说,我肯定不愿定期收到陌生人的信息,只因写过对方讨厌的文字内容,他们便宣称想拿斧子来砍我。
我见过人们用各种方式应对网络骚扰问题。一些人寻求执法机关的帮助。一些人直接正面反击那些骚扰者。一些人确实脸皮够厚,干脆对它置之不理。一些人放弃了所有博客或社交媒体,以便无需再应对这种问题。
由于我在社交媒体上不再积极活跃,自己碰到的主要骚扰形式,就是有些精神不稳定的人士,试图向我发送大量疯狂或威胁性的信息内容。这种事很少见,但它也会不时发生。
就像我处理其他垃圾邮件的做法一样,自己也选择了技术解决方案。我通过在插件里添加一些代码,来防备各种网络骚扰。这些代码能帮助识别和屏蔽向我发送攻击信息的网络骚扰者。他们试图发送的信息越多,就越难绕过这些屏蔽措施。这套系统的设计也会迷惑那些骚扰者,他们没法看出我是否已收到骚扰信息。骚扰者们经常有着强烈欲望,需要知道他们发送的信息被人看过。即使骚扰者成功发来一条信息,我也只是用它改进自己的过滤代码。骚扰者们最终会放弃行动,或继续发送我永远看不到的那些信息。这种解决方式在实际生活中非常管用,它看起来也比寻求执法机关的协助更有效果。
我知道,若有人被网络骚扰者威胁,他们会愿意收到威胁信息,以便在必要时预先警示迫近的危险,或把威胁信息转交给执法机关。我的态度则是根本不愿收到这些疯狂言语。我不需要各种分心事物或败坏心情的内容。我遇到的那些骚扰者,都是从未见过我或跟我说过话的人们,所以我并不相信自己有迫近的人身危险。假如情况出现变化,或骚扰者是我亲自认识的某人,我则很可能将骚扰信息转交给执法机关。但总体而言,我更愿弱化事态,而非激化事态。
新的网站区块
清理完博客存档后,我想做的最后一件事,就是添加一些有时效性,但日后会过时的通知文章。我想找到一种方式,让博客区块更加干净整洁,只专注存留不受时间影响的内容。
我和读者们探讨了这个问题,并得知他们仍想收到免费网上活动和其他有时效性的提醒通知。但大家也同意,如果这类信息不会增加博客存档的杂乱感受,会是更好结果。
在本地的一次WordPress见面会上,我了解到自定义文章类型的做法。我意识到,若能为有时效性的新闻和更新信息,创建一个自定义文章类型,自己便可将此类文章保存在单独的网站区块里。而且这类信息也能有属于自己的存档页面,不会使博客存档显得杂乱。它就像在同一个网站上拥有两个博客:一个用于不受时间影响的博客文章,一个用于时效性的新闻和更新信息。这看起来是个极佳解决方案。
所以我编写出另一款插件,添加了一个名为“News”(新闻)的自定义文章类型,并在网站上添加了显示这些文章的“News”区块。由于新闻类文章一般比我的博客文章短很多,我将“News”网页上第一个页面的所有文章都全文显示,这样大家不必点击文章才能完整阅读。
我喜欢单独的“News”区块,因为自己不必费功夫编辑一篇完整的博客文章,就能发布更短的更新信息,比如去发布激励人心的视频,网站添加的新功能,即将举办活动的提醒等。
来自“News”(新闻)区块和“Blog”(博客)区块的文章都包含在RSS订阅里,RSS订阅者将自动收到两个区块的更新内容。如果读者只想接受其中一个区块的内容,也毫无问题。大家可以基于个人偏好使用不同的订阅源。
News和Blog订阅源:http://www.stevepavlina.com/feed/
只含News的订阅源:http://www.stevepavlina.com/news/feed/
只含Blog的订阅源:http://www.stevepavlina.com/feed/?post_type=post
媒体管理器
当我在2004年开始写博客时,还没有WordPress Media Manager(WordPress媒体管理器),因此我网站上的大部分图片都没有放在媒体管理器中。它们都保存在单独的图片目录里。重新设计网站期间,我把所有图片都转移到媒体管理器,并更新了所有旧的图片链接。幸运的是,我的网站并未使用大量图片,所以这项工作并不困难。
Beaver Builder更新消息
我刚得知Beaver Builder已被用在10多万个网站上,而它只有两年的创办历史。这款出色主题和插件的开发者们,已经实现了第一个百万美元销售额。我预想他们的第二个百万美元将来得更快。看到他们的生意如此兴隆简直太棒了。
顺便说一下,若你在阅读整个博客系列,请自由地向我发送反馈信息。你到目前对它有何想法?你还想让我在其中包括什么内容?