Skip to content

Commit 02ce305

Browse files
Merge pull request #19 from setrsoft/main
Added sitemap
2 parents 5d0af6b + a283235 commit 02ce305

12 files changed

Lines changed: 145 additions & 29 deletions

File tree

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copy to ".env" at the repository root (Docker Compose and local tooling load it from here).
22
# Django also loads this file via backend/setrsoft/settings.py (repo root).
33

4-
#Docker
4+
#Docker (for production)
55
DOCKER_NETWORK_NAME=default
66

77
# --- PORTS & IP ---

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
SetRsoft is an open source community driven software. Test it live on the website http://www.setrsoft.com/
1919

20+
For better understanding the purpose of this project you can have a look at [one of those videos](https://www.youtube.com/results?search_query=routesetting+in+climbing+gym).
21+
2022
Feel free to create new Github Issues for new features or signal bugs.
2123

2224

frontend/index.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,15 @@
88
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
99
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
1010
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet"/>
11-
<title>setrsoft</title>
11+
<title>SetRsoft – Éditeur 3D de blocs d'escalade bouldering</title>
12+
<meta name="description" content="SetRsoft est un éditeur 3D en ligne pour créer des blocs et voies d'escalade bouldering. Routesetting virtuel, simulation 3D, partage de séquences." />
13+
<meta name="keywords" content="éditeur 3D escalade, bouldering editor, routesetting en ligne, créer voie escalade, virtual climbing wall, bloc escalade 3D" />
14+
<meta property="og:title" content="SetRsoft – Éditeur 3D escalade bouldering" />
15+
<meta property="og:description" content="Créez et partagez vos blocs d'escalade en 3D. Éditeur virtuel bouldering en ligne." />
16+
<meta property="og:type" content="website" />
17+
<meta property="og:url" content="https://setrsoft.com" />
18+
<meta name="twitter:card" content="summary_large_image" />
19+
<link rel="canonical" href="https://setrsoft.com" />
1220
</head>
1321
<body>
1422
<div id="root"></div>

frontend/package-lock.json

Lines changed: 48 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"posthog-js": "^1.364.7",
1919
"react": "^19.2.0",
2020
"react-dom": "^19.2.0",
21+
"react-helmet-async": "^2.0.1",
2122
"react-i18next": "^16.6.0",
2223
"react-router-dom": "^7.13.1",
2324
"three": "^0.177.0",

frontend/public/robots.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
User-agent: *
2+
Allow: /
3+
Disallow: /editor/
4+
Disallow: /gym/
5+
6+
Sitemap: https://setrsoft.com/sitemap.xml

frontend/public/sitemap.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3+
<url>
4+
<loc>https://setrsoft.com/</loc>
5+
<changefreq>weekly</changefreq>
6+
<priority>1.0</priority>
7+
</url>
8+
<url>
9+
<loc>https://setrsoft.com/partners</loc>
10+
<changefreq>monthly</changefreq>
11+
<priority>0.6</priority>
12+
</url>
13+
<url>
14+
<loc>https://setrsoft.com/contact</loc>
15+
<changefreq>yearly</changefreq>
16+
<priority>0.5</priority>
17+
</url>
18+
</urlset>

frontend/src/features/editor/EditorApp.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ function EditorApp() {
7070
posthog.capture('editor session opened', { wall_id: wallId, session_id: session_data.id });
7171
}
7272
}
73-
}, [session_data?.id, wallModels.length, handleLoad]);
73+
}, [session_data?.id, wallId, wallModels.length, handleLoad]);
7474

7575
useEffect(() => {
7676
const handleBeforeUnload = (e: BeforeUnloadEvent) => {
@@ -152,7 +152,7 @@ function EditorApp() {
152152
))}
153153
</div>
154154
</div>
155-
155+
156156
<MainCanvas wallModels={wallModels} />
157157
<HoldInspector />
158158
<Tutorial />
Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,26 @@
11
import { useTranslation, Trans } from 'react-i18next';
2+
import { Helmet } from 'react-helmet-async';
23

34
const EMAIL = 'contact@setrsoft.com';
45

56
export function ContactPage() {
67
const { t } = useTranslation();
78

89
return (
9-
<div className="flex flex-col items-center justify-center py-24 px-4 text-center animate-fade-in">
10-
<h1 className="text-3xl font-bold text-white mb-6">{t('contact.title')}</h1>
11-
<p className="text-on-surface-variant text-lg">
12-
<Trans
13-
i18nKey="contact.body"
14-
components={{ emailLink: <a href={`mailto:${EMAIL}`} className="text-mint hover:underline" /> }}
15-
/>
16-
</p>
17-
</div>
10+
<>
11+
<Helmet>
12+
<title>Contact – SetRsoft</title>
13+
<meta name="description" content="Contactez l'équipe SetRsoft pour intégrer l'éditeur 3D dans votre salle d'escalade bouldering." />
14+
</Helmet>
15+
<div className="flex flex-col items-center justify-center py-24 px-4 text-center animate-fade-in">
16+
<h1 className="text-3xl font-bold text-white mb-6">{t('contact.title')}</h1>
17+
<p className="text-on-surface-variant text-lg">
18+
<Trans
19+
i18nKey="contact.body"
20+
components={{ emailLink: <a href={`mailto:${EMAIL}`} className="text-mint hover:underline" /> }}
21+
/>
22+
</p>
23+
</div>
24+
</>
1825
);
1926
}

frontend/src/features/showcase/HomePage.tsx

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { useEffect, useState } from 'react';
22
import { useTranslation } from 'react-i18next';
33
import { Link } from 'react-router-dom';
4+
import { Helmet } from 'react-helmet-async';
45
import { ROUTES } from '@/core/config';
56
import { posthog } from '@/shared/analytics/posthog';
67
import demoVideo from '@/assets/demo-CISe8V-c.mp4';
@@ -38,6 +39,21 @@ export function HomePage() {
3839
}, []);
3940

4041
return (
42+
<>
43+
<Helmet>
44+
<title>SetRsoft – Éditeur 3D Bouldering en ligne</title>
45+
<meta name="description" content="Éditeur 3D virtuel pour créer vos blocs d'escalade bouldering. Simulation, routesetting, partage de séquences." />
46+
<script type="application/ld+json">{JSON.stringify({
47+
"@context": "https://schema.org",
48+
"@type": "SoftwareApplication",
49+
"name": "SetRsoft",
50+
"applicationCategory": "SportsApplication",
51+
"operatingSystem": "Web",
52+
"description": "Éditeur 3D de blocs d'escalade bouldering en ligne. Routesetting virtuel.",
53+
"url": "https://setrsoft.com",
54+
"offers": { "@type": "Offer", "price": "0" }
55+
})}</script>
56+
</Helmet>
4157
<div className="flex flex-col gap-24 py-12 md:py-20 animate-fade-in">
4258

4359
{/* Hero Section */}
@@ -60,7 +76,7 @@ export function HomePage() {
6076

6177
<div className="flex flex-col sm:flex-row gap-4 mt-4">
6278
<a
63-
href="https://setrsoft.github.io/holds-dataset-hub/"
79+
href="https://dataset.setrsoft.com/"
6480
target="_blank"
6581
rel="noopener noreferrer"
6682
className="bg-surface-high text-white font-medium px-6 py-2.5 rounded-sm hover:bg-surface-lowest transition-colors border border-transparent hover:border-ghost-border/50 text-sm"
@@ -174,5 +190,6 @@ export function HomePage() {
174190
</section>
175191

176192
</div>
193+
</>
177194
);
178195
}

0 commit comments

Comments
 (0)