Résoudre les problèmes de déconnexion et de suppression de produits sur Dokan : Guide d'expert

Image de couverture de l'article Résoudre les problèmes de déconnexion et de suppression de produits sur Dokan : Guide d'expert

Colas Mérand

23/05/2025

WordPress

WooCommerce

Dokan

5 minutes

Résoudre les problèmes de déconnexion et de suppression de produits sur Dokan : Guide d'expert

Les marketplaces en ligne connaissent une croissance exponentielle, et WordPress avec WooCommerce et Dokan est devenu l'une des solutions les plus populaires pour créer ce type de plateforme. Cependant, comme pour tout système complexe, des problèmes techniques peuvent survenir et affecter l'expérience des vendeurs et des administrateurs.

Dans cet article, nous allons explorer un problème particulièrement frustrant : les déconnexions intempestives des vendeurs et la disparition mystérieuse de produits sur les marketplaces Dokan. Notre équipe de développeurs a résolu ce type de problème pour plusieurs clients, et nous souhaitons partager notre expertise avec vous.

Comprendre les symptômes du problème

Avant de plonger dans les solutions, identifions clairement les symptômes :

  • Déconnexions aléatoires des vendeurs lorsqu'ils naviguent entre différentes sections de leur tableau de bord
  • Disparition de produits nouvellement créés
  • Problèmes qui semblent dépendre du navigateur ou du système d'exploitation utilisé
  • Absence de messages d'erreur explicites
  • Comportement incohérent (fonctionne pour certains utilisateurs mais pas pour d'autres)

Ces symptômes peuvent être extrêmement frustrants, tant pour les administrateurs de la marketplace que pour les vendeurs qui y participent.

Les causes potentielles

Après avoir analysé de nombreux cas similaires, nous avons identifié plusieurs causes potentielles à ces problèmes :

1. Problèmes de configuration du serveur

Les marketplaces Dokan sont des applications web complexes qui nécessitent une configuration serveur optimale. Voici les points critiques à vérifier :

  • Limites PHP : Des valeurs trop basses pour max_execution_time, memory_limit, upload_max_filesize et post_max_size peuvent causer des interruptions de session.
  • Gestion des sessions : Une mauvaise configuration de la gestion des sessions PHP peut entraîner des déconnexions prématurées.
  • Mise en cache agressive : Certaines configurations de cache peuvent interférer avec les sessions utilisateur.

2. Conflits entre plugins

L'écosystème WordPress est riche en plugins, mais cette richesse peut aussi être source de conflits :

  • Plugins de sécurité : Les plugins qui modifient les comportements de connexion ou qui implémentent des mesures anti-bot peuvent interférer avec Dokan.
  • Plugins de cache : Une configuration incorrecte peut affecter la persistance des sessions.
  • Plugins d'optimisation : Certains plugins qui minimisent le JavaScript peuvent causer des problèmes avec les scripts de Dokan.

3. Problèmes de base de données

La suppression mystérieuse de produits peut être liée à des problèmes au niveau de la base de données :

  • Requêtes timeout : Des requêtes trop longues peuvent être interrompues par le serveur.
  • Corruption de données : Dans de rares cas, des incohérences dans la base de données peuvent causer la disparition de produits.
  • Problèmes de permissions : Des erreurs dans les rôles et capacités des utilisateurs peuvent empêcher la sauvegarde correcte des produits.

4. Incompatibilités de thème

Le thème utilisé (comme Astra mentionné dans plusieurs cas) peut parfois interférer avec les fonctionnalités de Dokan :

  • Hooks WordPress modifiés : Certains thèmes modifient des hooks WordPress utilisés par Dokan.
  • Conflits JavaScript : Des conflits entre les scripts du thème et ceux de Dokan peuvent perturber le fonctionnement du tableau de bord vendeur.

Solutions éprouvées

Fort de notre expérience dans la résolution de ces problèmes, notamment lors du développement de marketplaces comme Dealt (une plateforme de jobbing en API), voici les solutions que nous recommandons :

1. Optimisation de la configuration serveur

// Exemple de valeurs recommandées à ajouter dans wp-config.php
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

// Ou dans le php.ini
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M

Si vous utilisez O2Switch comme mentionné dans plusieurs cas, sachez qu'ils permettent d'ajuster ces paramètres via un fichier .htaccess ou via leur interface de gestion.

2. Gestion des sessions WordPress

WordPress ne gère pas nativement les sessions comme d'autres frameworks. Pour Dokan, il est parfois nécessaire d'implémenter une gestion de session plus robuste :

// Exemple de code à ajouter dans un plugin personnalisé
function start_session() {
    if(!session_id()) {
        session_start();
    }
}
add_action('init', 'start_session', 1);

function end_session() {
    session_destroy();
}
add_action('wp_logout', 'end_session');
add_action('wp_login', 'end_session');

3. Désactivation sélective des plugins

Une approche méthodique consiste à désactiver tous les plugins non essentiels, puis à les réactiver un par un pour identifier le conflit :

  1. Gardez uniquement WooCommerce et Dokan actifs
  2. Testez le comportement des comptes vendeur
  3. Réactivez les plugins un par un, en testant après chaque activation

4. Vérification et réparation de la base de données

-- Exemple de requête pour vérifier les produits orphelins
SELECT p.ID, p.post_title 
FROM wp_posts p 
LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id AND pm.meta_key = '_dokan_vendor_id' 
WHERE p.post_type = 'product' 
AND pm.meta_value IS NULL;

WordPress dispose également d'outils intégrés pour réparer la base de données. Ajoutez cette ligne à votre fichier wp-config.php :

define('WP_ALLOW_REPAIR', true);

Puis accédez à votresite.com/wp-admin/maint/repair.php.

5. Mise à jour du code de Dokan

Dans certains cas, il peut être nécessaire de modifier le code source de Dokan pour résoudre des problèmes spécifiques. Par exemple, nous avons constaté que l'ajout de vérifications supplémentaires dans les fonctions de gestion des sessions peut améliorer la stabilité :

// Exemple de modification dans le code de Dokan
public function maybe_create_session() {
    // Vérification supplémentaire avant de créer une session
    if (!is_user_logged_in() || !dokan_is_user_seller(get_current_user_id())) {
        return;
    }
    
    // Code original de création de session
    if (!WC()->session->has_session()) {
        WC()->session->set_customer_session_cookie(true);
    }
}

Cas d'étude : Marketplace Dealt

Lors du développement de la marketplace Dealt, notre équipe a rencontré des défis similaires. La plateforme devait gérer des centaines de vendeurs simultanément, chacun pouvant gérer des dizaines de produits et services.

Notre approche a été de :

  1. Développer une architecture API-first avec React et Node.js
  2. Utiliser PostgreSQL pour une gestion plus robuste des données
  3. Implémenter une gestion de session personnalisée avec des tokens JWT
  4. Déployer l'infrastructure sur AWS avec une configuration optimisée pour les charges variables

Cette approche nous a permis de créer une marketplace stable et performante, même sous forte charge. Bien que cette solution soit plus avancée que la simple correction d'un site WordPress existant, elle illustre notre expertise dans la résolution de problèmes complexes liés aux marketplaces.

Recommandations spécifiques pour Dokan et WooCommerce

Si vous préférez conserver votre stack WordPress actuelle, voici nos recommandations spécifiques :

  1. Mise à niveau de l'hébergement : Envisagez un hébergement WordPress managé spécialisé dans WooCommerce, comme Kinsta ou WP Engine, qui offrent des configurations optimisées pour les marketplaces.

  2. Utilisation d'un object cache persistant : Implémentez Redis ou Memcached pour améliorer les performances et la gestion des sessions.

  3. Optimisation de la base de données : Utilisez des plugins comme WP-Optimize pour maintenir votre base de données en bon état.

  4. Mise à jour régulière : Assurez-vous que Dokan, WooCommerce et WordPress sont toujours à jour.

  5. Monitoring des erreurs : Implémentez un système de logging pour capturer les erreurs qui pourraient expliquer les déconnexions et les suppressions de produits.

Conclusion

Les problèmes de déconnexion et de suppression de produits dans Dokan peuvent être complexes à résoudre, mais avec une approche méthodique et une compréhension approfondie de l'architecture WordPress, ils peuvent être surmontés.

Chez Platane, nous avons développé une expertise particulière dans l'optimisation des marketplaces et des plateformes e-commerce. Notre expérience avec des projets comme Dealt (marketplace de jobbing) et la boutique Shopify headless du Festival Ouaille Note nous a permis d'acquérir une compréhension approfondie des défis techniques liés à ces plateformes.

Si vous rencontrez des problèmes similaires avec votre marketplace Dokan ou si vous envisagez de créer une plateforme plus robuste et évolutive, n'hésitez pas à nous contacter. Notre équipe de développeurs experts peut vous aider à diagnostiquer et résoudre vos problèmes techniques, ou à concevoir une solution sur mesure adaptée à vos besoins spécifiques.

Prenez rendez-vous via notre formulaire de contact pour échanger plus en détail sur votre projet. Chez Platane, nous combinons expertise technique et créativité pour transformer vos défis en opportunités et vous aider à atteindre vos objectifs commerciaux.

Le BlogDes infos, des actus, du fun !
Image de couverture de l'article de blog

Optimiser vos conversions : L'art d'intégrer Facebook Ads et SystemeIO pour un tunnel marketing performant

Découvrez comment créer un écosystème marketing cohérent en connectant vos campagnes Facebook Ads à SystemeIO pour maximiser vos conversions et automatiser votre nurturing client.
lire l’article
Image de couverture de l'article de blog

Développement d'applications mobiles : de l'idée au prototype fonctionnel en un mois

Guide complet sur le développement rapide de prototypes d'applications mobiles, les technologies à privilégier et les fonctionnalités essentielles pour valider votre concept avant un lancement à grande échelle.
lire l’article
Image de couverture de l'article de blog

Applications de Matching pour le Recrutement : Révolutionner la Recherche d'Emploi à l'Ère du Digital

Analyse des applications de matching pour le recrutement inspirées du modèle Tinder et comment elles transforment le marché de l'emploi avec des solutions mobiles innovantes.
lire l’article
Nous contacterOui allo ?
Nous appeler
Une question, un besoin de renseignements ?
N'hésitez pas à nous contacter.
Nous envoyer un message
facultatif
Prendre rendez-vous
Vous préférez discuter de vive voix ?
Nous aussi et c'est évidemment sans engagement !
logo de Platane.io
5 Rue Robert Rême - 35000, Rennes
69 rue des Tourterelles - 86000, Saint-Benoit
06 81 50 37 23
Retrouvez-nous sur