feat: improve SEO
This commit is contained in:
+11
-1
@@ -37,11 +37,21 @@
|
|||||||
### Améliorations techniques
|
### Améliorations techniques
|
||||||
- ✅ Temps de build ultra-rapide (~60ms)
|
- ✅ Temps de build ultra-rapide (~60ms)
|
||||||
- ✅ Hot reload pour le développement
|
- ✅ Hot reload pour le développement
|
||||||
- ✅ SEO optimisé
|
|
||||||
- ✅ Performance améliorée
|
- ✅ Performance améliorée
|
||||||
- ✅ Code maintenable et modulaire
|
- ✅ Code maintenable et modulaire
|
||||||
- ✅ Licence libre AGPL-V3
|
- ✅ 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
|
### Fichiers principaux
|
||||||
- `eleventy.config.js` - Configuration 11ty
|
- `eleventy.config.js` - Configuration 11ty
|
||||||
- `src/_data/` - Données du site (services, projets, valeurs, etc.)
|
- `src/_data/` - Données du site (services, projets, valeurs, etc.)
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# Guide de contribution
|
# 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
|
## Ajouter du contenu
|
||||||
|
|
||||||
|
|||||||
@@ -106,10 +106,19 @@ Les styles sont dans `src/assets/css/styles.css`. La charte graphique est basée
|
|||||||
- ✅ Effets hover interactifs
|
- ✅ Effets hover interactifs
|
||||||
- ✅ Easter egg Konami Code
|
- ✅ Easter egg Konami Code
|
||||||
- ✅ Performance optimisée
|
- ✅ Performance optimisée
|
||||||
- ✅ SEO friendly
|
|
||||||
- ✅ Logo et favicon intégrés
|
- ✅ Logo et favicon intégrés
|
||||||
- ✅ Charte graphique basée sur le logo officiel
|
- ✅ 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
|
## Sections du site
|
||||||
|
|
||||||
1. **Hero** - Présentation de l'organisation
|
1. **Hero** - Présentation de l'organisation
|
||||||
|
|||||||
@@ -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
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="https://o-k-i.net">
|
||||||
|
<meta property="og:title" content="...">
|
||||||
|
<meta property="og:description" content="...">
|
||||||
|
<meta property="og:image" content="https://o-k-i.net/assets/images/logo-512x512.png">
|
||||||
|
<meta property="og:locale" content="fr_FR">
|
||||||
|
```
|
||||||
|
|
||||||
|
### Twitter Cards
|
||||||
|
```html
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:title" content="...">
|
||||||
|
<meta name="twitter:description" content="...">
|
||||||
|
<meta name="twitter:image" content="...">
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📊 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)
|
||||||
@@ -2,6 +2,10 @@ module.exports = function(eleventyConfig) {
|
|||||||
// Copy assets folders to output
|
// Copy assets folders to output
|
||||||
eleventyConfig.addPassthroughCopy("src/assets");
|
eleventyConfig.addPassthroughCopy("src/assets");
|
||||||
|
|
||||||
|
// Copy SEO files
|
||||||
|
eleventyConfig.addPassthroughCopy("src/robots.txt");
|
||||||
|
eleventyConfig.addPassthroughCopy("src/sitemap.xml");
|
||||||
|
|
||||||
// Watch CSS files for changes
|
// Watch CSS files for changes
|
||||||
eleventyConfig.addWatchTarget("src/assets/css/");
|
eleventyConfig.addWatchTarget("src/assets/css/");
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "o-k-i.net-v2",
|
"name": "o-k-i.net-v2",
|
||||||
"version": "1.0.0",
|
"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": {
|
"scripts": {
|
||||||
"start": "eleventy --serve",
|
"start": "eleventy --serve",
|
||||||
"build": "eleventy",
|
"build": "eleventy",
|
||||||
"clean": "rm -rf _site"
|
"clean": "rm -rf _site"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "Organisation Ka Internationale",
|
"author": "ORGANISATION KA INTERNATIONALE",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@11ty/eleventy": "^3.1.2"
|
"@11ty/eleventy": "^3.1.2"
|
||||||
|
|||||||
@@ -3,12 +3,76 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<!-- Title & Description -->
|
||||||
<title>{% if title %}{{ title }} | {{ site.name }}{% else %}{{ site.name }} | {{ site.shortName }}{% endif %}</title>
|
<title>{% if title %}{{ title }} | {{ site.name }}{% else %}{{ site.name }} | {{ site.shortName }}{% endif %}</title>
|
||||||
<meta name="description" content="{{ description or site.description }}">
|
<meta name="description" content="{{ description or site.description }}">
|
||||||
|
<meta name="keywords" content="OKI, ORGANISATION KA INTERNATIONALE, Fédiverse, PeerTube, Pleroma, Funkwhale, Castopod, Guadeloupe, Martinique, logiciel libre, GAFAM, alternatives libres, langues créoles, médias libres">
|
||||||
|
<meta name="author" content="{{ site.name }}">
|
||||||
|
|
||||||
|
<!-- Canonical URL -->
|
||||||
|
<link rel="canonical" href="https://o-k-i.net{{ page.url or '/' }}">
|
||||||
|
|
||||||
|
<!-- Open Graph / Facebook -->
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="https://o-k-i.net{{ page.url or '/' }}">
|
||||||
|
<meta property="og:title" content="{% if title %}{{ title }}{% else %}{{ site.name }}{% endif %}">
|
||||||
|
<meta property="og:description" content="{{ description or site.description }}">
|
||||||
|
<meta property="og:image" content="https://o-k-i.net/assets/images/logo-512x512.png">
|
||||||
|
<meta property="og:image:width" content="512">
|
||||||
|
<meta property="og:image:height" content="512">
|
||||||
|
<meta property="og:locale" content="fr_FR">
|
||||||
|
<meta property="og:site_name" content="{{ site.name }}">
|
||||||
|
|
||||||
|
<!-- Twitter Card -->
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:url" content="https://o-k-i.net{{ page.url or '/' }}">
|
||||||
|
<meta name="twitter:title" content="{% if title %}{{ title }}{% else %}{{ site.name }}{% endif %}">
|
||||||
|
<meta name="twitter:description" content="{{ description or site.description }}">
|
||||||
|
<meta name="twitter:image" content="https://o-k-i.net/assets/images/logo-512x512.png">
|
||||||
|
|
||||||
|
<!-- Favicons -->
|
||||||
<link rel="icon" type="image/x-icon" href="/assets/images/favicon.ico">
|
<link rel="icon" type="image/x-icon" href="/assets/images/favicon.ico">
|
||||||
<link rel="icon" type="image/png" sizes="512x512" href="/assets/images/logo-512x512.png">
|
<link rel="icon" type="image/png" sizes="512x512" href="/assets/images/logo-512x512.png">
|
||||||
<link rel="apple-touch-icon" href="/assets/images/logo-512x512.png">
|
<link rel="apple-touch-icon" href="/assets/images/logo-512x512.png">
|
||||||
|
|
||||||
|
<!-- Stylesheet -->
|
||||||
<link rel="stylesheet" href="/assets/css/styles.css">
|
<link rel="stylesheet" href="/assets/css/styles.css">
|
||||||
|
|
||||||
|
<!-- JSON-LD Structured Data -->
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "{{ site.name }}",
|
||||||
|
"alternateName": "{{ site.shortName }}",
|
||||||
|
"url": "https://o-k-i.net",
|
||||||
|
"logo": "https://o-k-i.net/assets/images/logo-512x512.png",
|
||||||
|
"description": "{{ site.description }}",
|
||||||
|
"address": {
|
||||||
|
"@type": "PostalAddress",
|
||||||
|
"streetAddress": "36 Rue Lethière",
|
||||||
|
"addressLocality": "Basse-Terre",
|
||||||
|
"postalCode": "97100",
|
||||||
|
"addressCountry": "GP"
|
||||||
|
},
|
||||||
|
"contactPoint": {
|
||||||
|
"@type": "ContactPoint",
|
||||||
|
"email": "kontak@o-k-i.net",
|
||||||
|
"contactType": "customer service"
|
||||||
|
},
|
||||||
|
"sameAs": [
|
||||||
|
"https://gade.o-k-i.net/",
|
||||||
|
"https://bokantaj.o-k-i.net/",
|
||||||
|
"https://mizik.o-k-i.net/",
|
||||||
|
"https://kute.o-k-i.net/",
|
||||||
|
"https://codeberg.org/OKI",
|
||||||
|
"https://liberapay.com/OKI/donate"
|
||||||
|
],
|
||||||
|
"foundingDate": "2024",
|
||||||
|
"nonprofitStatus": "NonprofitANBI"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% include "partials/nav.njk" %}
|
{% include "partials/nav.njk" %}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
layout: layouts/base.njk
|
layout: layouts/base.njk
|
||||||
title: Mentions Légales
|
title: Mentions Légales
|
||||||
|
description: Mentions légales et informations juridiques de l'ORGANISATION KA INTERNATIONALE (OKI) - Hébergement, RGPD, licence AGPL-V3
|
||||||
---
|
---
|
||||||
|
|
||||||
<section style="padding: 8rem 2rem 4rem; min-height: 100vh; background: linear-gradient(135deg, var(--noir-profond) 0%, var(--gris-sombre) 100%);">
|
<section style="padding: 8rem 2rem 4rem; min-height: 100vh; background: linear-gradient(135deg, var(--noir-profond) 0%, var(--gris-sombre) 100%);">
|
||||||
@@ -69,7 +70,7 @@ title: Mentions Légales
|
|||||||
3. Description des services fournis
|
3. Description des services fournis
|
||||||
</h2>
|
</h2>
|
||||||
<p style="line-height: 1.6;">
|
<p style="line-height: 1.6;">
|
||||||
Le site <strong>o-k-i.net</strong> a pour objet de fournir une information concernant l'ensemble des activités de l'Organisation Ka Internationale.
|
Le site <strong>o-k-i.net</strong> a pour objet de fournir une information concernant l'ensemble des activités de l'ORGANISATION KA INTERNATIONALE.
|
||||||
</p>
|
</p>
|
||||||
<p style="margin-top: 1rem; line-height: 1.6;">
|
<p style="margin-top: 1rem; line-height: 1.6;">
|
||||||
ORGANISATION KA INTERNATIONALE s'efforce de fournir des informations aussi précises que possible.
|
ORGANISATION KA INTERNATIONALE s'efforce de fournir des informations aussi précises que possible.
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
User-agent: *
|
||||||
|
Allow: /
|
||||||
|
|
||||||
|
Sitemap: https://o-k-i.net/sitemap.xml
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
<url>
|
||||||
|
<loc>https://o-k-i.net/</loc>
|
||||||
|
<lastmod>2025-01-05</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>1.0</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://o-k-i.net/mentions-legales/</loc>
|
||||||
|
<lastmod>2025-01-05</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.3</priority>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
||||||
Reference in New Issue
Block a user