Struktura bazy danych WordPress

WordPress i niemal wszystkie pluginy przechowują swoje ustawienia w unikalnym miejscu na serwerze nazywanym „bazą danych”. Dane przechowywane w bazie są zorganizowane w tzw. „tabelach”. Ten artykuł szczegółowo wyjaśnia znaczenie wszystkich dostępnych pól domyślnej struktury bazy danych WordPress.

TL;DR: WordPress przechowuje większość danych witryny w bazie MySQL lub MariaDB. Standardowa jednowitrynowa instalacja WordPress używa obecnie 12 domyślnych tabel z konfigurowalnym prefiksem, najczęściej wp_. Tabele te przechowują wpisy, strony, użytkowników, ustawienia, komentarze, terminy taksonomii i metadane, a pluginy, motywy, WooCommerce oraz instalacje multisite mogą dodawać kolejne tabele.

Uwaga: Aby bezpiecznie sprawdzić bazę danych WordPress, wykonaj Backup witryny lub utwórz środowisko staging przy pomocy WP STAGING. Następnie użyj narzędzia zarządzania bazą danych, np. phpMyAdmin lub Adminer, aby uzyskać dostęp i zmodyfikować bazę bez wpływu na żywą witrynę.

Tabele bazy danych WordPress w skrócie

Standardowa jednowitrynowa instalacja WordPress używa obecnie 12 domyślnych tabel bazy danych. Poniższa tabela podsumowuje, co każda tabela przechowuje, gdzie WordPress jej używa i co może się zepsuć, jeśli tabela jest brakująca lub uszkodzona.

TabelaPrzechowujeWykorzystywana doCo się psuje, jeśli brakuje lub jest uszkodzona
wp_optionsURL witryny, aktywne pluginy, ustawienia motywu, transients, reguły rewrite, dane cronBootstrap WordPress, ustawienia pluginów, konfiguracja witrynyZłe przekierowania URL, brakujące ustawienia, błędy pluginów, zepsuty cron, wolne autoloadowane opcje
wp_postsWpisy, strony, załączniki, rewizje, menu, niestandardowe typy wpisówTreść, biblioteka mediów, menu nawigacji, dane wielu pluginówBrakujące strony/wpisy/media, zepsute menu, brakujące wpisy niestandardowych typów
wp_postmetaMetadane dla wpisów, stron, załączników, produktów, page builderów, pluginów SEOObrazy wyróżnione, dane produktów, pola SEO, układy page builderówBrakujące obrazy, zepsute układy, brakujące dane produktów, niekompletne metadane SEO
wp_usersKonta użytkowników, loginy, hashe haseł, emaile, nazwy wyświetlaneUwierzytelnianie i autorstwoUżytkownicy nie mogą się zalogować, autorzy znikają
wp_usermetaRole użytkowników, uprawnienia, pola profilu, ustawienia użytkowników pluginówUprawnienia i ustawienia specyficzne dla użytkownikaAdmin traci uprawnienia, role znikają, ustawienia użytkowników się psują
wp_commentsKomentarze, pingbacki, trackbacki, recenzjeKomentarze i systemy recenzjiKomentarze lub recenzje znikają
wp_commentmetaMetadane dla komentarzy i recenzjiStatus spamu, oceny, dane komentarzy pluginówMetadane recenzji, dane spamu lub dane komentarzy pluginów są tracone
wp_termsNazwy i slugi terminówKategorie, tagi, kategorie linków, terminy niestandardowych taksonomiiNazwy kategorii i tagów znikają
wp_termmetaMetadane dla terminów taksonomiiObrazy terminów, metadane SEO, niestandardowe pola terminówMetadane kategorii/tagów znikają
wp_term_taxonomyTyp taksonomii, relacja rodzica, liczniki terminówRozróżnia kategorię od tagu i taksonomii niestandardowejKategorie/tagi zostają nieprawidłowo zmapowane lub tracą hierarchię
wp_term_relationshipsRelacje między treścią a terminami taksonomiiPrzypisuje wpisy/produkty/strony do kategorii i tagówWpisy tracą kategorie/tagi, menu i relacje taksonomii się psują
wp_linksDziedziczone dane menedżera linków / blogrollWycofana funkcja Links Manager i stare pluginyZwykle nic na nowoczesnych witrynach, chyba że stary plugin nadal jej używa

Jak wyglądają tabele bazy danych?

Wyobraź sobie arkusz Excel z jednym wierszem nagłówka i wartościami w kolejnych wierszach.

Na przykład tutaj widzisz niewielki fragment tabeli wp_options:

Nagłówek bazy danych WordPress tabeli wp_options

Porozmawiajmy o tych tabelach głębiej, by zrozumieć, dlaczego warto wiedzieć, która tabela odpowiada za zawartość witryny WordPress.

Zrozumienie struktury tabel pomoże ci zorientować się, którą tabelę uwzględnić lub wykluczyć, jeśli planujesz synchronizować lub przenosić dane z witryny staging na żywą lub odwrotnie z WP STAGING. Jest też pomocne, jeśli planujesz aktualizację witryny staging.

Staje się to jeszcze ważniejsze przy WordPress 7.0 i nowszych. Planowana tabela wp_collaboration przechowuje dane współpracy edytora w czasie rzeczywistym, które są zwykle tymczasowe i specyficzne dla środowiska. Przy push witryny staging na żywą unikaj nadpisywania aktywnego stanu współpracy żywej witryny, chyba że celowo chcesz zastąpić całą bazę danych.

Lista tabel rdzenia WordPress

Powyższa tabela daje szybki przegląd. Poniższa sekcja wyjaśnia tabele rdzenia WordPress bardziej szczegółowo – dla deweloperów, właścicieli witryn i każdego, kto debuguje migracje, Backupy lub problemy z bazą danych.

WordPress może dodawać nowe tabele rdzenia w głównych wydaniach. Na przykład WordPress 7.0 planuje wprowadzić `wp_collaboration` dla danych współpracy edytora w czasie rzeczywistym.

Inne tabele w twojej bazie danych są tworzone przez pluginy lub motywy i nie zawsze są niezbędne do działania witryny.

wp_options

Tabela wp_options to jedna z najważniejszych tabel bazy danych WordPress, przechowująca wszystkie ustawienia witryny WordPress, takie jak URL, tytuł, zainstalowane pluginy itd. Większość pluginów również przechowuje tu swoje ustawienia.

Wszystkie ustawienia z panelu WordPress są przechowywane w tej tabeli.

wp_users,
wp_usermeta

wp_users przechowuje wszystkich zarejestrowanych użytkowników witryny WordPress. Zawiera podstawowe informacje o użytkowniku, takie jak nazwa użytkownika i zaszyfrowane hasło, email, czas rejestracji, nazwa wyświetlana, status i kilka innych pól.

wp_usermeta przechowuje metadane („dodatkowe dane”) użytkowników. Rozszerza tabelę wp_users o więcej danych. Na przykład imię użytkownika jest przechowywane w tabeli wp_usermeta zamiast w tabeli wp_users.

W tej tabeli są dwa niezbędne pola. Pluginy mogą przechowywać własne dane w wp_usermeta, dodając nową wartość w polu meta_key.

wp_posts,
wp_postmeta

Tabela wp_posts przechowuje wszystkie dane związane z treścią witryny WordPress. Wszystkie wpisy, strony i ich rewizje są dostępne w tabeli wp_posts. Może to być niejasne, ale WordPress przechowuje w tej tabeli znacznie więcej.

Ta tabela zawiera również pozycje menu nawigacji, pliki mediów i załączniki, np. obrazy, oraz dane treści używane przez pluginy.

W wp_posts jest kolumna post_type, która segmentuje różnego rodzaju dane, tak by zapytanie do bazy mogło prosić o konkretne typy danych. post_type jest najważniejszą kolumną w tej tabeli.

Na obrazach poniżej widzisz dwa różne post_types: revision i attachment, które są przechowywane w tej samej tabeli wp_posts:

Tabela wp_posts kolumna attachment post_type
Tabela wp_posts kolumna revision post_type

Tabela wp_postmeta, podobnie jak wp_usermeta, rozszerza tabelę wp_posts o więcej danych, których mogą używać również inne pluginy.

Na przykład popularny plugin Yoast SEO przechowuje w tej tabeli niestandardowe tagi open graph, wpisy i dane URL.

wp_terms,
wp_term_relationships,
wp_term_taxonomy,
wp_termmeta

Tabela wp_terms przechowuje Kategorie i tagi dla wpisów, stron i linków.

Jedna z kolumn tej tabeli to „slug”. Slug to termin odzwierciedlający tag konkretnego wpisu. W WordPress możesz używać tagów do łączenia wpisów, stron i linków.

wp_term_relationships jest spoiwem łączącym te tagi z wpisami, stronami i linkami. To jak mapa między obiektami terminów a samymi terminami.

wp_term_taxonomy rozszerza tabelę wp_terms o więcej danych. To jak metadane dla tabeli wp_terms, z tą różnicą, że pluginy nie mogą dodawać tu własnych danych. Ta tabela zawiera również relację między menu a pozycjami menu.

Tabela wp_termmeta przechowuje metadane dla terminów taksonomii. Działa podobnie do wp_postmeta, wp_usermeta i wp_commentmeta, ale dla kategorii, tagów i terminów niestandardowych taksonomii.

Pluginy i motywy mogą używać tej tabeli do przechowywania dodatkowych danych terminów, takich jak obrazy kategorii, metadane SEO, niestandardowe kolory, ustawienia wyświetlania czy inne pola specyficzne dla taksonomii.

Jeśli ta tabela jest brakująca lub niekompletna po migracji, kategorie i tagi mogą nadal istnieć, ale ich dodatkowe metadane mogą zostać utracone.

wp_comments,
wp_commentmeta

wp_comments przechowuje komentarze do wpisów i stron. Ta tabela zawiera też niezatwierdzone komentarze i informacje o autorze, wraz z hierarchią komentarzy. Tabela wp_commentmeta zawiera dalsze metadane o komentarzach.

Ta tabela zawiera informacje o niestandardowych linkach dodanych do witryny. Została wycofana i nie jest już używana. Jest kilka starszych pluginów, które wciąż z niej korzystają, ale zwykle jest to pusta tabela.

Nadchodząca tabela WordPress 7.0: wp_collaboration

`wp_collaboration` to nowa tabela bazy danych rdzenia WordPress planowana na WordPress 7.0. Jest częścią funkcji współpracy w czasie rzeczywistym w edytorze blokowym, pozwalającej wielu użytkownikom edytować ten sam wpis lub stronę jednocześnie.

Wcześniejsze wersje beta WordPress 7.0 przechowywały dane synchronizacji związanej ze współpracą w magazynie wpisów i postmeta. Powodowało to problemy z wydajnością, bo aktywność edytora w czasie rzeczywistym może bardzo często zapisywać dane. Każda aktualizacja postmeta może unieważniać cache obiektów związanych z wpisem, co może zmniejszyć skuteczność trwałego cachowania obiektów, gdy sesja edytora jest otwarta.

Nowa tabela `wp_collaboration` oddziela dane współpracy o wysokiej częstotliwości od zwykłych tabel treści, takich jak `wp_posts` i `wp_postmeta`. Jej celem jest przechowywanie tymczasowych danych synchronizacji używanych przez edytor, np. aktualizacji edycji współpracy, identyfikatorów klienta/sesji, informacji o pokoju i znaczników czasu używanych do czyszczenia.

Ta tabela **nie** zastępuje `wp_posts`, `wp_postmeta` ani systemu rewizji WordPress. Wpisy, strony, załączniki, niestandardowe typy wpisów i rewizje nadal są przechowywane w `wp_posts`; metadane specyficzne dla wpisów pozostają w `wp_postmeta`.

Dla Backupów i migracji traktuj `wp_collaboration` inaczej niż stałe tabele treści. Pełny Backup bazy powinien ją obejmować, ale przy push witryny staging na produkcję ta tabela zwykle nie musi nadpisywać żywej witryny, ponieważ przechowuje krótkotrwałe dane współpracy/sesji, a nie kanoniczną treść witryny. WordPress może odtworzyć stan współpracy, gdy użytkownicy edytują treść.

Ważne: choć dane są tymczasowe, mogą nadal zawierać payloady synchronizacji edytora związane z treścią w trakcie tworzenia. Nie traktuj ich jako publicznych lub jednorazowych z perspektywy prywatności i bezpieczeństwa.

Uwaga: Ostateczny schemat może się jeszcze zmienić przed wydaniem WordPress 7.0. W trakcie rozwoju publiczne propozycje dla `wp_collaboration` zawierały pola takie jak auto-inkrementujące się ID, identyfikator pokoju, identyfikatory klienta/użytkownika, payload danych i znacznik czasu GMT. Niedawne testy badają też przechowywanie danych obecności/awareness w osobnej tabeli `wp_presence`. Sprawdź ostateczny schemat bazy danych WordPress 7.0 przed publikacją dokładnej listy kolumn.

Graficzna struktura bazy danych WordPress

Ten diagram pokazuje, jak tabele WordPress są ze sobą połączone:

Struktura bazy danych WordPress i tabele - SVG

Otwórz obraz w pełnej rozdzielczości: kliknij prawym przyciskiem -> Otwórz obraz w nowej karcie

Częste problemy z bazą danych WordPress i tabele za nimi stojące

ProblemNajbardziej istotna tabela(e)Co sprawdzić
Witryna przekierowuje na złą domenę po migracjiwp_optionsSprawdź siteurl, home i zserializowane opcje pluginów
Użytkownik admin istnieje, ale nie ma uprawnień adminawp_usermetaSprawdź klucz capabilities, zwłaszcza po zmianie prefiksu tabel
Wpisy istnieją, ale brakuje kategorii lub tagówwp_terms, wp_term_taxonomy, wp_term_relationshipsSprawdź, czy wszystkie tabele taksonomii zostały razem zmigrowane
Wpisy biblioteki mediów istnieją, ale obrazy są zepsutewp_posts, wp_postmeta, folder uploadsZałączniki są przechowywane w wp_posts; ścieżki plików są często przechowywane w _wp_attached_file w wp_postmeta
Menu znikają po migracjiwp_posts, wp_terms, wp_term_relationships, wp_postmetaMenu nawigacji są przechowywane w kilku tabelach
Ustawienia pluginów znikająwp_options, czasem tabele specyficzne dla pluginuSprawdź, czy plugin przechowuje ustawienia w wp_options czy w niestandardowych tabelach
Witryna staje się wolna po migracjiwp_options, wp_postmetaSprawdź autoloadowane opcje i duże tabele metadanych
Komentarze lub recenzje znikająwp_comments, wp_commentmetaMigruj obie tabele razem
WordPress mówi, że tabela nie istniejewp-config.php, wszystkie tabele z prefiksemSprawdź $table_prefix i czy wszystkie tabele używają tego samego prefiksu

Updated on 23 maja, 2026

Rene Hermenau

Autor: Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.