diff --git a/CHANGELOG.md b/CHANGELOG.md index ef4a76d..0ebcac1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,11 +37,21 @@ ### Améliorations techniques - ✅ Temps de build ultra-rapide (~60ms) - ✅ Hot reload pour le développement -- ✅ SEO optimisé - ✅ Performance améliorée - ✅ Code maintenable et modulaire - ✅ Licence libre AGPL-V3 +### SEO & Référencement +- ✅ Meta tags Open Graph pour Facebook et LinkedIn +- ✅ Twitter Cards pour un meilleur partage sur X/Twitter +- ✅ JSON-LD avec Schema.org (Organization) +- ✅ Sitemap.xml avec URLs principales +- ✅ Robots.txt configuré +- ✅ Balises canonical pour éviter le contenu dupliqué +- ✅ Meta descriptions personnalisées par page +- ✅ Mots-clés optimisés (Fédiverse, logiciel libre, Guadeloupe, etc.) +- ✅ Structured data avec adresse et contacts + ### Fichiers principaux - `eleventy.config.js` - Configuration 11ty - `src/_data/` - Données du site (services, projets, valeurs, etc.) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cc2d173..c4a0bad 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Guide de contribution -Merci de votre intérêt pour contribuer au site de l'Organisation Ka Internationale ! +Merci de votre intérêt pour contribuer au site dE l'ORGANISATION KA INTERNATIONALE ! ## Ajouter du contenu diff --git a/README.md b/README.md index 7fa3454..fe5fe73 100644 --- a/README.md +++ b/README.md @@ -106,10 +106,19 @@ Les styles sont dans `src/assets/css/styles.css`. La charte graphique est basée - ✅ Effets hover interactifs - ✅ Easter egg Konami Code - ✅ Performance optimisée -- ✅ SEO friendly - ✅ Logo et favicon intégrés - ✅ Charte graphique basée sur le logo officiel +### SEO & Référencement +- ✅ Meta tags Open Graph (Facebook, LinkedIn) +- ✅ Twitter Cards +- ✅ JSON-LD Structured Data (Schema.org) +- ✅ Sitemap.xml +- ✅ Robots.txt +- ✅ Balises canonical +- ✅ Meta description personnalisées +- ✅ Mots-clés pertinents + ## Sections du site 1. **Hero** - Présentation de l'organisation diff --git a/SEO.md b/SEO.md new file mode 100644 index 0000000..2948cbc --- /dev/null +++ b/SEO.md @@ -0,0 +1,188 @@ +# Guide SEO - o-k-i.net + +Ce document décrit l'optimisation SEO mise en place sur le site o-k-i.net V2. + +## 📋 Fichiers SEO + +### 1. robots.txt +**Emplacement :** `src/robots.txt` + +Permet aux moteurs de recherche d'indexer tout le contenu du site et indique l'emplacement du sitemap. + +``` +User-agent: * +Allow: / +Sitemap: https://o-k-i.net/sitemap.xml +``` + +### 2. sitemap.xml +**Emplacement :** `src/sitemap.xml` + +Liste toutes les pages du site avec leurs priorités et fréquences de mise à jour. + +**Pages incluses :** +- Page d'accueil (priorité 1.0, hebdomadaire) +- Mentions légales (priorité 0.3, mensuelle) + +**À mettre à jour :** Lors de l'ajout de nouvelles pages. + +## 🏷️ Meta Tags + +### Meta Tags de base +Définis dans `src/_includes/layouts/base.njk` : + +- **Title** : Dynamique selon la page +- **Description** : Personnalisable par page via front matter +- **Keywords** : OKI, Fédiverse, PeerTube, Pleroma, Funkwhale, Castopod, Guadeloupe, logiciel libre, GAFAM +- **Author** : Organisation Ka Internationale +- **Canonical URL** : Évite le contenu dupliqué + +### Open Graph (Facebook, LinkedIn) +```html + + + + + + +``` + +### Twitter Cards +```html + + + + +``` + +## 📊 Structured Data (JSON-LD) + +### Organization Schema +Données structurées conformes à Schema.org pour améliorer l'affichage dans les résultats de recherche. + +**Type :** Organization + +**Informations incluses :** +- Nom : ORGANISATION KA INTERNATIONALE +- Nom alternatif : OKI +- URL : https://o-k-i.net +- Logo +- Description +- Adresse physique (Basse-Terre, Guadeloupe) +- Email de contact +- Liens vers les plateformes sociales (GADE, BOKANTAJ, MIZIK, KUTE, Codeberg, Liberapay) +- Statut : Organisation à but non lucratif + +## 🔍 Optimisations par page + +### Page d'accueil +- **Title :** "ORGANISATION KA INTERNATIONALE | OKI" +- **Description :** Reprend site.description +- **Keywords :** Fédiverse, logiciel libre, alternatives GAFAM, Guadeloupe + +### Mentions légales +- **Title :** "Mentions Légales | ORGANISATION KA INTERNATIONALE" +- **Description :** "Mentions légales et informations juridiques de l'Organisation Ka Internationale (OKI) - Hébergement, RGPD, licence AGPL-V3" + +## 🎯 Bonnes pratiques + +### Ajouter une nouvelle page +1. Créer le fichier `.njk` dans `src/` +2. Ajouter le front matter avec title et description personnalisés +3. Mettre à jour `src/sitemap.xml` +4. Ajouter un lien dans la navigation si nécessaire + +### Personnaliser les meta tags +Dans le front matter de la page : +```yaml +--- +layout: layouts/base.njk +title: Titre de la page +description: Description spécifique à cette page +--- +``` + +## 🚀 Tests et validation + +### Outils recommandés +1. **Google Search Console** - Soumettre le sitemap +2. **Facebook Sharing Debugger** - Tester les meta Open Graph + - URL : https://developers.facebook.com/tools/debug/ +3. **Twitter Card Validator** - Tester les Twitter Cards + - URL : https://cards-dev.twitter.com/validator +4. **Schema Markup Validator** - Valider le JSON-LD + - URL : https://validator.schema.org/ +5. **Google Rich Results Test** - Tester les données structurées + - URL : https://search.google.com/test/rich-results + +### Commandes utiles +```bash +# Vérifier robots.txt +curl http://localhost:8080/robots.txt + +# Vérifier sitemap.xml +curl http://localhost:8080/sitemap.xml + +# Vérifier les meta tags +curl http://localhost:8080/ | grep -E "(og:|twitter:)" +``` + +## 📈 Suivi et amélioration + +### Métriques à surveiller +- Position dans les résultats de recherche Google +- Taux de clics (CTR) depuis les résultats de recherche +- Nombre de pages indexées +- Erreurs d'exploration + +### Améliorations futures possibles +- [ ] Ajouter un blog/actualités avec articles optimisés SEO +- [ ] Créer des pages dédiées pour chaque service Fédiverse +- [ ] Ajouter des FAQ avec Schema.org FAQPage +- [ ] Optimiser les images avec attributs alt descriptifs +- [ ] Ajouter breadcrumbs avec données structurées +- [ ] Implémenter AMP (Accelerated Mobile Pages) si nécessaire +- [ ] Ajouter hreflang pour versions multilingues (créole, anglais, etc.) + +## 🌍 Mots-clés ciblés + +### Primaires +- Organisation Ka Internationale +- OKI +- Fédiverse Guadeloupe +- PeerTube Guadeloupe +- Alternatives GAFAM + +### Secondaires +- Pleroma +- Funkwhale +- Castopod +- Logiciel libre Antilles +- Médias libres Caraïbes +- Hébergement éthique +- Langues créoles +- Réseau social libre + +### Longue traîne +- "alternative libre à YouTube Guadeloupe" +- "hébergement PeerTube Martinique" +- "réseau social décentralisé Antilles" +- "promotion langues créoles numérique" + +## 📝 Checklist SEO + +- [x] Robots.txt configuré +- [x] Sitemap.xml créé et soumis +- [x] Meta description sur toutes les pages +- [x] Balises title optimisées +- [x] URL canoniques +- [x] Open Graph tags +- [x] Twitter Cards +- [x] JSON-LD Organization +- [x] Logo haute résolution (512x512) +- [ ] Images avec attributs alt +- [ ] Performance optimale (Lighthouse score) +- [ ] Mobile-friendly (déjà responsive) +- [ ] HTTPS activé (à configurer en production) +- [ ] Google Search Console configuré +- [ ] Analytics installé (optionnel, respectueux RGPD) diff --git a/eleventy.config.js b/eleventy.config.js index 9ec70e5..c9f221d 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -2,6 +2,10 @@ module.exports = function(eleventyConfig) { // Copy assets folders to output eleventyConfig.addPassthroughCopy("src/assets"); + // Copy SEO files + eleventyConfig.addPassthroughCopy("src/robots.txt"); + eleventyConfig.addPassthroughCopy("src/sitemap.xml"); + // Watch CSS files for changes eleventyConfig.addWatchTarget("src/assets/css/"); diff --git a/package.json b/package.json index 9f3666c..2595e1f 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,14 @@ { "name": "o-k-i.net-v2", "version": "1.0.0", - "description": "Site web de l'Organisation Ka Internationale (OKI) - V2", + "description": "Site web de l'ORGANISATION KA INTERNATIONALE (OKI) - V2", "scripts": { "start": "eleventy --serve", "build": "eleventy", "clean": "rm -rf _site" }, "keywords": [], - "author": "Organisation Ka Internationale", + "author": "ORGANISATION KA INTERNATIONALE", "license": "AGPL-3.0", "devDependencies": { "@11ty/eleventy": "^3.1.2" diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 9936d5c..0f1041e 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -3,12 +3,76 @@ + + {% if title %}{{ title }} | {{ site.name }}{% else %}{{ site.name }} | {{ site.shortName }}{% endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% include "partials/nav.njk" %} diff --git a/src/mentions-legales.njk b/src/mentions-legales.njk index 50c958b..121d804 100644 --- a/src/mentions-legales.njk +++ b/src/mentions-legales.njk @@ -1,6 +1,7 @@ --- layout: layouts/base.njk title: Mentions Légales +description: Mentions légales et informations juridiques de l'ORGANISATION KA INTERNATIONALE (OKI) - Hébergement, RGPD, licence AGPL-V3 ---
@@ -69,7 +70,7 @@ title: Mentions Légales 3. Description des services fournis

- Le site o-k-i.net a pour objet de fournir une information concernant l'ensemble des activités de l'Organisation Ka Internationale. + Le site o-k-i.net a pour objet de fournir une information concernant l'ensemble des activités de l'ORGANISATION KA INTERNATIONALE.

ORGANISATION KA INTERNATIONALE s'efforce de fournir des informations aussi précises que possible. diff --git a/src/robots.txt b/src/robots.txt new file mode 100644 index 0000000..5320ac3 --- /dev/null +++ b/src/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: / + +Sitemap: https://o-k-i.net/sitemap.xml diff --git a/src/sitemap.xml b/src/sitemap.xml new file mode 100644 index 0000000..752f8de --- /dev/null +++ b/src/sitemap.xml @@ -0,0 +1,15 @@ + + + + https://o-k-i.net/ + 2025-01-05 + weekly + 1.0 + + + https://o-k-i.net/mentions-legales/ + 2025-01-05 + monthly + 0.3 + +