web-dev-qa-db-fra.com

WordPress pour un très grand site web

J'ai cherché et cherché mais je n'ai pas trouvé de réponse en ligne. De plus, j'ai posté ceci sur StackOverflow et apparemment ce n'était pas correct et j'ai republié cela ici. J'espère que ça va.

J'ai ce site qui est très grand: beaucoup de articles , commentaires , j'aime pour des articles (pas Facebook aime mais aime propre), évaluations pour les articles, plusieurs utilisateurs que ont chacun un blog , forum , mur de l'utilisateur , utilisateur amis etc.

Mon équipe et moi l'avons créé il y a 5 ou 6 ans dans CakePHP et le client veut maintenant le refaire. Je pensais que WordPress serait une bonne solution étant donné la tendance vers les articles et les choses, et WordPress (du moins, je pense) est le plus au courant des articles et des choses. J'ai vérifié et WordPress prend en charge plusieurs blogs, je peux personnaliser les champs de l'utilisateur, je peux établir des relations avec les utilisateurs, des galeries d'utilisateurs et tout le reste. De plus, j'ai fait quelques thèmes dans WordPress (environ 10) et j'aime beaucoup la façon dont ils sont codés.

Est-ce une bonne solution de le refaire dans WordPress? Considérant environ 50 000 articles et chacun environ 100 commentaires et environ 100 000 utilisateurs (dans le pire des cas), WordPress pourrait-il afficher le site Web en moins d'une seconde? (juste le côté serveur, sans CSS, JS et autres).

Autant que je sache, WordPress n'a que 20 à 30 tables (MySQL), alors que le site web en compte 180. Ainsi, il contiendra 180 tables d’informations dans environ 20 à 30 tables. Est-ce que ça va pas devenir trop lent, trop de monde, etc.?

Désolé pour la longue question, mais je veux être sûr de prendre la bonne décision. En bref: pour un site Web avec beaucoup (et je veux dire beaucoup) de contenu et beaucoup de trafic, WordPress est-il une solution viable?

3
ciprianmocanu

... WordPress pourra-t-il rendre le site Web en moins d'une seconde ...

WordPress est parfaitement adaptable à la quantité de contenu et à la base d'utilisateurs que vous décrivez.

Vous avez juste besoin de la puissance de httpd (Apache/nginx) pour pouvoir afficher une seconde de chargement de page et pour que le serveur de base de données (mysql, maria) réponde aussi rapidement.

Vous devez également configurer le serveur - à l'aide de divers utilitaires httpd et mysql - pour gérer les charges, ainsi que pour travailler avec les configurations php et la mise en cache opcode.

Il existe déjà toutes sortes d'informations sur les sites hautes performances WP et leur évolutivité: http://www.google.com/search?q=is+wordpress+scalable

Il y a trop d'options à couvrir ici; beaucoup dépendront du serveur, de l'hôte, etc. https://serverfault.com/ est beaucoup mieux pour les questions de serveur, car, la plupart du temps, elles ne seront pas spécifiques à WordPress.

1
markratledge

Voici quelques éléments que j'utilise pour optimiser le côté serveur des sites à fort trafic. J'ai travaillé sur WP sites contenant plus de 300 000 messages, donc tout va bien tant que votre serveur est configuré correctement.

  1. Je recommanderais d'installer un plugin de cache comme W3 Total Cache . J'ai eu beaucoup de chance avec cela sur les sites de grandes entreprises.
  2. Installez memcached sur votre serveur pour la mise en cache des objets et de la base de données. Configurez votre pool de serveurs de mise en cache dans les options de votre plugin. Cela fonctionne vraiment bien et la plupart des plugins/thèmes qui utilisent la mise en cache utilisent le cache d’objets via votre serveur memcached spécifié. (i.e. wp_cache_set et wp_cache_get)
  3. Configurez la mise en cache de la page sur disque ou sur memcached à l’aide de votre plugin de mise en cache. Cela accélère considérablement le chargement des pages. Le seul problème avec la mise en cache de disque est que les autorisations de fichier sur le dossier de cache doivent être exactes ou vous pouvez être piraté assez facilement. J'utilise memcached pour la mise en cache des pages afin de renforcer mon système de fichiers.
  4. Vous pouvez également essayer la mise en cache des opcode avec APC . Si vous utilisez <PHP 5.4, cela peut parfois entraîner une corruption excessive. APC met en cache la sortie compilée de vos scripts afin de ne pas compiler chaque demande. APC est également livré avec un mécanisme de mise en cache des objets. Mark Jaquith a un excellent plugin pour le configurer avec WP.
  5. Utilisez un CDN car son architecture dépasse de loin ce que vous pouvez créer vous-même et peut donner à vos téléspectateurs des nœuds Edge proches de leur emplacement géographique. Il existe des options gratuites à essayer, telles que Cloudflare . Cela vous donne également une couche de sécurité.
  6. Pour commenter, utilisez un service tiers tel que Livefyre surtout si vous avez un blog occupé. Ceci maintiendra votre charge de base de données et le cache de page n'interférera pas. Certains plugins synchroniseront vos commentaires avec le service tiers afin que vous puissiez conserver le contenu existant. J'ai trouvé que ces services fournissent également des outils de modération plus faciles. Vos utilisateurs peuvent également se connecter avec oAuth à partir de leur service favori et suivre leurs commentaires.

Si ce qui précède n'aide pas sur une instance de serveur unique, votre site sera probablement un candidat pour l'utilisation d'un cluster à charge équilibrée sur AWS EC2 instances.

J'espère que cela t'aides!

3
Brian Fegter