(cet article, initialement publié par le magazine Torque, est réimprimé avec permission.)
Les sites WordPress avec un contenu étendu souffrent souvent d'une fonctionnalité de recherche lente et inefficace. Cet article explore pourquoi la recherche WordPress par défaut lutte avec l'échelle et offre des solutions d'amélioration.
Points clés:
Comment fonctionne la recherche WordPress:
La recherche WordPress par défaut utilise une requête SQL complexe (illustrée ci-dessous) qui itère dans l'ensemble du tableau wp_posts
pour chaque recherche. Cela devient extrêmement lent avec un grand nombre de poteaux.
La requête comprend des vérifications pour:
SQL_CALC_FOUND_ROWS
) post_title
, post_excerpt
et post_content
post
, page
, attachment
) Les références de performances montrent des ralentissements significatifs avec de grands ensembles de données (exemple ci-dessous):
Défis avec la recherche WordPress par défaut:
post_title
, post_content
, post_excerpt
) et types de publication. Les types de postes personnalisés et les champs sont souvent exclus. Amélioration de la recherche WordPress:
Les solutions de recherche idéales doivent:
Solutions:
ALGOLIE: Un service de recherche externe de qualité d'entreprise. L'indexation hors site améliore considérablement la vitesse (démontrée ci-dessous).
Elasticsearch (avec ElasticPress): similaire à Algolia, mais offre des options d'hébergement flexibles. Fournit des fonctionnalités avancées comme l'indexation des produits WooCommerce et les suggestions de publication connexes.
Amazon Cloudsearch: Une solution puissante, évolutive et payante. Nécessite une expertise plus technique pour la mise en œuvre.
pertinentssi: un plugin wordpress qui améliore les résultats de recherche dans la base de données WordPress, offrant une recherche floue, un tri de pertinence et une prise en charge des champs personnalisés. n'améliore pas la vitesse de recherche.
SearchWP: Un autre plugin payant se concentrant sur les résultats améliorés, y compris les mots clés engelant et les analyses de recherche. N'améliore pas la vitesse de recherche.
Choisir la bonne solution:
La meilleure solution dépend du budget et des priorités. L'algolie et la recherche Elasticsearch accordent la vitesse et l'évolutivité. Perfectanssi et SearchWP se concentrent sur la qualité des résultats. Amazon CloudSearch offre une personnalisation mais exige des compétences plus techniques. Testez toujours dans un environnement de mise en scène avant le déploiement.
(Le reste de la section FAQ de l'article d'origine est omis par Brivity, mais les informations qu'il contient est facilement disponible via une recherche sur les sujets fournis.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!