Sitemaps
Automatisch gegenereerde sitemapbestanden maken waarnaar vanuit uw robots.txt
. Dit helpt bij SEO en de ontdekking van nieuwe inhoud. AEM kan drie typen sitemaps genereren: zonder configuratie, uitsluitend op basis van een query-index of op basis van een handmatige sitemapconfiguratie.
Een Sitemap maken zonder configuratie
Als u niets doet, ziet u uw sitemap in sitemap.xml
en heb een sitemapindex in sitemap.json
. Het zal een lijst van al uw gepubliceerde documenten bevatten.
Als u bent begonnen met een ander type sitemap en wilt overschakelen op dit type, moet u het dialoogvenster helix-sitemap.yaml
configuratiedossier - of manueel bepaald in GitHub of automatisch geproduceerd - en herdex uw plaats.
Domeinnaam gebruikt in externe URL's
Als u het domein wilt aanpassen dat wordt gebruikt bij het maken van externe URL's, voegt u een eigenschap met de naam host
of cdn.prod.host
in uw projectconfiguratie (genoemd .helix/config
bij gebruik van Google Drive als back-end of .helix/config.xlsx
op SharePoint) en bekijk een voorvertoning van dat bestand om het te activeren.
Het produceren van een configuratie Sitemap die op een index wordt gebaseerd
Zie het document Indexeren voor meer informatie over indexering. Als u een sitemapconfiguratie wilt genereren op basis van een index, moet u ervoor zorgen dat u al een initiële query-index hebt ingesteld, zoals hier wordt uitgelegd. Hiermee wordt een sitemap op de locatie gegenereerd:
https://<branch>--<repo>--<owner>.hlx.page/sitemap.xml
En een sitemapconfiguratie op de volgende plaats:
https://<branch>--<repo>--<owner>.hlx.page/helix-sitemap.yaml
U wordt aangeraden een sitemap-index.xml
een bestand waarin naar al uw sitemaps wordt verwezen en dat als onderdeel van uw projectcode in uw github repo wordt bewaard. Op deze manier kunt u eenvoudig nieuwe sitemaps toevoegen wanneer het project wordt uitgebreid.
Handmatige installatie van uw Sitemap-configuratie
Als u meer aanpassingen nodig hebt dan het door u gegenereerde sitemap-configuratiebestand biedt, kunt u de inhoud ervan kopiëren en in een bestand met de naam plakken helix-sitemap.yaml
in de hoofdmap van uw project.
Opmerking: Wanneer u een handmatig geconfigureerde index en sitemap gebruikt (uw coderepo bevat bijvoorbeeld het bestand helix-query.yaml en helix-sitemap.yaml), moet uw indexdefinitie de eigenschap robots bevatten om ervoor te zorgen dat de sitemap pagina's met robots: noindex
metagegevens. Als u automatisch gegenereerde indexdefinities gebruikt, volgt u gewoon de aanbevelingen in het dialoogvenster indexeringsdocumentatie zodat worden deze pagina's uitgesloten van de index.
De volgende secties bevatten de ondersteunde typen sitemaps.
Eenvoudige Sitemap
Het volgende is eenvoudig helix-sitemap.yaml
. Er wordt uitgegaan van één index die alle pagina's bevat die in de sitemap moeten worden weergegeven.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
Als u wilt dat de laatste wijzigingsdatums worden opgenomen in de URL's van uw sitemap, voegt u een lastmod
bezit met inbegrip van een formaat aan uw configuratie.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
lastmod: YYYY-MM-DD
Meerdere items
Het is gebruikelijk om sitemaps per deel van de sites en/of per land of taal te hebben. AEM ondersteunt sitemaps inclusief de bijbehorende hreflang
verwijzingen. In het volgende voorbeeld gaan we ervan uit dat er een-op-een-toewijzing is tussen de indexen en de XML-bestanden van de sitemaps.
sitemaps:
example:
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}
Als er twee pagina's in de Engelse en Franse sectie zijn die een gemeenschappelijk achtervoegsel hebben, zijn deze gerelateerd, dus bijvoorbeeld als u een pagina hebt /welcome
in het engels en op een pagina /fr/welcome
in het franse deel wordt de vermelding in het /sitemap-en.xml
ziet er als volgt uit:
<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>
Een vergelijkbare vermelding is beschikbaar in /sitemap-fr.xml
.
De primaire taal handmatig opgeven
Er kunnen situaties zijn waarin u alternatieve versies van een pagina hebt, maar u kunt deze niet herkennen met een algemeen achtervoegsel, mogelijk omdat u een oudere website exporteert die de paden niet mag wijzigen. U kunt dan een primary-language-url
voor de alternatieve locatie, in de metagegevens van het document.
Laten we aannemen dat onze primaire taal Engels is, we hebben een pagina /welcome
in het engels en /fr/bienvenu
in het franse gedeelte , en het laatste is een alternatieve versie van het eerste .
Eerst voegen we die informatie toe aan het document op /fr/bienvenu
in de metagegevens:
Dit kan ook worden toegevoegd aan een globaal metadata
blad, zoals weergegeven in Bulkmetagegevens.
Vervolgens voegen we een geïndexeerde eigenschap toe primary-language-url
op de franse index :
primary-language-url:
select: head > meta[name="primary-language-url"]
value: attribute(el, "content")
Tot slot herpubliceren we de Franse pagina, en de sitemap opnieuw opbouwen.
De standaardtaal opgeven
Een andere algemene vereiste is het opgeven van de standaardtaal voor een sitemap met meerdere talen. Dit kan worden bereikt door een eigenschap toe te voegen default
in de sitemap :
sitemaps:
example:
default: en
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}
In de resulterende sitemap hebben alle items van de Engelse substructuur een extra alternatieve vermelding met hreflang x-default
.
Meerdere spiegels opgeven voor één substructuur
Soms is het nodig om meerdere hrefletters toe te wijzen aan slechts één taalsubstructuur. Denk bijvoorbeeld aan het volgende dat in de resulterende sitemap moet worden weergegeven:
<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>
Elke pagina in onze sitemapbron moet precies één keer worden weergegeven, maar er moeten meerdere alternatieve lettertypen aan zijn gekoppeld. Hiervoor moet u een array met talen opgeven in het dialoogvenster hreflang
eigenschap:
sitemaps:
example:
languages:
la:
source: /la/query-index.json
destination: /sitemap-la.xml
hreflang:
- es-VE
- es-SV
- es-PA
Meerdere indexen samengevoegd tot één sitemap
Er zijn gevallen waarin het eenvoudiger is één grotere sitemap te hebben dan gefragmenteerde kleine sitemaps, vooral omdat er een limiet is voor sitemaps die per site aan zoekmachines kunnen worden voorgelegd.
In het volgende voorbeeld wordt getoond hoe u een aantal afzonderlijke indexen kunt samenvoegen tot één sitemap.
sitemaps:
example:
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}
Met dezelfde bestemming is het mogelijk om meerdere kleine sitemaps in één grotere sitemap te combineren.
Andere sitemaps als invoer opnemen
In een gemengd scenario, waar niet alle talen in een sitemap in AEM worden beheerd, kunt u sitemaps van andere taalbomen omvatten door een weg van XML als bron te specificeren, zoals in:
sitemaps:
example:
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}
In dit voorbeeld gebruiken we een externe franse sitemap om alle sitemaplocaties te berekenen. AEM bepaalt alternatieven voor Engelse sitemap-URL's door de franse tegenhangers in externe sitemap te deconstrueren met behulp van de alternate
definitie.