WordPress 是鹰眼观察新网站的基础架构,后台的操控与设定难度远大于 Google Blogger,不过外挂(Plugins[1],又称插件)与布景主题(Themes[2])的丰富度也是远远胜过,虽说笔者对于如此庞大的外挂数量是否必要还是存疑的。

如果你要的是一个安全、稳定、简单、易用,而且还可以进阶设计与控制,我个人依然大推 Blogger 的 BPS 网志系统。就算鹰眼观察网已经搬家,我们还是会把 Blogger 当成备份站使用。

这几天在不断反复的使用 WordPress,以及不断不断又不断的重新安装 WordPress[3] 之后,我将自己的心得与经验用列表记录如下,作为自己的工作日志:

**

工字号提醒:本文可能包含程序、指令及核心的修改,请确定知道自己正在做什么再动手;尽可能在修改前备份相关文件与数据库,并且在修改后立即查看网站是否有不良反应。

不使用 SEO 相关外挂程序?

这段辛酸的时间,我分别用过 WordPress Seo by Yoast 以及 All in One Seo 这两套 WordPress 界中最知名的 SEO 软件,它们两位甚至连 Plugins 的 Popular 都分别立足在前五名中,其受欢迎与厮杀的程度可见一班,说明大家对网站的 SEO 都有高度需求。

不过网络上有一份实验报告,指出这两套软件占用服务器内存将近 0.7 MB “at least in Controlled Environment”,在有限的服务器资源中,也可称得上是蚂蚁雄兵,因此是否要安装上述两套外挂需要你自行判断。

有关 SEO 的需求,我认为没有比网站对于读者的友好度更重要。况且这些 SEO 软件能做到的事情,我们都能透过简单的网页修改办到(Blogger 可以提供你很好的训练),也有许多精实的 Plugin 能针对额外需求提供服务,像是 Google XML Sitemaps。

如果是一般网页分析的需求,建议直接在 Theme 的 Header 范本档中内建 Google Analytics 程序追踪码。

而不管是 Sitemap 或是 Analytics,其实都是我们一般关注 SEO 软件的主要功能。当然了,选一套设计良好的背景主题,内建的 SEO 服务对于用户来说也很有使用价值。

从 Blogger 转移至 WordPress

我在转移文章的过程没有使用 Blogger Plugin,因为网站对网站**的转移过程相当不稳定,这有可能是服务器的问题(后来发现并不是 Bluehost 的错,因为大多数服务器都有相同问题)。

所以我的作法是先将 Blogger 完整汇出一个文件(后台 > 设定 > 其他),接著在 WordPress.com 上建立一个全新的私人网站,再将刚刚的 XML 文件汇入(后台 > 工具 > 汇入 > Blogger > Have a Blogger export file?),再用 WordPress 格式汇出(Tools > Export)新的 XML 备份文件。

最后才是回到自己新架设的 WordPress 网站后台,汇入刚刚从 WordPress 产出的备份文件(需要安装 WordPress Importer Plugin)。

**

提示:如果汇入的过程中断,可以试著反复汇入同一个文件;不过原因大多出在 XML 文件过大,超出服务器允许的单次上传容量,可以请教管理员修改 php.ini 内的设定,调大上传文件容量允许上限。

安全防护(Security and Safety)

有关 WordPress 的系统安全与管理,前面提到 Blogger 有 Google 这位老大哥在帮忙做资安把关,因此你的密码只要不外泄,基本上很难被攻克(不过有转攻击 Godaddy 的可能[4])。

WordPress 却是一切只能靠自己,我分别使用过网络上两套知名的安全性软件 Better WP Security 与 Wordfence Security,最后选择的是 Better WP Security,至于原因嘛… 纯粹是推荐人数 2000 比 1000。

但是严格来说 Wordfence 比较炫,像我另外架设的实验网站就是采用 Wordfence,对原始文件是否遭到窜改的监控与比对**有很大帮助,而且能看到各个参观者的资料也挺有趣的(相对的代表耗资源)。

另外,无论你选用哪一套 Plugins,请务必进入文件目录中查看各个关键文件的读取 Read /写入 Write /执行 Execute 权限。尤其是**.htaccess**、wp-config.php 以及 php.ini这三个主要系统文件,最好分别设为 604、600、600。关于这部分说明,在 Codex 上有一份更改文件权限的说明文件[5],有中文版本可以自行参考。

**

相关议题可参考我们在2018年新文章介绍:修复 WordPress 连线失败 HTTP 500 Internal Server Error 的 8 种维修方案。

效能与速度(Performance and Speed)

网络上主推的 Plugin 包括WP Super Cache(WPSC) 与 W3 Total Cache(W3TC),我个人选用 W3TC。不过我也未曾试过 WPSC,因为不管是网络文章的分析,或是推荐人数的差距,都没有让我尝试的动力。

如果可以,我大力推荐 W3TC 开启 CloudFlare CDN 模式,即使是 Free 版本,网站也会像用飞的一样。

数据库备份与复原

关于备份与复原的 Plugin,几套推荐人数比较多的像是 BackUpWordPress、UpdraftPlus - WordPress Backup and Restoration、BackWPup Free - WordPress Backup Plugin、WP-DB-Backup,我在先前的测试网站中都曾经安装过,功能大多大同小异,也是导致每一套都用过的主因,不过我最后的决定是全部都不采用。

不是说备份不重要,而是我希望透过手动的方式达到相同的目的(一切是资源导向)。Codex 有提供一份关于系统备份的说明文件,有需要的人可以自行参考[6]。

关于网站文件的备份**,我们只要透过 cPanel 将整个 WordPress 资料夹压缩为一个文件,再全部下载到电脑中即可。

至于数据库的备份则是恰巧在 Better WP Security 中有提供这项功能(Backup WordPress Database),甚至有自动备份的排程服务(Scheduled Backups),大大省去我们用 phpmyAdmin 进入数据库备份的麻烦。

智慧型装置布景主题

JetPack 的官方 Plugins 其实就有提供手机专用的布景主题与模板设计,只是外观不甚好看。

颇受欢迎的 WPTouch则是与 W3 Total Cache 兼容性不足(主要问题出在 Minify 的设定会破坏 CSS/JavaScript),最终也只能舍弃不用。

我的作法是在选用布景主题(Themes)时直接挑选已经有响应式设计或称自适应网页设计(RWD, Responsive Web Design)的主题,如此一来便能省去安装对应手机与平板电脑的主题外挂的麻烦(但是 Minify 的问题还是容易出现)。

搬移 WP-Content/UPLoads 资料夹

UPLoads 是 WordPress 默认的上传资料夹,都是小写(实因个人文字癖,不首字大写会坐立难安啊啊啊),默认位置在 WordPress 主目录下的 WP-Content 目录中(还是小写)。

**

提示:我会一再提到大小写,是因为这真的很重要。切记在 Unix-Likes 架构下的 Linux 服务器,大小写指的是完全不一样的东西。

对多数用户来说,默认位置其实就是最方便的位置,不需要更动,也是最安全保守的方法,因此近来的 WordPress 才将这个原本开放用户自行设定的选项给取消。

除非你有架构图床**的计划!所谓图床一般是指专门存放多媒体资源(尤其是指照片、图档)的位置,可以是同服务器下的固定资料夹,或是另外建构一个新的图床专用服务器(例如:Amazon S3)。

图床的目的不外乎是方便管理以及降低主服务器的资源耗损。或是像我,只是为了方便重灌 WordPress(近来 Microsoft Windows 8.x 相当稳定,少了重灌的乐趣,所以转移目标… 是有多爱重灌啊!?)。

一般更改默认的上传路径 UPLoads 的方法,是在 WordPress 目录下的 WP-Config.php 文件中,新增如下指令码:

define( ‘UPLOADS’, ‘wp-content/’.’Vedfolnir’ );

其中 ‘wp-content/’ 指的是在 WordPress 根目录(Root)下的 WP-Content 目录,而 Vedfolnir 就是我们新建的上传目录。另外,如果想在根目录创建一个新的上传目录,指令码可省略为:

define( ‘UPLOADS’, ‘Vedfolnir’ );

然而,如果想用 URL/URI(Uniform Resource Identifier)的网址指向图床,这并不是一件容易的事情。即便 WordPress 允许,基于文件管理安全性的考量,正常的服务器也不会允许外人(WordPress)随便存放文件到子网域或是 WordPress 自己根目录的上层目录中。

这让我想起一句台词,如果非要为这份爱定一个期限,我希望是一万年(泪)… 呃,我是说这题还是有解决方案。

有站长是自行建构图床后,用 FTP 上传的方式将文章要用的图档先传入图床,再到文章中插入图片(Windows Live Writer 更方便,直接提供文章图片可另外上传到 FTP 的功能)。

另外一种解决方案则需要更动数据库(Database > wp_options > upload_url_path),目前我没打算做这么大的工程,所以还是乖乖的在 WordPress 根目录下建立方便管理的资料夹就好。以后有需要用到图床时,只要进数据库一次取代字串即可[7]。

搬移 WP-Content 上传资料夹

进一步来说,不管是为了方便管理、方便备份,或是为了增加骇客的一丁点麻烦,如果你打算将整个 WP-Content 目录完全移动到其他位置存放,方法更简单(Better WP Security 仅提供修改目录名称的功能)。

我们只要先用 FTP 软件/网页,将整个 WP-Content 目录移动到隐藏位置后,在 WordPress 目录下的 WP-Config.php 文件中,新增包含有 ‘WP_CONTENT_DIR’ 变数,如下列所列的指令码即可:

define( ‘WP_CONTENT_DIR’, $_SERVER[‘DOCUMENT_ROOT’] . ‘/content/wp-content’ );

或者,使用绝对路径的对应变数 ‘WP_CONTENT_URL’,完整指令码如下:

define( ‘WP_CONTENT_URL’, ‘https://www.Vedfolnir.com/content/wp-content’ );

提示:我不建议初学者更动 WP-Content 位置,毕竟 WordPress 会安装许多 Plugins,然而开发者的思维并非都很周全,就怕一个路径弄错会让我们躺著也中弹 :-P。

结语

大概是 Blogger 用了太久,对于那些你无法了解就能使用的功能,总是不太放心。

Blogger 的页面规范简化了网站复杂度,所有东西都塞在同一个页面上多好啊。但是 WordPress 的架构为了方便程序开发却不能妥协,因此才会让初学者觉得难以入手。关于 WordPress 的设计架构,可参考 Codex 上的 1.5 版说明文件[8]。

但是这不是最后,因为我还在继续尝试 WordPress 中。往后有更进一步的心得与经验,会在本篇文章中继续补充,所以请你务必追踪粉丝团「鹰眼观察」接收我们的最新消息!

延伸阅读

  1. 好用的 WordPress Plugin 外挂市集。
  2. 好用的 WordPress Themes 布景主题市集。
  3. WordPress 部落格和网站|五分钟快速架站详细指令操作教学。
  4. 科技怪谈 - Godaddy 被骇 是因为 Google 的可能性。
  5. Codex - WordPress Backups.
  6. Codex - Function Reference/wp upload dir.
  7. WordPress - Site Architecture 1.5.
  8. Codex - Changing_File_Permissions.
✦ 独立报道 · 读者支持 ✦

以实际行动支持独立观点,与我们一同走得更远

每一篇条理清晰的分析、每一次不随波逐流的观察,背后都是对真实与品质的坚持。我们拒绝内容农场与算法流量绑架,坚持自由独立的客观发声。

维持高品质的原创写作与独立运营,需要持续的实质力量。您可以选择一次性赞助或每月定期支持,通过 Google 安全结账,与我们一同守护这份深刻与清醒。

由 Google 安全处理付款 · 可随时在 Google 账户管理或取消