Ich bin jetzt so kein großer Fachmann was WordPress, PHP und die SQL-Datenbank angeht. Trotzdem an dieser Stelle einige Worte und Links dazu. Alles hat mit der Frage angefangen, ob die zu meinem Blog dazugehörige Datenbank noch so ist wie sie sein sollte oder vielleicht durch die Installation und Löschung von vielen Plugins oder gelöschten Artikel und Bilder bereits zugemüllt ist.
Ich habe mich in dem Zusammenhang gefragt wie die Struktur der Datenbank aussieht und wer, was und wo speichert. Bei All-Inkl steht mir der Zugang zur Datenbank per PHPMyAdmin zur Verfügung, auch habe ich schon eins oder zwei Artikel mit Code-Snippets zu dem Thema veröffentlicht. Trotzdem fehlt mir der Durchblick.
Artikel, die sich mit dem Thema WordPress und Datenbank beschäftigen (hier, hier und hier) habe ich nicht viele gefunden. Und anscheinend gibt es gar keine die sich mit den Inhalten der einzelnen Datenbanktabellen beschäftigen. Der wohl interessanteste Artikel stammt von den Datenbank-Machern selbst. Von dort stammt auch nachfolgende Beschreibung der WordPress Datenbank.
WordPress Tabellen
- wp_commentmeta
Jeder Kommentar enthält Informationen, die als Metadaten bezeichnet werden, und wird imwp_commentmeta
gespeichert. Relevante Bereiche des Backends sind:
Kommentare > Kommentare - wp_comments
Die Kommentare in WordPress werden in der Tabellewp_comments
gespeichert. Relevante Bereiche des Backends sind:
Kommentare > Kommentare - wp_links
Diewp_links
enthalten Informationen zu den Links, die in die Links- Funktion von WordPress eingegeben wurden. (Diese Funktion ist veraltet, kann aber mit dem Links Manager- Plugin wieder aktiviert werden. Relevante Bereiche des Backends sind:
Links > Neu hinzufügen
Links > Links - wp_options
Die unter Administration> Einstellungen festgelegten Optionen werden in der Tabellewp_options
gespeichert. Relevante Bereiche des Backends sind:
Einstellungen > Allgemein
Einstellungen > Schreiben
Einstellungen > Lesen
Einstellungen > Diskussion
Einstellungen > Datenschutz
Einstellungen > Permalinks
Darstellung > Widgets - wp_postmeta
Jeder Beitrag enthält Informationen, die als Metadaten bezeichnet werden und in der Datei wp_postmeta gespeichert sind. Einige Plugins fügen möglicherweise ihre eigenen Informationen zu dieser Tabelle hinzu. Relevante Bereiche des Backends sind:
Beiträge > Neu hinzufügen
Seiten > Neu hinzufügen - wp_posts
Der Kern der WordPress-Daten sind die Beiträge. Es wird in der Tabellewp_posts
gespeichert. Auch Seiten und Navigationsmenüpunkte werden in dieser Tabelle gespeichert. Relevante Bereiche des Backends sind:
Beiträge > Neu hinzufügen
Beiträge > Beiträge
Seiten > Neu hinzufügen
Seiten > Seiten
Medien > Neu hinzufügen
Medien > Bibliothek
Darstellung > Menüs - wp_terms
Die Kategorien für Posts und Links sowie die Tags für Posts befinden sich in der Tabellewp_terms
. Relevante Bereiche des Backends sind:
Beiträge > Post Tags
Beiträge > Kategorien
Links > Linkkategorien
Beiträge > Neu hinzufügen
Beiträge > Beiträge
Seiten > Neu hinzufügen
Seite > Seiten - wp_term_relationships
Beiträge werden Kategorien und Tags aus der Tabellewp_terms
zugeordnet, und diese Zuordnung wird in der Tabellewp_term_relationships
beibehalten. In dieser Tabelle werden auch die Verknüpfungen zu den jeweiligen Kategorien aufgeführt. - wp_term_taxonomy
In dieser Tabelle wird die Taxonomie (Kategorie, Link oder Tag) für die Einträge in der Tabellewp_terms
beschrieben. - wp_usermeta
Jeder Benutzer verfügt über Informationen, die als Metadaten bezeichnet werden und inwp_usermeta
gespeichert sind. - wp_users
Die Liste der Benutzer wird in der Tabelle wp_users gepflegt.
Quelle für Beschreibung der WordPress Tabellen: WordPress Codex
Etwas weiter bringt mich das jetzt schon. Aber warum zum Beispiel die Tabelle wp_postmeta
über tausend Einträge hat erschließt sich mir noch immer nicht.
Wenn du in die Tabelle schaust, siehst du relativ gut was dort gespeichert wird.
Unter anderem sind dies das verwendete Thumbnail, ob der Artikel schon veröffentlicht wurde, ob der Artikel gerade bearbeitet wird, von wem er das letzte Mal bearbeitet wurde und das gewählte Post-Layout.
In der Regel sind es pro Artikel 5 Metadaten, die dort abgelegt werden. Wie in deinem Artikel schon erwähnt nutzen einige Plugins ebenfalls diese Tabelle, daher kann es pro Artikel auch mehr sein. Bei mir passt das relativ gut, 1700 Artikel und ca. 15000 Einträge in der „wp_postmeta“.