feat: refonte complète landing page - tunnel de vente + SEO optimisé

- SEO technique: sitemap.ts, robots.ts, structured data JSON-LD (Organization, Course, FAQPage)
- Meta tags optimisés pour 12+ mots-clés TikTok Shop France
- Hero SEO-optimisé: H1 ciblant "formation TikTok Shop" + "créateur affilié France"
- Nouvelle section ResultsShowcase: stats marché TikTok Shop + timeline 8 semaines
- Tableau comparatif HookLab vs alternatives
- 6 témoignages avec disclaimer Google-compliant (pas de faux avis)
- Pricing avec prix barré, bonus inclus, garantie satisfait ou remboursé
- Badges de confiance (paiement sécurisé, RGPD, support, garantie)
- Pop-up exit-intent (desktop) avec stats marché
- Barre sticky CTA mobile
- Notifications social proof animées
- CTA final avant footer
- Barre d'annonce urgence en haut
- FAQ enrichie (10 questions) avec structured data FAQPage
- Smooth scroll + animations CSS ajoutées

https://claude.ai/code/session_01H2aRGDaKgarPvhay2HxN6Y
This commit is contained in:
Claude
2026-02-11 12:02:42 +00:00
parent fe0df7448f
commit ba1d24fa02
18 changed files with 1113 additions and 106 deletions

View File

@@ -0,0 +1,33 @@
"use client";
import { useState, useEffect } from "react";
import Link from "next/link";
import Button from "@/components/ui/Button";
export default function StickyMobileCTA() {
const [visible, setVisible] = useState(false);
useEffect(() => {
const handleScroll = () => {
setVisible(window.scrollY > 600);
};
window.addEventListener("scroll", handleScroll, { passive: true });
return () => window.removeEventListener("scroll", handleScroll);
}, []);
return (
<div
className={`fixed bottom-0 left-0 right-0 z-50 md:hidden transition-all duration-300 ${
visible ? "translate-y-0" : "translate-y-full"
}`}
>
<div className="bg-dark/95 backdrop-blur-xl border-t border-dark-border px-4 py-3">
<Link href="/candidature" className="block">
<Button size="md" className="w-full pulse-glow">
Candidater maintenant
</Button>
</Link>
</div>
</div>
);
}