wordpress新站需要关心的几件事


写在前头

wordpress是一个非常强大的建站工具,其无数强大和美观的插件几乎可以实现你想要的一切功能。新建wordpress站通常容易陷入不停尝试各种插件的过程里,你会发现很多插件都能让你惊叹并喜欢的不要不要的。

然而必须要知道,用插件是有代价的。第一点,插件用多了会严重影响wordpress网站前后台页面响应速度;第二点,很多插件都会生成额外的数据库表或者插入额外的数据,这些额外的数据并被会随着插件的卸载而删除,大量不用的插件的数据遗留在数据库里也会对数据查询和数据库备份造成不必要的负面影响;第三,很多插件的功能互相之间有冲突或重叠,这些对于网站的效率和日常维护也会带来不好的影响。

所以谨慎选择插件是非常有必要的。建站之前, 必须要清楚自己想要一个什么样的站。再根据站点的类型相应的选择插件和功能。

笔者建站以来也走了不少的弯路,下面就这个过程总结一下经验,把建站初期需要做的几件事记录下来。


1. 设置对搜索引擎不可见

网站新建初期,很多东西没有准备好,可能会面临频繁的改动;如果这时候被搜索引擎蜘蛛爬到了,可能被收录很多不存在和错误的页面,会严重影响后来网站SEO评级。笔者建站之初因为没这方面经验,吃了一些亏。
其设置位置在:设置(Settings)– 阅读 – 对搜索引擎可见性, 设置勾选。
设置对搜索引擎不可见
注意:在网站稳定后,记得取消勾选,让搜索引擎可以收录本站文章。

2. 设置固定链接

这个是为了SEO方便,固定连接设置为伪静态的格式有利于搜索引擎收录。注意这个设置在网站正式开始运营后就不要再改动了,后期修改的话对网站排名影响很大。
其设置的位置在:设置(Settings)– 固定连接。
设置固定链接
注意:设置静态格式的固定连接后需要设置nginx或apache的伪静态规则,否则页面无法打开。伪静态规则可以自行百度复制一个。

3. 禁用国外链接

wordpress默认采用google字体和gravatar头像库,这两个链接都在国外,会严重拖慢网站打开速度。可以采用插件将字体和头像切换为使用国内CDN,或者干脆禁用掉。
这里推荐WP Acceleration for China插件和WP User Avatar插件。

4. 采用缓存加速

采用缓存可以大大提升网站的访问速度,同时很多页面不用动态生成,可以降低主机负荷。好处就不用多说了,对于会不断更新的站点,这个属于必备。这里推荐使用WP super cache插件。

5. 设置网站地图

网站地图是SEO必备的东西,不多说,这里推荐Baidu Sitemap Generator,国内使用人数比较多的地图插件。

6. 设置robots.txt

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。搜索引擎网络爬虫访问网站时,首先会寻找站点根目录下的robots.txt文件,根据该文件指示确定收录范围;如果站点没有该文件,网络爬虫就会默认抓取所有页面,而这通常是对网站不利的。
这里放一个常用的适合wordpress站点的robots.txt文件的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /cgi-bin/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /wp-content/cache/
Disallow: /author/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: /search/
Sitemap: http://yoursite/sitemap_baidu.xml

注意上面将sitemap的url替换成自己站点的sitemap地址。

7. 选择SEO插件

最常见的SEO插件是All in One SEO PackYoast。这两个插件功能都比较强大全面。但是有些主题也自带SEO功能,这样就不用安装SEO插件了。但是用主题自带SEO功能也必须知道一个问题:主题自带SEO功能在站点切换主题时可能会不兼容而丢失,而用SEO插件不会有这样的问题;所以可以根据自己的站点情况进行取舍。

8. 处理登录安全

虽然wordpress已经很安全,但是暴力破解攻击依然会造成问题。这里推荐一个登录安全插件:Login LockDown。它可以尝试记录登陆失败的ip地址和时间、限制某ip或ip段登陆、还能控制同ip密码输入错误的次数,如果超过一定的次数,就封锁限制此ip,能够有效防止密码被暴力破解。

9. 隐藏登录注册

如果你的站点不打算对外开放注册,可以设置禁止注册,并隐藏前台登录和注册接口。
该设置位于: 设置(Settings)- 常规。
禁止注册

隐藏前台登录和注册,可以在主题的functions.php中添加如下代码:

1
2
3
if (!current_user_can('edit_posts')) {
add_filter('show_admin_bar', '__return_false');
}

同时为了保护后台登录,可以将后台登录地址进行隐藏,其中一种常用方法如下:

1
2
3
4
add_action('login_enqueue_scripts','login_protection');
function login_protection(){
if($_GET['key'] != 'value')header('Location: anyurl');
}

这样只有当访问地址是http://yoursite/wp-login.php?key=value 时,才可以正常进入登录界面。

10. 限制文章版本记录

wordpress 文章默认每次修改保存就会产生一个新的版本,同时wordpress也会自动保存对文章生成新版本。通常情况下,这些文章版本都不是全部必要的,其只会无用的增大数据库负担。

我们可以通过wordpress内置的方法禁用或限制版本记录,其方法为:打开站点根目录下的 wp-config.php 文件,在靠前部分增加代码:

1
2
3
define('WP_POST_REVISIONS', false);
//or
define('WP_POST_REVISIONS', 3);

对于已经产生的revision, 可以通过数据库删除。

1
2
3
DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type = 'revision');
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type='revision');
DELETE FROM wp_posts WHERE post_type='revision';

注意保持该代码中SQL语句的执行顺序。


建设好一个wordpress站点,还有很多工作要做,许多上面没有列出的功能对某些站点也是非常重要,比如注册插件, 评论插件, 个人中心插件,商城和分销插件等等,需要大家根据自己的站点需求来添加。