Wordpress作为目前最为被广泛采用的个人站点搭建工具,功能强大且简单易用,并且多年来不断完善,有了很好的社区环境,成为了我们建站的首选。
最近我也在阿里云上开始搭建一个简单的技术博客,记录自己的技术心得。得益于阿里云完善的服务,Apache,nginx等基础软件的安装简单异常,其中最复杂便是Wordpress的安装了,故特别整理记录下来,以便于今后的使用。(Wordpress的安装本身很简单,但是需要配置与优化的地方实在太多了。)
顺便吐槽下,国内的备案。。。实在是让人。。。无法忍受!!! 已经一个月了,至今没搞定,哎。推进创建自由民主国家,人人有责。
基本安装与配置
安装软件支持
首先需要安装LAMP(Linux+Apache+MySql+PHP)或者LEMP(Linux+Nginx+MySql+PHP)的环境。
如果和我一样采用的阿里云,可以直接使用阿里云的一键集成安装包进行安装。
如果手动安装LEMP,可以使用看这个教程
安装
可以使用这个教程进行Wordpress的安装。
先要解决的事情!!!
安装完成后,我们立刻访问以下看看效果吧。OMG!!!这速度简直无法忍受!!!打开主页用了起码十几秒。我首先就开始怀疑我的阿里云坑爹了。不过仔细想想,阿里云的ssh速度还是很快的,与网页的龟速相差太远。
于是,使用百度站长工具来分析下,赫然在分析结果中发现了 fonts.googleapis.com/css?… 的链接。看上去在访问我的主页时,调用了google的网站查询字体,而最近Google在中国的情况,大家都懂的。
后来查了下,原来Wordpress在3.8版本后会默认访问Google的站点调用open-sans字体(不仅是字体,甚至JQuery也会调用Google的),这确实会导致网站速度极慢。自己换上翻墙工具测试下,果然翻墙后访问速度很快。
好吧,解决这个问题。
解决方案1
最简单的办法就是直接禁用Google的open-sans字体。在其中,最简单的方法又是安装插件。
可以直接在后台搜索 disable google fonts或者 Remove Open Sans font Link from WP core 之一后,安装并启用即可,这样网站就不会再使用Google字体了。
解决方案2
使用插件禁用后,速度倒是快了,但是明显效果不如使用open-sans字体好看了。那么有没有更好的办法,既能提高访问速度,又能美观的方法呢。
答案当然是有的。由于Google服务在中国不好用,360的CDN中保存了同样的源,我们将涉及Google的部分修改为360的CDN地址即可。
方法是:使用vim打开 /wp-includes/script-loader.php ,批量替换 googleapis
为 useso
即可。
解决方法3(推荐)
解决方案2已经很好了,但是经过测试,有时候并不好用,我的网站就是换了个主题后即失效了。那么我们采用更智能的插件来帮我们解决吧。
安装并开启 DW Replace Open Sans 就可以一劳永逸的解决这个问题啦。推荐使用这种解决方案。
其他解决方案
我还查到了其他解决方案,诸如修改主题的function.php等方法,经测试后,都不太稳定,建议还是使用上述的三种方法,尤其是方案3,简单又靠谱。
插件
插件的安装
Wordpress的插件安装很简单,在这里简单说一下。
可以直接在后台的插件选项中搜索并直接安装。
另外一种方法就是将下载后的插件包复制到 /wp-content/plugins 文件夹中,之后就能在后台看到啦,启用并设置就好。
插件推荐
Wordpress的各种强大插件是大家都喜闻乐见的,但是同样的,庞大的插件库让大家都犯了选择强迫症,而且加载太多插件后,网站速度明显变慢了,这无疑是我们不想看到的。
推荐几种实用的插件,大家可以按照自己的喜好选择:
- Akismet 防垃圾评论插件,需注册。但是值得麻烦一下,防患于未然。
- All In One SEO Pack 一键SEO,必备。可以协助你优化网站的SEO。
- DW Replace Open Sans 上面已经介绍啦,替换open-sans字体的地址。
- JiaThis分享工具 社会化分享工具。可以为你的blog添加分享到微信、微博、qq空间、人人网等功能。样式可定制,详情请查看官网。
- Markdown Extra Markdown撰写工具,去掉了原版的各种编写工具,直接复制Markdown源码上去即可。现在我已经爱上了Markdown,强迫症患者与程序员写长文章必备,本文即是使用Markdown撰写的,使用Mac上的Mou与Markdown Extra编写出漂亮的文章。稍微学习一下,让写文章排版更简单更优美更高效,不了解的同学可以点击这里学习。
- WP2PCS 定时自动备份站点到百度云。简单又实用的插件,设置好就不用管啦。
- 友言 社会化评论插件,可以方便的使用微信、qq、人人、微博账号直接评论转发。
- post2Qzone 自动将发表的博文同步发表到QZone并抄送至qq邮箱,需要配合qq邮箱使用。但是测试发现,由于我使用了Markdown插件缘故,同步后的文章并不是生成的HTML文件,而是Markdown源码,所以我已不再使用。如果不使用Markdown撰写文章,倒是可以用这个插件。
固定链接
Wordpress安装完成后,默认的链接连接类型为http://x.x.x.x/?p=2格式,其中2为文章id。
但是这种方式的链接一则不够优雅,二则不利于搜索引擎的记录。
我们可以在 后台—设置—固定链接 中设置固定链接采用的方式。
下面是几个设置固定连接的规则,应该遵循以优化SEO:
- 不要让日期出现在wordpress固定链接里面
- 不要让分类的链接出现在固定链接里面
- 链接不要过深
- 不要让中文字符出现在固定链接里面
自定义固定链接的设置
除了官方定义好的几种方式,我们着重说一下自定义的固定链接。
如果使用自定义链接,官方也定义了如下几种表达式:
- %year% 基于文章发布年份,比如2007;
- %monthnum% 基于文章发布月份,比如05;
- %day% 基于文章发布当日,比如28;
- %hour% 基于文章发布小时数,比如15;
- %minute% 基于文章发布分钟数,比如43;
- %second% 基于文章发布秒数,比如33;
- %postname% 基于文章的postname,其值为撰写时指定的缩略名,不指定缩略名时是文章标题;
- %post_id% 基于文章post_id,比如423;
- %category% 基于文章分类,子分类会处理成“分类/子分类”这种形式;
- %author% 基于文章作者名。
一般来说,一开始建议使用文章名方式即可,即 /%postname%/ 方式。
解决固定链接重设后的404问题
修改固定链接后,会出现一个问题:原来的的文章都无法访问了,变为了404界面。
nginx的解决方案
- 修改你的网站配置文件,xxx.conf(xxx为你的网站名字),找到root起始的行。
在下一行开始,添加如下代码:
if (-f $request_filename/index.html){rewrite (.) $1/index.html break;} if (-f $request_filename/index.php){rewrite (.) $1/index.php; if (!-f $request_filename){rewrite (.) /index.php;}
Apache的解决方案
- .htaccess要开放写权限,这样在自定义wp的永久链接时,wp会自动重写.htaccess。所谓删除或手动重写.htaccess就是因为没有开放它的写权限。
- 找到APACHE文件中的httpd.conf文件, 把#LoadModule rewrite_module modules/mod_rewrite.so 前的#去掉,加载rewrite模块。
- 查看APACHE文件中的httpd.conf文件是否默认设置了AllowOverRide为None,如果是,要改成All。或者修改 wordpress所在的vhost段添加 < Directory /wp所在路径/> AllowOverride All < /Directory> 重启apache。
主题
选择一个漂亮的主题是大家都很在意的事情,进入 后台—外观—主题—添加 即可从诸多主题中选择我们喜欢的。
另外,如果希望自定义一个 PAGE 的话,可以看这个视频,How to create a custom Wordpress page template (需要翻墙)
SEO
关于SEO的优化,完全可以拿出来单独写一篇文章,而我本也只是简单了解皮毛,不敢造次,这里简单写一些优化原则。
- 不要把首页做成欢迎页面,而是在首页尽量多放一些内链,便于爬虫搜索。
- 消灭内嵌CSS和内嵌JavaScript,尽量放到单独的Javascript文件中引用。这一点原生的Wordpress已经做得不错。
- 为文章添加适当的TAG,这样不仅便于文章分类,也更有利于爬虫的抓取。
- 标题贴合文章内容且减少无关内容,不要在标题中添加网站名称。标题是爬虫认为重要的内容之一,如果标题中包含了与文章内容无关的信息,多少会对该页面有所影响。
- 优化文章的URL链接结构。这一点已经在上文的固定链接部分中写明,请查看上文。
- 经常更新博客。
- 不要轻易变动。这里指的是域名、站点结构、链接结构、链接地址等,一旦设定后,不要再中途变更导致爬虫之前的提取失效,尽量做到提前规划。
本文由金同尧原创,首发于JinTongYao’s blog,转载请注明出处。