{"id":774,"date":"2026-10-20T09:03:46","date_gmt":"2026-10-20T08:03:46","guid":{"rendered":"https:\/\/userswp.io\/documentation\/article\/deleted-users-still-in-database-multisite\/"},"modified":"2026-10-20T09:03:46","modified_gmt":"2026-10-20T08:03:46","slug":"deleted-users-still-in-database-multisite","status":"publish","type":"gd_place","link":"https:\/\/userswp.io\/documentation\/article\/troubleshooting\/deleted-users-still-in-database-multisite\/","title":{"rendered":"Deleted users still in the UsersWP table on multisite"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">UsersWP keeps profile data in its own table, <code>uwp_usermeta<\/code>, with one row per user, and deletes that row when the user is deleted or removed from the site. On multisite, &#8220;delete&#8221; in a subsite does not delete the account, which is why users can seem to stay behind.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Remove and delete on multisite<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In a subsite&#8217;s Users screen, WordPress only removes the user from that site. The account stays in the network, so the same email address cannot register again. To delete the account itself, go to Network Admin > Users and delete it there.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Which table UsersWP uses<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Network activated: one shared table for the whole network with the main prefix, for example <code>wp_uwp_usermeta<\/code>.<\/li>\n\n\n\n<li>Activated on each site: every site has its own table with that site&#8217;s prefix, for example <code>wp_3_uwp_usermeta<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">When a user is removed from a site, UsersWP deletes their row from the table it uses on that site. With the shared table, that clears their UsersWP profile data for the whole network. UsersWP has to be active on the site where the user is removed or deleted. If it is not active there, its code does not run and the row stays.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">See <a href=\"https:\/\/userswp.io\/documentation\/article\/installation\/using-userswp-on-multisite-networks\/\">Using UsersWP on Multisite Networks<\/a> for the installation types.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Clean up rows left behind<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rows for users who no longer exist do no harm, but you can remove them with SQL, for example in phpMyAdmin. Back up the database first and change the table names to match your site.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-sql\">DELETE FROM wp_3_uwp_usermeta\nWHERE user_id NOT IN ( SELECT ID FROM wp_users );<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On multisite all users live in the network&#8217;s main users table (<code>wp_users<\/code> above), even when the UsersWP table has a site prefix.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UsersWP keeps profile data in its own table, uwp_usermeta, with one row per user, and deletes that row when the user is deleted or removed from the site. On multisite, &#8220;delete&#8221; in a subsite does not delete the account, which is why users can seem to stay behind. Remove and delete on multisite In a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"article\/tags":[],"article\/categories":[39,7],"class_list":["post-774","gd_place","type-gd_place","status-publish","hentry","gd_placecategory-troubleshooting","gd_placecategory-tips-tricks-more"],"_links":{"self":[{"href":"https:\/\/userswp.io\/documentation\/wp-json\/wp\/v2\/article\/774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/userswp.io\/documentation\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/userswp.io\/documentation\/wp-json\/wp\/v2\/types\/gd_place"}],"author":[{"embeddable":true,"href":"https:\/\/userswp.io\/documentation\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/userswp.io\/documentation\/wp-json\/wp\/v2\/comments?post=774"}],"version-history":[{"count":0,"href":"https:\/\/userswp.io\/documentation\/wp-json\/wp\/v2\/article\/774\/revisions"}],"wp:attachment":[{"href":"https:\/\/userswp.io\/documentation\/wp-json\/wp\/v2\/media?parent=774"}],"wp:term":[{"taxonomy":"gd_place_tags","embeddable":true,"href":"https:\/\/userswp.io\/documentation\/wp-json\/wp\/v2\/article\/tags?post=774"},{"taxonomy":"gd_placecategory","embeddable":true,"href":"https:\/\/userswp.io\/documentation\/wp-json\/wp\/v2\/article\/categories?post=774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}