Découvrez Super Speedy | Super Speedy Imports, un plugin WordPress, conçu pour optimiser, avec vélocité, vos importations de données. Simplifiez vos tâches, gagnez du temps, et améliorez l'efficacité de votre site. Idéal pour ceux qui recherchent la performance, sans compromis. Adoptez-le, et transformez votre expérience utilisateur.
Comment télécharger Super Speedy | Super Speedy Imports
Accès illimité
Obtenez Super Speedy | Super Speedy Imports et 19463 autres produits en vous inscrivant au Club
Obtenir ce produit seulement avec mises à jour illimitées
plugins premium
Nous ne sommes pas affiliés avec Super Speedy | Super Speedy Imports ni avec ses développeurs ou propriétaires. Veuillez lire l'avis complet en pied-de-page.
COMMENT ÇA MARCHE
Mises à jour automatiques avec le plugin Club WPress
Regardez comment installer et mettre à jour vos plugins et thèmes WordPress en UN CLIC directement depuis votre tableau de bord.
Fonctionnalités principales de Super Speedy | Super Speedy Imports
Importation Rapide de Contenu : Permet d’importer rapidement de grandes quantités de contenu, y compris des articles, des pages et des produits.
Compatibilité WooCommerce : Optimisé pour importer des produits dans WooCommerce, y compris les variations de produits et les attributs.
Support des Fichiers CSV et XML : Accepte les fichiers CSV et XML pour une flexibilité maximale dans le format des données d’importation.
Planification des Importations : Possibilité de planifier des importations automatiques à intervalles réguliers.
Mapping des Champs Personnalisés : Permet de mapper les champs des fichiers d’importation aux champs personnalisés de WordPress.
Gestion des Erreurs : Inclut des outils pour identifier et corriger les erreurs d’importation.
Interface Utilisateur Intuitive : Offre une interface facile à utiliser pour configurer et gérer les importations.
Support Multilingue : Compatible avec les plugins de traduction pour importer du contenu dans plusieurs langues.
Options de Mise à Jour : Possibilité de mettre à jour le contenu existant lors de l’importation de nouvelles données.
Historique des Importations : Garde un enregistrement des importations passées pour référence future.
Quoi de neuf (Journal des modifications - Changelog) dans Super Speedy | Super Speedy Imports version 2.55.9
= 2,55,9 (4 juin 2026) =
**Les produits se voient désormais attribuer à tous les niveaux d’un chemin de catégorie, pas seulement au plus profond.*Quand un produit est dans T-shirts > hommes, WooCommerce attend les DEUX Hommes et T-shirts y être attaché — c’est ce que fait WP All Import, et c’est ce qui rend /catégorie de produits/hommes/ Listez le produit, les miettes de pain affichent le chemin complet, et les filtres de navigation en couches incluent les catégories parentes. SSI n’attribuait auparavant que le terme feuille (T-shirts), donc les pages de catégories parentes n’affichaient rien. C’était la plus grande différence fonctionnelle entre SSI et WPAI dans nos comparaisons de benchmarks. Il y a une nouvelle option **Assigner chaque niveau de catégorie* dans les Options supplémentaires pour la contrôler. **Les nouvelles importations le désactivent par défaut. *Les importations existantes créées avant cette version conservent leur comportement de feuille uniquement jusqu’à ce que vous l’activiez, donc rien ne change sous votre ordre lors d’une reprise à moins que vous ne vous inscriviez. Cela remplace la constante PHP non documentée « SSI_ADD_ALL_TERMS_FROM_HIERARCHY », qui n’a plus aucun effet. Voir « .docs/2026-05-26-leaf-vs-all-level-term-assignment.md ».
= 2,55,8 (3 juin 2026) =
**’import-taxonomies’ est désormais un travailleur unique, corrigeant un plantage de clé dupliquée à grande échelle.*La création de terme appelle le ‘wp_insert_term()’ de WordPress, qui est un « check-then-insert » contre ‘wp_terms’ / ‘wp_term_taxonomy’. Avec plusieurs travailleurs parallèles, deux travailleurs se disputant pour créer le *nom du même terme (ce qui se produit chaque fois qu’un terme est partagé entre des lignes — par exemple, des colonnes de taxonomie multi-valeurs ‘|’ placent un terme dans des lignes tombant dans différents segments de travailleurs) déclencheraient une « Entrée dupliquée ‘…-taxonomie’ » pour une erreur clé de base de données « term_id_taxonomy ». Cela s’est manifesté comme un « db_insert_error » (pas l’erreur gracieuse de « term_exists »), si bien que la scène a complètement abandonné toute l’importation — reproductiblement sur de grands catalogues (50 000+ termes par taxonomie). Les mesures ont montré que le parallélisme n’achetait presque rien ici de toute façon (~7 % à 100k : 1418 travailleurs uniques vs 1326 avec 8 travailleurs — l’étape est dominée par la contention de verrouillage de ligne et la hiérarchie monothread finalise, pas par CPU par ligne), donc la création de termes est désormais sérialisée. L’attribution des relations reste entièrement parallèle dans la phase des « relations à l’upsert ». Voir « .docs/2026-06-03-fix-concurrent-term-insert-race-import-taxonomies.md ».
**La création de terme se récupère désormais d’une erreur de double de clé au lieu d’abandonner (défense en profondeur).*Les chemins de termes plats et hiérarchiques résolvent désormais un « wp_insert_term() » échoué via un « term_exists() » et continuent si le terme s’avère déjà existant (comme c’est le cas dans tout scénario de création concurrente), plutôt que de le traiter comme fatal. La voie hiérarchique précédemment abandonnée ; Le chemin plat enregistrait auparavant une erreur et laissait « term_taxonomy_id » non cartographié — les deux sont désormais traités. Les termes nouvellement créés sont également mis en cache dans l’ouvrier, donc un nom de terme répété ne tente pas de recréer la création.
= 2,55,7 (2 juin 2026) =
**Suppression de la galerie « collision d’image en vedette » SUPPRIMER.* ‘attacher-images-galerie’ utilisé pour supprimer une ligne de galerie lorsque son image était aussi l’image en vedette du produit (‘_thumbnail_id’), c’est-à-dire qu’il retirait silencieusement l’image en vedette de la galerie. C’est le choix de l’utilisateur — WooCommerce stocke « _thumbnail_id » et « _product_image_gallery » comme des champs indépendants et leur permet de se chevaucher — donc SSI ne l’applique plus ; si votre CSV affiche l’image en vedette dans la colonne galerie, elle reste. Cela supprime également la seule requête non délimitée de l’étape de la galerie : sa rejoindisse « _thumbnail_id » postmeta en scan wp_postmeta nant intermittemment une fois par ligne de galerie, en suspendant l’importation pendant 20 à 30 minutes sur certaines parties (instabilité du plan due à la fraîcheur asynchrone des post-metastats — même entrée, temps de jeu très différents). Le nettoyage de recherche en rangée stagnante en haut de la scène est resté inchangé. La métrique de scène « Images retirées de la galerie » est retirée. Voir « .docs/2026-05-26-attach-gallery-images-stuck-delete.md ».
= 2,55,6 (2 juin 2026) =
**’attacher-images-galerie’ La phase 1 regroupe désormais les écritures de la table auxiliaire.*En remplissant la table auxiliaire de la galerie, il utilisait auparavant un autocommit ‘ssi_insert()’ par URL de galerie — 100 000 commits d’une seule ligne pour un catalogue de 50 000 produits avec deux images de galerie chacun. Chaque commit payait un fsync synchrone, donc le temps de jeu était de « 100 000 × fsync_latency » sur un seul processus. La télémétrie de benchmark a attribué cela à ~81 secondes des 83 secondes de la plateforme de la galerie sur un *fastrun (AR : 66 % d’inactivité, 10 % iowait, fréquence de suivi du taux fsync ~1:1) — et l’a identifiée comme la source de la forte variance de l’étape à exécution, puisque la latence fsync dépend de l’état du checkpoint/IO InnoDB qu’un instantané serveur ne préserve pas. La phase 1 construit désormais les lignes en PHP et les écrit avec des INSERTs multi-lignes de 500 lignes en blocs (le même idiome déjà utilisé dans la Phase 6), réduisant 100k fsyncs en ~200 commits. La phase imprime désormais aussi sa propre chronologie (« Galerie aux : N rangées mises en scène ») afin qu’il ne s’agisse plus d’un écart non mesuré dans la sortie de la scène. Aucun changement de comportement — des lignes identiques sont écrites, juste engagées par lots. L’étape de la galerie reste conçue à un seul processus (aucun téléchargement d’images n’a lieu ici lorsque les URL des galeries ont déjà été téléchargées en tant qu’images en vedette — elles se résolvent via la table de recherche). A également supprimé complètement l’écho « ssi_print_worker_gallery_summary » sur mesure de l’étape — chaque valeur imprimée (uploads, précédemment attachés, local-joints, échoués) est déjà enregistrée via « logStageMetric », et « ImportLogger ::outputAggregatedStageSummary » les additionne entre les travailleurs et les imprime dans la table standard par étape. Le résumé roulé à la main était redondant avec le système d’historique/métriques de performance (qui est déjà compatible avec plusieurs travailleurs).
**’upload-remote-images’ enregistre désormais une décomposition CPU/temps dans les métriques d’historique d’importation.*L’étape enregistre trois nouvelles métriques de temporisation par étape (agrégées sur tous les employés) : ‘download_seconds’ (recouvrement de boucles), ‘sideload_seconds’ (‘media_handle_sideload’ — décodage d’image + création de pièces jointes), et ‘set_thumbnail_seconds’ (les appels par produit ‘set_post_thumbnail’, qui déclenchent des hooks de table de recherche + cache WooCommerce). Cela rend le coût de l’étape visible dans le panneau historique sans relire les journaux CLI et isole si une importation d’image lente est liée au réseau (téléchargement) ou au CPU (sideload / thumbnail hooks). La surcharge de profilage est négligeable (quelques lectures de « microtime() » par image).
= 2,55,3 (26 mai 2026) =
**’join-images-galerie’ réécrit avec des écritures postmeta en masse.*Auparavant, chaque URL de galerie (29 000 sur un CSV produit 14,5k avec 2 images galerie chacune) déclenchait un aller-retour individuel « get_post_meta(‘_product_image_gallery ») + ‘update_post_meta()’, plus un ‘wp_update_post()’ par ligne pour les métadonnées de pièces jointes. Maintenant : (1) les URL précédemment téléchargées sont résolues en une seule mise à jour massive contre la table de recherche (pas de boucle PHP), (2) les nouveaux téléchargements s’exécutent toujours par ligne (HTTP est intrinsèquement en série) mais écrivent « attachment_id » dans la table auxiliaire de la galerie au lieu de wp_postmeta, (3) après la fin de tous les téléchargements, « _product_image_gallery » est construit une fois par produit via « GROUP_CONCAT » + MISE à JOUR/INSERT en blocs, (4) les métadonnées de pièces jointes (alt, titre, légende, description) sont appliquées via deux instructions SQL en bloc au lieu de « wp_update_post » par ligne. Préserve les entrées existantes de la galerie (fusionne les nouveaux identifiants de pièces jointes avec ceux ajoutés manuellement). Économies estimées de ~140 secondes sur la charge d’écriture postmeta par ligne seule ; Temps d’envoi inchangé (parallélisation différée).
**’update-postmeta’ pool de tampons pré-warm.*La première MISE à jour de l’étape payait auparavant une taxe de cache-froid (~495s sur le serveur de test) lisant les pages ‘wp_postmeta’ du disque ; toutes les mises à jour suivantes ont fonctionné en <0,1 secondes sur le pool de tampons désormais chaud. UN « SELECT COUNT(*) FROM wp_postmeta » au début de l’étape force les pages concernées à entrer dans le pool de tampons InnoDB avant toute exécution de UPDATE. Le temps est imprimé dans l’en-tête de la scène.
= 2,55,2 (26 mai 2026) =
**Corrige les slugs auto-uniquificés manquants des slugs « blocage hiérarchique » de la politique de fusion. *Lorsque « additional_options.term_slug_collision_policy = « merge » (un mode de gestion des collisions à l’option d’adhésion), la mise à jour en masse de l’étape « import-taxonomies » a rejoint les lignes auxiliaires pour wp_terms sur « term_name_slug = slug » et « current_hierarchy_slug = full_hierarchy_slug ». Cela ne convient pas aux termes CSV dont la limace a été automatiquement suffise par « wp_unique_term_slug() » — par exemple « Women > T-Shirts » a été stockée avec « t-shirts-femmes » parce que « t-shirts » était déjà revendiqué par « Men > T-Shirts ». La rangée aux a ‘term_name_slug=’t-shirts » de CSV-parse-time, ‘t.slug’ est maintenant ‘t-shirts-women’, pas de correspondance, term_taxonomy_id reste NULL, l’erreur « Failed to import hiarchical terms » se déclenche. Correction : OU la jonction du slug ET la comparaison des noms. Le slug-based match gère toujours le cas d’usage original de la fusion (« Cp » et « C+P » se réhabilitent tous deux pour sluger « cp » → les câbler sur le même terme) ; La correspondance basée sur le nom (ajoutée) gère le cas d’auto-uniquification (les noms ne sont pas suffixés, seuls les slugs le sont). Diagnostiqué par défaillance ‘wp ssi 1’ sur un serveur de test où 5 hiérarchies « Femmes > X » ont été affectées. Voir « .docs/2026-05-26-merge-policy-auto-uniquification-bug.md ».
**’import-taxonomies’ bulk-UPDATE utilise désormais la TABLE TEMPORAIRE matérialisée.*Auparavant, le CTE récursif était directement encapsulé dans la sous-requête dérivée-table de l’UPDATE (‘UPDATE ih INNER JOIN ( AVEC RÉCURSIVE … ) th ON …’). Maintenant : matérialiser d’abord le résultat CTE dans une « TABLE TEMPORAIRE », ajouter des index composites sur « (full_hierarchy, nom) » et « (full_hierarchy_slug, slug) », puis MISE à jour en rejoignant cela. Deux motivations : (1) permet aux indices d’accélérer la jonction sur de grandes taxonomies, (2) contourne les particularités connues de l’optimiseur MariaDB (famille MDEV-22974) pour « AVEC RECURSIVE » à l’intérieur d’une sous-requête « UPDATE », qui apparaissent selon la version. Ajoute un CRÉER UNE TABLE TEMPORAIRE + deux MODIFIER TABLE ADD INDEX + DROP par taxonomie hiérarchique par importation — coût en moins d’une seconde.
= 2,55,1 (26 mai 2026) =
**l’étape ‘update-postmeta’ enregistre désormais la progression par clé.*Chaque mise à jour de méta-clé affiche son nom AVANT le début de la requête et son nombre de lignes + le temps écoulé APRÈS til répond la requête. Cela aide à diagnostiquer les blocages dans ce stade sur les importations majeures — auparavant, le niveau fonctionnait silencieusement du début à la fin et une mise à jour individuelle lente était invisible jusqu’à ce que tout le niveau expire. Aucun changement de comportement dans ce qui est mis à jour.
**Diagnostics de remplissage en arrière par taxonomie hiérarchique.*Lorsque l’étape « import-taxonomies » se termine avec des lignes toujours NULL dans la table auxiliaire hiérarchique, l’erreur « Failed to import hiérarchical terms » inclut désormais des indices de diagnostic par ligne : dumps hexadécimaux « term_name » et « current_hierarchy », la collation de la colonne auxiliaire contre celle CAST CTE (avec un drapeau MISMATCH lorsqu’elles diffèrent), et les lignes candidates « wp_terms » correspondant par nom. Met en lumière la cause réelle (décalage de collation, caractère invisible, terme non créé) au lieu d’un simple dump brut de lignes.
**Test runner détecte désormais « Échec à importer » la sortie.* ‘tests/run-tests.sh’ ne grebait auparavant que pour les schémas ‘database error|fatal|syntax’ — un message d’erreur douce « Failed to import hiérarchical terms » imprimé via ‘continue_on_error’ passait silencieusement. Maintenant correspond à « Échec d’importation de termes forfaits|Échec à importer des termes hiérarchiques|On n’a pas non plus importé un terme hiérarchique pour ‘.
= 2,55,0 (26 mai 2026) =
**Nouvelle table ‘wp_ssi_image_lookup’ — Accélération de la dédup URL → des pièces jointes.*Remplace le motif de recherche ‘wp_postmeta WHERE meta_key=’original_image_url » utilisé dans cinq requêtes pipeline d’images. La nouvelle table est indexée sur un hachage MD5 BINARY(16) de l’URL — des recherches en temps constant quelle que soit la longueur de l’URL (fonctionne pour les longues URL signées par CDN qui souffraient auparavant de collisions préfixe-index). Inclut des colonnes « url_domain » + « url_path » divisées pour une future distribution parallèle en round-robin par serveur source. Document de conception : ‘.docs/2026-05-26-ssi-image-lookup-table-design.md’.
**Corrige le blocage de la galerie-SUPPRIMER.*La précédente étape « attacher les images de la galerie » avait une JOINT à 4 voies qui comprenait deux scans de table complète sur « wp_postmeta » plus une clause « COLLATE » qui annulait tout index potentiel. Sur les CSV cycliques réels (catalogues où de nombreux produits partagent les mêmes URL d’image), cette requête pouvait rester indéfiniment — observée s’exécutant pendant 23+ minutes lors du benchmarking avant d’être coupée. Réécrit en JOIN via la nouvelle table de recherche sur « url_hash » ; Moins d’une seconde sur des données équivalentes. Voir « .docs/2026-05-26-attach-gallery-images-stuck-delete.md ».
**Migration one-shot lors de la première importation après mise à jour.* ‘ssi_run_import’ coche l’option ‘ssi_image_lookup_synced’ ; En cas de manque, la table de recherche depuis le ‘wp_posts.guid actuel’ pour chaque pièce jointe, définit l’option, puis continue normalement. La migration s’exécute une fois par installation. La resynchronisation est rapide — INSERT-SELECT en masse unique ; Sur un site de fixation à 50 000 km, prévu ~1-2 secondes. La sortie de migration imprime le timing par ligne afin que les administrateurs puissent vérifier la vitesse sur leur matériel.
**Nouvel outil ‘wp ssi resync-image-lookup’.*Truncate-and-rebuild the lookup table on demand. Utilisez après des modifications manuelles de la bibliothèque média, des restaurations de sauvegarde, ou chaque fois que vous suspectez une dérive entre la table de recherche et le « wp_posts ». Impression des timings de resynchronisation par rangée.
**’original_image_url’ postmeta n’est plus écrit par SSI.*Cinq requêtes existantes qui lisent ce postmeta ont toutes été déplacées vers ‘wp_ssi_image_lookup’. L’appel « update_post_meta($attachment_id, « original_image_url’, $url) » après « media_handle_sideload » a disparu. Les lignes préexistantes dans « wp_postmeta » restent intactes (la requête de migration s’affiche plutôt « wp_posts.guid » — la table de recherche reflète les URL réelles des pièces jointes).
**Le préfixe de nettoyage de rangée stagnante sur chaque étape touchant l’image.*Anti-jointure ‘SUPPRIMER’ s’exécute en haut de ‘upload-remote-images’, ‘join-existenting-images’ et ‘join-gallery-images’. Supprime les lignes de recherche dont l’attachement a été supprimé de « wp_posts » entre les importations — protège contre le cas où un administrateur utilise Media → Bulk Delete pendant la période d’import-quiet. Instruction SQL unique ; En dessous de la seconde, même sur des tables de recherche avec des millions de lignes.
**Clauses COLLATE supprimées des requêtes à l’étape de la galerie.*Plus nécessaires puisque les jointures de table de recherche sont sur des correspondances ‘url_hash’ (BINARY) plutôt que sur des correspondances varchar ‘meta_value’ croisées entre tables.
**Articles KB mis à jour** : « creating-custom-templates.md », « how-imports-work-stage-pipeline.md », « stage-by-stage-failure-recipes.md », « diagnosing-slow-imports.md », ainsi que les deux articles de référence de mai 2026. Chacun porte une « Note de migration (2.55) » expliquant le changement de contrat pour les auteurs d’addons. ‘.kb/_index.md’ suit le statut de publication vers site en direct.
**Notes de comportement pour les auteurs d’addons / modèles personnalisés** : toute étape personnalisée qui a rejoint ‘wp_postmeta WHERE meta_key=’original_image_url’ ET meta_value=‘ pour trouver une pièce jointe par URL, il faut migrer vers la rejoindre ‘wp_ssi_image_lookup ON url_hash = UNHEX(MD5())`. Voir « creating-custom-templates.md » pour l’exemple mis à jour du travail. Pas de période de dépréciation car aucun addon tiers n’existe qui dépende de l’ancien contrat (confirmé par le code grep).
= 2,54,4 (25 mai 2026) =
**Correction majeure de performance — duplication d’URL dans « upload-remote-images ».*Lorsqu’un CSV a de nombreux produits partageant la même « image_url » (courante dans le vrai e-commerce : le placeholder « pas encore d’image » d’une marque, les photos héroïques de la famille de produits, etc.), le code précédent a retéléchargé la même URL une fois pour chaque produit qui l’utilisait. Pour un CSV de 50 000 produits avec seulement 5 000 URL d’image uniques, cela signifiait 50 000 récupérations HTTP + 50 000 lignes de pièces jointes au lieu de 5 000. Maintenant : un cache intégré à PHP codé par URL saute le réseau + le sideload pour les URL répétées ; Seule la première occurrence fonctionne vraiment. Les occurrences suivantes héritent du « attachment_id » mis en cache et appellent le « set_post_thumbnail() » pour câbler l’attachement existant à ce produit. Les hooks WP (« updated_post_meta », mises à jour des tables de recherche WooCommerce, plugins de cache, mises à jour d’index de recherche) s’activent toujours sur chaque jeu de miniatures — aucun changement de comportement pour les plugins qui écoutent ces hooks.
**Correction majeure de performance — une répartition équitable des URL entre les travailleurs parallèles.* Avant la version 2.54.4, le « image_owners » CTE utilisait « MIN(id) AS owner_id » pour attribuer chaque URL à un travailleur. Sur les CSV cycliques (chaque URL X apparaît aux positions 0, N, 2N, 3N, …), le ‘MIN(id)’ de chaque URL atterrit dans le PREMIER segment, donc l’ouvrier 1 possédait toutes les URL et les travailleurs 2..N restaient inactifs. Les deux problèmes de performance se sont aggravés — le travailleur 1 seul a effectué les 50 000 téléchargements redondants tandis que les autres processeurs étaient inactifs. Maintenant : owner_id est haché à partir de la chaîne d’URL via ‘CONV(SUBSTRING(MD5(featured_image), 1, 8), 16, 10) % MAX(batch.id)’ de sorte que la propriété de l’URL se répartit uniformément dans l’espace batch-id, quel que soit l’ordre CSV. Le filtre « ENTRE segment_from ET segment_to » de chaque ouvrier détecte ~1/N d’URL uniques. MD5 est déterministe — chaque travailleur calcule le même owner_id pour la même URL, sans coordination nécessaire.
Nouvelle métrique : « thumbnails_set » — nombre de produits ayant bénéficié d’une « _thumbnail_id » contestation postmeta. Contrairement à « remote_uploaded_images » qui rapporte désormais correctement le nombre de téléchargements d’URL UNIQUES (qui a été gonflé par le comportement de téléchargement en double). Ensemble, ces deux indicateurs permettent de voir le ratio de déduplication d’un coup d’œil : 50 000 miniatures configurées + 5 000 téléchargements = « 10 × dédupus sur ce CSV ».
Le même cache en PHP appliqué à « attacher des images galerie » — remplace une per-itération « $wpdb->get_var(…)’Recherche contre ‘wp_postmeta’ avec un cache intégré à PHP construit une seule fois pendant la boucle. La galerie déduplice déjà les lignes de pièces jointes au niveau de la base de données (une pièce jointe par URL unique via ‘original_image_url’ postmeta), mais chaque gallery_aux ligne effectuait toujours un SELECT pour découvrir l’attachment_id existante ; avec le cache, le SELECT ne s’exécute qu’une seule fois par URL unique au sein d’un travaileur. Note : le modèle de distribution des travailleurs de la galerie reste par produit (et non par hachage URL) — ce refacteur est plus complexe car l’étape de lien de la galerie (en ajoutant à « _product_image_gallery ») est lecture-modification-écriture et est plus difficile à paralléliser en toute sécurité. Le cache PHP plus le filtre SELECT-time existant (« pm.meta_id IS NULL ») maintient les téléchargements inter-travailleurs à au maximum un par URL par travailleur, ce qui est acceptable dans le cas courant.
Note de comportement pour les caractéristiques : avec la duplication, les métadonnées de pièces jointes (alt / titre / légende / description) proviennent de la PREMIÈRE ligne traitée pour une URL donnée (c’est-à-dire la première ligne de l’ensemble de résultats SELECT de ce travailleur dont le featured_image correspond). Auparavant, chaque produit avait sa propre ligne d’attaches avec ses propres métadonnées ; désormais, les produits partageant une URL partagent une pièce jointe ET partagent ses métadonnées. Cela correspond à la sémantique standard de WP — une URL = une pièce jointe — et correspond à la manière dont la phase de galerie l’a toujours gérée. Pour les CSV à URL unique, rien ne change.
Le seuil de rapport de progrès s’est élargi de toutes les 10 lignes à toutes les 100 lignes dans les « images à distance de téléchargement » — la surcharge par itération « écho + flush » devenait perceptible lorsque les itérations sont rapides (les accès du cache se déroulent en millisecondes).
**Ligne de résumé par travailleur à la fin de chaque exécution d’étape d’image.*Chaque travailleur imprime une ligne comme ‘[upload-remote-images worker 16668-33333] uniques_uploaded=1667 thumbnails_set=16667 échoué=0’ à la sortie. L’assistant de génération des travailleurs du parent extrait ces lignes du tampon stdout capturé de chaque ouvrier et les imprime après le message « Workers : N/N terminé ». Ça permet de voir si le travail est réparti équitablement entre les travailleurs — si vous voyez un gros nombre et N vides, la distribution de propriété URL est rompue (c’était le signal visible du bug cyclique CSV). Formatez intentionnellement serré pour que la sortie reste scannable ; La galerie utilise une ligne analogue avec son propre ensemble de métriques (téléchargements / prior_attached / local_attached / échec). Fichiers : « stages/post/upload-remote-images.php », « stages/woocommerce/attach-gallery-images.php », « run-import.php » (extraction de la ligne parent).
Impact combiné : une importation de 50 000 produits avec 5 000 URL uniques (CSV cyclique) passe de ~5 heures (un employé effectuant 50 000 téléchargements en série) à **~5-10 minutes* (3 travailleurs effectuant chacun ~1 667 téléchargements d’URL uniques en parallèle, plus la configuration rapide des vignettes par ligne).
Nouveau : filtre « ssi_allow_private_image_hosts » — contournement volontaire pour la vérification « refuser l’IP privée / boucle / local-locale » de la porte SSRF. Par défaut « faux » (sécurisé par défaut). Args filtre : « ($allow, $url, $ip, $host) ». Cas d’utilisation : configurations benchmark + staging où les URL d’image pointent légitimement vers le même hôte (loopback) ou un serveur d’images LAN derrière le pare-feu. Les administrateurs activent via un plugin personnalisé / mu-plugin :
si ($host === ‘images.exemple.interne’) retournent vrai ;
retour $allow ;
}, 10, 4);
« `
La porte reste par ailleurs inchangée — la résolution DNS se produit toujours ; seul le rejet par IP privée est contournable, et uniquement pour les hôtes que l’administrateur met explicitement sur liste blanche. (‘templates/PostTemplate.php :passesSsrfGate’.)
= 2,54,2 (24 mai 2026) =
...
>
Rejoignez le Club maintenant !
Accédez à 19463 produits pour seulement €10,90 par mois.
Link Whisper Pro est un plugin WordPress intelligent qui facilite la création de liens internes. Il analyse votre contenu et suggère des liens pertinents...
est un plugin WordPress puissant permettant d'ajouter et de gérer des badges personnalisés pour vos produits WooCommerce. Améliorez l'attrait visuel de...
Découvrez , un plugin incontournable pour personnaliser vos factures PDF sur WooCommerce. Simplifiez, embellissez vos documents, en ajoutant des logos,...
Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. En continuant la navigation sur ce site, vous accepter leur utilisation.