安装了WordPress –接下来是什么?
获取WordPress.com API密钥,激活Akismet
Akismet是与WordPress安装捆绑在一起的插件,可以智能地消除所有不必要的注释和引用垃圾邮件。
为了使Akismet正常工作,您需要一个Akismet API密钥。该密钥是免费的,但是您需要索取一个密钥并将其应用于Akismet插件。使用WordPress注册,获取Akismet密钥。
获取密钥后,进入“ 设置”>“ Akismet反垃圾邮件”并输入密钥。你们都准备好了
更改固定链接
永久链接是您的帖子和页面的URL格式。默认情况下,WordPress将其设置为带有查询字符串的示例https://www.hongkiat.com/blog/?p=1
,例如查询ID为的页面或帖子1
。不仅这种格式看起来不太好,而且输入和SEO友好也不友好。最终,URL不能告诉页面的全部内容。
要更改固定链接,请转到设置>固定链接。通常将其设置/%postname%/
为最佳。这会将网址更改为https://www.hongkiat.com/blog/example-post/
。
安装其他古腾堡块
Gutenberg或Block Editor是WordPress的未来,因为每个组件都由一个块单元组成。WordPress已经提供了一些必要的块来编写帖子和页面,例如Paragraph块,Heading块,Image块等。您可以安装一个插件来使用更多块来加密您的内容,例如CoBlock。
CoBlock带有一些高级块,例如定价表块,作者个人资料块,图标块,用于添加Google Maps的地图块,以及更多其他块。
如果您想轻松地创建自己的块而不必从头开始编写代码,那么Block Lab是一个出色的插件。
安装SEO插件
WordPress已经进行了一些基本的SEO优化,例如Permalink设置,改进的页面标题标签以及noindex
在网站设置为private时添加。但是,如果您想进一步优化SEO,则需要安装插件。
WordPress存储库中有很多所谓的SEO插件。最受欢迎的一种是Yoast SEO。它带有标题和描述元编辑器,Sitemap XML,面包屑导航,内容分析等等。
添加社交媒体共享按钮
在SEO插件之上,将“社交媒体”按钮置于您的网站上可能会方便您的用户在Facebook和Twitter等社交媒体上共享您的内容。使用计数器编号,您可以显示您的文章在这些社交媒体网站中的传播次数。
这类插件有很多选择。如果您想要一个简单易用且易于使用的插件,建议您安装Social Pug。
加强安全性
保护网站非常困难。老实说,我建议您聘请专业人士来审查您的网站。通常,这涉及审查插件,主题和服务器配置,以确保站点的每个角落都得到适当保护。
对于初学者,您可以安装iThemes Security之类的插件。此插件将使您只需单击几下即可实施几种安全最佳实践,以保护WordPress的安全,例如更改登录名和仪表板URL,删除用户admin
,更改wp-content路径等等。
添加联系表格
在您的网站上添加联系表格可以使您的读者轻松地与您联系。它还可以帮助您增加值得站点信任的程度,因为很容易就可以与您联系。与WordPress早期不同,今天有许多非常好的插件,使您可以通过拖放轻松添加高级联系表单,例如Ninja Form和WPForms。
如果您想提高安全性并减少 WordPress网站上的漏洞,那么拥有一个配置良好的.htaccess文件至关重要。通常,创建自定义.htaccess文件的主要目的是防止您的网站被黑客入侵,但这也是处理重定向和管理与缓存相关的任务的绝佳方法。
.htaccess是Apache Web服务器上使用的配置文件。大多数WordPress网站都在Apache服务器上运行,尽管一小部分由Nginx提供支持。在本文中,您可以找到.htaccess代码片段的集合,大部分可以用来保护您的网站,而其余代码则可以实现其他有用的功能。
另请参阅: 设计人员和开发人员的.htaccess入门指南
在编辑.htaccess文件之前,请不要忘记备份它,以便在出现问题时始终可以返回到以前的版本。
而且,如果您是不喜欢配置文件的人,我建议您使用BulletProof Security插件,它是市场上最可靠(也是最古老的)免费.htaccess安全插件。
创建默认的WP .htaccess
.htaccess基于每个目录工作,这意味着每个目录可以具有自己的.htaccess文件。您的WordPress网站还没有.htaccess文件,这很容易发生。如果您在根目录中找不到.htaccess文件,请创建一个空文本文件并将其命名为.htaccess
。
在下面,您可以找到WordPress使用的默认.htaccess文件。每当您需要此代码时,都可以在WordPress Codex中快速查找它。请注意,WP Multisite有一个不同的.htaccess 。
1个
2
3
4
5
6
7
8
9
10
|
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index .php [L] < /IfModule > # END WordPress |
以开头的行#
是注释。在和之间不要编辑任何内容。在这些默认规则下面添加您的自定义.htaccess 规则。# BEGIN WordPress
# END WordPress
您可以在本文中找到的所有代码段都移至根目录中的核心.htaccess文件。
1.拒绝访问所有.htaccess文件
下面的代码拒绝访问您在WordPress中安装的所有.htaccess文件。这样,您可以防止人们看到您的Web服务器配置。
1个
2
3
4
5
6
|
# Denies access to all .htaccess files <Files ~ "^.*\.([Hh][Tt][Aa])" > Order Allow,Deny Deny from all Satisfy all < /Files > |
2.保护您的WP配置
该wp-config.php
文件包含所有WP配置,包括数据库登录名和密码。您可以拒绝所有人访问,也可以授予管理员访问权限。
如果您选择后者,请在该# Allow from xx.xx.xx.xxx
行中注释掉(从该行#
的开头删除),然后在位置插入管理员的IP地址xx.xx.xx.xxx
。
1个
2
3
4
5
6
7
|
# Protects wp-config <Files wp-config.php> Order Allow,Deny # Allow from xx.xx.xx.xxx # Allow from yy.yy.yy.yyy Deny from all < /Files > |
3.防止XML-RPC DDoS攻击
WordPress 默认情况下支持XML-RPC,这是使远程发布成为可能的接口。但是,尽管它是一个很棒的功能,但它也是WP的最大安全漏洞之一,因为黑客可能会利用它进行DDoS攻击。
如果您不想使用此功能,最好禁用它。像以前一样,您可以通过注释掉该# Allow from xx.xx.xx.xxx
行并添加管理员的IP 来添加例外。
1个
2
3
4
5
6
7
|
# Protects XML-RPC, prevents DDoS attack <FilesMatch "^(xmlrpc\.php)" > Order Deny,Allow # Allow from xx.xx.xx.xxx # Allow from yy.yy.yy.yyy Deny from all < /FilesMatch > |
4.保护您的管理区域
通过仅向管理员授予访问权限来保护管理区域也是一个好主意。在这里,请不要忘记添加至少一个“允许”例外,否则您将根本无法访问管理员。
1个
2
3
4
5
6
7
8
9
10
11
|
# Protects admin area by IP AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic <LIMIT GET> Order Deny,Allow Deny from all Allow from xx.xx.xx.xxx Allow from yy.yy.yy.yyy < /LIMIT > |
5.防止目录列表
大多数WordPress网站不会禁用目录列表,这意味着任何人都可以浏览其文件夹和文件,包括媒体上载和插件文件。不用说这是一个巨大的安全漏洞。
在下面,您可以看到典型的WordPress目录列表的样子。
幸运的是,您只需要一行代码即可阻止此功能。该代码段将向任何想要访问您的目录的人返回403错误消息。
1个
2
|
# Prevents directory listing Options -Indexes |
6.防止用户名枚举
如果启用了WP永久链接,则使用作者档案枚举用户名非常容易。所显示的用户名(包括管理员的用户名)随后可用于蛮力攻击。
将以下代码插入.htaccess文件中,以防止用户名枚举。
1个
2
3
|
# Prevents username enumeration RewriteCond %{QUERY_STRING} author=d RewriteRule ^ /? [L,R=301] |
7.阻止垃圾邮件发送者和机器人
有时您可能想限制来自某些IP地址的访问。此代码段提供了一种简单的方法来阻止您已经知道的垃圾邮件发送者和僵尸程序。
1个
2
3
4
5
6
7
|
# Blocks spammers and bots <Limit GET POST> Order Allow,Deny Deny from xx.xx.xx.xxx Deny from yy.yy.yy.yyy < /Limit > Allow from all |
8.防止图像热链接
尽管不是安全威胁,但是图像热链接仍然是一件令人讨厌的事情。人们不仅会在未经您许可的情况下使用您的图片,甚至会自己付费。使用以下几行代码,您可以保护您的站点免受图像热链接。
1个
2
3
4
5
6
|
# Prevents image hotlinking RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?: // (www\.)?yourwebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?: // (www\.)?yourwebsite2.com [NC] RewriteRule \.(jpe?g?|png|gif|ico|pdf|flv|swf|gz)$ - [NC,F,L] |
9.限制直接访问插件和主题PHP文件
如果有人直接调用您的插件和主题文件,这是很危险的,无论是偶然还是恶意攻击者。此代码段来自Acunetix网站安全公司;您可以在他们的博客文章中了解有关此漏洞的更多信息。
1个
2
3
4
5
6
7
|
# Restricts access to PHP files from plugin and theme directories RewriteCond %{REQUEST_URI} !^ /wp-content/plugins/file/to/exclude \.php RewriteCond %{REQUEST_URI} !^ /wp-content/plugins/directory/to/exclude/ RewriteRule wp-content /plugins/ (.*\.php)$ - [R=404,L] RewriteCond %{REQUEST_URI} !^ /wp-content/themes/file/to/exclude \.php RewriteCond %{REQUEST_URI} !^ /wp-content/themes/directory/to/exclude/ RewriteRule wp-content /themes/ (.*\.php)$ - [R=404,L] |
10.设置永久重定向
您可以使用.htaccess 轻松处理永久重定向。首先,您必须添加旧的URL,然后跟随新的URL指向您要将用户重定向到的页面。
1个
2
3
|
# Permanent redirects Redirect 301 /oldurl1/ http: //yoursite .com /newurl1 Redirect 301 /oldurl2/ http: //yoursite .com /newurl2 |
11.将访客发送到维护页面
我们在这里详细介绍了这种技术。您需要单独的维护页面(maintenance.html
在示例中)才能使此.htaccess规则起作用。此代码使您的WordPress网站进入维护模式。
1个
2
3
4
5
6
7
8
|
# Redirects to maintenance page <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000 RewriteCond %{REQUEST_URI} ! /maintenance .html$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance .html [R=503,L] < /IfModule > |
12.限制所有对WP的访问,包括
该/wp-includes/
文件夹包含 CMS工作所需的核心WordPress文件。没有内容,插件,主题或用户可能要在此处访问的任何其他内容。因此,要加强安全性,最好限制所有对其的访问。
1个
2
3
4
5
6
7
8
9
10
|
# Blocks all wp-includes folders and files <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin /includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes /js/tinymce/langs/ .+\.php - [F,L] RewriteRule ^wp-includes /theme-compat/ - [F,L] < /IfModule > |
13.块跨站点脚本(XSS)
以下代码段来自WP Mix,它可保护您的站点免受某些常见的XSS攻击,即脚本注入以及尝试修改全局变量和请求变量的攻击。
1个
2
3
4
5
6
7
|
# Blocks some XSS attacks <IfModule mod_rewrite.c> RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule .* index.php [F,L] < /IfModule > |
14.启用浏览器缓存
正如我之前提到的,.htaccess不仅出于安全原因和重定向而有用,而且还可以帮助您管理缓存。下面的代码段来自Elegant Themes,它使访问者能够保存某些类型的文件,从而使浏览器缓存成为可能,因此下次访问时不必再次下载。
1个
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# Enables browser caching <IfModule mod_expires.c> ExpiresActive On ExpiresByType image /jpg "access 1 year" ExpiresByType image /jpeg "access 1 year" ExpiresByType image /gif "access 1 year" ExpiresByType image /png "access 1 year" ExpiresByType text /css "access 1 month" ExpiresByType application /pdf "access 1 month" ExpiresByType text /x-javascript "access 1 month" ExpiresByType application /x-shockwave-flash "access 1 month" ExpiresByType image /x-icon "access 1 year" ExpiresDefault "access 2 days" < /IfModule > |
15.设置自定义错误页面
您可以使用.htaccess在WordPress网站上设置自定义错误页面。对于这种方法,您还需要创建自定义错误页(custom-403.html
,custom-404.html
在本例中),并上传到你的根文件夹。
您可以为所需的任何HTTP错误状态代码(4XX和5XX状态代码)设置自定义错误页面。
1个
2
3
|
# Sets up custom error pages ErrorDocument 403 /custom-403 .html ErrorDocument 404 /custom-404 .html |
另请参阅: 如何将WordPress网站置于维护模式