Outiref

Code source de l'URL : https://sergio-porto.fr

<!DOCTYPE html><html lang="fr"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="generator" content="Astro v6.3.3"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="icon" href="/favicon.ico"><link rel="preload" href="/fonts/GeneralSans-Regular.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/GeneralSans-Semibold.woff2" as="font" type="font/woff2" crossorigin><meta name="theme-color" content="#faf8f3"><script>
      // Thème : clair par défaut, choix visiteur persisté.
      // Inline et bloquant volontairement (anti-flash avant le premier rendu).
      (() => {
        const theme =
          localStorage.getItem('theme') === 'dark' ? 'dark' : 'light';
        document.documentElement.dataset.theme = theme;
        const meta = document.querySelector('meta[name="theme-color"]');
        if (meta && theme === 'dark') meta.setAttribute('content', '#101113');
      })();
    </script><title>Consultant PrestaShop — diagnostic &amp; pilotage e-commerce</title><meta name="description" content="Votre boutique PrestaShop stagne ? Je diagnostique ce qui bloque puis je pilote la croissance. Un seul interlocuteur."><link rel="canonical" href="https://sergio-porto.fr/"><meta name="robots" content="index, follow"><meta property="og:title" content="Consultant PrestaShop — diagnostic &amp; pilotage e-commerce"><meta property="og:description" content="Votre boutique PrestaShop stagne ? Je diagnostique ce qui bloque puis je pilote la croissance. Un seul interlocuteur."><meta property="og:url" content="https://sergio-porto.fr/"><meta property="og:type" content="website"><meta property="og:locale" content="fr_FR"><meta property="og:site_name" content="Sergio Porto"><meta property="og:image" content="https://sergio-porto.fr/images/og-default.png"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Consultant PrestaShop — diagnostic &amp; pilotage e-commerce"><meta name="twitter:description" content="Votre boutique PrestaShop stagne ? Je diagnostique ce qui bloque puis je pilote la croissance. Un seul interlocuteur."><meta name="twitter:image" content="https://sergio-porto.fr/images/og-default.png"><script type="application/ld+json">{"@context":"https://schema.org","@type":"ProfessionalService","@id":"https://sergio-porto.fr/#business","name":"Sergio Porto","description":"Consultant e-commerce PrestaShop indépendant. Diagnostic stratégique, accompagnement piloté et interventions ciblées sur boutiques en ligne.","url":"https://sergio-porto.fr","image":"https://sergio-porto.fr/images/og-default.png","logo":"https://sergio-porto.fr/images/og-default.png","email":"contact@sergio-porto.fr","areaServed":[{"@type":"Country","name":"France"},{"@type":"Country","name":"Suisse"},{"@type":"Country","name":"Belgique"},{"@type":"Country","name":"Luxembourg"}],"serviceType":["Conseil e-commerce","PrestaShop","SEO","Google Ads","Optimisation conversion"],"founder":{"@type":"Person","@id":"https://sergio-porto.fr/a-propos#sergio-porto","name":"Sergio Porto"},"provider":{"@type":"Person","@id":"https://sergio-porto.fr/a-propos#sergio-porto","name":"Sergio Porto"},"priceRange":"À partir de 450 €","sameAs":["https://www.linkedin.com/in/sergio-porto-fr"]}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","@id":"https://sergio-porto.fr/a-propos#sergio-porto","name":"Sergio Porto","url":"https://sergio-porto.fr/a-propos","image":"https://sergio-porto.fr/images/og-default.png","jobTitle":"Consultant e-commerce PrestaShop","description":"Consultant e-commerce PrestaShop indépendant depuis 2015, accompagnant des e-commerçants dans la durée — diagnostic, technique, SEO, acquisition, conversion.","knowsAbout":["PrestaShop","SEO","Google Ads","Optimisation conversion e-commerce","E-commerce"],"worksFor":{"@id":"https://sergio-porto.fr/#business"},"sameAs":["https://www.linkedin.com/in/sergio-porto-fr"]}</script><link rel="stylesheet" href="/_astro/BackToTop.BEECpejj.css"></head> <body> <header class="nav"> <div class="wrap nav-inner"> <a href="/" class="logo">Sergio<span>.</span>Porto</a> <button class="burger" type="button" aria-label="Ouvrir le menu" aria-controls="primary-nav" aria-expanded="false">☰</button> <nav aria-label="Navigation principale"> <ul class="nav-links" id="primary-nav"> <li> <a href="/" class="active" aria-current="page">Accueil</a> </li><li> <a href="/services">Services</a> </li><li> <a href="/a-propos">À propos</a> </li><li> <a href="/realisations">Réalisations</a> </li><li> <a href="/ressources">Ressources</a> </li><li> <a href="/faq">FAQ</a> </li><li> <a href="/contact" class="nav-cta">Contact</a> </li> </ul> </nav> <button class="theme-toggle" type="button" aria-label="Basculer entre thème clair et sombre"> <span class="theme-toggle-thumb" aria-hidden="true"> <svg class="icon-sun" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"> <circle cx="12" cy="12" r="4.2"></circle> <path d="M12 2.5v2.4M12 19.1v2.4M2.5 12h2.4M19.1 12h2.4M5 5l1.7 1.7M17.3 17.3 19 19M19 5l-1.7 1.7M6.7 17.3 5 19"></path> </svg> <svg class="icon-moon" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M20.5 14.5A8.5 8.5 0 0 1 9.5 3.5a8.5 8.5 0 1 0 11 11Z"></path> </svg> </span> </button> </div> </header> <main>   <section class="hero"> <div class="wrap"> <div class="hero-grid"> <div> <span class="eyebrow reveal">Consultant e-commerce PrestaShop</span> <h1 class="reveal">
Votre boutique tourne, mais ne&nbsp;<em class="hl">décolle plus</em>.
</h1> <p class="lead reveal">
Le trafic est là. Les ventes stagnent. Vous sentez qu'il y a un
            problème quelque part — technique, parcours d'achat, visibilité — sans
            savoir lequel traiter en premier.
</p> <p class="lead-2 reveal">
Je diagnostique ce qui bloque, puis je pilote la remise en croissance.
            Un seul interlocuteur, du diagnostic à l'exécution.
</p> <a href="/contact" class="btn reveal">
Demander un diagnostic <span class="arr">→</span> </a> </div>  <div class="hero-figure reveal" aria-hidden="true"> <svg viewbox="0 0 420 320" fill="none" xmlns="http://www.w3.org/2000/svg"> <g stroke="var(--line)" stroke-width="1"> <line x1="40" y1="40" x2="40" y2="280"></line> <line x1="40" y1="280" x2="400" y2="280"></line> <line x1="40" y1="220" x2="400" y2="220" stroke-dasharray="2 6"></line> <line x1="40" y1="160" x2="400" y2="160" stroke-dasharray="2 6"></line> <line x1="40" y1="100" x2="400" y2="100" stroke-dasharray="2 6"></line> </g>  <path class="draw" d="M40 262 C 90 250, 110 218, 150 212 C 190 206, 230 210, 258 208 C 300 205, 330 150, 358 110 C 372 90, 384 76, 396 64" stroke="var(--sand)" stroke-width="2" stroke-linecap="round"></path>  <g class="pt"> <circle cx="258" cy="208" r="5" fill="var(--bg)" stroke="var(--blue)" stroke-width="2"></circle> <line x1="258" y1="200" x2="258" y2="58" stroke="var(--blue)" stroke-width="1" stroke-dasharray="3 5" opacity="0.55"></line> <text x="252" y="44" fill="var(--ink-muted)" font-family="General Sans, sans-serif" font-size="12" text-anchor="middle">diagnostic</text> </g> </svg> </div> </div>  <div class="hero-trust reveal"> <span>Réponse sous 48&nbsp;h ouvrées</span> <span>Petits, moyens ou grands projets</span> <span>Sans engagement de durée</span> </div> </div> </section> <section class="section-soft"> <div class="wrap"> <span class="eyebrow reveal">01 — Un consultant, pas une agence</span> <h2 class="reveal" style="max-width:20ch;margin-bottom:2.5rem">
Un partenaire unique, pas un prestataire de plus
</h2> <div class="solo-grid"> <div class="solo-photo reveal"> <picture> <source srcset="/_astro/sergio-porto-hd.JOPDkuEk_Zp4x9k.avif 200w, /_astro/sergio-porto-hd.JOPDkuEk_Z1sKQMc.avif 400w" type="image/avif" sizes="200px"><source srcset="/_astro/sergio-porto-hd.JOPDkuEk_26mm7U.webp 200w, /_astro/sergio-porto-hd.JOPDkuEk_12F2u3.webp 400w" type="image/webp" sizes="200px">  <img src="/_astro/sergio-porto-hd.JOPDkuEk_10hGlR.jpg" srcset="/_astro/sergio-porto-hd.JOPDkuEk_sYNpg.jpg 200w, /_astro/sergio-porto-hd.JOPDkuEk_ZzGvdB.jpg 400w" sizes="200px" alt="Sergio Porto, consultant e-commerce PrestaShop" loading="lazy" decoding="async" width="2217" height="2217"> </picture> <div class="solo-photo-cap"> <span>Sergio Porto</span><span>Paris · FR</span> </div> </div> <div class="solo-text"> <p class="reveal">
La plupart des e-commerçants jonglent avec trois intervenants : un
            développeur pour la technique, une agence pour le SEO, un freelance
            pour les campagnes. Personne ne voit l'ensemble. Les décisions se
            prennent en silos, et la boutique avance en zigzag.
</p> <p class="reveal">
Mon approche est l'inverse. J'interviens sur toute la chaîne —
            technique PrestaShop, référencement, acquisition payante,
            conversions — avec une seule logique : <strong>faire grandir votre
            activité, pas empiler des prestations</strong>. Un diagnostic
            d'abord. On agit ensuite. Et on pilote dans la durée.
</p>  <div class="solo-figure reveal" aria-hidden="true"> <svg viewbox="0 0 640 190" fill="none" xmlns="http://www.w3.org/2000/svg"> <text x="120" y="18" fill="var(--ink-faint)" font-family="General Sans, sans-serif" font-size="12" text-anchor="middle">Le modèle classique</text> <text x="480" y="18" fill="var(--ink-faint)" font-family="General Sans, sans-serif" font-size="12" text-anchor="middle">Mon modèle</text>  <g stroke="var(--ink-faint)" stroke-width="1.1" opacity="0.65"> <path class="draw" d="M45 55 C 80 90, 95 110, 110 138"></path> <path class="draw" d="M120 55 C 118 85, 116 110, 113 138"></path> <path class="draw" d="M195 55 C 160 90, 140 110, 118 138"></path> </g> <g fill="var(--bg-card)" stroke="var(--ink-faint)" stroke-width="1.2"> <circle cx="45" cy="44" r="11"></circle> <circle cx="120" cy="44" r="11"></circle> <circle cx="195" cy="44" r="11"></circle> </g> <rect x="84" y="138" width="60" height="32" rx="2" fill="var(--bg-card)" stroke="var(--sand)" stroke-width="1.3"></rect> <text x="114" y="158" fill="var(--ink-muted)" font-family="General Sans, sans-serif" font-size="11" text-anchor="middle">Boutique</text> <text x="45" y="80" fill="var(--ink-faint)" font-family="General Sans, sans-serif" font-size="10" text-anchor="middle">dev</text> <text x="120" y="80" fill="var(--ink-faint)" font-family="General Sans, sans-serif" font-size="10" text-anchor="middle">agence SEO</text> <text x="197" y="80" fill="var(--ink-faint)" font-family="General Sans, sans-serif" font-size="10" text-anchor="middle">freelance Ads</text>  <line x1="320" y1="35" x2="320" y2="170" stroke="var(--line)" stroke-width="1" stroke-dasharray="2 6"></line>  <circle cx="480" cy="44" r="11" fill="var(--bg-card)" stroke="var(--sand)" stroke-width="1.4"></circle> <path class="draw" d="M480 55 L 480 138" stroke="var(--sand)" stroke-width="1.4"></path> <rect x="450" y="138" width="60" height="32" rx="2" fill="var(--bg-card)" stroke="var(--sand)" stroke-width="1.3"></rect> <text x="480" y="158" fill="var(--ink-muted)" font-family="General Sans, sans-serif" font-size="11" text-anchor="middle">Boutique</text> <text x="480" y="80" fill="var(--ink-faint)" font-family="General Sans, sans-serif" font-size="10" text-anchor="middle">un seul interlocuteur</text> </svg> </div> <div class="hero-meta reveal"> <div><b>2010</b><span>PrestaShop en pratique</span></div> <div><b>2015</b><span>À titre professionnel</span></div> <div><b>5/5</b><span>24 projets menés à terme</span></div> <div><b>2021</b><span>Un client en continu</span></div> </div> </div> </div> </div> </section> <section> <div class="wrap"> <span class="eyebrow reveal">02 — Comment ça se passe</span> <h2 class="reveal">Quatre étapes, toujours dans cet ordre</h2> <div class="timeline reveal"> <ol class="timeline-steps"> <li> <span class="t-num">01</span> <h3>Premier échange</h3> <p>Vous décrivez votre situation. Je vous dis franchement si je peux vous aider — réponse sous 48&nbsp;h ouvrées.</p> </li> <li> <span class="t-num">02</span> <h3>Diagnostic</h3> <p>Marché, technique, parcours d'achat, visibilité : j'identifie ce qui bloque réellement, sous 10 jours ouvrés.</p> </li> <li> <span class="t-num">03</span> <h3>Plan d'action</h3> <p>Les problèmes hiérarchisés par impact, un plan chiffré qui vous appartient — avec ou sans moi pour la suite.</p> </li> <li> <span class="t-num">04</span> <h3>Pilotage</h3> <p>On exécute ensemble, dans la durée. Les résultats se mesurent, le cap s'ajuste mois après mois.</p> </li> </ol> </div> </div> </section> <section class="section-soft"> <div class="wrap"> <span class="eyebrow reveal">03 — Trois façons de travailler ensemble</span> <h2 class="reveal" style="margin-bottom:3rem">
Du diagnostic à l'exécution
</h2> <div class="grid grid-3"> <div class="card reveal"> <div class="card-icon" aria-hidden="true"> <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="m15.5 15.5 5 5"/></svg> </div> <div class="knum">01</div> <h3>Le Diagnostic</h3> <p>Une analyse complète : marché, concurrence, technique, parcours d&#39;achat, visibilité. Vous repartez avec un plan d&#39;action priorisé et chiffré qui vous appartient.</p> <p class="price">À partir de 450 €</p> <span class="tva-note">TVA non applicable, art. 293 B du CGI</span> <a href="/services" class="card-link">En savoir plus →</a> </div><div class="card reveal" style="border-color:var(--accent)"> <div class="card-icon" aria-hidden="true"> <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 17.5 9 11l4 4 7.5-8"/><path d="M15.5 7H20.5v5"/></svg> </div> <div class="knum">02</div> <h3>L&#39;Accompagnement</h3> <p>Le plan ne vaut rien dans un tiroir. Je pilote sa mise en œuvre dans la durée : technique, SEO, campagnes, conversions. Une vision, des résultats suivis.</p> <p class="price">Sur devis, selon périmètre</p>  <a href="/services" class="card-link">En savoir plus →</a> </div><div class="card reveal"> <div class="card-icon" aria-hidden="true"> <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M14.5 3.5a5 5 0 0 0-4.8 6.4L3.5 16.1V20.5h4.4l6.2-6.2a5 5 0 0 0 6.4-6.4l-3.3 3.3-2.8-2.8 3.3-3.3a5 5 0 0 0-3.2-1.6Z"/></svg> </div> <div class="knum">03</div> <h3>Une intervention ciblée</h3> <p>Un bug bloquant, un module à configurer, une campagne à lancer. Un besoin précis et délimité — on en parle directement.</p> <p class="price">Sur échange</p>  <a href="/contact" class="card-link">Me contacter →</a> </div> </div> </div> </section> <section> <div class="wrap"> <span class="eyebrow reveal">04 — Des boutiques réelles</span> <h2 class="reveal" style="margin-bottom:1.5rem">
Des résultats suivis dans la durée
</h2> <p class="reveal" style="color:var(--ink-muted);max-width:48ch;margin-bottom:3rem">
Pas de portfolio gonflé. Des résultats mesurés, sur des clients
        accompagnés des années — pas le temps d'une mission.
</p> <div class="grid grid-3"> <article class="case reveal"> <div class="res">+30%</div> <div class="res-label">CA moyen / an</div> <h3>Hair-France.fr</h3> <p class="ctx">Pilotage marketing global — 2 boutiques PrestaShop + Google Ads, en continu depuis 2017.</p>  </article><article class="case reveal"> <div class="res">+120%</div> <div class="res-label">Réservations en 3 ans</div> <h3>PassionChuteLibre.com</h3> <p class="ctx">E-commerce délégué de bout en bout : site, SEO, Google Ads.</p>  </article><article class="case reveal"> <div class="res">+80%</div> <div class="res-label">Leads en 2 ans</div> <h3>JeanGrunder.ch</h3> <p class="ctx">Accompagnement technique + Google Ads, interlocuteur unique réactif. Client suisse depuis 2021.</p>  </article> </div> <div style="margin-top:3rem" class="reveal"> <a href="/realisations" class="btn btn-ghost">
Voir les résultats <span class="arr">→</span> </a> </div> </div> </section> <section class="cta-band section-soft"> <div class="wrap"> <span class="eyebrow reveal" style="justify-content:center">On en parle ?</span> <h2 class="reveal">Votre boutique mérite un diagnostic, pas des suppositions</h2> <p class="reveal">Décrivez-moi votre situation. Je vous dis franchement si je peux vous aider, et comment.</p> <a href="/contact" class="btn reveal"> Demander un diagnostic <span class="arr">→</span> </a> <p class="micro reveal">Réponse sous 48h ouvrées — contact@sergio-porto.fr</p> </div> </section> <button class="back-to-top" type="button" aria-label="Revenir en haut de la page"> <span aria-hidden="true">↑</span> </button>  </main> <footer> <div class="wrap"> <div class="foot-row"> <a href="/" class="logo">Sergio<span>.</span>Porto</a> <nav class="foot-nav" aria-label="Plan du site"> <a href="/">Accueil</a> <span class="foot-sep" aria-hidden="true"> · </span><a href="/services">Services</a> <span class="foot-sep" aria-hidden="true"> · </span><a href="/a-propos">À propos</a> <span class="foot-sep" aria-hidden="true"> · </span><a href="/realisations">Réalisations</a> <span class="foot-sep" aria-hidden="true"> · </span><a href="/ressources">Ressources</a> <span class="foot-sep" aria-hidden="true"> · </span><a href="/faq">FAQ</a> <span class="foot-sep" aria-hidden="true"> · </span><a href="/contact">Contact</a>  </nav> </div> <div class="foot-row"> <p>Consultant e-commerce PrestaShop — Paris &amp; à distance</p> <p> <a href="https://www.linkedin.com/in/sergio-porto-fr" target="_blank" rel="noopener">LinkedIn</a>
· © 2026 Sergio Porto
</p> </div> <div class="foot-row"> <nav class="foot-nav" aria-label="Informations légales"> <a href="/mentions-legales">Mentions légales</a> <span class="foot-sep" aria-hidden="true"> · </span> <a href="/confidentialite">Confidentialité</a> </nav> </div> </div> </footer> <script type="module">function g(){document.querySelectorAll(".hero .reveal, .page-head .reveal").forEach((e,n)=>{window.setTimeout(()=>e.classList.add("in"),120+n*140)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",g):g();const p=new IntersectionObserver(t=>{t.forEach(e=>{e.isIntersecting&&(e.target.classList.add("in"),p.unobserve(e.target))})},{threshold:.12,rootMargin:"0px 0px -40px 0px"});document.querySelectorAll(".reveal").forEach(t=>{!t.closest(".hero")&&!t.closest(".page-head")&&p.observe(t)});const a=document.querySelector(".burger"),f=document.querySelector(".nav-links");a&&f&&a.addEventListener("click",()=>{const t=f.classList.toggle("open");a.setAttribute("aria-expanded",String(t)),a.setAttribute("aria-label",t?"Fermer le menu":"Ouvrir le menu")});function E(t){const e=t.getAttribute("aria-controls");return e?document.getElementById(e):null}document.querySelectorAll(".faq-q").forEach(t=>{t.addEventListener("click",()=>{const e=t.getAttribute("aria-expanded")==="true",n=E(t);t.setAttribute("aria-expanded",String(!e)),n&&(n.style.maxHeight=e?"":`${n.scrollHeight}px`)})});function h(){document.querySelectorAll('.faq-q[aria-expanded="true"]').forEach(t=>{const e=E(t);e&&(e.style.maxHeight=`${e.scrollHeight}px`)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",h):h();const i=document.querySelector(".back-to-top");if(i){const t=window.matchMedia("(prefers-reduced-motion: reduce)").matches,e=()=>{window.scrollY>window.innerHeight?i.classList.add("visible"):i.classList.remove("visible")};window.addEventListener("scroll",e,{passive:!0}),e(),i.addEventListener("click",()=>{window.scrollTo({top:0,behavior:t?"auto":"smooth"})})}const c=document.querySelectorAll(".has-dropdown");c.forEach(t=>{const e=t.querySelector(".dropdown-toggle");e&&e.addEventListener("click",n=>{n.stopPropagation();const r=t.classList.toggle("open");e.setAttribute("aria-expanded",String(r)),c.forEach(s=>{s!==t&&s.classList.contains("open")&&(s.classList.remove("open"),s.querySelector(".dropdown-toggle")?.setAttribute("aria-expanded","false"))})})});document.addEventListener("click",t=>{const e=t.target;c.forEach(n=>{n.classList.contains("open")&&!n.contains(e)&&(n.classList.remove("open"),n.querySelector(".dropdown-toggle")?.setAttribute("aria-expanded","false"))})});document.addEventListener("keydown",t=>{t.key==="Escape"&&c.forEach(e=>{e.classList.contains("open")&&(e.classList.remove("open"),e.querySelector(".dropdown-toggle")?.setAttribute("aria-expanded","false"))})});const l=document.querySelector(".theme-toggle");if(l){const t=()=>{l.setAttribute("aria-pressed",String(document.documentElement.dataset.theme==="dark"))};t(),l.addEventListener("click",()=>{const e=document.documentElement.dataset.theme==="dark"?"light":"dark";document.documentElement.dataset.theme=e,localStorage.setItem("theme",e),t(),document.querySelector('meta[name="theme-color"]')?.setAttribute("content",e==="dark"?"#101113":"#faf8f3")})}(()=>{const t=document.querySelectorAll(".res-filter");if(!t.length)return;const e=document.querySelectorAll(".res-item"),n=document.getElementById("res-vide");t.forEach(r=>{r.addEventListener("click",()=>{const s=r.dataset.filtre??"*";t.forEach(o=>{const d=o===r;o.classList.toggle("is-on",d),o.setAttribute("aria-pressed",String(d))});let u=0;e.forEach((o,d)=>{const m=s==="*"||o.dataset.categorie===s;o.hidden=!m,m&&u++});const v=[...e].filter(o=>!o.hidden);e.forEach(o=>o.classList.remove("res-item--last")),v.at(-1)?.classList.add("res-item--last"),n&&(n.hidden=u>0)})})})();</script> </body> </html>