giovedì 7 aprile 2016

Inserire il tag per indicare il canonical URL

In caso di una pagina con dei parametri in GET e/o con tanti alias c'è la possibilità che i motori di ricerca non capiscano che si tratta sempre della stessa url. Questo comporta la generazione di duplicati nell'indice dei motori di ricerca con conseguente penalizzazione del sito. Per ovviare è possibile indicare con il tag canonical URL qual'è l'unico URL originale della pagina.

Ecco una macro che stampa il canonical URL:

{%//canonical url
  straspx="";
  foreach (alias in CurrentSite.SiteDomainAliases) {
    if (alias.SiteDefaultVisitorCulture == CMSContext.CurrentDocumentCulture) {
      if(CurrentDocument.CultureVersions[alias.SiteDefaultVisitorCulture].DocumentUrlPath==""){
        straspx="";
      } else{
        straspx=".aspx";
      }
      println("<link rel=\"canonical\" href=\"https://" + alias.DisplayName + CurrentDocument.CultureVersions[alias.SiteDefaultVisitorCulture].DocumentUrlPath + straspx + "\"/>")
    }
  }
#%}

Questa macro tiene conto dei siti multilingua e degli alias.

Il codice HTML risultante:

<link rel="canonical" href="https://www.sitoesempio.com/contenuto.aspx"/>

Nessun commento:

Posta un commento