安装 Wordpress 后应该做的事情
已发表: 2022-02-26您可以通过 2 个简单的步骤安装 WordPress,但建议您调整一些默认设置以优化性能并提高 WordPress 网站的安全性。
优化您的 WordPress 安装
这些建议仅适用于自托管的 WordPress.org 网站,不适用于 WordPress.com 博客。 另外,我假设您在 Linux 下的 Apache 上运行 WordPress。 该指南现已针对 WordPress 4.2 进行了更新。 让我们开始吧:
1.移出媒体上传文件夹
WordPress 将所有上传的图像和文件存储在 wp-content/uploads 文件夹中。 但是,您应该将此文件夹移到 WordPress 主文件夹之外,最好放在子域中。 因此,您的 WordPress 备份将更易于管理(上传的文件和主题可以单独备份),最重要的是,提供来自不同域的图像将允许在浏览器中并行下载,从而缩短页面加载时间。
打开您的 wp-config.php 文件并添加以下行以更改 wp-content 文件夹的位置。 您也可以取消选择选项 - “将我的上传文件整理到基于月份和年份的文件夹中”。
define( 'WP_CONTENT_URL', 'http://files.domain.com/media' ); define( 'WP_CONTENT_DIR', $_SERVER['HOME'] . '/files.domain.com/media' );
2.从WordPress标题中删除不必要的元标记
如果您查看 WordPress 网站的 HTML 源代码,您会发现标题中的一些元标记实际上并不是必需的。 例如,可以通过查看源标头轻松检索服务器上运行的 WordPress 软件的版本。
<meta name="generator" content="WordPress 4.1" />
此信息对于希望瞄准使用较旧且安全性较低的 WordPress 软件版本的博客的 WordPress 黑客来说是一个很好的提示。 要从 WordPress 标头中完全删除版本号和其他非必要元数据,请将此代码段添加到 WordPress 主题文件夹中的 functions.php 文件中。
remove_action( 'wp_head', 'wp_generator' ) ; remove_action( 'wp_head', 'wlwmanifest_link' ) ; remove_action( 'wp_head', 'rsd_link' ) ;
3. 阻止人们浏览您的文件夹
由于您不希望任何人使用 Web 浏览器中的资源管理器视图浏览您的 WordPress 文件和文件夹,因此将以下行添加到 WordPress 安装目录中存在的 .htaccess 文件中。
Options All -Indexes
还要确保 WordPress 目录的 wp-content/themes 和 wp-content/plugins 文件夹中有一个空白 index.php。
4. 禁用 WordPress 评论中的 HTML
WordPress 中的评论框允许评论者使用 HTML 标签,他们甚至可以在评论中添加超链接。 评论有 rel=nofollow 但如果您想在 WordPress 评论中完全禁止 HTML,请将此代码段添加到您的 functions.php 文件中。
add_filter( 'pre_comment_content', 'esc_html' );
更新:将wp_specialchars替换为esc_html因为前者已被弃用,因为 WordPress 2.8+
5. 关闭 WordPress 中的后期修订
WordPress 包含一个有用的文档修订功能,可帮助您跟踪帖子编辑的更改,您还可以恢复到任何以前版本的博客帖子。 然而,发布修订确实会增加您的 WordPress wp_posts 表的大小,因为每个修订都意味着一个额外的行。
要在 WordPress 中禁用后期修订,请打开 WordPress 目录中的 wp-config.php 文件并添加以下行:
define( 'WP_POST_REVISIONS', false);
或者,如果您想保留发布修订功能,您可以只限制 WordPress 存储在 MySQL 数据库中的发布修订数量。 将此行添加到 wp-config 文件以仅存储最近的 3 次编辑。
define( 'WP_POST_REVISIONS', 3);
6.更改发布自动保存间隔
当您在 WordPress 编辑器中编辑博客文章时,它会在您键入时自动保存您的草稿,这将有助于在浏览器崩溃时恢复您的工作。 草稿每分钟保存一次,但您可以通过在 wp-config.php 文件中添加一行来将默认持续时间更改为 120 秒(或 2 分钟)。
define( 'AUTOSAVE_INTERVAL', 120 );
7.隐藏非必要的 WordPress RSS 源
您的 WordPress 安装会生成多个 RSS 提要 - 博客提要、文章提要、评论提要、类别提要、存档提要等 - 这些是自动发现的,因为它们使用<link>
包含在您的博客页面的 HTML 标题中元标记。 如果您只想公开您的主要 RSS 提要并从 中删除其他提要,请在您的 functions.php 文件中添加一行:
remove_action( 'wp_head', 'feed_links', 2 ); remove_action( 'wp_head', 'feed_links_extra', 3 );
8. 维护单一 RSS 提要,重定向其他提要
在上一步中,我们只是从站点标题内的打印中删除了 RSS 提要,但 RSS 提要仍然存在。 如果您只想通过 FeedBurner 提供一个 RSS 提要并禁用所有其他提要,请将其添加到您的 .htaccess 文件中。 请记住将提要 URL 替换为您自己的。
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC] RewriteRule ^feed/?.*$ http://feeds.labnol.org/labnol [L,NC,R=301] </IfModule>
9.禁用WordPress登录提示
当您在登录 WordPress 时输入不存在的用户名或不正确的密码时,它会提供非常详细的错误消息,准确地告诉您您的用户名是错误的还是密码不匹配。 这可能会为试图闯入您的 WordPress 博客的人提供提示,但幸运的是,我们可以禁用登录警告。
function no_wordpress_errors(){ return 'GET OFF MY LAWN !! RIGHT NOW !!'; } add_filter( 'login_errors', 'no_wordpress_errors' );
10.启用两因素身份验证
这是强烈推荐的。 如果有人掌握了您的 WordPress 凭据,他们仍然需要您的手机才能进入您的 WordPress 仪表板。
与 Dropbox 或 Google 不同,两步验证不是 WordPress 的一部分,但您始终可以使用 Authy 插件来启用两步验证。
11.更改永久链接结构
不要使用 WordPress 的默认永久链接结构,因为它不利于 SEO。 转到 WordPress 仪表板中的选项 -> 永久链接,然后将 WordPress 永久链接结构更改为:
Option 1. /%post_id%/%postname% Option 2. /%category%/%postname%/%post_id%/
12. 添加网站图标和触摸图标
您的 WordPress 主题甚至可能不包含对 favicon (favicon.ico) 或 Apple 触摸图标的引用,但网络浏览器和提要阅读器仍可能从您的服务器请求它们。 提供文件总是比返回 404 更好。
首先,创建一个 16x16 favicon.ico 和一个 144x144 apple-touch.png 文件并将它们上传到您博客的主目录。 然后将此行添加到您的 .htaccess 以将所有苹果触摸图标请求重定向到该特定文件。
RedirectMatch 301 /apple-touch-icon(.*)?.png http://example.com/apple-touch.png
13. 禁止 WordPress 脚本的索引
您希望 Google 和其他搜索引擎抓取和索引您的博客页面,而不是 WordPress 安装的各种 PHP 文件。 打开 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. 让管理员成为订阅者
如果您的 WordPress 用户名是“admin”,请创建一个新用户并授予他们管理员权限。 现在退出 WordPress,以新用户身份登录并将用户“admin”的权限从管理员更改为订阅者。
您甚至可以考虑删除用户“admin”并将任何现有的帖子/页面转移给新用户。 出于安全原因,这很重要,因为您不希望任何人猜测对您的 WordPress 安装具有管理员权限的用户名。
15. 对搜索引擎隐藏 XML 站点地图
XML 站点地图将帮助搜索引擎更好地抓取您的站点,但您不希望搜索引擎在搜索结果页面中实际显示您的站点地图。 将此添加到您的 .htaccess 以防止对 XML 站点地图进行索引。
<IfModule mod_rewrite.c> <Files sitemap.xml> Header set X-Robots-Tag "noindex" </Files> </IfModule>
16. 不要使用 WordPress 搜索
确保您的网站搜索由 Google 自定义搜索提供支持,并且不要使用 WordPress 的内置搜索功能。 WordPress 搜索返回的结果相关性较低,另一个优点是它将减少 WordPress 服务器/数据库的压力,因为搜索查询将通过 Google 处理。
或者,如果您打算继续使用 WordPress 内置搜索,请使用 Nice Search 插件。 它为您的 WordPress 搜索页面(/search/tutorials vs /?s=tutorials)创建了更好的永久链接。
17.密码保护wp-admin目录
您可以通过密码保护 wp-admin 目录轻松地为您的 WordPress 安装添加另一层安全性。 但是,您必须记住两组登录 WordPress 的凭据——您的 WordPress 密码和保护 wp-admin 目录的密码。
18. 在 Google Analytics 中记录 404 错误
404 错误是一个错失的机会。 您可以使用 Google Analytics 中的事件来记录您的 404 错误,包括有关指向您网站的 404 页面的引荐网站的详细信息。 在您的 404.php 文件中添加此代码段。
<? if (is_404()) { ?> _gaq.push(['_trackEvent', '404', document.location.pathname + document.location.search, document.referrer, 0, true]); <? } ?>
19. 删除未使用的主题和 WordPress 插件
未使用的插件和主题不会影响您的 WordPress 网站的性能,但目标应该是在我们的服务器上拥有尽可能少的可执行代码。 因此停用并删除您不再需要的东西。
20. 阻止 WordPress 猜测 URL
WordPress 有一个奇怪的猜测 URL 的习惯,而且在大多数情况下它确实会出错。 让我解释。 如果用户请求 labnol.org/hello URL,但如果该页面不存在,WordPress 可能会将该用户重定向到 labnol.org/hello-world,因为这些 URL 包含一些常用词。
如果您希望 WordPress 停止猜测 URL,而是针对丢失的页面发出 404 Not Found 错误,请将以下代码段放入 functions.php 文件中:
add_filter('redirect_canonical', 'stop_guessing'); function stop_guessing($url) { if (is_404()) { return false; } return $url; }
21. 为静态内容设置过期标头
托管在您的 WordPress 网站上的静态文件(如图像、CSS 和 JavaScript)不会经常更改,因此您可以为它们设置 Expire Headers 以便文件缓存在用户的浏览器上。 因此,在随后的访问中,您的站点将加载相对较快,因为 JS 和 CSS 文件将从本地缓存中获取。
有关设置过期和压缩标头以提高性能的详细信息,请参阅 HTML5 样板。 如果您使用的是 W3 Total 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"
23. 提高 WordPress 安全性
我之前已经详细讨论过 WordPress 的安全性。 要点是您应该在 wp_config.php 文件中添加密钥,安装文件监控插件(如 Sucuri 或 WordFence),更改 WordPress 表前缀并限制登录尝试以防止暴力攻击。
24. 禁用 WordPress 中的文件编辑
当您以管理员身份登录 WordPress 仪表板时,您可以轻松编辑与您的 WordPress 插件和主题相关的任何 PHP 文件。 如果您想删除文件编辑功能(缺少一个分号可能会关闭您的 WordPress 站点),请将此行添加到您的 wp-config.php 文件中:
define( 'DISALLOW_FILE_EDIT', true );
25. 从 URL 中删除额外的查询参数
如果您的 WordPress 网站的网址是 abc.com,那么如果在 URL 中添加一些查询参数,人们仍然可以访问您的网站。 例如,从技术上讲,abc.com/?utm=ga 或 abc.com/?ref=feedly 是完全不同的 URL,但可以正常工作。
这很糟糕,因为它会稀释您的链接资产 (SEO),并且在理想情况下,您希望所有 URL 都指向规范版本。 将此小片段添加到您的 .htaccess 文件中,它将从所有传入请求中删除不必要的查询参数。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} !="" RewriteCond %{QUERY_STRING} !^p=.* RewriteCond %{QUERY_STRING} !^s=.* RewriteCond %{REQUEST_URI} !^/wp-admin.* RewriteRule ^(.*)$ /$1? [R=301,L] </IfModule>
26.删除管理栏
这是 WordPress 的一个令人讨厌的功能 - 它在所有页面的顶部添加了一个管理栏,所有登录到其 WordPress.com 帐户的用户都可以看到该管理栏。 然而,这可以通过在您的 functions.php 文件中添加一行来删除。
add_filter('show_admin_bar', '__return_false');
27. 处理广告拦截器
您的一些博客读者可能正在使用广告拦截软件来阻止从您的网站投放广告。 您可以提供替代内容,例如热门 WordPress 帖子列表或嵌入 YouTube 视频。
28. 在您的 RSS 提要中插入品牌
您可以轻松地将您的品牌徽标添加到 RSS 提要中的所有文章中。 由于这些是从您的服务器提供的,因此您可以通过重新发布您的提要来为抄袭您的内容的网站提供不同的图像。 将此添加到您的 functions.php 文件中。
function add_rss_logo($content) { if(is_feed()) { $content .= "<hr><a href='blog_url'><img src='logo_url'/></a>"; } return $content; } add_filter('the_content', 'add_rss_logo'); add_filter('the_excerpt_rss', 'add_rss_logo');
29. 安装基本插件
这是我使用和推荐的 WordPress 插件的完整列表。
30. 长时间保持登录状态
如果您选中“记住我”选项,WordPress 将使您保持登录状态 2 周。 如果您只是从个人计算机登录 WordPress,您可以通过将其添加到您的 functions.php 文件来轻松延长授权登录 cookie 的到期日期。
add_filter( 'auth_cookie_expiration', 'stay_logged_in_for_1_year' ); function stay_logged_in_for_1_year( $expire ) { return 31556926; // 1 year in seconds }
31. 删除 WordPress 表情符号
从 v4.2 开始,WordPress 现在将 Emoji 相关文件插入您网站的标题中。 如果您不打算在博客中使用表情符号和表情符号,您可以通过在 functions.php 文件中添加以下行来轻松摆脱这些额外的文件:
remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
32. 跟踪您的打印页面
您可以使用 Google Analytics 跟踪您网站的打印使用情况。 当访问者打印您网站上的任何页面时,一个事件将被记录到 Analytics 中,您将知道将哪些类型的内容发送到打印机。 同样,您也可以在打印的页面上添加二维码,人们可以通过手机扫描二维码轻松找到源 URL。
另请参阅:WordPress 的 Linux 命令