Struktura WordPress databáze

Aktualizováno 5. ledna 2024

Nikdo si nemůže pamatovat všechno. A pokud nepracujete s WordPressem každý den, bude se vám určitě hodit infografika se strukturou databáze tohoto redakčního systému.

Doplnění:
Přestože jsem tuto infografiku našel na jakémsi španělském blogu, jedná se o zobrazení struktury databáze z codexu WordPressu.

Podrobnosti k tabulce

Předpona „wp_“ u tabulek není podmínkou! Tato předpona je výchozí, a ve WordPressu se běžně používá. Změnit se dá již při instalaci, viz obrázek:

Rozhodně bych doporučoval tuto předponu změnit na vlastní. Můžeme díky tomu používat jednu databázi pro více WordPress instalací(nepraktické), ale hlavně tím zlepšíme zabezpečení databáze a vyhneme se tak možným budoucím problémům.

Protože je předpona „wp_“ nejrozšířenější, je také oblíbená mezi útočníky, kterým změnou předpony na vlastní překazíme jejich práci.

wp_comments

Ukládá všechny komentáře na webu. Patří sem např. informace o autorovi, datum…

Obsah tabulky:

  • comment_ID – ID
  • comment_post_ID – ID příspěvku, ke kterému byl komentář napsán
  • comment_author – Jméno autora, který komentář napsal
  • comment_author_email – E-mail autora, který napsal komentář
  • comment_author_url – URL na stránku autora příspěvku

wp_commentmeta

Ukládá dodatečné metainformace o komentářích. Tyto metadata jsou propojena s tabulkou wp_comments, která obsahuje informace o samotných komentářích.

Obsah tabulky:

  • meta_id – ID
  • comment_id – ID komentáře, ke kterému se vztahují metadata
  • meta_key – identifikátor
  • meta_value -meta data

wp_posts

Zřejmě nejrozsáhlejší tabulka v databázi. Patří sem jednotlivé informace o všech vytvořených příspěvcích a stránkách. Obsahuje například autora, název a popis příspěvku, datum vytvoření…

Wp_posts spolupracuje s tabulkami:

  • wp_users
    • tabulka je propojena pomocí „post_author“ a obsahuje informace o uživatelích, kteří vytvořili příspěvky. Dále navazuje na tabulku wp_comments, kde uchovává komentáře k příspěvkům.
  • wp_term_relationships
    • Díky této tabulce je umožněno spojení s kategoriemi a štítky k jednotlivým příspěvkům.
  • wp_postmeta
    • Uchovává dodatečná metadata příspěvků.

Obsah tabulky:

  • ID – ID
  • post_author – ID autora, který napsal článek
  • post_date – Datum a čas, ve který byl příspěvek vytvořen
  • post_date_gmt – Datum a čas v univerzálním čase, který není ovlivněn místním časovým pásmem
  • post_content – Obsah příspěvku
  • post_title – Nadpis příspěvku
  • post_excerpt – Úrývek příspěvku
  • post_status – Určuje stav příspěvku. Patří sem například draft, pending, published, trash…
  • comment_status – Pole říká, jestli jsou komentáře u příspěvku povoleny, nebo ne
  • ping_status – určuje, zda jsou pingy a trackbacks povoleny pro daný příspěvek nebo stránku

wp_postmeta

Slouží k uchování různých informací (například vlastností, nastavení, vlastních polí atd.), které nejsou součástí hlavních informací o příspěvku nebo stránce, ale jsou s nimi spojeny.

Obsah tabulky:

  • meta_id – ID
  • post_id – ID příspěvku, ke kterému se metadata vztahují
  • meta_key – Klíč, který identifikuje metadata(každý příspěvek může mít více metadat)
  • meta_value – Metadata

wp_users

Obsahuje souhrn všech uživatelů WordPressu včetně jejich vlastností. Spadá sem např. přihlašovací údaje, datum registrace…

Obsah tabulky:

  • ID
  • user_login – Uživatelské jméno používané pro přihlášení
  • user_pass – Uživatelské heslo
  • user_nicename – Jméno uživatele
  • user_email – E-mailová adresa uživatele

wp_usermeta

Ukládá dodatečné metainformace o uživatelích.

Obsah tabulky:

  • umeta_id – ID
  • user_id – ID uživatele, ke kterému se informace vztahují
  • meta_key – Identifikátor
  • meta_value – Metadata

wp_term_relationships

Slouží k propojení například příspěvků se štítky, a kategoriemi v tabulce wp_terms.

Obsah tabulky:

  • object_id – ID příspěvku
  • term_taxonomy_id – ID termínu taxonomie
  • term_order – Pořadí termínu

wp_term_taxonomy

Uchovává informace o taxonomii. Taxonomie znamená, že můžeme třídit obsah, kterým mohou být například příspěvky a vlastní typy příspěvků, do různých skupin či kategorií.

Tato tabulka je ve WordPress databázi takovým rozšířením wp_terms a rozepisuje všechny tagy, kategorie, odkazy…

Samotné termíny(tagy, kategorie) již tabulka neobsahuje. Najdeme je v tabulce wp_terms.

Obsah tabulky:

  • term_taxonomy_id – ID
  • term_id – ID termínu
  • taxonomy – Označuje druh taxonomie, ke které termín patří
  • description – Popis
  • parent – ID nadřazené taxonomie(pouze pokud daná taxonomie funguje jako podřazená)
  • count – Počet objektů přiřazených k taxonomii

wp-terms

Obsahuje informace o kategoriích a štítcích. Spolupracuje s tabulkou wp_term_taxonomy, kam se ukládají například popisky jednotlivých štítků.

Obsah tabulky:

  • term_id – ID
  • name – Název „termínu“
  • slug – „slug“ termínu
  • term_group – Bylo vytvořeno se záměrem definovat skupiny kategorií. Dnes již může být toto pole vnímáno jako zastaralé

wp_termmeta

Podobně jako wp_postmeta, ukládá dodatečné metainformace o jednotlivých položkách(kategorie, štítky…). Tato tabulka byla představena již ve verzi WordPressu 4.4 jako rozšíření s možností ukládání metadat.

Obsah tabulky:

  • meta_id – ID
  • term_id – ID termínu ke kterému se vztahují metadata
  • meta_key – Identifikátor
  • meta_value – Metadata

wp_links

Tato tabulka byla v minulosti využívána k uchovávání odkazů na jiné webové stránky. Od určité verze WordPressu (kolem 2015) je považována za zastaralou a používá se pouze pro zachování kompatibility.

Obsah tabulky:

  • link_id – ID
  • link_url – URL odkazu
  • link_name – Název odkazu
  • link_image – URL obrázku

wp_options

Obsahuje různá nastavení u jednotlivých pluginů a motivů včetně globálního nastavení WP.

Obsah tabulky:

  • option_id – ID
  • option_name – Název nastavení
  • option_value – Hodnota daného nastavení
  • autoload – Tato funkce sděluje wp_load_alloptions(), jestli se má nastavení načíst automaticky

Závěr

Pokud provozujete WordPress web delší dobu, je možné, že bude databáze přehlcena zbytečnými daty. Po každém odstranění špatně nakódovaného pluginu ve WP mohou některá data v tabulkách databáze nadále zůstávat a zpomalovat chod celého webu.

Jak je na tom stav Vaší databáze můžete zjistit například v phpMyAdmin, nebo pomocí článku o čištění WordPress databáze.

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

8 Comments

  1. Musilda

    Převzato ze španělského blogu, na kterém jsem rozuměl jen té tabulce :-)
    Oprava: tak teď jsem na tu tabulku narazil na codexu

    Odpověď
  2. Pingback: Jak vyčistit databázi WordPress webu - Musilda.cz

  3. Pingback: Struktura WooCommerce databáze - Musilda.cz

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *