Performance de ma structure de permalien?


14

J'ai lu la discussion sur les performances de différents permaliens sur la liste de diffusion des pirates wp, CE forum et autour de Google.

Je ne pourrais cependant pas vraiment déduire si la structure de permalien que j'utilise depuis les dernières années est bonne ou non:

/%postname%-%year%%monthnum%%day%.html

Cette combinaison place le nom de poste directement après le / et la combinaison année, mois, jour le rend plus unique car de nombreux noms de poste portent le même nom. L'ajout html est quelque chose que j'utilise depuis 10 ans sur mon blog (même pré wordpress), c'est donc un héritage.

Je ne sais pas si c'est bon pour la permance ou mauvais pour les performances, comment puis-je vérifier cela?

(J'exécute le blog depuis +10 ans et il y a environ 10 000 messages avec de nombreux liens)

liens:

  1. http://codex.wordpress.org/Using_Permalinks

  2. http://www.google.com/search?q=wordpress+category+permalink+performance

  3. http://ottopress.com/2010/category-in-permalinks-considered-harmful/

  4. http://lists.automattic.com/pipermail/wp-hackers/2010-October/035458.html

Réponses:


8

Vous pouvez vérifier en regardant la taille de l'option rewrite_rules dans la base de données. Si c'est petit (ce que je pense qu'il devrait avec cette structure), vous n'utilisez pas de règles détaillées. En revanche, si vous voyez plusieurs lignes par page statique, vous utilisez des règles détaillées et ce n'est pas bon.


malheureusement ... il y a plusieurs lignes par page statique GRIN. Donc, ce n'est probablement pas une bonne structure de permalien ... hmmmm ... cela explique un message d'erreur que j'ai reçu il y a quelque temps "Erreur de base de données WordPress Vous avez un paquet plus gros que 'max_allowed_packet", j'ai dû augmenter ce paramètre dans MySql.
edelwater

là encore ... si vous continuez à ajouter des pages pendant des années, vous obtiendrez automatiquement max_allowed_packet quoi qu'il arrive ... à moins que vous ne reveniez à des jolis permaliens ... (je pense) donc ... pour être évolutif pour les 30 prochaines années: ) Je devrai probablement revenir à des permaliens non jolis. Je pense.
edelwater

1
Tant que vous utilisez des règles non verbeuses, votre page, les règles de type de pièce jointe et personnalisée sont génériques. Les jolis liens sont donc assez sûrs en pratique, tant qu'ils utilisent une structure non verbeuse.
Denis de Bernardy

1

Je m'oppose à la réponse acceptée. La complexité des règles de réécriture n'est en aucun cas une mesure des performances de la recherche d'article.

En particulier, il semble que démarrer vos permaliens avec des noms de poste soit mauvais; voir http://codex.wordpress.org/Using_Permalinks#Structure_Tags

Sans avoir examiné le code Wordpress, je peux imaginer qu'ils indexent en quelque sorte les publications de manière hiérarchique. Par conséquent, les variables utilisées dans les permaliens doivent être classées de gauche à droite de la variable la plus générale à la plus spécifique post utilisée. Cette heuristique favorise fortement les normes année / mois / nom ou catégorie / nom.


1
category/nameest en fait connu et confirmé comme provoquant des problèmes de performances si une grande quantité de pages est présente. Ce n'est pas autant lié à la vitesse de recherche qu'à la déduction de l'objet correct à servir et la complexité des règles de réécriture est tout à fait pertinente.
Rarst

Pouvez-vous donner une référence doc / code s'il vous plaît? Je viens de survoler le code (wp-include/rewrite.phpet wp-include/query.php); bien que cela semble vraiment horrible et inutilement compliqué, il semble que les pièces soient collectées et identifiées, puis directement insérées dans les requêtes SQL. Je ne vois toujours pas pourquoi cela devrait prendre plus de temps pour différentes commandes. Mais lorsque la requête db est exécutée, plusieurs jointures doivent être effectuées et ici l' ordre importe vraiment. Je semble me souvenir que MySQL est particulièrement mauvais pour optimiser l'ordre de jointure.
Raphael

Je ne suis pas trop profondément dans la théorie DB, mais vous devez garder les produits petits. Dans tous les cas, cela pourrait être un bug dans le sens où il n'est pas programmé aussi efficacement qu'il pourrait l'être.
Raphael

2
le Codex donne "quelques CONSEILS" (voir Codex) et ne spécifie pas spécifiquement l'algorithme complet. Il indique cependant ottopress.com/2010/category-in-permalinks-considered-harmful et comox.textdrive.com/pipermail/wp-testers/2009-January/… dans l'ensemble, il existe une sorte de friction entre les meilleures pratiques du piratage d'url dans le domaine de l'interaction homme-machine et des performances dans le domaine de l'amélioration des performances.
edelwater

1
Merci pour le pointeur ottopress. Il apparait que changer les conventions de telle sorte que chaque URL de page commence par /page/et chaque URL de publication avec /post/, supprimant ainsi toute ambiguïté. Vous devriez pouvoir le faire vous-même, en ajoutant le texte fixe à votre structure de permalien. Ce serait probablement une bonne décision, de toute façon; que se passe-t-il si j'ai une BARRE de publication dans la catégorie FOO et une BARRE de page qui est une sous-page de FOO? Les deux seraient traités en /foo/bar/supposant le schéma% category% /% postname%. Ou les limaces sont-elles uniques au monde?
Raphael

0

Juste pour le contrôle qualité du workflow:

La réponse est: NON, ce n'est pas une bonne structure de permalien concernant les performances.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.