WordPress Core Database Tables
Every WordPress installation includes 12 core database tables. These are created by WordPress itself — not by plugins. Here's what each one stores.
wp_postsWP CoreThe central WordPress table. Stores all posts, pages, custom post types, revisions, attachments, and navigation menu items.
IDpost_authorpost_datepost_contentpost_titlepost_statuspost_typewp_postmetaWP CoreStores custom fields (metadata) attached to posts. This is where post metadata, ACF fields, and plugin-specific post data is stored.
meta_idpost_idmeta_keymeta_valuewp_commentsWP CoreStores all comments, pingbacks, and trackbacks.
comment_IDcomment_post_IDcomment_authorcomment_datecomment_contentcomment_approvedwp_commentmetaWP CoreStores metadata for comments as key-value pairs.
meta_idcomment_idmeta_keymeta_valuewp_termsWP CoreStores taxonomy terms — categories, tags, and any custom taxonomy terms.
term_idnameslugterm_groupwp_term_taxonomyWP CoreAssociates terms with their taxonomy (category, post_tag, nav_menu, etc.) and stores term counts.
term_taxonomy_idterm_idtaxonomydescriptioncountwp_term_relationshipsWP CoreThe join table connecting posts (and other objects) to taxonomy terms.
object_idterm_taxonomy_idterm_orderwp_termmetaWP CoreStores metadata for taxonomy terms as key-value pairs.
meta_idterm_idmeta_keymeta_valuewp_optionsWP CoreThe WordPress configuration store. Holds site settings, plugin options, widget configurations, and any data plugins want to persist globally.
option_idoption_nameoption_valueautoloadwp_usersWP CoreStores WordPress user accounts including admins, editors, and subscribers.
IDuser_loginuser_passuser_emailuser_registereduser_statuswp_usermetaWP CoreStores metadata for users — roles, capabilities, profile data, and plugin-specific user settings.
umeta_iduser_idmeta_keymeta_valuewp_linksWP CoreStores the blogroll. A legacy feature from early WordPress, rarely used in modern sites.
link_idlink_urllink_namelink_visibleAbout table prefixes
By default, WordPress uses the wp_ prefix for all tables. This can be changed in wp-config.php using the $table_prefix variable. If your site uses a custom prefix like mysite_, all table names above will use that prefix instead.