Webbplatskartor

Skapa automatiskt genererade webbplatskartfiler som ska refereras från din robots.txt. Detta underlättar för SEO och identifieringen av nytt innehåll. AEM kan generera tre typer av platskartor: utan någon konfiguration, baserat enbart på ett frågeindex eller på en manuell platskarta. En enskild platskarta måste vara begränsad till 50 000 URL:er och 50 MB (okomprimerad) storlek - se Gränser.

Skapa en platskarta utan någon konfiguration

Om du inte gör något kommer du att se din platskarta i sitemap.xml och ha ett platskarteindex i sitemap.json. Den innehåller en lista med alla dina publicerade dokument.

Om du har startat med en annan typ av platskarta och vill växla till den här typen måste du ta bort konfigurationsfilen helix-sitemap.yaml, antingen manuellt definierad i GitHub eller automatiskt genererad, och indexera om platsen.

Domännamn som används i externa URL-adresser

Om du vill anpassa domänen som används för att skapa externa URL:er lägger du till egenskapen host eller cdn.prod.host i projektkonfigurationen (med namnet .helix/config när du använder Google Drive som serverdel eller .helix/config.xlsx på Sharepoint) och förhandsgranskar filen för att aktivera den.

Generera en platskarta baserad på ett index

Mer information om indexering finns i dokumentet Indexering. Om du vill skapa en platskarta som baseras på ett index måste du se till att du redan har ställt in ett inledande frågeindex enligt vad som förklaras här. Då genereras en platskarta på platsen:

https://<branch>--<repo>--<owner>.hlx.page/sitemap.xml

Och en platskarta på följande plats:

https://<branch>--<repo>--<owner>.hlx.page/helix-sitemap.yaml

Vi rekommenderar att du skapar en sitemap-index.xml-fil som refererar till alla dina platskartor och behåller den som en del av din projektkod i ditt github-svar. På så sätt är det enkelt att lägga till nya platskartor när projektet utökas.

Manuell konfiguration av platskartan

Om du behöver göra en större anpassning än vad som anges i den genererade platskarta kan du kopiera dess innehåll och klistra in det i en fil med namnet helix-sitemap.yaml i projektets rotmapp.

Obs! När du använder ett manuellt konfigurerat index och en platskarta (t.ex. kodrepo innehåller en Heilx-query.yaml- och Heilx-sitemap.yaml-fil) måste indexdefinitionen innehålla egenskapen robots för att säkerställa att platskartan utesluter sidor med robots: noindex -metadata. När du använder automatiskt genererade indexdefinitioner följer du bara rekommendationerna i indexeringsdokumentationen så att dessa sidor utesluts från indexet.

Följande avsnitt innehåller de typer av platskartor som stöds.

Enkel platskarta

Följande är en enkel helix-sitemap.yaml. Det förutsätter att det finns ett enda index som innehåller alla sidor som behöver visas i platskartan.

 sitemaps:
   example:
     source: /query-index.json
     destination: /sitemap-en.xml

Om du vill att de senaste ändringsdatumen ska inkluderas i URL:erna för din webbplatskarta lägger du till en lastmod-egenskap med ett format i konfigurationen.

 sitemaps:
   example:
     source: /query-index.json
     destination: /sitemap-en.xml
     lastmod: YYYY-MM-DD

Flera webbplatskartor

Det är vanligt att det finns platskartor per avsnitt på webbplatserna och/eller per land eller språk. AEM stöder platskartor inklusive motsvarande hreflang-referenser. I följande exempel antar vi att det finns en mappning mellan indexen och platskartornas XML-filer.

 sitemaps:
   example:
     lastmod: YYYY-MM-DD
     languages:
       en:
         source: /en/query-index.json
         destination: /sitemap-en.xml
         hreflang: en
       fr:
         source: /fr/query-index.json
         destination: /sitemap-fr.xml
         hreflang: fr
         alternate: /fr/{path}

Om det finns två sidor i det engelska och franska avsnittet som delar ett gemensamt suffix, kommer de att relateras, så om du t.ex. har en sida /welcome i det engelska avsnittet och en sida /fr/welcome i det franska avsnittet, kommer den resulterande posten i /sitemap-en.xml att se ut så här:

<url>
  <loc>https://wwww.mysite.com/welcome</loc>
  <xhtml:link rel="alternate" hreflang="en" href="https://wwww.mysite.com/welcome"/>
  <xhtml:link rel="alternate" hreflang="fr" href="https://wwww.mysite.com/fr/welcome"/>
</url>

En liknande post är tillgänglig i /sitemap-fr.xml.

Ange det primära språket manuellt

Det kan finnas situationer där du har alternativa versioner av en sida, men du inte kan använda ett gemensamt suffix för att identifiera dem, möjligen på grund av att du porterar en äldre webbplats som inte ska ha ändrat sökvägen. I så fall kan du ange primary-language-url som alternativ plats i dokumentets metadata.

Låt oss anta att vårt primära språk är engelska, vi har en sida /welcome i det engelska avsnittet och /fr/bienvenu i det franska avsnittet, och det senare är en alternativ version av det första.

Först lägger vi till den informationen i dokumentet på /fr/bienvenu i dess metadata:

Detta kan också läggas till i ett globalt metadata-blad, vilket visas i Massmetadata.

Sedan lägger vi till den indexerade egenskapen primary-language-url i det franska indexet:

 primary-language-url:
   select: head > meta[name="primary-language-url"]
   value: attribute(el, "content")

Slutligen publicerar vi om den franska sidan och återskapar platskartan.

Ange standardspråk

Ett annat vanligt krav är att ange standardspråk för en webbplatskarta med flera språk. Detta kan uppnås genom att lägga till egenskapen default i platskartan:

 sitemaps:
   example:
     default: en
     lastmod: YYYY-MM-DD
     languages:
       en:
         source: /en/query-index.json
         destination: /sitemap-en.xml
         hreflang: en
       fr:
         source: /fr/query-index.json
         destination: /sitemap-fr.xml
         hreflang: fr
         alternate: /fr/{path}

I den resulterande platskartan kommer alla poster från det engelska underträdet att ha en extra alternativ post med hreflang x-default.

Ange flera reflexer för ett underträd

Ibland måste du mappa flera reflexer till endast ett språkunderträd, d.v.s. vi vill att följande ska visas i den resulterande platskartan:

<url>
 <loc>https://myhost/la/page</loc>
 <xhtml:link rel="alternate" hreflang="es-VE" href="https://myhost/la/page"/>
 <xhtml:link rel="alternate" hreflang="es-SV" href="https://myhost/la/page"/>
 <xhtml:link rel="alternate" hreflang="es-PA" href="https://myhost/la/page"/>
</url>

Alla sidor i webbplatskartan ska visas exakt en gång, men ha flera alternativa reflektioner kopplade till sig. För att uppnå detta bör du ange en array med språk i egenskapen hreflang:

 sitemaps:
   example:
     lastmod: YYYY-MM-DD
     languages:
       la:
         source: /la/query-index.json
         destination: /sitemap-la.xml
         hreflang:
           - es-VE
           - es-SV
           - es-PA

Flera index aggregerade till en platskarta

Det finns fall där det är enklare att ha en enda större webbplatskarta än fragmenterade små platskartor, särskilt eftersom det finns en gräns för hur många webbplatskartor som kan skickas till sökmotorer per webbplats.

I följande exempel visas hur du sammanställer ett antal separata index till en enda platskarta.

 sitemaps:
   example:
     lastmod: YYYY-MM-DD
     languages:
       dk:
         source: /dk/query-index.json
         destination: /sitemap.xml
         hreflang: dk
         alternate: /dk/{path}
       no:
         source: /no/query-index.json
         destination: /sitemap.xml
         hreflang: no
         alternate: /no/{path}

Om du använder samma mål går det att kombinera flera små platskartor till en större platskarta.

Inkludera andra platskartor som indata

I ett blandat scenario där inte alla språk i en webbplatskarta hanteras i AEM kan du inkludera platskartor från andra språkträd genom att ange en XML-sökväg som källa, som i:

sitemaps:
   example:
     lastmod: YYYY-MM-DD
     languages:
       en:
         source: /en/query-index.json
         destination: /sitemaps/sitemap-en.xml
         hreflang: en
       fr:
         source: https://www.mysite.com/legacy/sitemap-fr.xml
         destination: /sitemaps/sitemap-fr.xml
         hreflang: fr
         alternate: /fr/{path}

I det här exemplet använder vi en extern fransk platskarta för att beräkna alla platskartor. AEM avgör alternativ för engelska URL:er för webbplatskartor genom att dekonstruera de franska motsvarigheterna i den externa webbplatskartan med hjälp av definitionen alternate.

Lägga till ett tillägg för alla platser i platskartan

Om du i ett scenario vill att alla dina platser ska ha ett tillägg, t.ex. .html, och du inte kan generera ett helix-sitemap-blad i frågeindexet för att härleda en formel, kan du lägga till ett tillägg för alla språk eller ett enskilt språk med hjälp av en extension -egenskap:

sitemaps:
   example:
     lastmod: YYYY-MM-DD
     extension: .html
     languages:
       en:
         source: /en/query-index.json
         destination: /en/sitemap.xml
         hreflang: en
       fr:
         source: /fr/query-index.json
         destination: /fr/sitemap.xml
         hreflang: fr
         alternate: /fr/{path}
recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec