Le verdict
Prix Futé has a genuinely excellent product, sharp Quebec French copy, and a clean visual identity that punches above its weight. But after two roasts, the trust section is still a graveyard — zero user testimonials, no App Store rating displayed, and the social proof stops at grocery store counts. The LLM readiness situation, however, just went from embarrassing to actually impressive with a proper llms.txt implementation.
Le Renard Est Futé, Mais Sa Landing Page A Encore Quelques Poils À Peigner
Alright, Prix Futé, on se retrouve. Last time I told you your copy was among the best I'd seen for a Quebec app — and I stand by every word. The headline still SLAPS, the tone is still perfectly calibrated for your audience, and the 'Cote du jour' section showing real price gaps is still the smartest conversion move on this page. You've been listening on some fronts: the llms.txt is now in place and working, the stats got updated (17.5M prices, 1,104 épiceries, 423 cities — nice growth), and the page loads in under 1.5 seconds which is genuinely impressive for a Next.js app. BUT — and sit down for this — some of the same wounds from last time are STILL bleeding. You STILL have zero user testimonials on the page. NOT ONE. No Marie-Pier saying 'I saved $47 last week.' No screenshot of a real App Store review. Not a single human being on the planet vouching for your fox. You've got a leaderboard showing 'Marie-Pier — 1,240 🥕' but she's not SAYING anything about the app. That's a community flex, not a trust signal. It's like a restaurant putting its employee roster in the window instead of customer reviews. The pricing section is clean and well-structured, but the emotional hook for Futé+ is still functional rather than visceral. Fix the trust section, slap an App Store rating badge in the hero, and you're looking at a genuinely elite landing page. Right now you're at 'very good.' Let's get you to 'exceptional.'
Hero Section
GOOD
RIGHT. Let's talk about this hero, because it's doing MOST things right and that's exactly what makes the mistakes so frustrating. Paye le vrai meilleur prix. Ton renard soccupe du reste.' — BOOM. Two seconds, I know what you do, I know why I should care, and that little word vrai is a DAGGER aimed at every competitor. It implies everyone else is showing fake savings. That's a competitive jab so smooth it barely leaves a bruise. LOVE IT. The app mockup showing 89,17 $ chez Maxi with a real basket breakdown? That's not decoration, that's DEMONSTRATION. You're showing me a result, not a pretty screen. That's a chef serving you a taste before you even sit down. The three stats below (17,5M prix · 1 104 épiceries · 423 villes) give you instant scale credibility. Beautiful. NOW — the problems. Télécharger lapp'?! SERIOUSLY?! That's your hero CTA? The most visible button on your entire page and you wrote the most GENERIC text humanly possible! Every app from here to Timbuktu says download the app. Your headline promises me the VRAI meilleur prix and your button says... download. It's like a waiter describing the most incredible tasting menu and then saying food is available. WHERE IS THE PROMISE? And where — WHERE — is your human social proof? You've got 17.5 million tracked prices but you won't tell me how many PEOPLE love using your app? No App Store rating, no user count, no ⭐ 4.8 · 12,000+ avis badge anywhere in sight. That's your best conversion weapon sitting in a locked drawer!
Exemples d'améliorations
Télécharger l'app
Trouver le vrai prix — Gratuit
Echoes the headline's promise ('vrai meilleur prix'), adds the zero-friction 'Gratuit' trigger, and tells the visitor what they GET instead of what they DO
Gratuit · iOS & Android · Fait avec ❤️
⭐ 4.8 · 12 000+ avis · Gratuit · iOS & Android
Replace the 'made with love' sentiment (sweet but converts nobody) with an App Store rating right in the hero subtext — this is where skeptics look first and where conversions are won or lost
Code Suggestions
Add this social proof bar directly below your CTA buttons in the hero — replaces the 'Fait avec ❤️' line with actual conversion ammunition
<div class="hero-social-proof">
<span class="stars">⭐⭐⭐⭐⭐</span>
<span class="rating">4.8</span>
<span class="divider">·</span>
<span class="count">12 000+ avis App Store</span>
<span class="divider">·</span>
<span class="platform">iOS & Android</span>
</div>Points forts
- 'Paye le vrai meilleur prix' communicates the core value proposition in under 2 seconds with a sneaky competitive edge baked right in — the word 'vrai' implies everyone else is lying
- App mockup shows a real basket result (89,17 $ chez Maxi) — this is PRODUCT DEMONSTRATION, not decoration, and it's exactly what a hero visual should do
- Stats trio (17,5M prix · 1 104 épiceries · 423 villes) provides instant scale credibility right below the fold — specific numbers, not vague claims
À améliorer
- 'Télécharger l'app' CTA is tragically generic — describes the mechanical action, not the benefit, literally ANY app could use this button
- Zero human social proof in the hero — no App Store rating badge, no user count, no testimonial snippet, nothing that says real humans love this
- Secondary CTA 'Voir comment ça marche' lacks a visual anchor to guide skeptical visitors toward it — it's just floating there
Copywriting
GOOD
Sit down and listen carefully, because I'm about to do something RARE — I'm going to compliment you. This copy is GENUINELY excellent. Not good for a Quebec app. Not decent for a startup. EXCELLENT. Period. The benefits-first approach is consistent throughout: Scanne un code-barres en magasin et sache en 2 secondes si tu paies trop cher — that's a feature wrapped in a result wrapped in a TIMEFRAME. That's how you write copy that converts. The specificity makes me want to weep with joy: +60% ailleurs, ~29$/semaine, 14 jours, 17 545 986 PRIX DANS TA POCHE — anchored numbers everywhere, not a vague claim in sight. And the Quebec tone? IMPECCABLE. Coup de patte, renards futés, moins quune livre de beurre 🧈' — this reads like it was written by someone who actually shops at IGA on a Tuesday morning, not by some agency copywriter in Toronto googling québécismes. Pas une app de circulaires de plus — un renard qui décide avec toi, allée par allée — that ONE LINE does more competitive differentiation than most companies achieve in an entire About page. NOW — the stuff that needs fixing. The Futé+ pitch: Pour optimiser chaque panier et magasiner au bon moment. Come ON! That's a PROCESS description, not a TRANSFORMATION. Nobody wakes up thinking I really need to optimize my cart today. They think 'I'm SICK of paying too much.' Speak to THAT feeling. And the gamification section? You explain the mechanics beautifully (+15 🥕 pour un prix signalé) but you completely UNDERSELL the emotional hook. Being a renard futé who helps thousands of Quebec families save money — that's IDENTITY, that's PURPOSE, and you're treating it like a points system!
Exemples d'améliorations
Pour optimiser chaque panier et magasiner au bon moment.
Pour les familles qui en ont assez de payer trop cher. Économise jusqu'à 120$/mois — l'abonnement se rembourse dès ta première épicerie.
Shifts from describing a process ('optimiser') to painting a transformation with a specific dollar outcome — this is what makes someone FEEL something and ACT on it
Les prix bougent vite — la communauté les attrape. Chaque contribution est vérifiée par d'autres membres, et chaque coup de patte te fait monter en niveau.
Les prix bougent vite — et toi, tu es celui qui les attrape. Chaque prix signalé aide des milliers de familles québécoises à économiser. Et ton renard monte en grade.
Adds the 'you're the hero' narrative — community contribution feels MEANINGFUL when you frame it as helping real families, not just earning abstract points
Points forts
- 'Pas une app de circulaires de plus — un renard qui décide avec toi, allée par allée' — a single line that does more competitive differentiation work than most companies achieve in an entire page
- Specificity is relentless throughout: '+60% ailleurs', '~29$/semaine', '14 jours d'essai', '17 545 986 PRIX' — every claim is anchored in concrete numbers, no vague marketing fluff
- Previously flagged conjugation error 'te préviens' is now correctly 'te prévient' — proves the team listens and iterates, which I respect
À améliorer
- Futé+ pitch 'Pour optimiser chaque panier et magasiner au bon moment' is functional, not emotional — it describes a process, not a transformation that makes someone pull out their credit card
- Gamification section explains the carrot-earning mechanics but doesn't sell the IDENTITY appeal — being a 'renard futé' who helps the community is a powerful emotional hook left on the table
- Pricing disclaimer 'selon nos simulations de prix' slightly undercuts the '~29$/semaine' claim — real user data attribution would be ten times stronger
Call-to-Action
DECENT
Let me lay out your CTA buffet, because you've actually got a DECENT spread here: Télécharger lapp' in the hero and nav, Voir comment ça marche as secondary, Commencer gratuitement for free tier, Essayer Futé+ 14 jours for paid, Découvrir Futé Famille for family, plus App Store and Google Play in the footer. Nine CTAs total and they're WELL-STRUCTURED — clear hierarchy, no confusion about which button does what. Essayer Futé+ 14 jours is the STAR of this show. Action verb, precise duration, implies zero-risk trial. If every CTA on this page was this good, I'd be giving you a standing ovation. Commencer gratuitement is clean and friction-free. The footer closer GRATUIT · SANS ENGAGEMENT · 17 545 986 PRIX DANS TA POCHE 🥕 — three objection-busters in one line. Chef's kiss on that one. The orange buttons on light backgrounds? They POP. Unmissable. Good contrast, good sizing. But then there's Télécharger lapp' sitting in the HERO — the most visible button on your entire page — and it's as bland as unseasoned chicken breast. Your headline SCREAMS vrai meilleur prix and your button whispers download. The disconnect is painful. And where's the URGENCY? Everything is available forever at the same price. No Rejoins les 50 000 renards cette semaine, no limited-time hook. Every visitor thinks 'I'll do it later' — and later means NEVER.
Exemples d'améliorations
Télécharger l'app
Voir le vrai prix maintenant — Gratuit
Connects the CTA directly to the headline promise ('vrai meilleur prix'), adds 'maintenant' for urgency, and 'Gratuit' removes the friction of 'am I paying for this?'
Essayer Futé+ 14 jours
Essayer Futé+ 14 jours — Sans carte de crédit
The 14-day trial is already great but adding 'Sans carte de crédit' removes the #1 psychological barrier to starting a trial — and if it's true, you're MAD not to say it
Code Suggestions
Hero CTA with benefit-driven text and a micro-subtext showing platform availability — two pieces of conversion info in one button
<a href="/download" class="cta-primary">
Voir le vrai prix maintenant
<span class="cta-sub">Gratuit · iOS & Android</span>
</a>
<style>
.cta-primary {
display: flex;
flex-direction: column;
align-items: center;
padding: 14px 28px;
border-radius: 50px;
font-weight: 700;
font-size: 1.1rem;
}
.cta-sub {
font-size: 0.75rem;
font-weight: 400;
opacity: 0.85;
margin-top: 2px;
}
</style>Points forts
- 'Essayer Futé+ 14 jours' is textbook SaaS CTA perfection — action verb, precise duration, implies risk-free trial, wouldn't change a letter
- Clear three-tier CTA hierarchy in pricing (Commencer gratuitement / Essayer Futé+ / Découvrir Futé Famille) matches the three plan structure without any confusion
- Footer conversion block 'GRATUIT · SANS ENGAGEMENT · 17 545 986 PRIX DANS TA POCHE' reduces final friction with three objection-busters in one punchy line
À améliorer
- 'Télécharger l'app' in the hero is the most-seen CTA on the page and the most generic — it describes the action, not the transformation, and it's a wasted opportunity
- Zero urgency or scarcity anywhere — no time-limited offer, no social momentum indicator, nothing pushing visitors to act TODAY versus next Tuesday
- No desktop-friendly conversion path — visitors on desktop who aren't ready to download can't 'try' the product in any way before committing to a phone download
Preuve Sociale
NEEDS WORK
Oh, HERE WE GO AGAIN. I flagged this LAST time and I'll scream it LOUDER this time: Prix Futé, you have a TRUST PROBLEM and it is the SINGLE BIGGEST hole in your conversion funnel. It's like running a restaurant with incredible food and REFUSING to put a single review in the window. Let me be precise. What you HAVE: Legal pages (Privacy Policy updated July 31, 2026 with Loi 25 compliance — actually impressive, I'll give you that). Terms of Service. Contact email. Precise stats (17,5M prix, 1 104 épiceries, 423 villes). The ~29$/semaine savings claim. A community leaderboard showing Marie-Pier with 1,240 carottes. What you DON'T HAVE: A SINGLE. USER. TESTIMONIAL. Not ONE! Marie-Pier is on your leaderboard earning carrots but she's not SAYING A WORD about whether the app actually saved her money. That's a gamification stat, not a trust signal — there's a MASSIVE difference! Where's your App Store rating? If you've got 17.5 million tracked prices, you've got users. If you've got users, you've got reviews. If you've got reviews, WHY ARE YOU HIDING THEM?! No trust badges, no press mentions, no Featured on App Store — nothing that says other credible entities have validated us. And that ~29$/semaine claim? Attributed to nos simulations de prix. SIMULATIONS! That sounds like you made it up in a spreadsheet! In 2026, a B2C app with zero testimonials is like a chef who won't let anyone taste the food. People assume you're hiding something. FIX THIS.
Exemples d'améliorations
Économie estimée avec Futé+ : jusqu'à ~29 $ / semaine sur un panier familial type, selon nos simulations de prix.
"J'ai économisé 31$ sur mon épicerie cette semaine. Le renard a trouvé que mon beurre était 40% moins cher à Super C." — Marie-Claude B., Laval ⭐⭐⭐⭐⭐
Replace the simulation disclaimer with a real testimonial that shows the same savings claim through a HUMAN story — infinitely more persuasive than 'our simulations say'
Rejoins les renards futés du Québec
Rejoins les 50 000+ renards futés du Québec ⭐ 4.8 sur l'App Store
Add user count and App Store rating to the final CTA section — this is the LAST thing visitors see before deciding to download, make it COUNT
Code Suggestions
Testimonial card component with avatar, name, location, star rating, quote, and verified badge — add 3-4 of these before the pricing section and watch your conversion rate climb
<section class="testimonials">
<div class="testimonial-card">
<div class="testimonial-header">
<img src="/avatars/user1.jpg" alt="Sophie M." width="48" height="48" class="avatar">
<div>
<strong>Sophie M.</strong>
<span class="location">Montréal</span>
</div>
<div class="stars">⭐⭐⭐⭐⭐</div>
</div>
<blockquote>"J'ai économisé 34$ sur mon épicerie cette semaine. Le panier optimisé m'a dit d'aller chez Maxi pour 3 produits et chez IGA pour le reste. Jamais je retourne faire mon épicerie sans Prix Futé."</blockquote>
<span class="verified">✓ Achat vérifié · Futé+ depuis 4 mois</span>
</div>
</section>Points forts
- Legal infrastructure is genuinely impressive: Privacy Policy updated July 31, 2026 with Loi 25 compliance, explicit 'On ne vend jamais tes données' — this is serious legal hygiene that most startups skip entirely
- Precise, updated stats (17,5M prix · 1 104 épiceries · 423 villes) provide infrastructure credibility with specific numbers rather than vague 'thousands of stores'
- Contact email and help center are accessible and clearly organized — 'on répond généralement en 1 à 2 jours ouvrables' sets realistic expectations
À améliorer
- Zero user testimonials on the entire page — not ONE human being is vouching for this app with their name, their face, or their savings story
- No App Store or Google Play rating displayed ANYWHERE — if you have a good rating (and after 17.5M tracked prices, you should), you're hiding your most credible social proof in a vault
- The '~29$/semaine d'économie' claim is attributed to 'nos simulations de prix' — this sounds like marketing math cooked up in a spreadsheet; a real attribution would make it actually believable
Architecture
GOOD
Alright, let's talk architecture — because this is where your inner chef really shines. The flow is: Hero → Scale stats → Cote du jour live demo → Features → Gamification/Community → Pricing → Final CTA. That's textbook AIDA and you've NAILED the sequence. But the stroke of genius? Putting the Cote du jour as your SECOND major section. Before you explain a single feature, before you say a word about pricing, you SHOW me real price gaps. Reese's bars: 1,25$ here, +60% there. SAME product, DIFFERENT price. That's not marketing — that's PROOF. It's like a chef handing you a perfect amuse-bouche before you even open the menu. By the time I reach your features section, I'm already sold on the PROBLEM. Brilliant. The pricing section is clean: three tiers, highlighted middle option, annual discount visible. The footer is lean and functional. No bloat. BUT — and you knew this was coming — where's the FAQ? Is my city covered? Are prices updated in real time? Can I cancel anytime? These are the questions buzzing in people's heads RIGHT before they download, and you're sending them off to a separate help page to find answers. That's like a waiter saying check the back of the restaurant for allergen info. Put it ON THE PAGE. Also: Voir comment ça marche promises a how-it-works walkthrough but sends people to a SEPARATE page. Why? Three quick steps with icons, right there inline — Download, Scan, Save. Done. Don't make people leave the conversion flow to understand how your product works!
Exemples d'améliorations
[No FAQ section on page — objections go unanswered]
Add a 4-question FAQ section before the final CTA: 'Est-ce que ça couvre ma ville?' / 'Les prix sont-ils à jour?' / 'Puis-je annuler mon abonnement?' / 'Comment fonctionne l'essai gratuit?' — with direct, one-sentence answers
FAQ sections reduce abandonment by answering the exact questions that stop people from downloading — plus they're an SEO bonus for long-tail queries
Code Suggestions
Native HTML details/summary FAQ — no JavaScript needed, accessible, SEO-friendly, and answers the four questions that most commonly block app download conversions
<section class="faq">
<h2>Questions fréquentes</h2>
<details>
<summary>Est-ce que Prix Futé couvre ma ville?</summary>
<p>Prix Futé couvre 423 villes au Québec, dont Montréal, Québec, Laval, Longueuil, Sherbrooke et Trois-Rivières. <a href="/villes">Voir toutes les villes couvertes →</a></p>
</details>
<details>
<summary>Les prix sont-ils mis à jour en temps réel?</summary>
<p>Les prix sont mis à jour quotidiennement par notre système automatisé et en continu par la communauté. La Cote du jour reflète les écarts observés aujourd'hui même.</p>
</details>
<details>
<summary>Puis-je annuler mon abonnement Futé+?</summary>
<p>Oui, en tout temps depuis les réglages de ton téléphone. L'accès aux fonctionnalités payantes se poursuit jusqu'à la fin de la période déjà payée. Aucune question posée.</p>
</details>
<details>
<summary>L'essai gratuit de 14 jours demande-t-il une carte de crédit?</summary>
<p>Non. L'essai ne demande aucun moyen de paiement et ne se transforme jamais automatiquement en abonnement.</p>
</details>
</section>Points forts
- 'Cote du jour' as the second section is a BRILLIANT structural choice — proves the product's value with live data before asking visitors to do anything
- AIDA flow (Hero → Proof → Features → Social → Pricing → CTA) is clean and logical — the progression guides visitors naturally toward conversion like a well-paced tasting menu
- Pricing section structure is well-executed: three tiers, clear hierarchy, annual discount visible, middle tier highlighted — zero confusion about what to choose
À améliorer
- No on-page FAQ section — pre-conversion objections ('Is my city covered?', 'Are prices real-time?', 'Can I cancel anytime?') go unanswered until visitors leave the page entirely
- No inline 'How it works in 3 steps' section — 'Voir comment ça marche' sends people to a separate page instead of resolving hesitation right where they're standing
- Transition between Features and Gamification/Carottes sections feels abrupt — a narrative bridge would help visitors understand these are connected systems, not random sections
SEO & Meta
DECENT
Right, SEO. Let's look under the hood. The title tag Prix Futé — Le comparateur malin des supermarchés du Québec — clean, under 60 characters, brand name present, primary keyword present, and that Québec geographic qualifier is doing SERIOUS work for local intent. Good. Meta description updated: 18 millions de prix, 1 104 épiceries, un renard futé dans ta poche. Compare, scanne, économise — et gagne des carottes. Better than before — specific numbers, action verbs, under 155 characters. BUT it ends on gagne des carottes. CUTE. But someone searching comparer prix épicerie Québec wants to know they'll SAVE MONEY, not earn virtual vegetables! Your meta description is your 2-second pitch in Google results and you're spending it on gamification instead of the transformation. Open Graph configured, HTTPS active, clean URL — the technical foundation is solid. Now for the MISSING ingredients. SoftwareApplication JSON-LD schema — GONE. Not there. Do you realize what this means? When someone searches for your app, Google COULD be showing your star rating, your price, your platform right in the search results. Rich snippets. FREE premium SERP real estate. Your competitors probably don't have this — and neither do you! No FAQPage schema, no WebSite schema with SearchAction. And here's the real missed opportunity: ZERO long-tail content pages. Comparer prix épicerie Montréal, Meilleur prix beurre Québec cette semaine — these are HIGH-INTENT queries with practically ZERO competition, and you're the one company in Quebec with the data to own them. You're sitting on a gold mine and you haven't even started digging!
Exemples d'améliorations
18 millions de prix, 1 104 épiceries, un renard futé dans ta poche. Compare, scanne, économise — et gagne des carottes.
Économise jusqu'à 29$/semaine sur ton épicerie. Compare 17,5M de prix dans 1 104 épiceries au Québec. Gratuit sur iOS & Android.
Leads with the savings outcome (what the searcher ACTUALLY wants), keeps the specific numbers for credibility, ends with a platform CTA — far more likely to get the click from someone in comparison mode
Code Suggestions
SoftwareApplication JSON-LD schema — add this to your <head> to enable rich snippets showing your app rating, price, and platform directly in Google search results. Update ratingValue and reviewCount with your real App Store data.
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Prix Futé",
"description": "Comparateur de prix d'épicerie pour le Québec. Compare 17,5 millions de prix dans 1 104 épiceries. Scan de code-barres, alertes de prix, panier optimisé.",
"applicationCategory": "ShoppingApplication",
"operatingSystem": ["iOS", "Android"],
"offers": [
{
"@type": "Offer",
"price": "0",
"priceCurrency": "CAD",
"name": "Futé (gratuit)"
},
{
"@type": "Offer",
"price": "7.99",
"priceCurrency": "CAD",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"billingDuration": "P1M"
},
"name": "Futé+"
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "1200",
"bestRating": "5"
},
"url": "https://www.prixfute.com",
"downloadUrl": "https://apps.apple.com/ca/app/prix-fute",
"screenshot": "https://www.prixfute.com/og-image.png",
"inLanguage": "fr-CA",
"availableOnDevice": "Mobile"
}WebSite schema with SearchAction — enables Google Sitelinks Search Box in search results, letting users search your product database directly from the SERP
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Prix Futé",
"url": "https://www.prixfute.com",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://www.prixfute.com/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}Points forts
- Title tag is well-optimized: brand name + primary keyword + geographic qualifier 'Québec' all in under 60 characters — does exactly what it needs to do
- Meta description updated with specific numbers (18 millions de prix, 1 104 épiceries) and action verbs — more compelling than the previous version
- Open Graph configured, HTTPS active, clean brandable URL — the technical SEO baseline is properly handled
À améliorer
- SoftwareApplication JSON-LD schema is completely missing — this would show your app rating and price directly in Google search results as rich snippets, which is FREE premium SERP real estate
- Meta description ends on 'gagne des carottes' — cute brand moment but wastes the most valuable real estate on gamification instead of the savings promise that matches search intent
- Zero long-tail content pages for high-intent local queries like 'comparer prix IGA Metro Maxi Montréal' — these are uncontested keywords that should belong to Prix Futé and nobody else
Mobile
GOOD
For an app whose ENTIRE user base will be standing in a grocery store aisle on their phone, mobile performance isn't a nice-to-have — it's the WHOLE GAME. And the good news? The foundation is solid. HTML loads in 1,499ms. That's FAST. The server is doing its job, Next.js is earning its keep, and the initial delivery is crisp. The visual design from the screenshot translates beautifully to mobile: card-based sections, generous whitespace, large touch targets on those orange CTAs. The color contrast between those bright orange buttons and the cream background? Perfect for squinting at your phone under those brutal fluorescent grocery store lights. The nav header has a clear Télécharger button that's thumb-friendly. The responsive grid for features and pricing would collapse cleanly on smaller screens. All good. NOW — the elephant in the aisle. LCP mobile was previously measured at 3.16 seconds. That's ABOVE Google's Good threshold of 2.5s. And here's the IRONY that keeps me up at night: your app promises to tell users if they're overpaying en 2 secondes — but your LANDING PAGE takes 3+ seconds to show its main content on mobile. The marketing and the experience are CONTRADICTING each other! That's like a fast food joint with a 30-minute wait. There's also 30KB of previously identified unused JavaScript — dead weight on every single mobile load. Strip it out.
Exemples d'améliorations
Standard Next.js image loading without explicit priority hints on hero image
Add priority={true} to the hero app mockup image and preload the LCP element — this alone can shave 0.3-0.8s off mobile LCP
For Next.js specifically, the priority prop on the hero image triggers preloading and removes lazy loading from the LCP element — the single highest-impact mobile performance fix you can make today
Code Suggestions
Adding priority={true} to the hero image in Next.js triggers browser preloading and removes lazy loading — directly improves LCP mobile score
// In your hero component (Next.js)
import Image from 'next/image'
// Add priority prop to your hero app mockup
<Image
src="/app-mockup.png"
alt="Prix Futé - Panier optimisé chez Maxi à 89,17$"
width={320}
height={580}
priority={true} // ← This is the critical change
sizes="(max-width: 768px) 100vw, 320px"
/>Points forts
- HTML load time at 1,499ms is excellent — the server-side infrastructure is well-configured for mobile delivery, no complaints here
- Card-based layout with generous spacing translates cleanly to mobile — no elements that would break or overlap on small screens
- Orange CTA buttons against cream backgrounds provide strong contrast even in challenging mobile viewing conditions like grocery store lighting
À améliorer
- LCP mobile was previously measured at 3.16s — above Google's 'Good' threshold of 2.5s, particularly painful for an app whose users are on cellular networks in grocery stores
- No evidence of critical CSS inlining or above-fold optimization specifically for mobile — the hero section's visual weight could be reduced for faster perceived load
- Previously identified 30KB of unused JavaScript — dead code consuming bandwidth and CPU parsing time on every mobile load with zero functional benefit
Design Visuel & Branding
GOOD
NOW we're talking about something I can genuinely CELEBRATE. This design is WARM. It's DISTINCTIVE. It's the visual equivalent of walking into a neighbourhood bakery instead of a sterile corporate cafeteria. That warm beige/cream background with the orange accents and teal secondary touches? It creates a palette that's immediately recognizable and COMPLETELY unlike the cold white-and-blue that every fintech and grocery app defaults to. It says Quebec, it says friendly, it says 'we're not a soulless corporation' — and it does all of that without being kitschy. The typography hierarchy guides the eye beautifully: big bold headline, medium subheadline, readable body text. The visual weight moves you from headline to CTA to content in exactly the right order. The app mockup in the hero showing REAL DATA — the basket at 89,17$ chez Maxi — is doing exactly what a hero visual should do: demonstrate VALUE, not just existence. The emoji-as-icons system (🥕 for gamification, 🏷️ for pricing, 📷 for scanning) is surprisingly consistent and creates a playful visual language that matches the brand personality. The pricing section with the highlighted middle card and the Se rembourse en 1 panier badge? That's a conversion-focused design detail that shows someone was THINKING. The orange stats bar breaking the page flow? Strong visual anchor. BUT — and this is where the polish runs out — the Cote du jour product cards use emoji as product visuals. Shopping cart emoji next to Barre individuelle au nougat Reeses.' Come ON! You're comparing REAL products at REAL prices — show me the REAL product! A photo of a Reese's bar next to 1,25$ vs +60% elsewhere is visceral. A 🛒 emoji is... decorative. Same issue with the feature cards — emoji icons where custom vector icons would elevate the entire section.
Exemples d'améliorations
[Cote du jour cards with emoji product visuals like 🛒 and text-only product names]
Replace emoji product visuals with actual product photos for the 6 featured products — a real photo of Reese's nougat bar next to '1,25$ chez Super C / jusqu'à +60% ailleurs' is infinitely more visceral than a shopping cart emoji
Product photography in the 'Cote du jour' section makes the price comparison feel REAL and URGENT — you're showing actual products people recognize from their weekly shop, not abstract price data
Points forts
- Warm beige + orange + teal palette is distinctive, cohesive, and completely unlike the generic white/blue of competing apps — this is a memorable brand identity that stands out instantly
- App mockup in hero shows real basket data (89,17$ chez Maxi) rather than a generic empty UI — product demonstration design at its finest
- Consistent emoji-as-icon system (🥕 = gamification, 🏷️ = pricing, 📷 = scanning) creates a playful visual language that perfectly matches the brand personality
À améliorer
- 'Cote du jour' product cards use shopping cart emoji as product visuals — real product photography would make this section significantly more impactful and visceral
- Feature cards use emoji icons rather than custom vector icons — acceptable but noticeably below the finish level of the rest of the design
- No visible micro-interactions or hover states — in 2026, these details separate 'good app landing page' from 'I NEED to download this right now'
Performance
DECENT
Performance on Prix Futé is a tale of two kitchens. The BACK kitchen is running like clockwork: HTML loads in 1,499ms, TTFB is near-instant, 87KB page weight is lean for the content density — 800 words, 8 images, dynamic pricing data, and you're not bloated. The infrastructure is tight. Next.js and your hosting are earning their keep. Eight images is in the sweet spot. The foundation? SOLID. But then we walk out to the DINING ROOM — what the customer actually experiences — and LCP mobile sits at 3.16 seconds. That's the Needs Improvement orange zone in Google's eyes. And let me paint you a picture of the irony: your app promises to tell users if they're overpaying en 2 secondes. Your landing page takes THREE SECONDS to show its hero content on mobile. Your marketing is writing cheques your performance can't cash! The 30KB of unused JavaScript previously identified? Still likely sitting there like a forgotten pan on the burner — doing nothing except wasting energy on every single page load. Every 100ms you shave off LCP correlates with measurable conversion improvements. For an app that lives and dies on mobile — people scanning barcodes in grocery aisles on spotty cellular — getting under 2.5s isn't optional. It's survival.
Exemples d'améliorations
LCP mobile ~3.16s (above Google's 2.5s 'Good' threshold)
Target LCP <2.0s by: (1) adding priority={true} to hero image, (2) inlining critical CSS for above-fold content, (3) removing unused JavaScript bundles — achievable with 2-3 days of Next.js optimization
Every 100ms of LCP improvement correlates with measurable conversion rate increases — and for an app promising 2-second results, having a 3+ second LCP is a brand inconsistency that costs credibility
Points forts
- HTML load time at 1,499ms is firmly in the 'excellent' category — server response and initial delivery are well-optimized, no complaints
- 87KB HTML size is lean for a content-rich landing page with dynamic pricing data, multiple sections, and 8 images — no bloat here
- 8 images is in the optimal range — no image excess, and Next.js Image component handles WebP conversion and optimization automatically
À améliorer
- LCP mobile at ~3.16s exceeds Google's 'Good' threshold of 2.5s — directly impacts Core Web Vitals ranking AND real user experience on cellular networks in grocery stores
- Previously identified 30KB of unused JavaScript likely still present — dead code consuming bandwidth and CPU parsing time on every mobile load for absolutely nothing
- Speed Index on mobile was previously measured at 4.57s — users PERCEIVE a slow load even when technical metrics look acceptable, directly impacting bounce rate
llmreadiness
GOOD
Well well WELL. Look who decided to show up to the AI party! Last time I roasted you, your LLM readiness was a pathetic 13 out of 100. THIRTEEN. I could have cried. And now? llms.txt is FOUND. llms-full.txt is FOUND. Auto-score jumped to 72/100. Do you have ANY idea how rare this is? Most sites in 2026 don't even know llms.txt EXISTS, and you've not only implemented it but you've got a FULL version with detailed content. The preview shows: Prix Futé est un comparateur de prix dépicerie mobile pour le Québec, Canada. L'application suit plus de 19 millions de prix dans plus de 1 000 épiceries' — that's EXACTLY what an LLM needs to understand your product and cite you accurately when someone asks whats the best grocery price comparison app in Quebec?' You went from embarrassing to genuinely AHEAD of the curve. I'm impressed. And I don't say that often. But — you're not done yet. The AI bot access configuration still needs attention. GPTBot, ClaudeBot, PerplexityBot, and Google-Extended are all not-specified in your robots.txt. They CAN access your site, but there's no explicit permission. In 2026, with AI-powered search driving a massive chunk of discovery queries, the difference between not blocked and explicitly welcomed is the difference between being CITED and being IGNORED. It's like having an Open sign but leaving the door closed — technically accessible, but not exactly inviting. Also: no FAQ schema means conversational AI tools answering how does Prix Futé work? have to parse your prose instead of pulling from clean structured data. And no city-specific content pages means AI answering best grocery prices in Montreal has nothing from Prix Futé to cite. You've built the foundation — now build the house.
Exemples d'améliorations
GPTBot: not-specified, ClaudeBot: not-specified, PerplexityBot: not-specified, Google-Extended: not-specified
Add explicit allow rules in robots.txt: 'User-agent: GPTBot\nAllow: /\n\nUser-agent: ClaudeBot\nAllow: /\n\nUser-agent: PerplexityBot\nAllow: /\n\nUser-agent: Google-Extended\nAllow: /'
Explicit allowance signals to AI crawlers that you WANT to be indexed and cited — removes ambiguity and maximizes your presence in AI-powered search results for Quebec grocery queries
Code Suggestions
Add these lines to your robots.txt to explicitly allow all major AI crawlers — maximizes your visibility in ChatGPT Search, Perplexity, Claude, and Google AI Overviews
# robots.txt additions for AI bot access
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: anthropic-ai
Allow: /
User-agent: Omgilibot
Allow: /Suggested additions to your existing llms.txt — adds pricing details, key facts, and contact info that AI tools need to accurately answer questions about Prix Futé
# llms.txt enhancement suggestion
# Add these sections to your existing llms.txt
## Pricing
- Futé (free): Unlimited price comparison, barcode scanner, 1 grocery list, community features
- Futé+ (7.99 CAD/month or 69.99/year): Optimized multi-store cart, unlimited price alerts, 12-month price history, no ads, 14-day free trial (no credit card required)
- Futé Famille (12.99 CAD/month or 119.99/year): All Futé+ features + shared lists for up to 6 family members
## Key Facts for AI Queries
- Covers: 423 cities in Quebec, Canada
- Data: 17.5 million tracked prices, updated daily + real-time community contributions
- Platforms: iOS and Android
- Language: French (Quebec)
- Unique feature: 12-month price history to detect fake sales
- Community: Gamified contributions (carottes points system)
## Contact
- Email: [email protected]
- Support: https://www.prixfute.com/aidePoints forts
- llms.txt AND llms-full.txt are both implemented and found — this puts Prix Futé ahead of the vast majority of competitors for AI search visibility, genuinely impressive leap
- The llms.txt content is semantically precise: product description, coverage numbers, and positioning are clearly stated for AI consumption — exactly what LLMs need to cite you accurately
- Page content has excellent semantic clarity — value proposition, features, and pricing are all described in plain language that LLMs can accurately summarize without hallucinating
À améliorer
- GPTBot, ClaudeBot, PerplexityBot, and Google-Extended are all 'not-specified' in robots.txt — explicit allowance would maximize AI search visibility and remove any ambiguity about your intent
- No FAQPage JSON-LD schema means conversational AI queries like 'how does Prix Futé work?' don't have structured data to pull from — you're making LLMs work harder than they need to
- No city-specific or product-specific content pages means AI tools answering 'best grocery prices in Montreal' have nothing from Prix Futé to cite beyond the homepage
Conclusion
Plan d'action prioritaire
Prix Futé is genuinely one of the better-built B2C app landing pages in Quebec — the copy is sharp, the design is distinctive, the structure is logical, and the LLM readiness just went from embarrassing to impressive. But the trust section is still a conversion-killing void: no testimonials, no App Store rating displayed, no human beings vouching for the fox. Fix that ONE section and you're looking at an 85+ site.
Quick Wins - Actions prioritaires
- 1Add 3 user testimonials with real names, photos, and savings amounts before the pricing section — this is the SINGLE highest-impact conversion fix on the entire page and can be done in an afternoon
- 2Display your App Store rating (star rating + review count) in the hero section and in the final CTA block — if you have 4.5+ stars, hiding them is leaving your best conversion argument locked in a drawer
- 3Add explicit AI bot permissions to robots.txt (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) and implement SoftwareApplication JSON-LD schema — two 30-minute technical tasks that compound massively as AI search grows
Score atteignable
87+
Tu as construit quelque chose de solide, et ça se voit. Le copy est parmi les meilleurs que j'ai analysés pour une app québécoise — et j'en ai vu passer, crois-moi. Le design est mémorable. La structure est logique. Le llms.txt est en place — t'as écouté, et ça c'est RARE. Maintenant arrête de te cacher derrière tes 17,5 millions de prix et MONTRE-MOI des vrais humains qui aiment ton app. Trois témoignages. Une note App Store. C'est TOUT ce qui sépare un bon site d'un site qui convertit comme une machine. T'es à deux coups de patte du 87+. Allez, AU TRAVAIL!
