WordPress 数据库存储网站的所有内容,包括博客文章、页面、评论和自定义帖子类型,例如链接、表单条目和组合项目。让事情变得复杂的是,数据库还存储网站、主题和插件的所有设置和配置。
如何通过代码和插件优化 WordPress 数据库
- WordPress 数据库结构
- 优化 WordPress 数据库
- 处理垃圾评论
- 删除的项目
- 使用 WP-Optimize 优化数据库
- WordPress 缓存
如果您定期更新网站,数据库将继续增长以适应所有更改。大型数据库会显着影响网站的性能,因为服务器需要大量时间从大型数据库表中检索信息。这就是为什么数据库优化对于任何 WordPress 支持的网站都非常重要。
WordPress 数据库结构
WordPress 数据库有以下相互关联的表
- wp_commentmeta – 存储有关评论的元信息。
- wp_comments – 存储在网站上发表的评论。
- wp_links – 存储博客链接。
- wp_options – 存储在管理设置区域中定义的选项。
- wp_postmeta – 存储帖子元信息。
- wp_posts – 存储有关帖子、页面和其他自定义帖子类型的数据。
- wp_terms – 存储帖子和链接的帖子标签和类别。
- wp_term_relationships – 存储帖子、类别和标签之间的关联以及链接和链接类别之间的关联
- wp_term_taxonomy – 存储有关 wp_terms 表中使用的分类(类别、链接或标签)的描述
- wp_usermeta – 存储有关用户的元信息
- wp_users – 存储用户信息
有关数据库结构和核心表的更多信息,请查看WordPress.org 上的数据库描述页面
优化 WordPress 数据库
您可以使用 SQL 命令 OPTIMIZE TABLE 来优化受开销(太多混乱)影响的表。例如,您可以通过执行以下 SQL 查询来优化 wp_posts 表:
优化表“wp_posts”
优化数据库所需要做的就是单击“全部选中”框,然后单击“优化”按钮。
优化过程完成后,您将看到以下屏幕:
处理垃圾评论
垃圾评论也可以通过以下SQL命令删除:
1从wp_comments中删除comment_approved = '垃圾邮件'
同样,可以使用以下 SQL 命令删除所有等待批准的评论:
1从wp_comments中删除comment_approved = ‘0’
删除的项目
每当您从 WordPress 网站删除项目(博客文章、页面、图像、评论或链接)时,它都会被发送到垃圾文件夹。
首先,将其放入wp-config.php中:
定义('SAVEQUERIES',true);
然后,在主题的页脚中添加以下代码块:
12345678 <?php如果 ( 当前用户可以( '行政人员' ) ) {全球的 $wpdb ;回声 “<前>” ;打印_r ( $wpdb- >查询 ) ;回声 “</pre>” ; } ?>
已删除的项目将继续存储在数据库中,直到清空垃圾箱为止。默认情况下,垃圾项目将在 30 天后永久删除。
可以通过将以下代码添加到wp-config.php文件来更改垃圾清空前的天数:
1定义( '清空垃圾日' , 7 ) ; // 7天
这将在 7 天后清空垃圾箱。通过将以下代码行添加到wp-config.php文件中可以完全禁用垃圾系统。
1定义( '清空垃圾日' , 0 ) ; // 零日
使用 WP-Optimize 优化数据库
WP-Optimize 是一个有效的工具,可以自动清理 WordPress 数据库,使其以最高效率运行。
WP-Optimize可用于删除帖子修订、草稿、垃圾评论、未经批准的评论、垃圾箱中的评论、临时选项、pingback 和引用。
WordPress 缓存
虽然浏览器会自动缓存一些数据(例如 JavaScript 和 CSS 文件),但您可以借助.htaccess文件微调该过程。
123456789 # 开始 Gzip < IfModule mod_deflate . c > AddOutputFilterByType DEFLATE文本/文本文本/ html文本/纯文本/ xml文本/ css应用程序/ x – javascript应用程序/ javascript </IfModule> # END Gzip
123456789101112131415161718192021222324252627 # BEGIN EXPIRES < IfModule mod_expires . c > ExpiresActive On ExpiresDefault “访问加 10 天” ExpiresByType text / css “访问加 1 个月” ExpiresByType文本/纯文本 “访问加 1 个月” ExpiresByType图片/ gif “访问加 1 个月” ExpiresByType图片/ png “访问加 1 个月” ExpiresByType图片/ jpeg “访问加 1 个月” ExpiresByType应用程序/ x – javascript “访问加 1 个月” ExpiresByType应用程序/ javascript “访问加 1 个月” ExpiresByType应用程序/ x –图标 “访问权限加1年” </IfModule> #END EXPIRES
尽管此代码完全清除了客户端浏览器缓存。您可以将代码片段添加到您的应用程序中,以便最近的更改反映到客户端的浏览器中。在<head>标签中:
12345 <元http – equiv = “缓存控制” 内容= “无缓存” / > < meta http – equiv = “Pragma” 内容= “无缓存” / > < meta http – equiv = “过期” 内容= “0” // >
结论
清理数据库是非常重要的实践,尤其是当数据库的大小足够大时。在本文中,我讨论了通过 SQL 查询、.htacces 规则和代码片段优化 WordPress 数据库的几种方法。如果您进一步帮助优化您的 WordPress 数据库,请在下面发表评论,我会尽快回复您。
RSS