Fermer

avril 9, 2021

Améliorer vos résultats de recherche Google avec SXA


Améliorer la façon dont vos résultats de recherche apparaissent dans Google et d'autres moteurs de recherche est primordial pour attirer les utilisateurs vers votre site. Cet article de blog vous montrera comment afficher les scores des avis dans vos résultats de recherche à l'aide du SXA de Sitecore. Comment cela peut-il stimuler votre activité? Pourquoi voudriez-vous présenter ces informations à l'utilisateur? Pour tout savoir sur les raisons scientifiques pour lesquelles vous voudriez faire cela, consultez le blog de ma collègue Megan Jensen ici .

The End Goal

 Reviewscoreexample

Dans ce résultat de recherche Google pour Le Seigneur de les anneaux, vous pouvez voir qu'il y a un graphique de notation par étoiles, une note globale et un nombre total de commentaires qui se situent en moyenne à 8,8 / 10. Ces informations ne sont pas simplement extraites par magie par Google. Vous devez informer Google de ces notes d'évaluation de manière à ce qu'il puisse digérer les informations.

Utilisation de Schema.NET pour atteindre l'objectif final

Schema.org a créé des centaines d'objets avec diverses propriétés à utiliser sur des pages Web . Ces données structurées sont reconnues par Google, Bing et d'autres applications populaires. Vous pouvez améliorer votre présence en ligne avec ces autres applications en créant ces objets qu'elles peuvent consommer. Schema.NET est la bibliothèque .NET applicable qui a des versions C # de ces objets. Il sera utilisé pour sérialiser ces objets en JSON / JSON-LD. Après la sérialisation, vous placerez les objets dans l'élément de la page. Après cela, les données sont prêtes à être utilisées à partir de ces autres applications.

Étape 1 – Créer le rendu du contrôleur dans Sitecore

 Metadatarendering

Sous / sitecore / layout / renderings, créez un rendu de contrôleur comme la capture d'écran ci-dessus. Mon contrôleur vivra dans un projet de métadonnées dans la couche d'entités.

Étape 2 – Ajouter un rendu à une sortie partielle dans le

 Sitecore - Comprendre les approches de développement: une perspective de Sitecore

Créez une conception partielle intitulée Métadonnées sous / sitecore / content / / / présentation / dessins partiels. Dans les détails de la présentation, ajoutez le rendu nouvellement créé à l'étape 1. Veillez à le placer dans un espace réservé qui est généré dans l'élément de votre mise en page. Ajoutez ensuite cette conception partielle de métadonnées aux éléments de conception de page que vous souhaitez afficher sous / sitecore / content / / / presentation / pages designs.

 Metadatapartial

Étape 3 – Configurer le contrôleur, le référentiel, le modèle et la vue

Installez le package Schema.NET via NuGet.

 classe publique SchemaMarkupModel
{
   public bool HasJsonLd {get; ensemble; }
   chaîne publique JsonLd {get; ensemble; }
} 

Ensuite, créez un modèle comme ci-dessus pour stocker les métadonnées de la chaîne JSON-LD.

 classe publique SchemaMarkupController: StandardController
{
   privé en lecture seule IAbstractRepository  _schemaMarkupRespository;

   public SchemaMarkupController (IAbstractRepository  schemaMarkupRepository)
   {
      _schemaMarkupRespository = schemaMarkupRepository;
   }

   objet de remplacement protégé GetModel ()
   {
      return _schemaMarkupRespository.GetModel ();
   }
} 

Après avoir créé votre modèle, créez votre contrôleur comme ci-dessus. Vous vous rappellerez que le rendu du contrôleur que vous avez créé à l'étape 1 appelle la méthode Index. Cette méthode d'index se trouve dans le contrôleur standard, un objet fourni par SXA. L'interface IAbstractRepository est également fournie par SXA. Vous allez remplacer la méthode GetModel () pour hydrater le SchemaMarkupModel que vous venez de créer.

 classe publique SchemaMarkupRepository: IAbstractRepository 
{
   privé en lecture seule IContext _context;

   public SchemaMarkupRepository (contexte IContext)
   {
      _context = contexte ?? throw new ArgumentNullException (nameof (contexte));
   }

   public SchemaMarkupModel GetModel ()
   {
      SchemaMarkupModel model = nouveau SchemaMarkupModel ();

      model.JsonLd = GetJsonLd (_context.Item);

      model.HasJsonLd =! string.IsNullOrEmpty (model.JsonLd);

      modèle de retour;
   }

   chaîne privée GetJsonLd (Item pageItem)
   {
      // À FAIRE: Créer JSON-LD pour la vue
   }
} 

Ensuite, vous devrez créer le référentiel qui sera utilisé pour implémenter la méthode GetModel () trouvée dans le contrôleur. Dans le référentiel ci-dessus, j'ai demandé à IContext d'être injecté, afin que je puisse l'utiliser pour récupérer l'élément de page actuel sur lequel je suis pour personnaliser les données JSON-LD pour cette page particulière. Si vous n'avez pas besoin d'obtenir l'élément de page, vous pouvez laisser le bit IContext. Vous implémenterez la méthode GetJsonLD () à l'étape suivante.

 @model Feature.Metadata.Models.SchemaMarkupModel

@ {
   Layout = Sitecore.Configuration.Settings.GetSetting ("XA.Foundation.Presentation.MetaComponentLayoutPath", "../SXA/Meta Component Layout.cshtml");
}

@if (Model.HasJsonLd)
{  } 

Enfin, créez la vue qui affichera l'objet JSON-LD que vous créez. Vous afficherez ces métadonnées dans une balise

Vous devrez utiliser l'objet Schema.NET qui représente le mieux l'élément pour lequel vous affichez des évaluations. Si vous affichez les évaluations d'un livre, utilisez l'objet Livre. Si un objet spécifique n'existe pas, utilisez l'objet Product générique. Afficher les notes d'une entreprise? Utilisez l'objet Organisation. Il existe de nombreux objets différents que vous pouvez utiliser via Schema.NET pour baliser vos métadonnées. Attention cependant, évitez de placer des métadonnées qui induisent en erreur le contenu de la page. Les moteurs de recherche pénaliseront votre score de recherche si vous ajoutez sciemment ou inconsciemment de mauvaises métadonnées qui ne correspondent pas au contenu de la page.






Source link