Génération de sitemap¶
Génération automatique de sitemaps XML pour les moteurs de recherche et d'index JSON pour la recherche sur le site.
Aperçu¶
Le thème génère :
- Sitemap XML : pour les robots d'exploration des moteurs de recherche
- Index de recherche JSON : pour la recherche côté client
- robots.txt : instructions pour les robots d'exploration
Sitemap XML¶
Génération automatique¶
En utilisant le plugin jekyll-sitemap :
Sortie¶
Généré à l'emplacement /sitemap.xml :
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yoursite.com/</loc>
<lastmod>2025-01-25T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://yoursite.com/docs/</loc>
<lastmod>2025-01-20T00:00:00+00:00</lastmod>
</url>
</urlset>
Sitemap personnalisé¶
Créez sitemap.xml manuellement :
{% raw %}---
layout: null
---
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for page in site.pages %}
{% unless page.sitemap == false %}
<url>
<loc>{{ page.url | absolute_url }}</loc>
<lastmod>{{ page.last_modified_at | default: site.time | date_to_xmlschema }}</lastmod>
<changefreq>{{ page.sitemap.changefreq | default: 'monthly' }}</changefreq>
<priority>{{ page.sitemap.priority | default: '0.5' }}</priority>
</url>
{% endunless %}
{% endfor %}
</urlset>{% endraw %}
Index de recherche JSON¶
Fichier généré¶
search.json pour la recherche côté client :
[
{
"title": "Getting Started",
"url": "/docs/getting-started/",
"content": "Welcome to the documentation...",
"categories": ["docs"],
"tags": ["setup"]
}
]
Modèle de recherche¶
{% raw %}---
layout: null
---
[
{% assign pages = site.pages | where_exp: "page", "page.title" %}
{% for page in pages %}
{
"title": {{ page.title | jsonify }},
"url": {{ page.url | jsonify }},
"content": {{ page.content | strip_html | truncatewords: 100 | jsonify }},
"categories": {{ page.categories | jsonify }},
"tags": {{ page.tags | jsonify }}
}{% unless forloop.last %},{% endunless %}
{% endfor %}
]{% endraw %}
robots.txt¶
Configuration de base¶
Modèle Jekyll¶
{% raw %}---
layout: null
permalink: /robots.txt
---
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /private/
Sitemap: {{ site.url }}/sitemap.xml{% endraw %}
Exclusion de pages¶
Du sitemap XML¶
Ou avec la configuration du plugin :
De l'index de recherche¶
Priorité et fréquence¶
Paramètres par page¶
Paramètres par défaut¶
# _config.yml
defaults:
- scope:
path: ""
type: "posts"
values:
sitemap:
changefreq: monthly
priority: 0.7
- scope:
path: ""
type: "pages"
values:
sitemap:
changefreq: weekly
priority: 0.5
Soumission aux moteurs de recherche¶
Google Search Console¶
- Accédez à Search Console
- Ajoutez votre site
- Soumettez l'URL du sitemap :
https://yoursite.com/sitemap.xml
Bing Webmaster Tools¶
- Accédez à Bing Webmaster Tools
- Ajoutez votre site
- Soumettez le sitemap
Validation¶
Validation XML¶
Testez avec XML Sitemap Validator
Google Search Console¶
Vérifiez l'état du sitemap dans Search Console → Sitemaps
Dépannage¶
Sitemap introuvable¶
- Vérifiez que le plugin est installé
- Vérifiez que
_site/sitemap.xmlexiste - Vérifiez les permissions du fichier
Pages manquantes¶
- Vérifiez que la page n'est pas exclue
- Vérifiez le front matter pour
sitemap: false - Assurez-vous que la page a un titre
JSON invalide¶
- Recherchez les caractères non échappés
- Validez la syntaxe JSON
- Vérifiez les erreurs de modèle Liquid
Bonnes pratiques¶
Maintenez le sitemap à jour¶
- Régénérez lors du déploiement
- Incluez les dates lastmod
- Supprimez les pages effacées
Optimiser pour la recherche¶
- Inclure toutes les pages importantes
- Utiliser des titres descriptifs
- Garder des URL propres
Surveiller les performances¶
- Vérifier le statut d'indexation
- Surveiller les erreurs d'exploration
- Examiner les statistiques de recherche
Ressources associées¶
Voir aussi¶
- [[SEO]]
- [[Deployment]]
- [[Analytics]]