ITSkillsCenter
WordPress

Tutoriel : Créer un site immobilier avec WordPress

8 min de lecture

Le marché immobilier sénégalais et le web

L’immobilier au Sénégal est en plein boom — Dakar, Diamniadio, Saly, Thiès. Mais la plupart des agences immobilières locales n’ont pas de présence web professionnelle. Elles publient sur Facebook ou Expat-Dakar et perdent des clients qui cherchent sur Google « appartement à louer Almadies » ou « terrain à vendre Diamniadio ». Un site WordPress dédié à l’immobilier vous donne un avantage compétitif massif.

Choisir le bon plugin immobilier

Option 1 : Jejewe – Real Estate Plugin (recommandé)

Le plugin le plus complet pour l’immobilier WordPress :

  • Listings de propriétés avec recherche avancée
  • Filtres : prix, surface, type, localisation, nombre de pièces
  • Galerie photos par propriété
  • Carte de localisation intégrée
  • Formulaire de contact par propriété
  • Support multi-agents

Option 2 : Custom Post Types (solution sur mesure)

Pour un contrôle total, créez votre propre système avec des CPT. C’est plus de travail mais plus léger et sans dépendance à un plugin :

function itsc_register_property_cpt() {
    register_post_type('property', array(
        'labels' => array(
            'name'          => 'Propriétés',
            'singular_name' => 'Propriété',
            'add_new_item'  => 'Ajouter une propriété',
            'edit_item'     => 'Modifier la propriété',
            'view_item'     => 'Voir la propriété',
            'search_items'  => 'Rechercher une propriété',
        ),
        'public'       => true,
        'has_archive'  => true,
        'rewrite'      => array('slug' => 'proprietes'),
        'supports'     => array('title', 'editor', 'thumbnail', 'excerpt'),
        'menu_icon'    => 'dashicons-building',
        'show_in_rest' => true,
    ));
    
    // Type de bien
    register_taxonomy('type_bien', 'property', array(
        'labels' => array(
            'name' => 'Types de bien',
            'singular_name' => 'Type',
        ),
        'hierarchical' => true,
        'rewrite' => array('slug' => 'type'),
        'show_in_rest' => true,
    ));
    
    // Localisation
    register_taxonomy('localisation', 'property', array(
        'labels' => array(
            'name' => 'Localisations',
            'singular_name' => 'Localisation',
        ),
        'hierarchical' => true,
        'rewrite' => array('slug' => 'localisation'),
        'show_in_rest' => true,
    ));
}
add_action('init', 'itsc_register_property_cpt');

Champs personnalisés avec ACF

Installez Advanced Custom Fields (ACF, gratuit) pour ajouter les champs spécifiques à chaque propriété :

  • Prix : Champ numérique (en FCFA)
  • Surface : Nombre (en m²)
  • Chambres : Nombre
  • Salles de bain : Nombre
  • Transaction : Bouton radio (Vente / Location / Location saisonnière)
  • Adresse : Texte
  • Quartier : Sélection (Plateau, Almadies, Mermoz, Ngor, Sacré-Cœur, Fann, Point E, Ouakam, Yoff…)
  • Galerie photos : Galerie d’images ACF
  • Caractéristiques : Cases à cocher (Parking, Piscine, Gardien, Ascenseur, Groupe électrogène, Climatisation, Meublé)
  • Vidéo : URL YouTube pour la visite virtuelle
  • Statut : Disponible / Réservé / Vendu

Pages essentielles du site immobilier

Page de recherche avec filtres

C’est la page la plus importante. Les visiteurs doivent pouvoir filtrer rapidement :

<form class="property-search" method="GET" action="/proprietes/">
    <div class="search-grid">
        <div class="search-field">
            <label>Transaction</label>
            <select name="transaction">
                <option value="">Tout</option>
                <option value="vente">Achat</option>
                <option value="location">Location</option>
            </select>
        </div>
        
        <div class="search-field">
            <label>Type de bien</label>
            <select name="type">
                <option value="">Tout</option>
                <option value="appartement">Appartement</option>
                <option value="maison">Maison</option>
                <option value="terrain">Terrain</option>
                <option value="bureau">Bureau</option>
                <option value="local-commercial">Local commercial</option>
            </select>
        </div>
        
        <div class="search-field">
            <label>Quartier</label>
            <select name="quartier">
                <option value="">Tout Dakar</option>
                <option value="almadies">Almadies</option>
                <option value="plateau">Plateau</option>
                <option value="mermoz">Mermoz</option>
                <option value="sacre-coeur">Sacré-Cœur</option>
                <option value="fann">Fann</option>
                <option value="point-e">Point E</option>
                <option value="ngor">Ngor</option>
                <option value="ouakam">Ouakam</option>
                <option value="yoff">Yoff</option>
                <option value="diamniadio">Diamniadio</option>
            </select>
        </div>
        
        <div class="search-field">
            <label>Budget max (FCFA)</label>
            <select name="budget">
                <option value="">Pas de limite</option>
                <option value="100000">100 000 FCFA/mois</option>
                <option value="200000">200 000 FCFA/mois</option>
                <option value="500000">500 000 FCFA/mois</option>
                <option value="50000000">50 000 000 FCFA</option>
                <option value="100000000">100 000 000 FCFA</option>
            </select>
        </div>
        
        <button type="submit" class="search-btn">Rechercher</button>
    </div>
</form>

CSS pour le formulaire de recherche

.property-search {
    background: white;
    padding: 32px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    margin: -60px auto 40px;
    position: relative;
    z-index: 10;
    max-width: 1000px;
}

.search-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    align-items: end;
}

.search-field label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #6B7280;
    margin-bottom: 6px;
}

.search-field select {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.9375rem;
    background: white;
    cursor: pointer;
}

.search-btn {
    padding: 10px 24px;
    background: #2563EB;
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.9375rem;
}
.search-btn:hover { background: #1D4ED8; }

Fiche de propriété

Chaque propriété doit avoir une page dédiée avec :

  • Galerie photos : Minimum 5-10 photos de qualité (salon, chambres, cuisine, salle de bain, extérieur)
  • Prix : Clair et visible — « 350 000 FCFA/mois » ou « 75 000 000 FCFA »
  • Caractéristiques principales : Surface, chambres, salles de bain, étage
  • Description détaillée : Décrivez l’ambiance, le quartier, les commodités à proximité
  • Carte de localisation : Google Maps ou OpenStreetMap
  • Vidéo de visite virtuelle : YouTube embed (différenciateur important)
  • Formulaire de contact / WhatsApp : Pour demander une visite
  • Badge de statut : Disponible (vert), Réservé (orange), Vendu (rouge)

CSS pour la fiche propriété

.property-card {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}

.property-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.property-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/3;
}

.property-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.property-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}
.badge-vente { background: #2563EB; color: white; }
.badge-location { background: #059669; color: white; }
.badge-reserve { background: #D97706; color: white; }

.property-info {
    padding: 20px;
}

.property-price {
    font-size: 1.5rem;
    font-weight: 800;
    color: #2563EB;
}

.property-price small {
    font-size: 0.875rem;
    font-weight: 400;
    color: #6B7280;
}

.property-title {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 8px 0;
}

.property-location {
    color: #6B7280;
    font-size: 0.875rem;
}

.property-features {
    display: flex;
    gap: 16px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #F3F4F6;
    font-size: 0.875rem;
    color: #4B5563;
}

SEO immobilier local

Mots-clés à cibler

Les recherches immobilières sont très locales. Ciblez des expressions comme :

  • « appartement à louer Almadies Dakar »
  • « terrain à vendre Diamniadio »
  • « maison à acheter Sacré-Cœur »
  • « bureau à louer Plateau Dakar »
  • « studio meublé Mermoz »

Schema immobilier

function itsc_property_schema() {
    if (is_singular('property')) {
        $price = get_field('prix');
        $surface = get_field('surface');
        $quartier = get_field('quartier');
        $transaction = get_field('transaction');
        
        $schema = array(
            '@context' => 'https://schema.org',
            '@type' => $transaction === 'location' ? 'Apartment' : 'RealEstateListing',
            'name' => get_the_title(),
            'description' => get_the_excerpt(),
            'image' => get_the_post_thumbnail_url(null, 'large'),
            'address' => array(
                '@type' => 'PostalAddress',
                'addressLocality' => 'Dakar',
                'addressRegion' => $quartier,
                'addressCountry' => 'SN'
            ),
            'floorSize' => array(
                '@type' => 'QuantitativeValue',
                'value' => $surface,
                'unitCode' => 'MTK'
            ),
        );
        
        if ($transaction === 'location') {
            $schema['offers'] = array(
                '@type' => 'Offer',
                'price' => $price,
                'priceCurrency' => 'XOF',
                'priceValidUntil' => date('Y-12-31'),
            );
        }
        
        echo '';
    }
}
add_action('wp_head', 'itsc_property_schema');

Photos immobilières : la clé de la conversion

Les annonces avec des photos professionnelles reçoivent 3x plus de contacts :

  • Préparez le bien : Rangez, nettoyez, ouvrez les rideaux. Pas de chaussures dans l’entrée, pas de vaisselle dans l’évier
  • Lumière naturelle : Photographiez en journée, toutes les lumières allumées, rideaux ouverts
  • Angles larges : Positionnez-vous dans un coin de la pièce pour montrer le maximum d’espace
  • Photos obligatoires : Façade, salon, chaque chambre, cuisine, salle de bain, balcon/terrasse, vue, parking
  • Ordre des photos : Commencez par la plus belle photo (c’est la miniature qui attire le clic)
  • Format : 1200×800 px minimum, WebP, moins de 120 Ko par image

Fonctionnalités différenciantes

  • Visite virtuelle 360° : Utilisez Matterport ou une simple vidéo YouTube pour les propriétés haut de gamme
  • Calculateur de crédit : Un simulateur de mensualités intégré aide les acheteurs à se projeter
  • Alertes email : Permettez aux visiteurs de s’inscrire pour recevoir les nouvelles propriétés correspondant à leurs critères
  • Comparaison : Fonction « comparer » pour mettre 2-3 propriétés côte à côte
  • WhatsApp direct : Un bouton WhatsApp par propriété avec message pré-rempli : « Bonjour, je suis intéressé par [nom propriété] à [quartier]. Quand puis-je visiter ? »

Checklist site immobilier

  • ☐ CPT « Propriété » avec champs personnalisés (prix, surface, chambres…)
  • ☐ Recherche avec filtres (type, quartier, budget, chambres)
  • ☐ Photos de qualité (minimum 5 par propriété)
  • ☐ Prix clairs en FCFA
  • ☐ Carte de localisation par propriété
  • ☐ Formulaire de contact / WhatsApp par propriété
  • ☐ Badge de statut (Disponible/Réservé/Vendu)
  • ☐ SEO local : titres optimisés « [Type] à [Transaction] [Quartier] Dakar »
  • ☐ Schema markup immobilier
  • ☐ Google Business Profile configuré
  • ☐ Responsive mobile (80%+ du trafic immobilier est mobile)
  • ☐ Temps de chargement < 3s (images optimisées WebP)
Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 350.000 FCFA
Parlons de Votre Projet
Publicité