Risoluzione di URL canonici e di sitemap non corretti o duplicati dalla configurazione del dominio e del protocollo di AEM

I tag canonici e gli URL sitemap generati da AEM mostrano il dominio errato, il protocollo errato, i percorsi relativi o i tag canonici duplicati quando le proprietà della pagina, l’esternalizzatore, le intestazioni di richiesta o la logica del modello non sono configurate correttamente. Le cause più comuni sono una configurazione di dominio Externalizer mancante, un’intestazione X-Forwarded-Proto mancante, regole del dispatcher clientheaders non corrette o una logica di modello che emette un secondo tag canonico. Correggendo le impostazioni della proprietà della pagina e di Externalizer, assicurandosi che l’intestazione del protocollo raggiunga AEM, e rimuovendo la logica del modello duplicata, vengono ripristinati gli URL canonici e sitemap corretti.

Descrizione description

Problema: AEM emette URL canonici e sitemap non corretti, duplicati o relativi

Descrizione

I siti in AEM visualizzano URL canonici errati — http invece di https, URL relativi o URL completi mancanti — oppure generano sitemap che contengono URL relativi invece di URL assoluti. In alcuni casi, AEM inserisce un tag canonico predefinito quando un’implementazione personalizzata ne genera già uno, generando duplicati. Le proprietà di pagina non configurate correttamente, una configurazione del dominio Externalizer mancante, intestazioni X-Forwarded-Proto mancanti, regole del dispatcher clientheaders non corrette o una logica a livello di modello che emette automaticamente tag canonici attivano tutti questi sintomi.

Ambiente:

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • AEM 6.5 on-premise
  • Dispatcher e CDN / livelli di load balancer

Problema/Sintomi:

  • Gli URL canonici vengono visualizzati come http:// invece di https://
  • Sitemap contiene solo tag o URL relativi anziché URL assoluti
  • I tag canonici duplicati vengono visualizzati nell’origine della pagina
  • Il tag canonico generato automaticamente da AEM mostra solo un percorso relativo invece dell’URL completo

Causa principale:

AEM determina gli URL canonici e di sitemap da una combinazione di proprietà di pagina, configurazione di Externalizer, intestazioni di richiesta (in particolare X-Forwarded-Proto), mappature del risolutore risorse e logica specifica del modello. Se manca uno di questi, se non è configurato correttamente o se ne esegue l’override, AEM restituisce URL non corretti, duplicati o relativi. Alcuni comportamenti di sitemap sono anche limitazioni nel modulo Sling Sitemap di Apache.

Come confermare

  1. Abbina il sintomo osservato a una categoria: tag canonici duplicati, protocollo errato (http), dominio mancante o sitemap che genera URL relativi.
  2. Ispeziona la sorgente della pagina e conferma quanti tag canonici sono presenti e se ciascuno di essi utilizza il protocollo e il dominio corretti.
  3. Recupera <site>.sitemap-index.xml in un browser e verifica se le voci sono URL assoluti o relativi.

Risoluzione resolution

  1. Correggi i tag canonici duplicati o errati. Apri Proprietà pagina > Avanzate e individua il campo URL canonico, che controlla la generazione canonica automatica. Cancella o aggiorna il valore in base alle esigenze, quindi ricarica l’origine della pagina e conferma che rimanga un solo tag canonico. Se il tag generato automaticamente viene ancora visualizzato, controllare headerlibs o head.html personalizzato per la logica del modello che aggiunge un secondo tag canonico e rimuovere o disabilitare la logica duplicata.

  2. Correggi gli URL canonici che utilizzano il protocollo errato. Conferma la CDN o il load balancer invia l’intestazione:

    code language-none
    X-Forwarded-Proto: https
    

Esaminare le intestazioni di richiesta in ingresso con il browser DevTools o curl per verificare che l’intestazione sia presente. Se manca, aggiorna la rete CDN o le regole del load balancer.
​3. Per AEMaaCS, controlla la configurazione OSGi distribuita tramite Cloud Manager per org.apache.felix.http.sslfilter.SslFilter, con i seguenti valori dei campi:

  • enable = true
  • forwarded = true
  • forwarded.header = X-Forwarded-Proto
  • forwarded.value = https

Dopo la distribuzione, visualizzare l’origine della pagina per confermare che la generazione canonica utilizza https.
​4. Correggi gli URL relativi o un dominio mancante nella sitemap. Confermare l’utilizzo della voce sitemap-index.xml. Gli URL assoluti vengono spesso visualizzati solo in sitemap-index.xml e non nei file sitemap.xml secondari. Verificare quindi che la configurazione del dominio Externalizer sia distribuita tramite il codice, utilizzando la configurazione com.day.cq.commons.impl.ExternalizerImpl-publish. Aggiungere un semplice collegamento di test utilizzando externalizer.externalLink o externalizer.publishLink per confermare che Externalizer genera URL assoluti.
​5. Genera sitemap utilizzando le funzionalità predefinite di AEM. Conferma che Generate Sitemap sia abilitato o disabilitato correttamente a livello di pagina. Per le pagine contrassegnate come directory principale della mappa del sito, AEM genera sitemap.xml e sitemap-index.xml. Accedere direttamente a /content/<path>.sitemap-index.xml o /content/<path>.sitemap.xml per confermare che l’XML previsto è stato prodotto. Se gli URL non restituiscono nulla, conferma che la pagina sia pubblicata. Se si utilizzano le mappe del sito di Edge Delivery Services (EDS), si noti che lastmod e changefreq non sono supportati. Si tratta di una limitazione complessa, pertanto non tentare di personalizzare la mappa del sito di EDS.
​6. Per i siti MSM o multilingue su AEMaaCS, utilizza la mappa del sito Sling integrata con un sling:sitemapRoot a livello di pagina. Il generatore di sitemap ACS Commons non è supportato. Confermare che sling:sitemapRoot = true sia presente in ogni directory principale della lingua, quindi accedere a <langroot>.sitemap-index.xml per confermare che ogni directory principale della lingua genera la propria sitemap.

Convalida

  1. Apri la sorgente della pagina e conferma che esista un solo tag canonico, che il protocollo sia corretto e che il dominio corrisponda alla configurazione prevista.
  2. Apri sitemap-index.xml e sitemap.xml e verifica che gli URL assoluti vengano visualizzati dove supportati, senza tag relativi a meno che non siano previsti dalle limitazioni di Apache Sling Sitemap.
  3. Conferma le modifiche alla propagazione della configurazione di Dispatcher, CDN o OSGi dopo la distribuzione. AEMaaCS applica questi elementi automaticamente al momento della distribuzione.

Lettura correlata

recommendation-more-help
experience-cloud-kcs-help-kbarticles