# MemberPress ou Paid Memberships Pro : le coût en requêtes d’un espace membre

> Comparatif du nombre de requêtes générées par deux extensions d'adhésion sur une page de contenu réservé, avec un verdict qui dépend du nombre de règles d'accès actives.

- Auteur : Clément Hadrot
- Publié le : 2024-04-10
- Mis à jour le : 2024-04-10
- Catégorie : Performance
- URL : https://wpmoderne.dev.wordpress-developpement.fr/performance/memberpress-paid-memberships-pro-cout-requetes/

## L’essentiel

- Les deux extensions vérifient l'accès à chaque chargement de page réservée
- Le nombre de règles combinées influence directement le coût en requêtes
- Le cache de vérification d'accès change complètement la donne

Une page de contenu réservé doit-elle vraiment coûter plus cher en requêtes SQL qu'une page publique équivalente ? La réponse est oui dans les deux cas testés ici, mais dans des proportions très différentes selon l'extension d'adhésion utilisée pour gérer les accès.

Le site testé propose un espace membre avec cinq niveaux d'abonnement, chacun donnant accès à des catégories de contenu différentes, avec des règles combinées : certains contenus nécessitent un abonnement actif ET l'appartenance à une catégorie professionnelle précise. Deux configurations identiques ont été montées, l'une avec MemberPress, l'autre avec Paid Memberships Pro.

## Le protocole de test

Chaque configuration a reçu les mêmes cinq règles d'accès, appliquées sur les mêmes contenus, avec les mêmes comptes de test pour vérifier le comportement fonctionnel avant de passer à la mesure de performance. Query Monitor a servi à relever le nombre de requêtes SQL générées lors de l'affichage d'une page de contenu réservé, pour un utilisateur connecté disposant de l'accès requis.

## Ce que révèle la mesure

MemberPress vérifie l'accès via une série d'appels distincts pour chaque règle applicable au contenu affiché, chaque règle interrogeant potentiellement une table de transactions et une table de règles séparément. Sur les cinq règles combinées du test, cela représentait vingt-huit requêtes SQL sur l'affichage d'une seule page de contenu réservé.

Paid Memberships Pro regroupe une partie de cette vérification dans une requête unique interrogeant directement le statut de l'utilisateur et son niveau d'abonnement, avant de croiser ce résultat avec les règles de catégorie en mémoire plutôt qu'en base. Le total relevé sur le même scénario atteignait quinze requêtes, soit un écart de treize requêtes en faveur de cette seconde extension.

> L'essentiel à retenir : Les deux extensions vérifient l'accès à chaque chargement de page réservée ; Le nombre de règles combinées influence directement le coût en requêtes ; Le cache de vérification d'accès change complètement la donne

## Pourquoi cet écart se creuse avec le nombre de règles

Le test a été rejoué avec une seule règle d'accès simple, sans combinaison de critères. Dans ce cas, l'écart tombait à deux requêtes seulement, une différence négligeable au regard du reste du chargement de la page. C'est la combinaison de plusieurs règles qui fait apparaître la différence architecturale entre les deux approches : l'une multiplie les vérifications individuelles, l'autre les regroupe.

| Scénario | MemberPress | Paid Memberships Pro |
| --- | --- | --- |
| Une règle simple | 9 requêtes | 7 requêtes |
| Cinq règles combinées | 28 requêtes | 15 requêtes |
| Avec cache de vérification activé | 4 requêtes | 3 requêtes |

## Le rôle décisif du cache de vérification

Les deux extensions proposent un mécanisme de cache pour le résultat de la vérification d'accès, valable pour la durée de la session ou pour une courte période configurable. Une fois ce cache activé des deux côtés, l'écart entre les deux extensions devient marginal, l'essentiel du coût de vérification n'étant plus payé qu'une seule fois par session plutôt qu'à chaque chargement de page.

- Site avec peu de règles combinées : l'écart entre les deux extensions reste faible, quel que soit l'état du cache
- Site avec des règles croisées nombreuses, cache de vérification désactivé : avantage net à Paid Memberships Pro
- Cache de vérification activé des deux côtés : différence marginale, le choix se fait alors sur d'autres critères fonctionnels

> Un comparatif de requêtes SQL sans activer les options de cache proposées par chaque extension raconte une histoire incomplète. La vraie question à se poser est celle du coût une fois la configuration réellement optimisée, pas celle du réglage brut sorti de sa boîte.

## Notre verdict

Sur un espace membre combinant plusieurs règles d'accès croisées, Paid Memberships Pro affiche un coût en requêtes nettement inférieur à configuration égale sans cache. Une fois le cache de vérification activé des deux côtés, cet argument perd beaucoup de son poids, et le choix doit alors se porter sur d'autres critères : ergonomie de configuration des règles, intégration avec la passerelle de paiement déjà utilisée, ou habitudes déjà en place dans l'équipe.
