- A+
文件修改
1. WordPress后台
后台-Media取消按照年/月/的目录结构保存文件,取消缩略图,调整缩略图尺寸为0,然后修改固定链接。
2. 根目录.htaccess
Options All -Indexes
RedirectMatch 301 /apple-touch-icon(.*)?.png http://example.com/apple-touch.png
3. 主题functions.php
/*移除不必要meta*/
remove_action( 'wp_head', 'wp_generator' ) ;
remove_action( 'wp_head', 'wlwmanifest_link' ) ;
remove_action( 'wp_head', 'rsd_link' ) ;
/*取消评论框的html功能*/
add_filter( 'pre_comment_content', 'wp_specialchars' );
/*隐藏二级RSS地址*/
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
/*隐藏登陆界面提示*/
function no_errors_please(){
return 'GET OFF MY LAWN !! RIGHT NOW !!';
}
add_filter( 'login_errors', 'no_errors_please' );
/*停用网址猜测功能*/
add_filter('redirect_canonical', 'stop_guessing');
function stop_guessing($url) {
if (is_404()) {
return false;
}
return $url;
}
4. 修改wp-config.php
/*禁用版本修订*/
define( 'WP_POST_REVISIONS', false);
/*限制版本数*/
define( 'WP_POST_REVISIONS', 3);
/*修改自动保存时间*/
define( 'AUTOSAVE_INTERVAL', 120 );
5. 根目录 robts.txt
User-agent:
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /feed/
Disallow: /feed/
说明
1. WordPress后台
后台-Media取消按照年/月/的目录结构保存文件,取消缩略图,调整缩略图尺寸为0。
2. 移除如WordPress版本等不必要的信息
在主题functions.php
文件加入以下代码。
remove_action( 'wp_head', 'wp_generator' ) ;
remove_action( 'wp_head', 'wlwmanifest_link' ) ;
remove_action( 'wp_head', 'rsd_link' ) ;
3. 禁止浏览wordpress文件夹目录
将下列代码加入根目录下的.htaccess文件。同时,确保在wp-content/themes
和 wp-content/plugins
各有一个空白的 index.php文件。
Options All -Indexes
4. 取消WordPress评论框的HTML 标签和属性
WordPress评论框里面可以添加一些html标签,但这经常会导致大量的垃圾链接,并且可能会引发安全隐患。建议将下列代码加入到模板的 functions.php 文件来取消该功能。
add_filter( 'pre_comment_content', 'wp_specialchars' );
5. 关闭WordPress的版本修订功能
WordPress会自动保存文章的各个修订版本,如果文章量大,且文章经常修改的话,会导致数据库变得臃肿,建议取消。可将下列代码放置到WordPress根目录下的 wp-config.php 文件,来取消版本修订功能。
define( 'WP_POST_REVISIONS', false);
当然,你也可以通过下面的代码来限制wordpress修订版本保存的次数:
define( 'WP_POST_REVISIONS', 3);
6. 修改WordPress自动保存的时间
WordPress的自动保存功能默认每分钟保存一次,保存的瞬间,浏览器基本会处于假死的状态。你可以通过下面的代码来修改wordpress自动保存的时间间隔。
define( 'AUTOSAVE_INTERVAL', 120 );
7. 隐藏二级RSS地址
WordPress 默认有多个RSS地址,如文章rss,评论rss,整站rss,评论rss,甚至分类rss,存档rss等。使用rss阅读器订阅的时候,读者很容易被这么多的rss搞糊涂。建议只发布整站的rss,可以用将下面的代码放到模板的 functions.php 文件实现。
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
8. 将所有的RSS地址转向主RSS地址
(保留,根据主机情况,自己暂时不设置)在上一点,我们仅仅是从模板移除部分rss地址,但实际上这些rss是仍然存在的。可以通过将下面的代码加入 .htaccess 文件,来将各个RSS地址转向主RSS地址。记得将里面的RSS链接换成你自己的。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/?.*$ http://feeds.freegroup.org/freegroup [L,NC,R=301]
</IfModule>
9. 隐藏WordPress登陆界面的错误提示
WordPress默认的登陆界面,会提示你密码错误,还是用户名错误。但这很容易被黑客利用来暴力破解密码,因此,有必要隐藏这个提示,将下列代码加入到 functions.php 文件就可实现。
function no_errors_please(){
return 'GET OFF MY LAWN !! RIGHT NOW !!';
}
add_filter( 'login_errors', 'no_errors_please' );
10. 采用多步验证登陆
11. 更改固定链接结构
12. 添加 favicon 标识
在网站根目录添加 16×16 的 favicon.ico 文件和 144×144 的 apple-touch.png 文件,把下列代码加入 .htaccess 文件中。
RedirectMatch 301 /apple-touch-icon(.*)?.png http://example.com/apple-touch.png
或者在模板header文件中添加下列代码:
<link href="url/favicon.ico" rel="shortcut icon"/>
<link rel="Bookmark" href="url/favicon.ico" />
13.禁止搜索引擎索引WordPress程序自身
搜索引擎索引站点是好的,但没必要索引WordPress程序本身,可以将下面的代码加入到WordPress根目录下的 robots.txt 文件里面。
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /feed/
Disallow: */feed/
如果不需要搜索引擎搜索,干脆一把梭哈。
User-agent: *
Disallow: /
14. 将 Admin 账户权限降低
Admin是默认的WordPress管理员账户,为了降低安全隐患,你可以新建一个管理员账户,然后将默认的admin管理员账户权限降低。
15. 不要使用WordPress自带搜索(暂时不采用)
建议使用WordPress自定义搜索,在减轻服务器压力的同时,更好的为读者提供便利。若想关闭WordPress自带搜索,可以在主题目录下的functions.php中添加下列代码。
function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars展开 = false;
$query->query展开 = false;
// to error
if ( $error == true )
$query->is_404 = true;
}
}
add_action( ‘parse_query’, ‘fb_filter_query’ );
add_filter( ‘get_search_form’, create_function( ‘$a’, “return null;” ) );
16. 删除所有不用的模板和插件
删除所有不用的模板和插件,一来可以节省空间,二来可以减少对服务器的压力,三来,也可以减少一些引发漏洞的可能。
17. 停用WordPress的网址猜测功能
WordPress 有一个很奇怪的功能,假如一个人从外部链接进入 blogunion.org/hello 这个链接,如果你的网站已经将该链接移除,他会转到具有相类似词组的页面,如 blogunion.org/hello-world 。如果你想直接以404错误页面来代替这个功能,你可以将以下代码加入到模板里面的 functions.php 文件。
add_filter('redirect_canonical', 'stop_guessing');
function stop_guessing($url) {
if (is_404()) {
return false;
}
return $url;
}
18. 让访问者缓存WordPress页面内容(暂不启用)
让访问者缓存WordPress页面内容,这样读者就能更快速的载入你的站点。你可以通过将以下的代码加入到 .htaccess 文件,或使用WordPress缓存插件WP Super Cache、Hyper Cache这类插件来解决这个问题。
ExpiresActive On
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
19. 禁用WordPress后台文件编辑功能(暂不启用)
WordPress默认是管理员登陆后,可以直接在后台修改wordpress模板和插件等文件。但对于很多不熟悉WordPress的人来说,很可能一个修改错误,整个网站都崩溃了。如果你是帮别人维护WordPress,而那个人又是个菜鸟。那么你会非常需要这个功能。你可以将下面的代码加入到 wp-config.php 文件来实现。
define( 'DISALLOW_FILE_EDIT', true );
21. 移除链接里面的动态参数
例如,博客联盟的域名是blogunion.org,因为各种各样的原因,经常会出现blogunion.org/?ref=xxxx这样的链接。这对于SEO是不利的,会降低链接的质量。你可以通过将以下代码加入到 .htaccess 文件来移除这些参数。
RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteCond %{QUERY_STRING} !^p=.*
RewriteCond %{QUERY_STRING} !^s=.*
RewriteCond %{REQUEST_URI} !^/wp-admin.*
RewriteRule ^(.*)$ /$1? [R=301,L]
