Un site Drupal rapide offre une meilleure expérience utilisateur, des conversions plus élevées et de meilleurs classements sur Google. Dans ce guide, nous abordons toutes les manières d'optimiser votre site Drupal pour une vitesse maximale.

Pourquoi la performance est importante

La vitesse a un impact direct sur votre site web :

  • Expérience utilisateur : Les visiteurs quittent les sites lents
  • Classements SEO : Google récompense les sites rapides
  • Conversions : Chaque seconde de retard coûte des revenus
  • Coûts serveur : Les sites efficaces utilisent moins de ressources

Des études montrent que 40 % des visiteurs quittent une page qui met plus de 3 secondes à se charger.

Configurer la mise en cache de Drupal

La mise en cache est la principale optimisation que vous pouvez faire.

Activer la mise en cache interne des pages

Drupal dispose d'une mise en cache puissante intégrée :

  1. Allez dans Configuration puis Développement
  2. Cliquez sur Performance
  3. Configurez Mise en cache du navigateur et proxy :
    • Âge maximum de la mise en cache des pages : Au moins 1 heure, de préférence 1 jour
  4. Cliquez sur Enregistrer la configuration

Configurer la mise en cache par type de contenu

Pour le contenu dynamique, vous pouvez affiner la mise en cache :

  1. Allez dans Structure puis Types de contenu
  2. Éditez le type de contenu
  3. Sous Options de publication, ajustez les paramètres de mise en cache
  4. Enregistrez les modifications

Vider le cache

Après des modifications, vous devez parfois vider le cache :

  1. Allez dans Configuration puis Performance
  2. Cliquez sur Vider tous les caches

Via Drush (SSH) :

drush cache:rebuild
# Ou en abrégé :
drush cr

Agrégation CSS et JavaScript

L'agrégation combine des fichiers pour des temps de chargement plus rapides.

Activer l'agrégation

  1. Allez dans Configuration puis Développement
  2. Cliquez sur Performance
  3. Sous Optimisation de la bande passante :
    • Cochez Agrégat des fichiers CSS
    • Cochez Agrégat des fichiers JavaScript
  4. Cliquez sur Enregistrer la configuration

Avantages de l'agrégation

  • Moins de requêtes HTTP
  • Taille de fichier réduite grâce à la compression
  • Temps de chargement initial plus rapide

Après modifications

Si vous modifiez CSS ou JS, videz le cache pour rafraîchir les fichiers agrégés.

Optimisation de la base de données

Une base de données optimisée est essentielle pour la performance.

Exécuter cron régulièrement

Le cron de Drupal nettoie la base de données :

  1. Allez dans Configuration puis Système
  2. Cliquez sur Cron
  3. Définissez la fréquence (au moins toutes les 3 heures)
  4. Ou exécutez manuellement : cliquez sur Exécuter cron

Via crontab (recommandé) :

# Exécutez cron toutes les 6 heures
0 */6* * * cd /path/to/drupal && drush cron

Optimiser les tables de la base de données

Via phpMyAdmin :

  1. Ouvrez phpMyAdmin dans DirectAdmin
  2. Sélectionnez votre base de données Drupal
  3. Sélectionnez toutes les tables
  4. Choisissez Optimiser la table dans le menu déroulant

Nettoyer les tables de cache

Drupal stocke beaucoup de cache dans la base de données :

# Via Drush
drush sql-query "TRUNCATE cache_default"
drush sql-query "TRUNCATE cache_render"
drush sql-query "TRUNCATE cache_page"

Optimisation PHP

Optimisez PHP pour de meilleures performances Drupal.

Activer OPcache

OPcache accélère considérablement PHP :

  1. Vérifiez si OPcache est actif via Rapports puis Rapport d'état
  2. Ou via phpinfo()
  3. Chez Theory7 hosting, OPcache est activé par défaut

Augmenter la mémoire PHP

Pour des sites complexes :

  1. Allez dans DirectAdmin
  2. Cliquez sur Configuration du domaine puis Paramètres PHP
  3. Augmentez memory_limit à 256M ou 512M
  4. Enregistrez les modifications

Version PHP

Utilisez toujours la dernière version de PHP :

  • PHP 8.2 ou 8.3 recommandé pour Drupal 10
  • Les versions plus récentes sont significativement plus rapides

Optimisation des modules

Les modules peuvent fortement influencer les performances.

Désactiver les modules inutiles

Chaque module actif coûte des ressources :

  1. Allez dans Étendre
  2. Examinez tous les modules actifs
  3. Désactivez les modules non utilisés
  4. Supprimez-les complètement si possible

Installer des modules de performance

Considérations sur les modules de performance :

  • BigPipe (noyau) :
    • Charge les pages de manière progressive
    • Inclus par défaut dans Drupal 10
  • Agrégation CSS/JS avancée :
    composer require drupal/advagg
    
    • Optimisation avancée des ressources
    • Regroupement et minification

Identifier les requêtes lentes

Via les journaux de base de données ou les modules :

  1. Activez le journal des requêtes lentes dans MySQL
  2. Analysez les requêtes lentes
  3. Ajoutez des index si nécessaire

Optimisation des vues et du contenu

Les vues peuvent être lentes si elles ne sont pas bien configurées.

Activer la mise en cache des vues

  1. Éditez la vue
  2. Allez dans les paramètres Avancés
  3. Cliquez sur Mise en cache
  4. Définissez la mise en cache basée sur le temps
  5. Enregistrez la vue

Utiliser la pagination

Limitez le nombre d'éléments par page :

  1. Dans la vue, allez dans Paginateur
  2. Définissez un nombre raisonnable d'éléments (10-25)
  3. Cela évite des requêtes lourdes sur la base de données

Limiter le préchargement de contenu

Chargez uniquement les champs dont vous avez besoin :

  1. Utilisez Champs au lieu de Contenu pour l'affichage
  2. Sélectionnez uniquement les champs nécessaires
  3. Évitez les relations complexes

Optimiser les images

Les images sont souvent les plus gros fichiers.

Utiliser des styles d'image

  1. Allez dans Configuration puis Média
  2. Cliquez sur Styles d'image
  3. Créez des styles pour différents formats
  4. Drupal redimensionne automatiquement les images

Activer le chargement paresseux

Chargez les images uniquement lorsqu'elles apparaissent à l'écran :

  1. Drupal 10 a un chargement paresseux de base intégré
  2. Considérez des modules comme Lazy-load pour plus de contrôle

Format WebP

Utilisez WebP pour des fichiers plus petits :

  1. Vérifiez si votre serveur prend en charge WebP
  2. Utilisez les styles d'image pour générer WebP
  3. Les navigateurs modernes affichent WebP, les anciens reçoivent un fallback

Surveillance des performances

Mesurez vos résultats régulièrement.

Outils internes

  1. Allez dans Rapports puis Rapport d'état
  2. Vérifiez les métriques de performance
  3. Examinez l'état de la base de données et du cache

Outils externes

  • Google PageSpeed Insights : Analyse détaillée
  • GTmetrix : Temps de chargement et analyses
  • WebPageTest : Métriques détaillées

Liste de contrôle des performances

  • Mise en cache des pages active
  • Agrégation CSS/JS activée
  • Cron s'exécute régulièrement
  • OPcache actif
  • Images optimisées
  • Modules inutiles désactivés

Articles connexes

Besoin d'aide ?

Nous sommes là pour vous aider ! Vous rencontrez des problèmes ou avez des questions ? Notre équipe de support est prête à vous aider personnellement. Envoyez-nous un message via le système de tickets - nous répondons généralement dans quelques heures et sommes heureux de vous aider.