1<!doctype html> 2<html lang="fr"> 3 <head> 4 <!-- Google Tag Manager --> 5
5<script>
vendor: 343 bytes, lines 5-9
5(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 6 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 7 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 8 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 9 })(window,document,'script','dataLayer','
9GTM-TJNKL6T5
vendor: 3 bytes, line 9
9');
9</script>
9 10 <!-- End Google Tag Manager --> 11 12 <!-- Vercel Web Analytics (27/09, audit du parcours du nouvel inscrit) : 13 mesure sans cookie les vues de page (ex. /extension) par appareil. 14 Le script ne sert que si Web Analytics est ACTIVÃ sur le projet 15 Vercel (Dashboard â fill-sell â Analytics â Enable) ; sinon il rend 16 404 en silence. Pas un traceur publicitaire : hors bandeau de consentement. --> 17
17<script defer src="/_vercel/insights/script.js"></script>
17 18 19 20 <!-- Primary Meta Tags --> 21 <meta charset="UTF-8" /> 22 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" /> 23 <!-- â ï¸ TITRE : décrire le produit, ne PAS énumérer les marques tierces. 24 Cas réel 2026-07-30 : « FillSell â Publier sur Vinted, Leboncoin, 25 eBay & Beebs » a été traité par Google comme du bourrage de mots-clés 26 â titre réécrit en « FillSell » seul dans les résultats. Les noms des 27 plateformes vivent dans la description (affichée telle quelle). --> 28 <title>FillSell â Publie tes annonces sur 5 plateformes en une fois</title> 29 <meta property="og:type" content="website" /> 30 <meta property="og:url" content="https://fillsell.app" /> 31 <meta property="og:locale" content="fr_FR" /> 32 <meta property="og:title" content="FillSell â Publie tes annonces sur 5 plateformes en une fois" /> 33 <meta property="og:description" content="L'app des revendeurs français : un inventaire unique au-dessus de cinq plateformes, publication et republication automatiques, stock vocal, analyse photo IA, retrait des annonces en un tap après la vente." /> 34 <meta property="og:image" content="https://fillsell.app/og-image-fillsell.png" /> 35 <meta property="og:image:width" content="1200" /> 36 <meta property="og:image:height" content="630" /> 37 <meta name="twitter:card" content="summary_large_image" /> 38 <meta name="twitter:title" content="FillSell â Publie tes annonces sur 5 plateformes en une fois" /> 39 <meta name="twitter:description" content="Une annonce, 5 plateformes. Publication et republication auto, stock vocal, retrait après vente." /> 40 <meta name="twitter:image" content="https://fillsell.app/og-image-fillsell.png" /> 41 <meta name="description" content="Publiez une annonce sur Vinted, Leboncoin, eBay, Beebs et Opla en une seule fois. Republication automatique, gestion du stock à la voix, analyse photo IA, retrait des annonces en un tap après la vente." /> 42 <meta name="author" content="FillSell" /> 43 <meta name="robots" content="index, follow" /> 44 <link rel="canonical" href="https://fillsell.app" /> 45 <meta name="theme-color" content="#2F9E90" /> 46 47 <!-- Favicons â Google (résultats de recherche, mobile surtout) n'accepte 48 qu'une icône CARRÃE dont le côté est un multiple de 48 px (48, 96, 144, 49 192â¦), servie à une URL STABLE et non bloquée par robots.txt. Sinon :
50 globe gris générique. Constat 2026-07-26, ce bloc déclarait : 51 sizes="48x48" â /icon_40x40.png (fichier réellement 40x40) 52 sizes="32x32" â /icon_40x40.png et sizes="16x16" â /icon_20x20.png 53 4 apple-touch-icon en 180/152/120/76 â aucun multiple de 48 54 Donc AUCUN candidat conforme. Règles à tenir si on retouche ce bloc : 55 1. l'attribut sizes doit correspondre aux vraies dimensions du fichier 56 (vérifier les octets, pas le nom) ; 57 2. tout href déclaré ici est un candidat favicon Google : ne pas y 58 remettre de taille non multiple de 48 (76/120/152/180/512â¦) ; 59 3. jamais d'URL hashée par le build â Google recrawle l'ancienne. --> 60 <link rel="icon" href="/favicon.ico" sizes="any" /> 61 <link rel="icon" type="image/png" sizes="192x192" href="/icon-192x192.png" /> 62 <link rel="apple-touch-icon" href="/apple-touch-icon.png" /> 63 <link rel="manifest" href="/manifest.json" /> 64 65 <!-- Hreflang --> 66 <link rel="alternate" hreflang="fr" href="https://fillsell.app" /> 67 <link rel="alternate" hreflang="en" href="https://fillsell.app" /> 68 <link rel="alternate" hreflang="x-default" href="https://fillsell.app" /> 69 70 <!-- Performance --> 71 <link rel="preconnect" href="https://fonts.googleapis.com" /> 72 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 73 <link rel="dns-prefetch" href="//fonts.googleapis.com" /> 74 <link rel="dns-prefetch" href="//www.googletagmanager.com" /> 75 <link rel="preload" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:ital,wght@1,800;1,900&display=swap" as="style" /> 76 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:ital,wght@1,800;1,900&display=swap" /> 77 78 <!-- Schema.org JSON-LD â sert AUSSI à désambiguïser la marque : une autre 79 société nommée « FillSell » (fillsell.com, sourcing/dropshipping, 80 antérieure) existe. Les signaux qui rattachent l'entité à CE site sont 81 url + logo + sameAs (fiches stores) : les garder cohérents partout. --> 82
82<script type="application/ld+json"> 83 { 84 "@context": "https://schema.org", 85 "@type": "Organization", 86 "@id": "https://fillsell.app/#organization", 87 "name": "FillSell", 88 "url": "https://fillsell.app", 89 "email": "[email protected]", 90 "description": "Ãditeur de l'application FillSell : publication multi-plateformes d'annonces de seconde main pour les revendeurs français.", 91 "logo": { 92 "@type": "ImageObject", 93 "url": "https://fillsell.app/icon-192x192.png", 94 "width": 192, 95 "height": 192 96 }, 97 "image": "https://fillsell.app/icon-192x192.png", 98 "sameAs": [ 99 "https://apps.apple.com/app/id6762152785", 100 "https://play.google.com/store/apps/details?id=app.fillsell.app", 101 "https://chromewebstore.google.com/detail/ooeagobimgoabciggfamljdfpkginhnm", 102 "https://www.tiktok.com/@fill.sell" 103 ] 104 } 105 </script>
105 106 107
107<script type="application/ld+json"> 108 { 109 "@context": "https://schema.org", 110 "@type": "SoftwareApplication", 111 "@id": "https://fillsell.app/#app", 112 "name": "FillSell", 113 "applicationCategory": "BusinessApplication", 114 "operatingSystem": "iOS, Android, Web", 115 "url": "https://fillsell.app", 116 "inLanguage": "fr-FR", 117 "description": "Publiez une annonce sur Vinted, Leboncoin, eBay, Beebs et Opla en une seule fois. Republication automatique, gestion du stock à la voix, analyse photo IA, retrait des annonces en un tap après la vente.", 118 "logo": "https://fillsell.app/icon-192x192.png", 119 "image": "https://fillsell.app/icon-192x192.png", 120 "screenshot": "https://fillsell.app/og-image-fillsell.png", 121 "downloadUrl": [ 122 "https://apps.apple.com/app/id6762152785", 123 "https://play.google.com/store/apps/details?id=app.fillsell.app" 124 ], 125 "installUrl": [ 126 "https://apps.apple.com/app/id6762152785", 127 "https://play.google.com/store/apps/details?id=app.fillsell.app" 128 ], 129 "sameAs": [ 130 "https://apps.apple.com/app/id6762152785", 131 "https://play.google.com/store/apps/details?id=app.fillsell.app" 132 ], 133 "publisher": { "@id": "https://fillsell.app/#organization" }, 134 "offers": { 135 "@type": "Offer", 136 "price": "0", 137 "priceCurrency": "EUR", 138 "description": "Plan gratuit â publications et analyses offertes chaque mois, sans carte bancaire" 139 } 140 } 141 </script>
141 142 143 <!-- Le FAQPage n'est PLUS ici : en dur dans index.html il fuyait sur toutes 144 les routes SPA (double FAQPage sur les articles de blog à FAQ) et ses 145 réponses avaient dérivé de la FAQ affichée. Il est injecté par 146 LandingPage.jsx depuis la FAQ réellement rendue (2026-08-02). --> 147
147<script type="application/ld+json"> 148 { 149 "@context": "https://schema.org", 150 "@type": "WebSite", 151 "@id": "https://fillsell.app/#website", 152 "url": "https://fillsell.app", 153 "name": "FillSell", 154 "inLanguage": "fr-FR", 155 "publisher": { "@id": "https://fillsell.app/#organization" } 156 } 157 </script>
157 158 159 <!-- Google tag (gtag.js) -->
vendor: 68 bytes, lines 159-160
159 160 <script async src="https://www.googletagmanager.com/gtag/js?id=
160AW-16622098460
vendor: 16 bytes, lines 160-161
160"></script> 161
161<script> 162
vendor: 145 bytes, lines 162-165
162window.dataLayer = window.dataLayer || []; 163 function gtag(){dataLayer.push(arguments);} 164 gtag('js', new Date()); 165 gtag('config', '
165AW-16622098460
vendor: 8 bytes, lines 165-166
165'); 166
166</script>
166 167 168 <style> 169 html { 170 /* â ï¸ NE PAS RETIRER â corrige le wordmark « FillSell » qui restait 171 petit sur Safari iOS jusqu'au premier appui sur un bouton (03/08). 172 Safari mobile applique par défaut son « text autosizing » : il 173 recalcule la taille des textes selon la largeur de leur bloc. Le 174 facteur est établi au layout initial et n'est PAS réévalué ensuite â 175 d'où un texte figé à la mauvaise taille indéfiniment, puis corrigé 176 d'un coup au premier événement tactile, qui provoque le relayout. 177 Ãa n'est ni un FOUT (le texte ne se corrigeait jamais tout seul) ni 178 un problème de chargement CSS (la feuille est bloquante dans ce 179 head, vérifié sur le build). Déclarer 100 % désactive l'ajustement : 180 la taille rendue est exactement celle du CSS, dès le premier rendu, 181 sans dépendre d'un recalcul. C'est ce que font normalize.css et tous 182 les resets modernes ; ça ne figurait nulle part dans ce projet. 183 Invisible sur Chrome/Firefox et sur WebKit de bureau : cette 184 fonctionnalité n'existe que sur Safari mobile. */ 185 -webkit-text-size-adjust: 100%; 186 text-size-adjust: 100%; 187 } 188 html, body { 189 overflow-x: hidden !important; 190 max-width: 100vw; 191 overscroll-behavior-x: none; 192 touch-action: pan-y; 193 margin: 0; 194 padding: 0; 195 /* canvas #EDEAE0, PAS blanc : le blanc créait un flash hors charte 196 entre le splash natif (ink #10201B) et le premier écran de l'app â 197 c'était lui la vraie bascule brutale. Vaut aussi pour le web. */ 198 background-color: #EDEAE0; 199 } 200 #root { 201 overflow-x: hidden; 202 max-width: 100vw; 203 } 204 </style> 205 <!-- Pixel TikTok RETIRà le 7 septembre 2026 (décision Nico). 206 Il se chargeait sur CHAQUE page, pour CHAQUE visiteur, avant tout 207 consentement : cookies tiers et SDK publicitaire, alors que la page 208 légale affirme « aucun cookie publicitaire ni traceur tiers ». 209 â Ne pas le remettre sans bandeau de consentement préalable. 210 Le lien vers le profil TikTok de la marque (plus haut dans ce fichier) 211 n'est PAS du traçage et reste en place. --> 212
212<script type="module" crossorigin src="/assets/index-DAYODWxB.js"></script>
212 213 <link rel="modulepreload" crossorigin href="/assets/chunk-DECur_0Z.js"> 214 <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-CP2iHdEU.js"> 215 <link rel="stylesheet" crossorigin href="/assets/index-B1x-MRvw.css"> 216 </head> 217 <body> 218 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 218-219
218 219 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
219GTM-TJNKL6T5
vendor: 91 bytes, lines 219-221
219" 220 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 221
221<!-- End Google Tag Manager (noscript) --> 222 <div id="root"></div> 223
223<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"12ef9c29286f49248b41ba43d26518af","r":1,"spa":2}' crossorigin="anonymous"></script>
223 224</body> 225</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.