删除不必要的wordpress用户元数据是否安全



我的Wordpress站点存在性能问题,由于注册用户的数量,wp_usermeta表有近7000万行。

用户没有修改个人资料的权限,所以我考虑删除Wordpress在注册新用户时创建的不必要的元数据。以下行是为普通用户创建的:

+----------------------+------------------------------+
| meta_key             | meta_value                   |
+----------------------+------------------------------+
| nickname             | [USER_NICKNAME]              |
| first_name           |                              |
| last_name            |                              |
| description          |                              |
| rich_editing         | true                         |
| syntax_highlighting  | true                         |
| comment_shortcuts    | false                        |
| admin_color          | fresh                        |
| use_ssl              | 0                            |
| show_admin_bar_front | true                         |
| locale               |                              |
| wpe_capabilities     | a:1:{s:10:"subscriber";b:1;} |
| wpe_user_level       | 0                            |
| default_password_nag |                              |
| session_tokens       | [SESSION_DATA]               |
+----------------------+------------------------------+

我已经考虑删除除nicknamesession_tokens之外的所有行。如果我这样做会有问题吗?Wordpress有没有办法不为新用户创建这些行?

是的,它是安全的。

检查此解决方案

这里已经对此进行了全面的解释。

删除不必要的WP Postmeta

你所要做的就是在你的主题函数中添加以下内容。php文件

function delete_useless_post_meta() {
global $wpdb;
$table = $wpdb->prefix.'postmeta';
$wpdb->delete ($table, array('meta_key' => '_edit_last'));
$wpdb->delete ($table, array('meta_key' => '_edit_lock'));
$wpdb->delete ($table, array('meta_key' => '_wp_old_slug')); }
add_action('wp_logout','delete_useless_post_meta');

更好的方法是改进中描述的usermeta的索引

http://mysql.rjweb.org/doc.php/index_cookbook_mysql#speeding_up_wp_postmeta

(讨论了根据需要调整postmeta以修改usermeta。(

最新更新