J'utilise Joomla v3.8.13 et j'ai activé Smart Search v3.0.0, qui indexe correctement les articles.
J'ai également installé ChronoForms de ChronoEngine pour créer un formulaire Nous contacter et quelques autres formulaires. Les formulaires sont ajoutés au site à l'aide d'éléments de menu.
Comme il n'y a pas d'articles impliqués, les formulaires n'apparaissent pas dans les résultats de la recherche pour "contact" ou des mots des titres des autres éléments du menu.
Contrairement à "Contactez-nous", certains éléments du menu ne se trouvent pas au premier niveau de la hiérarchie des menus et ne sont donc pas faciles à trouver. Cela signifie que la recherche est importante pour que les visiteurs du site trouvent ces pages. Bien qu'ils puissent recourir à des recherches Google spécifiques à un site, celles-ci ne sont pas toujours faciles à définir pour le visiteur moyen. En outre, l'indexation peut prendre un certain temps aux robots de Google.
En plus des éléments de menu, j'ai également des modules personnalisés qui affichent un récit au-dessus des formulaires. Les modules ne sont visibles que lorsque les menus appropriés sont sélectionnés, ils sont donc spécifiques à une page. Ils ont également un contenu comme "contact" qui correspond aux titres des éléments de menu.
Si je pouvais indexer les éléments de menu ou les modules, cela résoudrait le problème.
Est-ce possible, même avec certaines personnalisations PHP?
Pour répondre à la question: Les éléments indexés dans la recherche intelligente sont pilotés par les plug-ins 'Finder'. Les éléments de menu et les modules personnalisés n'ont pas de plug-in Finder, mais vous pouvez les écrire. Je ne connais aucun de ceux qui existent déjà dans la nature.
Pour résoudre le problème, procédez comme suit: Remplacez les éléments de menu que vous avez pointés vers des formulaires pour pointer vers des articles individuels, déplacez le contenu des modules personnalisés vers ces articles et utilisez le plug-in de contenu chronoform pour incorporer les formulaires à l'intérieur des articles, comme:
{chronoforms5}formnamehere{/chronoforms5}