XMap is een ideale gratis extensie om een mooie sitemap op een Joomla!-site te plaatsen. Deze extensie kan eenvoudig worden geïnstalleerd via de back-end. Daarna is XMap te vinden als Component. Via de instellingen van het component is binnen enkele klikken de sitemap geconfigureerd.
Voorheen was het voldoende om deze code aan Google Webmaster Tools toe te voegen:index.php?option=com_xmap&id=1&view=xml
Maar via Google Webmastertools kwam ik erachter dat de sitemap niet kon worden geïndexeerd. Google Webmastertools heeft namelijk een XML-bestand nodig en geen verwijzing naar een Joomla!-pagina. Standaard maakt XMap echter geen XML-bestand aan waarnaar kan worden verwezen. De reden is dat XMap dynamisch opnieuw op het moment dat de website wordt bezocht. Op die manier is de sitemap altijd actueel. Maar om die reden bestaat er dus geen echt fysieke sitemap.xml-bestand.
Gelukkig is er wel een oplossing voor.
Voeg de volgende regels toe aan het htaccess-bestand van de Joomla!site:
RewriteCond %{REQUEST_URI} ^/sitemap.xml
RewriteRule .* /index.php?option=com_xmap&id=1&view=xml
Als die code in het bestand is toegevoegd kan de XML-sitemap wel worden bezocht via een URL zoals deze:
http://www.voorbeeld.nl/sitemap.xml
Het is nu voldoende om in Google Webmastertools de sitemap aan te bieden als: sitemap.xml en daarna te klikken op Sitemap versturen. Google gaat daarna de sitemap beoordelen. Dit kan enkele dagen duren.
Meertalige sites
Voor meertalige sites kunnen er zo veel aliassen aanaangemaakt worden als nodig. Bijvoorbeeld:# English sitemap
RewriteCond %{REQUEST_URI} ^/sitemap-en.xml
RewriteRule .* /index.php?option=com_xmap&id=1&view=xml&lang=en
# Spanish sitemap
RewriteCond %{REQUEST_URI} ^/sitemap-es.xml
RewriteRule .* /index.php?option=com_xmap&id=1&view=xml&lang=es
Het kan zijn dat de site SEF-URLs gebruikt en de bezoeker doorstuurt naar een special prefix in de URL. In dat geval moeten deze regels ook worden toegevoegd. Zoals in dit voorbeeld:
# English sitemap
RewriteCond %{REQUEST_URI} ^/en/sitemap.xml
RewriteRule .* /index.php?option=com_xmap&id=1&view=xml&lang=en
# Spanish sitemap
RewriteCond %{REQUEST_URI} ^/es/sitemap.xml
RewriteRule .* /index.php?option=com_xmap&id=1&view=xml&lang=es
Sitemap-index
Een andere optie is om een sitemap-index in de rootmap van de site op te nemen. Maak daarvoor een bestand aan met de naam: sitemap.xml met daarin de volgende inhoud:<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.example.com/index.php?option=com_xmap&view=xml&id=1&lang=en</loc>
</sitemap>
<sitemap>
<loc>http://www.example.com/index.php?option=com_xmap&view=xml&id=1&lang=es</loc>
</sitemap>
</sitemapindex>
Het is mogelijk om zo veel “sitemap”secties aan te maken als gewenst (maar niet meer als 50.000). Onthoud wel om de URLs te updaten met het juiste sitemap-id en taalcodes. Of verwijder het stuk: &lang=xx als dit niet wordt gebruikt.
Deze informative is ook te vinden op de site van de ontwikkelaar van XMap: http://joomla.vargas.co.cr/en/documentation/34-xmap-2/how-to/108-xmap-sitemap-as-sitemapxml
Sitemap zichtbaar maken voor bezoekers
Met bovenstaande informatie lukt het dus om Google Webmastertools de sitemap.xml te laten herkennen. Maar een gewone bezoeker kan daar niets mee.Een sitemap van XMap zichtbaar maken op de site gaat als volgt.
Maak een verborgen menu aan.
Ga daarvoor naar de Joomla!administrator-backend.
Open Menu’s => Open Menubeheer => Klik op Nieuw menu toevoegen.
Vul in de drie velden de naam “verborgen menu in” en klik op “Opslaan & Sluiten”.
Ga nu via Menu’s naar “Verborgen menu” en klik rechts daarvan op “Nieuw menu-item toevoegen”.
Geef een menu-titel op. Bijvoorbeeld “Sitemap”
Selecteer bij “Menu-item type” XMap en daarachter “HTML Site map”.
Selecteer bij “Kies een sitemap” een al eerder in XMap aangemaakte sitemap.
Klik op “Opslaan & Sluiten”
Nu kan op elke gewenste plaats een link worden aangemaakt naar dit verborgen menu.
Meest logische plaats is in de footer.