{"id":16766,"date":"2026-01-13T11:51:13","date_gmt":"2026-01-13T10:51:13","guid":{"rendered":"https:\/\/webhosting.de\/wordpress-datenbankgrose-reduzieren-ohne-verlust-cleanuptricks\/"},"modified":"2026-01-13T11:51:13","modified_gmt":"2026-01-13T10:51:13","slug":"wordpress-reduire-la-taille-de-la-base-de-donnees-sans-perte-cleanuptricks","status":"publish","type":"post","link":"https:\/\/webhosting.de\/fr\/wordpress-datenbankgrose-reduzieren-ohne-verlust-cleanuptricks\/","title":{"rendered":"R\u00e9duire la taille de la base de donn\u00e9es WordPress : Des mesures judicieuses sans perte de donn\u00e9es"},"content":{"rendered":"<p>Je montre concr\u00e8tement comment <strong>R\u00e9duire la taille de la base de donn\u00e9es<\/strong>, Vous pouvez ainsi cr\u00e9er des sites Web plus rapidement et sans perdre de contenu : des solutions rapides de plug-ins aux \u00e9tapes MySQL contr\u00f4l\u00e9es. Ainsi, vous r\u00e9duisez <strong>Temps de chargement<\/strong>, Les utilisateurs peuvent ainsi r\u00e9duire la charge de travail du serveur et garder un contr\u00f4le total sur chaque modification.<\/p>\n\n<h2>Points centraux<\/h2>\n<p>Avant de travailler sur les tableaux, je clarifie les objectifs, je s\u00e9curise la base de donn\u00e9es et je d\u00e9cide quelles \u00e9tapes de nettoyage sont vraiment n\u00e9cessaires. J'\u00e9vite ainsi les risques, j'all\u00e8ge la maintenance et j'obtiens des effets mesurables. Les points suivants vous guident de mani\u00e8re cibl\u00e9e \u00e0 travers le processus. Vous recevez un ordre clair, des conseils pratiques et des indications sur les \u00e9cueils typiques. Vous mettrez ensuite en \u0153uvre des optimisations de mani\u00e8re s\u00fbre et reproductible.<\/p>\n<ul>\n  <li><strong>Sauvegarde<\/strong> d'abord : sauvegarde compl\u00e8te et test de relecture<\/li>\n  <li><strong>Plugins<\/strong> utiliser le logiciel : WP-Optimize, WP-Sweep, Advanced Database Cleaner<\/li>\n  <li><strong>phpMyAdmin<\/strong>optimiser les tableaux, nettoyer les transitoires<\/li>\n  <li><strong>wp_options<\/strong> en vue : V\u00e9rifier l'autoload et les charges h\u00e9rit\u00e9es du pass\u00e9<\/li>\n  <li><strong>Automatiser<\/strong>: Nettoyage r\u00e9gulier et jobs de monitoring<\/li>\n<\/ul>\n<p>Je priorise les mesures en fonction de l'impact et du risque, je commence par des candidats \u00e0 la suppression s\u00fbrs et j'avance vers des interventions plus profondes. Ainsi, la <strong>site web<\/strong> accessible, les donn\u00e9es restent intactes et la base de donn\u00e9es est all\u00e9g\u00e9e de mani\u00e8re planifiable.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress-datenbankpflege-7182.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Pourquoi les bases de donn\u00e9es WordPress croissent - et ce qui compte vraiment<\/h2>\n<p>Dans les affaires courantes, on accumule rapidement <strong>R\u00e9visions<\/strong>, Les commentaires de spam, les contenus supprim\u00e9s dans la corbeille et les transients expir\u00e9s sont affich\u00e9s. De telles entr\u00e9es augmentent les temps d'interrogation, gonflent les tableaux et augmentent la charge de travail. <strong>CPU<\/strong>-consommation de ressources. Sont particuli\u00e8rement concern\u00e9s wp_posts (r\u00e9visions), wp_postmeta (meta-ballast), wp_options (transients, autoload) et wp_comments (spam, corbeille). A cela s'ajoute le surplus dans les tables MySQL, qui survient apr\u00e8s de nombreuses suppressions et freine les requ\u00eates. En s'attaquant tr\u00e8s t\u00f4t \u00e0 la croissance, on \u00e9conomise des ressources, on r\u00e9duit le time-to-first-byte et on obtient des donn\u00e9es propres.<\/p>\n\n<h2>Diagnostic exact : qu'est-ce qui pousse vraiment ?<\/h2>\n<p>Avant de supprimer, je mesure. Dans phpMyAdmin, j'affiche la taille des donn\u00e9es et des index par tableau et j'identifie les plus gros consommateurs. Si je veux \u00eatre plus pr\u00e9cis, j'utilise un aper\u00e7u via INFORMATION_SCHEMA et je trie par donn\u00e9es totales :<\/p>\n<pre><code>SELECT\n  nom_table,\n  ROUND((data_length + index_length)\/1024\/1024, 2) AS size_mb\nFROM information_schema.tables\nWHERE table_schema = DATABASE()\nORDER BY (data_length + index_length) DESC ;\n<\/code><\/pre>\n<p>Cela me permet de savoir si, par exemple. <strong>wp_postmeta<\/strong> en raison de nombreuses m\u00e9tadonn\u00e9es de produits ou de r\u00e9f\u00e9rencement. Important : la taille physique des fichiers ne diminue pas toujours imm\u00e9diatement avec InnoDB ; <code>OPTIMIZE TABLE<\/code> lib\u00e8re de la m\u00e9moire au sein de la table et - dans le cas de file_per_table - \u00e9galement au niveau du syst\u00e8me de fichiers. Je documente les valeurs de d\u00e9part et d'arriv\u00e9e afin de rendre visible le b\u00e9n\u00e9fice de chaque mesure.<\/p>\n\n<h2>Sauvegarder d'abord : comment s\u00e9curiser mes donn\u00e9es<\/h2>\n<p>Avant de supprimer quelque chose, j'exporte la <strong>Base de donn\u00e9es<\/strong> et je teste la retranscription. Dans phpMyAdmin, je s\u00e9lectionne la base de donn\u00e9es, je clique sur Export et je garde le fichier SQL en local. En outre, un plugin de sauvegarde \u00e9prouv\u00e9 peut cr\u00e9er une deuxi\u00e8me sauvegarde. Je v\u00e9rifie toujours si la sauvegarde comprend toutes les tables et tous les pr\u00e9fixes, surtout dans le cas de sites multiples ou de sites modifi\u00e9s. <strong>Pr\u00e9fixes des tableaux<\/strong>. Ce n'est que lorsque la sauvegarde et la restauration fonctionnent que je commence le nettoyage.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress_db_meeting0423.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Staging, rollback et minimisation des temps d'arr\u00eat<\/h2>\n<p>Je planifie les interventions de mani\u00e8re \u00e0 ce que le site reste accessible. Pour cela, je travaille - si possible - d'abord dans une <strong>Instance de staging<\/strong>, Je teste les principaux flux (login, checkout, recherche) et ne transf\u00e8re qu'ensuite les \u00e9tapes dans le syst\u00e8me en direct. Je planifie les suppressions importantes en dehors des heures de visite principales, je d\u00e9sactive la mise en cache juste avant l'ex\u00e9cution, je la vide apr\u00e8s l'ex\u00e9cution et je v\u00e9rifie le journal des erreurs. Pour le rollback, je tiens \u00e0 disposition une sauvegarde de la base de donn\u00e9es test\u00e9e et je note chaque requ\u00eate dans un changelog afin de pouvoir annuler les modifications.<\/p>\n\n<h2>Plugins pour wordpress database cleanup au quotidien<\/h2>\n<p>Pour les t\u00e2ches de routine, je mise d'abord sur <strong>WP-Optimize<\/strong>, Il traite les r\u00e9visions, le spam, la corbeille, les transitoires et les tableaux en une seule fois. Apr\u00e8s l'installation, j'active le nettoyage automatique et je planifie des ex\u00e9cutions hebdomadaires. Si n\u00e9cessaire, j'utilise WP-Sweep pour les pingbacks\/trackbacks et Advanced Database Cleaner pour les fichiers orphelins. <strong>Entr\u00e9es<\/strong> de mani\u00e8re cibl\u00e9e. Avant la suppression, je v\u00e9rifie l'aper\u00e7u, d\u00e9sactive les options risqu\u00e9es et ne confirme que les candidats clairs. J'obtiens ainsi des effets sensibles avec un minimum d'efforts et je peux automatiser proprement la routine \u201ewp optimize database\u201c.<\/p>\n\n<h2>Optimisation manuelle dans phpMyAdmin : garder le contr\u00f4le<\/h2>\n<p>Si j'ai besoin de plus de contr\u00f4le, je passe en <strong>phpMyAdmin<\/strong> et je trie les tableaux par taille. J'optimise les grands candidats via la liste d\u00e9roulante, qui contient en interne la commande <code>OPTIMIZE TABLE<\/code> et r\u00e9duit les d\u00e9bordements. J'\u00e9limine les transitoires expir\u00e9s avec <code>DELETE FROM wp_options WHERE nom_option LIKE '_transient_%' OR nom_option LIKE '_site_transient_%;<\/code>. Je supprime les tags non utilis\u00e9s avec <code>DELETE FROM wp_terms WHERE term_id NOT IN (SELECT term_id FROM wp_term_taxonomy) ;<\/code>. Apr\u00e8s chaque \u00e9tape, je v\u00e9rifie le site web et le journal des erreurs avant de poursuivre le nettoyage, afin que <strong>Risques<\/strong> rester petit.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress-datenbank-reduzieren-8327.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Nettoyer les r\u00e9visions, le spam et la corbeille en toute s\u00e9curit\u00e9<\/h2>\n<p>Les r\u00e9visions peuvent \u00eatre utiles, mais ind\u00e9finiment elles gonflent <strong>wp_posts<\/strong> sur . Je les limite avec <code>define('WP_POST_REVISIONS', 3) ;<\/code> dans le fichier wp-config.php et je supprime les anciennes r\u00e9visions via un plugin. Je nettoie r\u00e9guli\u00e8rement le spam et la corbeille ; cela r\u00e9duit la taille de <strong>wp_comments<\/strong> de mani\u00e8re perceptible. J'examine \u00e9galement les brouillons automatiques et supprime les doublons. Apr\u00e8s chaque suppression, je proc\u00e8de \u00e0 une nouvelle optimisation des tableaux afin de lib\u00e9rer r\u00e9ellement de la m\u00e9moire.<\/p>\n\n<h2>Garder wp_options propres : Autoload et Transients<\/h2>\n<p>Le tableau <strong>wp_options<\/strong> provoque souvent des retards cach\u00e9s, en particulier \u00e0 cause de grandes valeurs d'autoload. Je mesure la somme totale des options autoload\u00e9es et j'arr\u00eate les entr\u00e9es surdimensionn\u00e9es qui sont charg\u00e9es \u00e0 chaque appel. Je supprime r\u00e9guli\u00e8rement les transients expir\u00e9s, car ils occupent sinon de la place et prolongent les temps de d\u00e9marrage. Ceux qui souhaitent en savoir plus sur le contexte et les sources de charge typiques trouveront des d\u00e9tails sous <a href=\"https:\/\/webhosting.de\/fr\/wordpress-transients-derniere-source-trafic-serveur-boost\/\">Comprendre les transitoires<\/a>. Apr\u00e8s le nettoyage, je contr\u00f4le le frontend et le backend pour d\u00e9tecter les effets sur les <strong>Temps de chargement<\/strong> \u00e0 v\u00e9rifier.<\/p>\n<p>Pour une estimation rapide de la charge de l'autoload, une simple requ\u00eate m'aide : <code>SELECT ROUND(SUM(LENGTH(option_value))\/1024\/1024,2) AS autoload_mb FROM wp_options WHERE autoload='yes' ;<\/code>. Je trouve quelques aberrations sur <code>SELECT nom_option, LENGTH(valeur_option) AS bytes FROM wp_options WHERE autoload='yes' ORDER BY bytes DESC LIMIT 20 ;<\/code>. Je r\u00e8gle les valeurs importantes et rarement utilis\u00e9es sur autoload = \u2019no\u2018 et je veille \u00e0 ce que le plugin les charge de mani\u00e8re cibl\u00e9e si n\u00e9cessaire.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress_db_reduzieren_8372.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Optimiser les tableaux de mani\u00e8re cibl\u00e9e : Qu'est-ce qui apporte le plus ?<\/h2>\n<p>Au lieu de tout supprimer de mani\u00e8re al\u00e9atoire, je me concentre sur les tableaux ayant le plus grand nombre d'utilisateurs. <strong>Effet<\/strong>. wp_posts et wp_postmeta fournissent souvent le levier le plus puissant, suivis de wp_options et wp_comments. Ensuite, je fais une comparaison avant\/apr\u00e8s dans phpMyAdmin pour mesurer les progr\u00e8s. Cette transparence permet de limiter les risques et de voir o\u00f9 le prochain passage en vaut la peine. L'aper\u00e7u suivant classe les r\u00e9sultats typiques et les actions appropri\u00e9es afin que vous puissiez proc\u00e9der de mani\u00e8re structur\u00e9e.<\/p>\n<table>\n  <thead>\n    <tr>\n      <th>Tableau<\/th>\n      <th>Cause<\/th>\n      <th>Lestage typique<\/th>\n      <th>Mesure recommand\u00e9e<\/th>\n      <th>Risque<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td><strong>wp_posts<\/strong><\/td>\n      <td>R\u00e9visions, projets de voiture<\/td>\n      <td>Des dizaines de r\u00e9visions par article<\/td>\n      <td>Limiter\/supprimer les r\u00e9visions, optimiser<\/td>\n      <td>Faible en cas de sauvegarde<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>wp_postmeta<\/strong><\/td>\n      <td>Anciennes entr\u00e9es m\u00e9ta<\/td>\n      <td>M\u00e9ta-cl\u00e9s orphelines<\/td>\n      <td>Supprimer la m\u00e9ta orpheline, v\u00e9rifier les index<\/td>\n      <td>Moyen, \u00e0 v\u00e9rifier au pr\u00e9alable<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>wp_options<\/strong><\/td>\n      <td>Transients, chargement automatique<\/td>\n      <td>Donn\u00e9es de cache expir\u00e9es<\/td>\n      <td>Supprimer les transitoires, r\u00e9duire l'autoload<\/td>\n      <td>Faible \u00e0 moyen<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>wp_comments<\/strong><\/td>\n      <td>Spam, corbeille \u00e0 papier<\/td>\n      <td>Sites contamin\u00e9s et vagues de spam<\/td>\n      <td>Effacement en masse, d\u00e9finir des automatismes<\/td>\n      <td>Faible<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<h2>Cas particulier de WooCommerce et des boutiques \u00e0 fort trafic<\/h2>\n<p>Les boutiques g\u00e9n\u00e8rent un nombre d'enregistrements sup\u00e9rieur \u00e0 la moyenne en <strong>wp_postmeta<\/strong> (variations, attributs, m\u00e9tadonn\u00e9es de commande) et les remplir <strong>wp_options<\/strong> avec les sessions et les transients. Je supprime r\u00e9guli\u00e8rement les sessions\/transitions expir\u00e9es, je raccourcis la dur\u00e9e de conservation des cartes erron\u00e9es et je v\u00e9rifie si le th\u00e8me ou les plugins stockent des m\u00e9tadonn\u00e9es de produit inutiles. Je garde les tables de l'action scheduler (par ex. as_actions) petites en nettoyant plus t\u00f4t les t\u00e2ches termin\u00e9es et en ne relan\u00e7ant pas ind\u00e9finiment les t\u00e2ches qui ont \u00e9chou\u00e9. Apr\u00e8s des ventes ou des importations importantes, je planifie un tour suppl\u00e9mentaire. <code>OPTIMIZE TABLE<\/code>, pour r\u00e9duire rapidement le surnombre.<\/p>\n\n<h2>Particularit\u00e9s du multisite<\/h2>\n<p>Dans les r\u00e9seaux, le poids se multiplie sur tous les blogs. Je proc\u00e8de site par site, en respectant les pr\u00e9fixes de tableaux autonomes (par ex. <code>wp_2_<\/code>) et nettoie en outre <strong>Transitions \u00e0 l'\u00e9chelle du r\u00e9seau<\/strong> dans <code>_site_transient_*<\/code>. Pour les tables globales (par ex. wp_users, wp_usermeta), je ne supprime rien en bloc, mais je v\u00e9rifie les d\u00e9pendances entre les sites. Je planifie les t\u00e2ches de nettoyage en dehors des fen\u00eatres de synchronisation ou de migration afin de pr\u00e9server la coh\u00e9rence du r\u00e9seau.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress-dboptimierung-5713.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>\u00c9tapes de r\u00e9glage avanc\u00e9es dans MySQL WordPress<\/h2>\n<p>En cas de fort trafic, je fais attention \u00e0 <strong>InnoDB<\/strong>-param\u00e8tres et index. Un buffer pool bien dimensionn\u00e9 et des index judicieux sur les colonnes fr\u00e9quemment filtr\u00e9es (par ex. meta_key dans wp_postmeta) acc\u00e9l\u00e8rent consid\u00e9rablement les requ\u00eates. La mise en cache des requ\u00eates existe dans les anciennes versions de MySQL, les configurations modernes profitent plut\u00f4t d'une bonne mise en cache au niveau de l'application ou de l'objet. En outre, j'\u00e9vite les entr\u00e9es d'autoload surdimensionn\u00e9es qui ralentissent le chargement pr\u00e9coce des pages ; pour plus de d\u00e9tails, voir <a href=\"https:\/\/webhosting.de\/fr\/wordpress-autoload-wp-options-optimisation-databasefix\/\">Options d'autoload<\/a>. Apr\u00e8s chaque r\u00e9glage, je mesure \u00e0 nouveau l'effet sur <strong>Temps de r\u00e9ponse<\/strong> de v\u00e9rifier.<\/p>\n\n<h2>Ma\u00eetriser les indices : des mod\u00e8les \u00e9prouv\u00e9s dans la pratique<\/h2>\n<p>Je v\u00e9rifie de mani\u00e8re cibl\u00e9e si les filtres typiques sont soutenus de mani\u00e8re judicieuse. Pour <strong>wp_postmeta<\/strong> les indices ont \u00e9volu\u00e9 vers des <code>(post_id)<\/code> et - selon les requ\u00eates - sur <code>(meta_key, post_id)<\/code> a fait ses preuves. Sur <strong>wp_options<\/strong> il existe par d\u00e9faut un index sur <code>option_name<\/code>; pour les requ\u00eates apr\u00e8s autoload, j'utilise l'outil existant <code>(autoload)<\/code>-ou combiner le filtre avec LIMIT. Avant d'ajouter des index, je simule les requ\u00eates les plus fr\u00e9quentes, je mesure leur dur\u00e9e d'ex\u00e9cution et je garde \u00e0 l'esprit que les index peuvent consommer de la m\u00e9moire et allonger les processus d'\u00e9criture. Je supprime les index superflus ou redondants s'ils n'apportent pas d'avantages mesurables.<\/p>\n\n<h2>WP-CLI en pratique : nettoyage rapide et scriptable<\/h2>\n<p>Si l'acc\u00e8s au shell est disponible, j'acc\u00e9l\u00e8re les routines avec <strong>WP-CLI<\/strong>. Exemples que j'utilise dans les fen\u00eatres de maintenance :<\/p>\n<ul>\n  <li>Nettoyer les transitoires : <code>wp transient delete --expired<\/code> et, si n\u00e9cessaire <code>wp transient delete --all<\/code><\/li>\n  <li>Vider le spam\/la corbeille \u00e0 papier : <code>wp comment delete --status=spam --force<\/code>, <code>wp comment delete --status=trash --force<\/code><\/li>\n  <li>R\u00e9duire les r\u00e9visions : <code>wp post list --post_type='post,page' --field=ID --post_status=publish | xargs -n100 wp post delete-revision<\/code><\/li>\n  <li>Optimiser la base de donn\u00e9es : <code>wp db optimize<\/code> et v\u00e9rifier les tailles avec <code>wp db size --tables<\/code><\/li>\n<\/ul>\n<p>Ces commandes peuvent \u00eatre int\u00e9gr\u00e9es dans des t\u00e2ches Cron ou des scripts de d\u00e9ploiement. Je commence par des commandes de lecture (listes, comptage), je confirme la s\u00e9lection et je n'ex\u00e9cute les commandes de suppression qu'ensuite.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress-db-verkleinern-7382.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Jeu de caract\u00e8res, collation et format Row<\/h2>\n<p>Des jeux de caract\u00e8res incoh\u00e9rents augmentent les risques lors des migrations et peuvent limiter les index aux colonnes de texte. Dans la mesure du possible, je mets <strong>utf8mb4<\/strong> avec une collation consistante (par ex. <code>utf8mb4_unicode_ci<\/code>). Avant une conversion, je sauvegarde la base de donn\u00e9es, je v\u00e9rifie une mise \u00e0 jour de staging et je convertis les tables par \u00e9tapes contr\u00f4l\u00e9es. Pour les tables InnoDB, j'utilise un format de rang\u00e9e actuel (par ex. <code>DYNAMIC<\/code>), afin que les longs TEXT\/VARCHAR puissent \u00eatre externalis\u00e9s efficacement. En combinaison avec <code>innodb_file_per_table=ON<\/code> assure <code>OPTIMIZE TABLE<\/code> pour que l'espace libre soit renvoy\u00e9 au syst\u00e8me de fichiers.<\/p>\n\n<h2>Automatisation : planifier la propret\u00e9 au lieu de l'esp\u00e9rer<\/h2>\n<p>Je gagne du temps en effectuant des t\u00e2ches r\u00e9p\u00e9titives. <strong>terminez<\/strong>. Dans WP-Optimize, je configure des nettoyages hebdomadaires et des optimisations mensuelles des tables. En outre, un Cron syst\u00e8me peut d\u00e9clencher de mani\u00e8re fiable le Cron propre \u00e0 WordPress afin que les t\u00e2ches planifi\u00e9es ne soient pas annul\u00e9es. Pour les actions r\u00e9p\u00e9t\u00e9es telles que \u201ewp optimize database\u201c, je d\u00e9finis des plages horaires fixes en dehors des heures de fr\u00e9quentation principales. Ainsi, la base de donn\u00e9es reste durablement all\u00e9g\u00e9e sans que je doive d\u00e9clencher manuellement chaque \u00e9tape.<\/p>\n\n<h2>Suivi et tests : rendre le succ\u00e8s visible<\/h2>\n<p>Apr\u00e8s chaque tour, je contr\u00f4le <strong>Taille de la BD<\/strong> dans phpMyAdmin et je documente l'\u00e9volution. Je contr\u00f4le l'\u00e9volution du temps de chargement du premier octet et de la plus grande peinture de contenu. J'aborde rapidement les augmentations remarquables de wp_options ou wp_postmeta, avant qu'elles n'affectent les performances. Cet article fournit des pistes de r\u00e9flexion utiles pour des options durablement propres : <a href=\"https:\/\/webhosting.de\/fr\/wordpress-optimiser-la-base-de-donnees-wpoptions-conseils-gestion-des-donnees\/\">G\u00e9rer wp_options<\/a>. En parall\u00e8le, je tiens un changelog avec la date, les mesures et le r\u00e9sultat, afin de pouvoir suivre les d\u00e9cisions par la suite.<\/p>\n\n<h2>Chiffres cl\u00e9s et valeurs seuils pour la pratique<\/h2>\n<p>Pour que les optimisations ne s'enlisent pas, je d\u00e9finis des valeurs limites claires. Exemples : \"Je ne veux pas que l'on m'utilise : Maintenir la somme d'autoload en dessous de 1-2 Mo ; <strong>wp_postmeta<\/strong> par rapport \u00e0 <strong>wp_posts<\/strong> plausible (pas de facteurs d\u00e9passant 20-50x sans raison valable) ; part des transitoires en <strong>wp_options<\/strong> ne pas faire cro\u00eetre. Pour les performances, je mesure r\u00e9guli\u00e8rement le TTFB, les requ\u00eates de recherche dans le backend (par ex. liste de produits) et les temps de chargement de l'administrateur. Si des valeurs cl\u00e9s augmentent ou si des tableaux se d\u00e9placent soudainement, je lance une analyse cibl\u00e9e au lieu d'une ronde g\u00e9n\u00e9rale de \u201etout supprimer\u201c.<\/p>\n\n<h2>Supprimer syst\u00e9matiquement les tables orphelines et les r\u00e9sidus de d\u00e9sinstallation<\/h2>\n<p>De nombreux plugins laissent des tableaux et des options. Je r\u00e9pertorie les tableaux non essentiels \u00e0 l'aide de pr\u00e9fixes, je rassemble les candidats et je proc\u00e8de en deux \u00e9tapes : D'abord, je renomme le tableau \u00e0 titre de test (par ex. <code>RENAME TABLE wp_altplugin_data TO wp_altplugin_data_backup ;<\/code>) et j'observe la page. Si tout reste stable, je supprime d\u00e9finitivement le tableau. Dans <strong>wp_options<\/strong> je recherche des espaces de noms de plugins typiques (<code>option_name LIKE '%pluginname%'.<\/code>) et ne supprime que les entr\u00e9es dont j'ai compris la fonction. Pour <strong>wp_usermeta<\/strong> et <strong>wp_postmeta<\/strong> j'identifie les cl\u00e9s orphelines en v\u00e9rifiant si les identifiants r\u00e9f\u00e9renc\u00e9s existent encore.<\/p>\n\n<h2>\u00c9viter les erreurs fr\u00e9quentes<\/h2>\n<p>Je ne supprime jamais sans <strong>Sauvegarde<\/strong> et le test de retour. Je ne proc\u00e8de \u00e0 des suppressions en masse risqu\u00e9es de wp_postmeta qu'apr\u00e8s avoir analys\u00e9 les cl\u00e9s m\u00e9ta orphelines. J'utilise les nettoyages de plugins de mani\u00e8re s\u00e9lective au lieu d'activer chaque option. Apr\u00e8s la suppression, je vide les caches et je teste les fonctions afin qu'aucune partie de la page ne tombe en panne de mani\u00e8re inattendue. Si quelque chose n'est pas clair, je travaille d'abord sur une instance de staging et je ne transf\u00e8re les nettoyages dans le syst\u00e8me r\u00e9el qu'apr\u00e8s un test r\u00e9ussi.<\/p>\n\n<h2>R\u00e9sum\u00e9 succinct<\/h2>\n<p>Avec un ordre clair, propre <strong>Sauvegarde<\/strong> et quelques outils permettent d'all\u00e9ger n'importe quelle base de donn\u00e9es WordPress sans perte de donn\u00e9es. Je commence par des candidats s\u00fbrs comme les transients, les spams et les r\u00e9visions, j'optimise les tables et je limite la croissance future \u00e0 l'aide de r\u00e8gles. Pour les configurations plus importantes, je fais appel \u00e0 des \u00e9tapes manuelles dans phpMyAdmin et \u00e0 des points de r\u00e9glage MySQL judicieux. Les routines automatis\u00e9es maintiennent la base de donn\u00e9es durablement petite et mesurablement rapide. En respectant ces lignes directrices, on r\u00e9duit la taille, on diminue la charge du serveur et on acc\u00e9l\u00e8re sensiblement les pages - de mani\u00e8re planifiable, s\u00fbre et compr\u00e9hensible.<\/p>","protected":false},"excerpt":{"rendered":"<p>R\u00e9duire la taille de la base de donn\u00e9es WordPress : Des mesures judicieuses avec WP-Optimize, phpMyAdmin et des astuces MySQL sans perte de donn\u00e9es pour des performances de pointe.<\/p>","protected":false},"author":1,"featured_media":16759,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[733],"tags":[],"class_list":["post-16766","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"1546","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":null,"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"Datenbankgr\u00f6\u00dfe reduzieren","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"16759","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/posts\/16766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/comments?post=16766"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/posts\/16766\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/media\/16759"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/media?parent=16766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/categories?post=16766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/tags?post=16766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}