⚙️ ConfigurationIntermédiaire PS 1.6 PS 1.7 PS 8.x

Créer un site immobilier avec PrestaShop : retour d'expérience complet

Comment détourner PrestaShop pour créer un site immobilier : adaptation du catalogue, migration Scrapy, SEO et hébergement. Guide technique complet.

En bref : PrestaShop peut être détourné efficacement pour créer un site immobilier en mappant les produits sur des biens, les catégories sur des types de biens et les caractéristiques sur des critères de recherche. Le framework Scrapy permet de migrer en masse les données d'un ancien site.

Publié le 21 mars 2026 6 min de lecture Alexandre Carette

Utiliser PrestaShop pour un site immobilier : pourquoi ça fonctionne

PrestaShop est conçu pour le e-commerce, mais sa structure de catalogue — produits, catégories, déclinaisons, images, filtres — s'adapte remarquablement bien à d'autres secteurs verticaux comme l'immobilier. Un bien immobilier est, structurellement, un "produit" avec des caractéristiques (surface, nombre de pièces, localisation), des photos et un prix.

Ce type de détournement de CMS e-commerce présente plusieurs avantages concrets :

  • **Catalogue structuré nativement** : catégories (vente, location, location saisonnière), filtres par caractéristiques, tri par prix
  • **Gestion d'images intégrée** : galerie multi-photos, redimensionnement automatique, zoom
  • **SEO natif** : URLs réécrites, meta descriptions par fiche, sitemap XML
  • **Back-office complet** : gestion des biens sans développement custom
  • **Écosystème de modules** : formulaires de contact, cartes, newsletters

Mapper le vocabulaire e-commerce vers l'immobilier

Concept PrestaShopÉquivalent immobilier ProduitBien immobilier CatégorieType de bien (vente, location, location vacances) PrixPrix de vente ou loyer mensuel DéclinaisonsVariantes (meublé/non meublé) CaractéristiquesSurface, pièces, étage, DPE FabricantAgence ou propriétaire QuantitéDisponibilité (1 = disponible, 0 = vendu/loué)

Migration de données avec Scrapy : récupérer un catalogue existant

Lorsqu'on reprend un site immobilier existant, la saisie manuelle de centaines d'annonces est impensable. Le framework Python Scrapy est l'outil idéal pour crawler l'ancien site et extraire les données de manière structurée.

Installation et configuration de Scrapy


pip install scrapy
scrapy startproject immo_scraper
cd immo_scraper
scrapy genspider annonces ancien-site.fr

Spider type pour un site immobilier


import scrapy
import csv

class AnnoncesSpider(scrapy.Spider):
    name = 'annonces'
    start_urls = ['https://ancien-site.fr/annonces']

    custom_settings = {
        'DOWNLOAD_DELAY': 1,  # Respecter le serveur source
        'FEEDS': {
            'annonces.csv': {
                'format': 'csv',
                'encoding': 'utf-8',
            }
        }
    }

    def parse(self, response):
        for annonce in response.css('.annonce-item'):
            detail_url = annonce.css('a::attr(href)').get()
            yield response.follow(detail_url, self.parse_detail)

        # Pagination
        next_page = response.css('.pagination .next a::attr(href)').get()
        if next_page:
            yield response.follow(next_page, self.parse)

    def parse_detail(self, response):
        yield {
            'name': response.css('h1::text').get('').strip(),
            'description': response.css('.description::text').getall(),
            'price': response.css('.price::text').re_first(r'[\d\s]+'),
            'surface': response.css('.surface::text').re_first(r'\d+'),
            'rooms': response.css('.pieces::text').re_first(r'\d+'),
            'images': response.css('.gallery img::attr(src)').getall(),
            'location': response.css('.ville::text').get('').strip(),
        }

Importer les données dans PrestaShop

Une fois le CSV généré par Scrapy, deux approches pour l'import :

1. Import CSV natif PrestaShop

PrestaShop accepte l'import CSV via le back-office (*Paramètres avancés > Import*). Il faut adapter les colonnes du CSV au format attendu :


ID;Active;Name;Categories;Price;Description;Image URLs;Feature (name:value:position)
;1;Appartement T3 centre-ville;Vente > Appartements;185000;Description...;https://...jpg;Surface (m²):75:1

2. Script d'import via Webservice (recommandé en 8.x)


import csv
import requests
from xml.etree import ElementTree as ET

API_KEY = 'VOTRE_CLE_WEBSERVICE'
BASE_URL = 'https://votre-site.fr/api'

def create_product(bien):
    """Crée un produit PrestaShop via le Webservice REST."""
    xml = f"""<?xml version="1.0" encoding="UTF-8"?>
    <prestashop>
        <product>
            <active>1</active>
            <price>{bien['price']}</price>
            <name>
                <language id="1">{bien['name']}</language>
            </name>
            <description>
                <language id="1">{bien['description']}</language>
            </description>
            <id_category_default>{bien['category_id']}</id_category_default>
        </product>
    </prestashop>"""

    response = requests.post(
        f'{BASE_URL}/products',
        auth=(API_KEY, ''),
        data=xml,
        headers={'Content-Type': 'application/xml'}
    )
    return response.status_code == 201

Gestion des images scrapées

Les images récupérées par crawl sont souvent de qualité insuffisante : résolution trop basse, compression excessive, dimensions inadaptées. Quelques bonnes pratiques :

  • **Ne jamais agrandir une image en CSS** : si l'image source fait 400×300px, ne l'affichez pas en 800×600. Le résultat sera flou et l'expérience utilisateur dégradée
  • **Configurer les tailles d'images PrestaShop** correctement dans *Design > Paramètres des images* pour que le redimensionnement serveur produise des miniatures nettes
  • **Planifier un remplacement progressif** des photos par des clichés professionnels

// PrestaShop 8.x : configuration des tailles d'images recommandées pour l'immobilier
// Back-office > Design > Paramètres des images
// Ajouter un type personnalisé :
// - Nom : immobilier_large | 1200 x 800
// - Nom : immobilier_thumb | 400 x 267
// - Nom : immobilier_list | 600 x 400

Adapter le thème PrestaShop au secteur immobilier

Personnaliser les templates produit

La fiche produit standard d'un thème e-commerce affiche un bouton "Ajouter au panier" — inadapté pour l'immobilier. Il faut transformer cette action en "Demander une visite" ou "Contacter l'agence".

En PrestaShop 8.x avec un thème enfant :


{* themes/votre-theme-enfant/templates/catalog/product.tpl *}
{block name='product_add_to_cart'}
    <div class="immobilier-actions">
        <a href="{$link->getPageLink('contact')}?id_product={$product.id}"
           class="btn btn-primary btn-lg">
            <i class="material-icons">phone</i>
            Demander une visite
        </a>
        <a href="tel:+33XXXXXXXXX" class="btn btn-outline-primary btn-lg">
            Appeler directement
        </a>
    </div>
{/block}

Exploiter les caractéristiques comme filtres

Créez des caractéristiques PrestaShop pour chaque critère immobilier pertinent :

  • **Surface (m²)** : valeurs par tranches (< 30, 30-50, 50-80, 80-120, > 120)
  • **Nombre de pièces** : 1 à 6+
  • **Type de bien** : Appartement, Maison, Terrain, Local commercial
  • **DPE** : A à G
  • **Ville / Quartier** : selon votre zone géographique

Le module Navigation à facettes (ps_facetedsearch) transforme automatiquement ces caractéristiques en filtres cliquables dans la colonne latérale.

SEO immobilier sur PrestaShop : les fondamentaux

Le référencement d'un site immobilier sous PrestaShop nécessite une attention particulière à la structure des URLs et au contenu.

Structure d'URLs optimisée


/vente/appartements/appartement-t3-centre-ville-metz
/location/maisons/maison-4-chambres-jardin-thionville
/location-vacances/gites/gite-charme-gorze-moselle

Dans PrestaShop 8.x, activez les URLs simplifiées (*Configurer > Paramètres de la boutique > Trafic & SEO*) et structurez vos catégories pour refléter cette hiérarchie.

Analyser les logs serveur

Avant toute optimisation SEO, comprendre comment Googlebot explore votre site est essentiel. L'analyse des logs d'accès permet de détecter :

  • Les pages crawlées trop fréquemment (budget de crawl gaspillé)
  • Les pages ignorées (contenu important non indexé)
  • Les erreurs 404 ou redirections en chaîne

# Extraire les visites de Googlebot depuis les logs Apache/Nginx
grep "Googlebot" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -50

Données structurées pour l'immobilier

Ajoutez du JSON-LD RealEstateListing (schema.org) pour enrichir vos résultats dans Google :


{
  "@context": "https://schema.org",
  "@type": "RealEstateListing",
  "name": "Appartement T3 centre-ville Metz",
  "url": "https://votre-site.fr/vente/appartement-t3-metz",
  "datePosted": "2026-03-15",
  "offers": {
    "@type": "Offer",
    "price": "185000",
    "priceCurrency": "EUR"
  }
}

Hébergement : auto-hébergement vs cloud

Héberger un PrestaShop chez soi sur un serveur personnel derrière une connexion fibre est techniquement possible, mais comporte des limites :

CritèreAuto-hébergementVPS/Cloud Coût mensuel~30€ (électricité)10-50€ Disponibilité99% (coupures, maintenance)99.9%+ (SLA) PerformancesVariable (upload fibre)Constantes SécuritéÀ gérer entièrementInfra sécurisée SauvegardeManuelleAutomatisée SSL/TLSLet's EncryptInclus

Recommandation actuelle : pour un site immobilier professionnel, un VPS OVH ou Scaleway à partir de 10€/mois offre de bien meilleures garanties de disponibilité et de performances. L'auto-hébergement reste intéressant pour le développement et les tests.

Évolutions recommandées en PrestaShop 8.x

Si vous maintenez un site immobilier initialement développé sous PrestaShop 1.6, voici les gains d'une migration vers la version 8.x :

  • **Symfony sous le capot** : architecture plus robuste, meilleure maintenabilité
  • **API native améliorée** : le nouveau Webservice facilite les intégrations avec des portails immobiliers (SeLoger, LeBonCoin)
  • **Performances** : PHP 8.1+, cache Symfony, lazy loading natif des images
  • **Accessibilité** : le thème Hummingbird (8.x) respecte mieux les normes WCAG
  • **Module Navigation à facettes** repensé : filtres plus rapides et plus flexibles
#prestashop immobilier #scrapy prestashop #prestashop usage détourné #migration données prestashop #catalogue immobilier

Questions fréquentes

Tout ce que vous devez savoir sur ce sujet.

Un projet PrestaShop ?

Discutons-en directement.

★★★★★

193 projets livrés

Gratuit & sans engagement — réponse sous 24h

Alexandre Carette

Alexandre Carette

Expert PrestaShop & Architecture E-commerce

Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.