✦ Document confidentiel · Pour Myriam Ababou et Dimitri Djedje
Audit digital court
de votre présence en ligne
Ce qu’on voit depuis l’extérieur quand on prend le temps d’ouvrir votre code, votre référencement, votre infrastructure, votre identité de marque. Sans accès à votre back-office. Sans données privées. Cinq pages, cinq minutes.
Vous êtes l’agence immobilière la plus ambitieuse d’Essaouira sur le plan branding et tech. Le code de votre site squaremeter.ma porte des choses qu’aucun de vos concurrents (Atlas, L’Or d’Essaouira, Abdo, Bab Menara, Kensington) n’a même tenté : assistant conversationnel, indexation vectorielle, traduction multilingue, intégration métier, portails dédiés. C’est rare sur le marché marocain de l’immobilier de prestige.
Ce document n’est pas une critique. C’est un constat technique fait depuis l’extérieur en moins de trois heures. Il identifie six fuites silencieuses entre l’ambition lisible dans votre code et ce qui tourne réellement chez vos visiteurs et chez les moteurs de recherche. Plus une alerte de sécurité que nous préférons ne pas détailler par écrit (voir fin de document).
Fuite 01Votre chatbot existe dans le code, mais il ne répond pas en production
Votre site charge le code d’un assistant conversationnel basé sur un modèle de langage, avec une base vectorielle et une extraction d’intention multi-langue (anglais, français, espagnol, allemand, arabe, russe). C’est un travail conséquent. La console affiche pourtant à chaque visite :
⚠️ Running in production mode – vector database disabled (using fallback search)
La clé API et la base vectorielle sont restées dans des fichiers de développement local, qui par convention ne sont jamais déployés. L’assistant ne peut pas s’initialiser. Un investisseur qui ouvre la console voit cette erreur et part.
Correctif : ajouter la clé dans les variables d’environnement de l’hébergeur (5 minutes), puis tuning de l’assistant sur 50 questions investisseurs avec rebranchement sur votre catalogue (1 à 2 semaines pour un déploiement face à de vrais acheteurs).
Fuite 02Vos avis Google sont remontés par scraping fragile
À chaque chargement de page, votre site lance un scraping Google Maps en arrière-plan pour récupérer 8 avis. Trois problèmes :
- Coût caché : le scraping headless en serverless est lourd. À 100 visites/jour, vous approchez les limites du plan de votre hébergeur.
- Fragilité : Google Maps modifie son DOM régulièrement. Votre script casse silencieusement à chaque changement et vos avis disparaissent du site.
- Conformité : le scraping automatisé est en zone grise vis-à-vis des conditions d’utilisation de Google.
La solution propre passe par l’API officielle Google Places, conforme et robuste, pour quelques euros par mois.
Mais l’enjeu n’est pas technique. Vous avez 50 avis Google 5 étoiles (votre site n’en remonte que 8 par limite de scraping). C’est plus que vos cinq concurrents les plus anciens combinés. Cet asset social proof est sous-exploité : aucun balisage Schema.org Review pour Google, pas de page Témoignages, pas de cas study propriétaire ROI chiffré, pas d’extraction des verbatims dans vos pages catalogue.
Fuite 03Vos numéros de téléphone affichés en façade sont invalides
Sur votre page équipe, les fiches des deux cofondateurs portent un format de numéro incorrect (un zéro de trop juste après l’indicatif +212). Un clic-to-call mobile sur ces numéros ne déclenche pas l’appel. Le visiteur abandonne.
Le même format incorrect réapparaît dans deux de vos publicités Meta de l’an dernier (les ads top-funnel « 7 erreurs » et « qui paye quoi »). Pendant les 5 à 9 jours de diffusion de chaque ad, les clics-to-call sont allés dans le vide.
Correctif : 30 minutes.
Fuite 04Vos espaces propriétaire et voyageur sont des vitrines, pas des outils
Votre site déclare publiquement quatre espaces dédiés : propriétaire, voyageur (location saisonnière), assistant de mise en vente, tableau de bord client.
À l’inspection du code public, trois de ces espaces sont des pages marketing statiques avec carrousels et photos. Pas de connexion, pas de formulaire transactionnel, pas de suivi.
Le tableau de bord est plus problématique : c’est un véritable composant avec onglets, statistiques, propriétés sauvegardées, RDV, messages. Mais toutes les données affichées sont fictives, codées en dur dans le composant. Aucun appel API. Aucun lien à votre logiciel métier.
Conséquence : un propriétaire qui suit votre tunnel « Confiez-nous votre bien » arrive sur une page qui imite un produit fonctionnel. C’est plus risqué qu’une simple landing : ça crée une attente non tenue.
L’ambition est juste. Avoir un vrai espace propriétaire connecté à votre logiciel métier (vues sur ses biens, demandes reçues, RDV planifiés, documents) est un différenciateur fort sur Essaouira. Aucun concurrent ne le fait. À ce stade, c’est une coquille. Il faut le construire.
Fuite 05Votre identité de marque est dédoublée, votre email auth est vide, votre marque n’est pas déposée
Trois signaux convergents sur la sphère identité :
- Domaine principal squaremeter.ma en façade, mais votre ancien domaine m2squaremeter.com redirige uniquement sa racine. Quinze sous-pages restent vivantes sur l’ancien site, avec environ 92 erreurs PHP publiquement visibles.
- Pas de DMARC, pas de DKIM publiés sur vos deux domaines. Vos newsletters et relances de mandat exclusif ont un risque de spam élevé chez Gmail et Outlook 2026, qui exigent DMARC depuis février 2024 pour tout expéditeur de plus de 5000 emails par jour.
- Aucune marque déposée OMPIC sur « Square Meter » ou « M² Square Meter ». Vous opérez sous ce nom depuis 18 mois sans protection juridique. Un squatter peut déposer la marque en classe 36 pour environ 600€ et vous forcer à racheter ou rebrander.
Fuite 06Votre blog publie dans le vide aux yeux des moteurs et des réseaux sociaux
Votre rubrique /mag a bien évolué : 13 articles publiés depuis février 2026, cadence trois articles par mois, contenu de qualité (retraite Maroc, tourisme allemand, prix immo 2025, aéroport +10%). L’effort éditorial est réel.
Deux problèmes techniques empêchent ces 13 articles d’avoir un retour SEO mesurable.
Premier problème, les balises côté serveur. Quand on ouvre une page d’article et qu’on regarde le HTML brut, c’est-à-dire ce que voit Googlebot, Twitter, Facebook, LinkedIn, Slack, Bing :
<meta property="og:url"> identique à la homepage
aucun <link rel="canonical"> côté serveur
Le canonical existe bien dans votre code, mais il est injecté côté navigateur après chargement. Googlebot moderne sait l’exécuter et le verra. Twitterbot, Facebook OG scraper, LinkedIn preview, Bing, Yandex et les crawlers IA ne le verront pas. Quand un de vos lecteurs partage un article sur LinkedIn ou WhatsApp, la carte qui s’affiche montre votre homepage générique, jamais l’aperçu de l’article.
Second problème, l’origine technique du contenu. Le proxy de rendu va chercher les articles sur un sous-domaine d’hébergement WordPress gratuit, derrière un challenge anti-bot qui empêche Google d’indexer proprement le WordPress lui-même. L’autorité SEO accumulée n’atterrit nulle part.
Pour une agence qui cible l’acheteur étranger qui découvre Essaouira via Google et LinkedIn, c’est la fuite la plus chère du document.
Septième point⚠️ Alerte de sécurité (à discuter en visio, pas par écrit)
En auditant votre code source public, qui est soit dit en passant intégralement téléchargeable, nous avons identifié trois éléments de sécurité de niveau critique :
- Un secret de production (clé d’API critique) exposé en clair dans le bundle JavaScript livré à chaque visiteur.
- Un mot de passe interne réservé à votre équipe, également en clair côté client, accessible en 30 secondes par n’importe qui.
- Une fonctionnalité utilisateur qui collecte des emails et mots de passe sans backend : les saisies sont écrites dans la console du navigateur et envoyées nulle part.
Nous avons délibérément omis les détails techniques dans ce document. Un audit envoyé par email peut atterrir n’importe où. Nous préférons vous en parler en visio sécurisée, vous expliquer comment vérifier en deux minutes que c’est exact, et vous remettre la liste des actions de remédiation à passer à votre développeur sous 48h.
C’est la principale raison de ce contact.
Synthèse
| # | Fuite | Effort | Impact |
|---|---|---|---|
| 1 | Assistant conversationnel inactif en production | 1 à 2 semaines | Critique |
| 2 | Avis Google scrapés en arrière-plan + asset 50 avis sous-exploité | 1 jour à 2 semaines | Élevée |
| 3 | Téléphones cofondateurs au format invalide | 30 minutes | Critique |
| 4 | Espaces propriétaire et voyageur en façade | 6 à 10 semaines | Critique |
| 5 | Marque dédoublée + email auth absente + OMPIC non déposée | 1 jour à 9 mois | Élevée |
| 6 | Blog SEO invisible côté serveur + hébergement gratuit | 2 à 3 semaines | Critique |
| 7 | Alerte sécurité (3 vulnérabilités) – à voir en call | 1 semaine | P0 |
Votre code porte l’ADN d’un projet ambitieux. Le travail est fait à 70%. Il manque le dernier tiers, qui est le plus difficile : les variables d’environnement, le branchement du backend auth, la sécurisation des secrets, l’activation des AI features, la finalisation des espaces clients, le pré-rendu serveur des routes blog, la protection juridique de la marque. Pas une refonte. Une finition.
✦ Prochaine étape
30 minutes en visio,
quand vous voulez
Pour vous démontrer en partage d’écran les trois vulnérabilités sécurité (vérifiables en deux minutes), vous remettre un plan d’action à 48h pour la remédiation, et discuter de la suite si vous le souhaitez. Aucun pitch commercial dans le call : l’urgence sécurité passe avant tout.
Document confidentiel préparé par YKmarketing pour Myriam Ababou et Dimitri Djedje (M² Square Meter, RC Marrakech 155495). Audit réalisé à partir de sources publiques uniquement, sans accès à votre back-office. Aucune donnée privée n’a été utilisée. Page non indexée, accessible sur lien direct uniquement.
