Add SEO optimization

- Add meta tags (keywords, author, robots, canonical)
- Add Open Graph tags for social sharing
- Add Twitter card meta tags
- Add hreflang tags for EN/FR language alternates
- Add Schema.org structured data (JSON-LD)
- Create sitemap.xml
- Create robots.txt
- Add workflow documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-02 16:21:01 -05:00
parent 691eb71555
commit d132e945b6
6 changed files with 308 additions and 2 deletions

131
doc/deployment-guide.md Normal file
View File

@@ -0,0 +1,131 @@
# Atomaste - Guide de Déploiement
## Architecture
```
c:\Users\antoi\WEBtomaste\ <-- SOURCE (Master)
|
| deploy-hostinger.bat
v
atomaste.ca <-- PRODUCTION (Hostinger)
```
**Workflow:** Tu modifies les fichiers localement, puis tu déploies sur Hostinger.
---
## Fichiers du site
| Fichier | Description |
|---------|-------------|
| `index.html` | Page d'accueil (anglais) |
| `fr.html` | Page d'accueil (français) |
| `.htaccess` | Configuration serveur Apache |
| `Media/` | Images et logos |
### Fichiers Media utilisés:
- `Atomaste_logo_A.svg` - Favicon
- `Atomaste_light_grey_Logo.svg` - Logo header/footer
- `Site_1_8.png` - Photo Antoine
---
## Déploiement
### Option 1: Script automatique (recommandé)
Double-clique sur:
```
deploy-hostinger.bat
```
Ce script upload automatiquement tous les fichiers nécessaires.
### Option 2: Commandes manuelles (curl)
```bash
# Upload un fichier spécifique
curl -u "u878837096:hey@claudeLeta12" -T "index.html" "ftp://145.223.77.209/domains/atomaste.ca/public_html/"
# Upload une image
curl -u "u878837096:hey@claudeLeta12" -T "Media/MonImage.png" "ftp://145.223.77.209/domains/atomaste.ca/public_html/Media/"
```
### Option 3: Demander à Claude
Dis simplement: "deploy to hostinger" ou "push to production"
---
## Accès FTP Hostinger
| Paramètre | Valeur |
|-----------|--------|
| Host | `ftp://145.223.77.209` |
| Username | `u878837096` |
| Password | `hey@claudeLeta12` |
| Port | `21` |
| Remote Path | `/domains/atomaste.ca/public_html` |
**Note:** Ces credentials sont aussi dans `deploy-hostinger.bat` et `deploy-hostinger.ps1`
---
## Structure sur le serveur Hostinger
```
/domains/atomaste.ca/public_html/
├── index.html
├── fr.html
├── .htaccess
└── Media/
├── Atomaste_logo_A.svg
├── Atomaste_light_grey_Logo.svg
└── Site_1_8.png
```
---
## Ajouter une nouvelle image
1. Place l'image dans `Media/` localement
2. Référence-la dans ton HTML: `<img src="Media/nom-image.png">`
3. Upload avec:
```bash
curl -u "u878837096:hey@claudeLeta12" -T "Media/nom-image.png" "ftp://145.223.77.209/domains/atomaste.ca/public_html/Media/"
```
4. Ou ajoute la ligne dans `deploy-hostinger.bat`
---
## Troubleshooting
### Le site ne se met pas à jour
- Fais un hard refresh: `Ctrl+Shift+R`
- Ouvre en navigation privée
- Vérifie que l'upload a réussi (pas de "FAILED")
### Erreur 550 (File unavailable)
- Le dossier n'existe pas sur le serveur
- Utilise `--ftp-create-dirs` avec curl
### L'ancien site WordPress apparaît
- Le `.htaccess` a été écrasé par WordPress
- Re-upload le `.htaccess` local
---
## URLs
- **Production:** https://atomaste.ca
- **Français:** https://atomaste.ca/fr.html
- **LinkedIn:** https://www.linkedin.com/company/atomaste/
---
## Serveur de développement local (optionnel)
Tu as aussi un serveur dev sur Dalidou:
```
deploy-to-dalidou.bat --> http://192.168.86.50:8090
```

53
doc/workflow.md Normal file
View File

@@ -0,0 +1,53 @@
# Atomaste Website Workflow
## Source of Truth
**Master Location**: `C:\Users\antoi\WEBtomaste` (Windows)
This is your primary working directory. All edits should be made here.
## Architecture
```
WEBtomaste (Windows - MASTER)
|
+---> Gitea: http://192.168.86.50:3000/Antoine/WEBtomaste.git (version control)
|
+---> Syncthing ---> Dalidou:/srv/atomaste-dev (auto-sync for dev testing)
|
+---> Hostinger (production - manual deploy)
```
## Development Workflow
1. **Edit files** in `C:\Users\antoi\WEBtomaste`
2. **Changes auto-sync** to Dalidou via Syncthing
3. **Test** at `http://192.168.86.50:8090`
4. **Commit & push** to Gitea when ready:
```bash
git add .
git commit -m "Your message"
git push origin main
```
5. **Deploy to Hostinger** when production-ready
## Key Files
| File | Purpose |
|------|---------|
| `index.html` | English website |
| `fr.html` | French website |
| `Media/Atomaste_light_grey_Logo.svg` | Main logo |
| `Media/Atomaste_logo_A.svg` | Favicon |
| `deploy.bat` | Deploy to Dalidou dev server |
## Remotes
- **Gitea**: `http://192.168.86.50:3000/Antoine/WEBtomaste.git`
- **Dev Server**: `http://192.168.86.50:8090`
## Syncthing Configuration
- Folder: `atomaste-dev`
- Type: `sendonly` (Windows -> Dalidou only)
- Path on Dalidou: `/srv/atomaste-dev`

50
fr.html
View File

@@ -5,7 +5,55 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ATOMASTE | Services d'optimisation structurelle et analyse par éléments finis</title> <title>ATOMASTE | Services d'optimisation structurelle et analyse par éléments finis</title>
<meta name="description" content="Atomaste - Services experts en optimisation structurelle et analyse par éléments finis. Simulation multi-physique, optimisation paramétrique et solutions d'ingénierie avancées."> <meta name="description" content="Atomaste - Services experts en optimisation structurelle et analyse par éléments finis. Simulation multi-physique, optimisation paramétrique et solutions d'ingénierie avancées.">
<meta name="keywords" content="optimisation structurelle, éléments finis, simulation, services ingénierie, optimisation topologique, multi-physique, CAE, conception optimisée, Montréal, Québec, Canada">
<meta name="author" content="Atomaste">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://atomaste.com/fr.html">
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://atomaste.com/fr.html">
<meta property="og:title" content="ATOMASTE | Services d'optimisation structurelle et analyse par éléments finis">
<meta property="og:description" content="Services experts en optimisation structurelle et analyse par éléments finis. Simulation multi-physique, optimisation paramétrique et solutions d'ingénierie avancées.">
<meta property="og:image" content="https://atomaste.com/Media/Atomaste_light_grey_Logo.svg">
<meta property="og:locale" content="fr_CA">
<meta property="og:locale:alternate" content="en_CA">
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ATOMASTE | Services d'optimisation structurelle et analyse par éléments finis">
<meta name="twitter:description" content="Services experts en optimisation structurelle et analyse par éléments finis. Simulation multi-physique, optimisation paramétrique et solutions d'ingénierie avancées.">
<meta name="twitter:image" content="https://atomaste.com/Media/Atomaste_light_grey_Logo.svg">
<!-- Language alternates for SEO -->
<link rel="alternate" hreflang="en" href="https://atomaste.com/">
<link rel="alternate" hreflang="fr" href="https://atomaste.com/fr.html">
<link rel="alternate" hreflang="x-default" href="https://atomaste.com/">
<link rel="icon" type="image/svg+xml" href="Media/Atomaste_logo_A.svg?v=2"> <link rel="icon" type="image/svg+xml" href="Media/Atomaste_logo_A.svg?v=2">
<!-- Structured Data for SEO -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"name": "Atomaste",
"description": "Services experts en optimisation structurelle et analyse par éléments finis. Simulation multi-physique, optimisation paramétrique et solutions d'ingénierie avancées.",
"url": "https://atomaste.com/fr.html",
"logo": "https://atomaste.com/Media/Atomaste_light_grey_Logo.svg",
"image": "https://atomaste.com/Media/Atomaste_light_grey_Logo.svg",
"areaServed": ["Canada", "États-Unis", "Amérique du Nord"],
"serviceType": ["Optimisation structurelle", "Analyse par éléments finis", "Simulation multi-physique", "Optimisation topologique", "Consultation en ingénierie"],
"knowsAbout": ["FEA", "CAE", "Analyse structurelle", "Optimisation de conception", "Simulation"],
"address": {
"@type": "PostalAddress",
"addressLocality": "Montréal",
"addressRegion": "Québec",
"addressCountry": "CA"
}
}
</script>
<script src="https://cdn.tailwindcss.com"></script> <script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/lucide@latest"></script> <script src="https://unpkg.com/lucide@latest"></script>
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
@@ -1070,7 +1118,7 @@ body {
</div> </div>
<div class="flex items-center justify-center gap-8"> <div class="flex items-center justify-center gap-8">
<a href="https://linkedin.com" class="text-gray-500 hover:text-cyan-400 transition-colors flex items-center gap-2"> <a href="https://www.linkedin.com/company/atomaste/" target="_blank" class="text-gray-500 hover:text-cyan-400 transition-colors flex items-center gap-2">
<i data-lucide="linkedin" class="w-5 h-5"></i> <i data-lucide="linkedin" class="w-5 h-5"></i>
LinkedIn LinkedIn
</a> </a>

View File

@@ -5,7 +5,55 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ATOMASTE | Structural Optimization & FEA Engineering Services</title> <title>ATOMASTE | Structural Optimization & FEA Engineering Services</title>
<meta name="description" content="Atomaste - Expert structural optimization and finite element analysis services. Multi-physics simulation, parametric optimization, and advanced engineering solutions."> <meta name="description" content="Atomaste - Expert structural optimization and finite element analysis services. Multi-physics simulation, parametric optimization, and advanced engineering solutions.">
<meta name="keywords" content="structural optimization, FEA, finite element analysis, simulation, engineering services, topology optimization, multi-physics, CAE, design optimization, Montreal, Quebec, Canada">
<meta name="author" content="Atomaste">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://atomaste.com/">
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://atomaste.com/">
<meta property="og:title" content="ATOMASTE | Structural Optimization & FEA Engineering Services">
<meta property="og:description" content="Expert structural optimization and finite element analysis services. Multi-physics simulation, parametric optimization, and advanced engineering solutions.">
<meta property="og:image" content="https://atomaste.com/Media/Atomaste_light_grey_Logo.svg">
<meta property="og:locale" content="en_CA">
<meta property="og:locale:alternate" content="fr_CA">
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ATOMASTE | Structural Optimization & FEA Engineering Services">
<meta name="twitter:description" content="Expert structural optimization and finite element analysis services. Multi-physics simulation, parametric optimization, and advanced engineering solutions.">
<meta name="twitter:image" content="https://atomaste.com/Media/Atomaste_light_grey_Logo.svg">
<!-- Language alternates for SEO -->
<link rel="alternate" hreflang="en" href="https://atomaste.com/">
<link rel="alternate" hreflang="fr" href="https://atomaste.com/fr.html">
<link rel="alternate" hreflang="x-default" href="https://atomaste.com/">
<link rel="icon" type="image/svg+xml" href="Media/Atomaste_logo_A.svg?v=2"> <link rel="icon" type="image/svg+xml" href="Media/Atomaste_logo_A.svg?v=2">
<!-- Structured Data for SEO -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"name": "Atomaste",
"description": "Expert structural optimization and finite element analysis services. Multi-physics simulation, parametric optimization, and advanced engineering solutions.",
"url": "https://atomaste.com",
"logo": "https://atomaste.com/Media/Atomaste_light_grey_Logo.svg",
"image": "https://atomaste.com/Media/Atomaste_light_grey_Logo.svg",
"areaServed": ["Canada", "United States", "North America"],
"serviceType": ["Structural Optimization", "Finite Element Analysis", "Multi-physics Simulation", "Topology Optimization", "Engineering Consulting"],
"knowsAbout": ["FEA", "CAE", "Structural Analysis", "Design Optimization", "Simulation"],
"address": {
"@type": "PostalAddress",
"addressLocality": "Montreal",
"addressRegion": "Quebec",
"addressCountry": "CA"
}
}
</script>
<script src="https://cdn.tailwindcss.com"></script> <script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/lucide@latest"></script> <script src="https://unpkg.com/lucide@latest"></script>
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
@@ -1194,7 +1242,7 @@ body {
</div> </div>
<div class="flex items-center justify-center gap-8"> <div class="flex items-center justify-center gap-8">
<a href="https://linkedin.com" class="text-gray-500 hover:text-cyan-400 transition-colors flex items-center gap-2"> <a href="https://www.linkedin.com/company/atomaste/" target="_blank" class="text-gray-500 hover:text-cyan-400 transition-colors flex items-center gap-2">
<i data-lucide="linkedin" class="w-5 h-5"></i> <i data-lucide="linkedin" class="w-5 h-5"></i>
LinkedIn LinkedIn
</a> </a>

6
robots.txt Normal file
View File

@@ -0,0 +1,6 @@
# Atomaste robots.txt
User-agent: *
Allow: /
# Sitemap location
Sitemap: https://atomaste.com/sitemap.xml

20
sitemap.xml Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://atomaste.com/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://atomaste.com/"/>
<xhtml:link rel="alternate" hreflang="fr" href="https://atomaste.com/fr.html"/>
<lastmod>2026-01-02</lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://atomaste.com/fr.html</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://atomaste.com/"/>
<xhtml:link rel="alternate" hreflang="fr" href="https://atomaste.com/fr.html"/>
<lastmod>2026-01-02</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
</urlset>