安装完 WordPress 后你应该做好这24件事

 2014-06-28    569  

在你安装完WordPress后,你可能会调整一些设定来最佳化WordPress效能和安全性。这里有一份安装完WordPress后你应该做的最佳化指南。安装WordPress只需要两个简单的步骤,但你可能要调整一些预设的设定值,来改善、最佳化WordPress网站的效能和增强安全性。

如何最佳化你的WordPress网站?

这些建议只针对自架的WordPress网站,不适用于WordPress.com。另外,我假设你是在Apache上架设WordPress的。让我们开始吧:

1.变更预设的媒体上传目录

WordPress预设会将你的所有图片、文件和其他上传的档案储存于wp-content/uploads目录。

将你的图片储存于WordPress目录之外是个不错的作法,最好在一个子网域底下。这有几个优点,你的图片网址会更加简短,每日的WordPress备份会更有弹性,而且最重要的是,从不同的伺服器载入图片将有助于改善网页开啟速度。

WordPress3.5(或更新版本)已经没有提供变更预设媒体上传目录的选项,但可以使用外挂来开啟这项设定。同时取消选择该选项–“将我所上传的档案安排为以「月」及「年」为基準的目录”。

2.从你的WordPress网站移除不必要的meta-data

如果你检视过你的WordPress网站原始码,你可以发现有些meta标籤不是必要的。例如,你使用的WordPress版本会显示于原始码。

这项资讯对于一些寻找使用旧版或低安全性版本WordPress网站攻击的黑客来说是个不错的提示。从你的WordPress原始码完整移除掉版本号和其他非必要的meta-data,只要把把这段程式码加入佈景主题的functions.php档案即可。

remove_action(1wp_head1,1wp_generator1);

remove_action(1wp_head1,1wlwmanifest_link1);

remove_action(1wp_head1,1rsd_link1);

WLW-Manifest函式(第二行)是WindowsLiveWriter用于下载你WordPress部落格的样式、佈景主题。WindowsLiveWriter使用者不使用即时预览功能,故可以将此函式关闭。

3.防止使用者直接瀏览你的WordPress目录结构

如果你不希望任何人直接瀏览你WordPress档案和资料夹清单,将以下代码加入你WordPress内现有的.htaccess档案中。

OptionsAll-Indexes

并确认wp-content/themes和wp-content/plugins目录下包含空白的index.php档案。

4.停用WordPress回响的HTML功能

WordPress的回响留言框是一个小型的HTML编辑器,留言者可以使用一些标準的HTML语法像是、、来为自己的留言加入格式。他们甚至能够在留言里加入超连结。如果你想在WordPress回响里停用HTML功能,只要把以下程式码加入你的functions.php档案即可。

add_filter(1pre_comment_content1,1wp_specialchars1);

5.关闭WordPress文章版本功能

WordPress内建一个实用的文章版本功能,让你可以追踪变化,以便随时回復到文章先前的版本。文章版本也会增加WordPress里wp_posts资料表的大小,因为每次修订都会增加新的内容。

要停用WordPress里文章版本的功能,开啟你WordPress目录下的wp-config.php然后加入以下程式码:

define(1WP_POST_REVISIONS1,false);

另外,如果你想保留文章版本功能,你可以只限制WordPress储存于MySQL资料库里的修订数,在wp-config.php加入以下程式码:(3为要保留的文章版本数量)

define(1WP_POST_REVISIONS1,3);

6.变更文章自动储存的时间间隔

当你在WordPress内建的编辑器编辑部落格文章时,它会自动储存你的草稿,当瀏览器不幸当掉时,有助于你快速恢復先前输入的内容。草稿预设会每分鐘自动储存,但你可以加入以下程式码来将自动储存的时间间隔变更为120秒(或2分鐘):

define(1AUTOSAVE_INTERVAL1,120);

7.隐藏其他WordPressFeeds网址

你的WordPress包含多个RSSFeeds–部落格、文章、回响、分类、汇整等页面皆有feeds–它们会使用标籤显示于你部落格的原始码内。

如果你只想宣传你的主要RSSFeeds,那将以下程式码加入你的functions.php档案里:

remove_action(1wp_head1,1feed_links1,2)

remove_action(1wp_head1,1feed_links_extra1,3);

8.将所有Feeds重新导向至你的主要RSSFeed

在上一个步骤,我们只有从网页内移除掉不必要的RSSFeeds,但这些RSSFeeds依然存在。如果你想要单独使用一个RSSFeed例如FeedBurner,并停用所有其他的Feeds,将以下程式码加入你的.htaccess档案。记得把feedURL替换为你自己的网址。

RewriteEngineon

RewriteCond%{HTTP_USER_AGENT}!^.*(FeedBurner|FeedValidator)[NC]

RewriteRule^feed/?.*$http://feeds.freegroup.org/freegroup[L,NC,R=301]

9.隐藏WordPress登入画面的错误讯息

当你输入一个不存在的使用者名称,或是错误密码来登入WordPress时,它会显示相当详细的错误讯息,来告诉你使用者名称错误,或是密码错误,这是狠糟糕的。

将以下程式码加入functions.php档案来隐藏所有登入相关的错误提示。

functionno_errors_please(){return'GETOFFMYLAWN!!RIGHTNOW!!';}add_filter('login_errors','no_errors_please');

10.启用二阶段验证功能

强烈建议开启二阶段验证。如果有人取得了你WordPress帐号密码,他们仍需要你的手机才能够登入WordPress控制台。

不像Dropbox或Google,WordPress并没有内建二阶段验证功能,但你可以使用外挂来将它加入。Authy是相当受欢迎的二阶段验证外挂,虽然我喜欢的是Authenticator,因为它可以搭配Google官方的Authenticator应用程式使用。

11.变更固定网址结构

不要使用WordPress预设的固定网址结构,因为这不利于SEO。

前往WordPress控制台的设定->固定网址来变更你的WordPress固定网址结构。从搜寻引擎最佳化及效能来看,建议使用的结构为:

/%post_id%/%postname%12.加入遗失的favicon及touchicons

12. 加入遗失的 favicon 及 touch icons

你的WordPress布景主题可能没有包含网站图示(favicon.ico)或Appletouchicons,但网页瀏览器和RSS阅读器仍然可能向你的伺服器要求这些档案。最好的办法是提供这些档案,而不是回传404错误。

在你的网站根目录放置一个16×16的favicon.ico和144×144的apple-touch.png档案。然后在你的.htaccess加入以下程式码来重新档向所有Appletouchicon的请求至特定档案。

RedirectMatch301/apple-touch-icon(.*)?.png

13.禁止索引WordPress程式

你希望Google和其他搜寻引擎可以抓取你的部落格文章,但不会希望索引你用于WordPress、外挂和佈景主题的程式。

开啟你WordPress主目录底下的robots.txt并加入以下代码,来阻止搜寻引擎索引WordPress后台的元件。

User-agent:*

Disallow:/wp-admin/

Disallow:/wp-includes/

Disallow:/wp-content/plugins/

Disallow:/wp-content/themes/

Disallow:/feed/Disallow:*/feed/

14.把Admin权限设为读者

如果你的WordPress帐号是”admin”,建立一个新的使用者名称并给他系统管理员权限。接著登出WordPress,以新的帐号登入,将“admin”权限从系统管理员设定为读者。

你也许可以考虑把帐号“admin”删除,然后将现有的任何文章、页面转移给新帐号。这对于安全性来说是相当重要的一个步骤,因为我们不希望让任何人有机会猜测具有WordPress管理员权限的使用者名称。

15.对搜寻引擎隐藏你的XMLSitemaps

XMLSitemaps可以帮助搜寻引擎更好地抓取你的网站内容,但你不会希望搜寻引擎在搜寻结果页面显示你的网站地图。

将以下程式码加入你的.htaccess来防止XMLSitemals被搜寻引擎索引:

HeadersetX-Robots-Tag"noindex"

16.不要使用WordPress内建的搜寻功能

确认你的网站搜寻功能是由Google自订搜寻所提供,不要使用WordPress内建的搜寻功能。

WordPress搜寻通常会传回不相关的结果,另一个好处是这麼做能降低你的WordPress伺服器、资料库负载,因为搜寻查询将透过Google来进行处理。

另外,如果你打算继续使用WordPress内建的搜寻功能,那就使用NiceSearch外挂吧!它能为你的WordPress搜寻页面建立更好的固定网址(/search/tutorialsvs/s?tutorials)。

17.以密码保护你的wp-admin目录

你可以简单地为WordPress增加额外的安全防护,例如以密码来保护wp-admin目录。你必须要记住两组密码才能够登入至WordPress–包括你的WordPress密码,以及保护wp-admin目录的密码。

18.在Google分析记录404错误

404错误会错失使用者进入网站的机会。你可以使用Google分析来记录你的404错误,包含从何而来等细节资料。

将以下程式码加入你的Google分析追踪代码,于_gaq.push函式之后:

<?if(is_404()){?>

_gaq.push([1_trackEvent1,14041,document.location.pathname+document.location.search,document.referrer,0,true])2

<?}

19.删除所有没用到的佈景主题和WordPress外挂

未使用的外挂和佈景主题不会影响你的WordPress网站效能,但我们的目标是尽可能减少伺服器上可执行的程式码。停用并删除所有你不需要的东西。

20.停止WordPress猜测网址功能

WordPress有一个会猜测网址的奇怪功能,且在大多数情况下会造成错误。让我解释一下,如果一位访客要存取freegroup.org/hello网址,但这个页面并不存在,WordPress可能会把使用者重新导向至freegroup.org/hello-world只因为这网址有一些常用词汇。

如果你希望WordPress停止猜测网址,并以404找不到网页的错误讯息来取代,将以下程式码加入functions.php:

add_filter(1redirect_canonical1,1stop_guessing1)2

functionstop_guessing($url){

if(is_404()){

returnfalse2

}

return$url2

}

21.为静态内容设定过期时间

储存于你WordPress网站的静态内容:像是图片、CSS、JavaScript、.txt等等不会经常改变,你可以设定过期时间让它们快取于使用者的浏览器中。因此,在稍后访问网站的过程里,你的网站就能更快载入JS和CSS,因为是从本机的快取中被载入。

请参阅HTML5模版的.htaccess档案,来了解设定过期时间的细节。如果你是使用像是W3TotalCache之类的快取外挂,快取控制本身是由外挂来做管理。

ExpiresActiveOn

ExpiresByTypeimage/gif"accessplus30days"

ExpiresByTypeimage/jpeg"accessplus30days"

ExpiresByTypeimage/png"accessplus30days"

ExpiresByTypetext/css"accessplus1week"

ExpiresByTypetext/javascript"accessplus1week"

22.强化你的WordPress部落格安全性

我在早先已经详细讨论过WordPress安全性。大意是你应该把密钥加入你的wp-config.php档案,安装档案监控外挂,然后使用LimitLogin来防止暴力密码攻击。

23.停用WordPress内的档案编辑功能

当你以系统管理员权限登入你的WordPress控制台,你可以轻鬆地编辑任何WordPress外挂及佈景主题。如果你想删除文件的编辑功能(一个缺少的分号可能让你的WordPress网站挂掉),将以下程式码加入wp-config.php档案中:

define('DISALLOW_FILE_EDIT',true);

24.从网址中移除多餘的查询参数

如果你的WordPress网站网址是abc.com,如果使用者在网址加入一些查询参数,仍然可以到达你的网站。例如,abc.com/?utm=ga或abc.com/?ref=feedly就是,从技术上来说,完全不同的网址也可以进入相同的页面。

但对于链结权重(SEO)来说是不好的,在理想的情况下,你应该让所有网址指向同一个CanonicalURL。将以下程式码加入.htaccess来移除掉不必要的查询参数:

RewriteEngineOn

RewriteCond%{QUERY_STRING}!=""

RewriteCond%{QUERY_STRING}!^p=.*

RewriteCond%{QUERY_STRING}!^s=.*

RewriteCond%{REQUEST_URI}!^/wp-admin.*

RewriteRule^(.*)$/$1?[R=301,L]

上一篇>>免费服务器安全软件:云锁体验

=========================================

下一篇>>phpcms v9 邮件群发实现方法