Per attivare la compressione delle risorse HTML è necessario inserire la seguente chiave nel web.config
Tu che leggi, qui ti aspetto. Perchè su Kentico in lingua italiana non troverai altro che questo blog!
giovedì 7 aprile 2016
Gzip delle risorse
Per attivare la compressione delle risorse HTML è necessario inserire la seguente chiave nel web.config
Utilizzare gli URL extension-less ed estensioni particolari
Deve essere anche impostato correttamente IIS.
Attenzione: non è possibile utilizzare una configurazione mista. Gli URL devono essere tutti con o senza estensione.
Fonte:
https://docs.kentico.com/display/K8/Custom+and+extensionless+URLs
Abilitare un carattere speciale come valido per gli URL
Per ragioni di sicurezza e compatibilità alcuni caratteri non possono essere utlizzati per comporre gli URL. A volte però, specialmente nei vecchi siti asp erano utilizzati ed in caso di migrazione è necessario inserirli tra quelli consentiti. Ad esempio per poter effettuare dei redirect 301.
Per attivare questa configurazione è necessario inserire la seguente chiave nel web.config:
<add key="CMSForbiddenURLValues" value="$%:?"<>|&'#[]=" />
Indicando quali sono i caratteri esclusi. E' anche necessario replicare la stessa configurazione sul server web IIS.
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"/>
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"/>
Macro per inserire il tag di tipo "hreflang" nei siti multilingua
Quando si ha un sito web multilingua può essere utile inserire nelle pagine il tag hreflang.
Questo aiuta a far capire ai motori di ricerca che le pagine dello stesso contenuto ma tradotte si riferiscono allo stesso argomento e che sono una la traduzione dell'altra.
Ecco la macro da posizionare nella header:
{%
straspx="";
strwww="https://";
foreach (page in CurrentDocument.CultureVersions) {
foreach (alias in CurrentSite.SiteDomainAliases) {
if (alias.SiteDefaultVisitorCulture == page.DocumentCulture) {
if(page.DocumentUrlPath=""){
straspx="";
} else{
straspx=".aspx";
}
println("<link rel=\"alternate\" href=\""+ strwww + alias.DisplayName + page.DocumentUrlPath + straspx + "\" hreflang=\""+ page.DocumentCulture.Substring(0,2) +"\" />".Trim())
}
}
}
#%}
La macro stamperà un codice HTML come questo:
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-en.aspx" hreflang="en" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-fr.aspx" hreflang="fr" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-hu.aspx" hreflang="hu" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-pl.aspx" hreflang="pl" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-es.aspx" hreflang="es" />
Se invece si vuole usare la codifica completa del codice ISO lingua+nazione è necessario quest'altro codice. Questo codice forza anche una falsa corrispondenza tra dominio .mx e lingua es-es impostando es-mx.
{%
straspx="";
strwww="https://";
foreach (page in CurrentDocument.CultureVersions) {
foreach (alias in CurrentSite.SiteDomainAliases) {
if (alias.SiteDefaultVisitorCulture == page.DocumentCulture) {
if(page.DocumentUrlPath=""){
straspx="";
} else{
straspx=".aspx";
}
if (alias.DisplayName.Contains(".mx")) {
println("<link rel=\"alternate\" href=\""+ strwww + alias.DisplayName + page.DocumentUrlPath + straspx + "\" hreflang=\"es-MX\" />".Trim())
} else {
println("<link rel=\"alternate\" href=\""+ strwww + alias.DisplayName + page.DocumentUrlPath + straspx + "\" hreflang=\""+ page.DocumentCulture +"\" />".Trim())
}
}
}
}
#%}
Il risultato sarà:
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-en.aspx" hreflang="en-US" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-fr.aspx" hreflang="fr-FR" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-es.aspx" hreflang="es-ES" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-mx.aspx" hreflang="es-MX" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-hu.aspx" hreflang="hu-HU" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-pl.aspx" hreflang="pl-PL" />
Questo aiuta a far capire ai motori di ricerca che le pagine dello stesso contenuto ma tradotte si riferiscono allo stesso argomento e che sono una la traduzione dell'altra.
Ecco la macro da posizionare nella header:
{%
straspx="";
strwww="https://";
foreach (page in CurrentDocument.CultureVersions) {
foreach (alias in CurrentSite.SiteDomainAliases) {
if (alias.SiteDefaultVisitorCulture == page.DocumentCulture) {
if(page.DocumentUrlPath=""){
straspx="";
} else{
straspx=".aspx";
}
println("<link rel=\"alternate\" href=\""+ strwww + alias.DisplayName + page.DocumentUrlPath + straspx + "\" hreflang=\""+ page.DocumentCulture.Substring(0,2) +"\" />".Trim())
}
}
}
#%}
La macro stamperà un codice HTML come questo:
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-en.aspx" hreflang="en" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-fr.aspx" hreflang="fr" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-hu.aspx" hreflang="hu" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-pl.aspx" hreflang="pl" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-es.aspx" hreflang="es" />
Se invece si vuole usare la codifica completa del codice ISO lingua+nazione è necessario quest'altro codice. Questo codice forza anche una falsa corrispondenza tra dominio .mx e lingua es-es impostando es-mx.
{%
straspx="";
strwww="https://";
foreach (page in CurrentDocument.CultureVersions) {
foreach (alias in CurrentSite.SiteDomainAliases) {
if (alias.SiteDefaultVisitorCulture == page.DocumentCulture) {
if(page.DocumentUrlPath=""){
straspx="";
} else{
straspx=".aspx";
}
if (alias.DisplayName.Contains(".mx")) {
println("<link rel=\"alternate\" href=\""+ strwww + alias.DisplayName + page.DocumentUrlPath + straspx + "\" hreflang=\"es-MX\" />".Trim())
} else {
println("<link rel=\"alternate\" href=\""+ strwww + alias.DisplayName + page.DocumentUrlPath + straspx + "\" hreflang=\""+ page.DocumentCulture +"\" />".Trim())
}
}
}
}
#%}
Il risultato sarà:
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-en.aspx" hreflang="en-US" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-fr.aspx" hreflang="fr-FR" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-es.aspx" hreflang="es-ES" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-mx.aspx" hreflang="es-MX" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-hu.aspx" hreflang="hu-HU" />
<link rel="alternate" href="https://www.sitoesempio.com/contenuto-pl.aspx" hreflang="pl-PL" />
Etichette:
hreflang,
macro,
multilingua,
seo
Come impostare la windows autentication su un website Kentico
Se si vuole proteggere un sito web Kentico con un set di credenziali si può utilizzare la basic autenthication di Windows. Così facendo si può usufruire facilmente dell'integrazione con Active Directory.
Ma attenzione, non è sufficiente configurare correttamente IIS per gestire questa autenticazione. Se non si seguono tutti i passaggi della guida la pagina successiva alla login sarà la pagina di login di backend e non la home del sito web.
E' anche possibile scegliere se proteggere l'intero sito o solo una cartella.
Fonte:
https://docs.kentico.com/display/K8/Securing+a+website+section+using+Windows+authentication
Ma attenzione, non è sufficiente configurare correttamente IIS per gestire questa autenticazione. Se non si seguono tutti i passaggi della guida la pagina successiva alla login sarà la pagina di login di backend e non la home del sito web.
E' anche possibile scegliere se proteggere l'intero sito o solo una cartella.
Fonte:
https://docs.kentico.com/display/K8/Securing+a+website+section+using+Windows+authentication
Iscriviti a:
Commenti (Atom)