Construire un annuaire de panneaux solaires : Architecture et stratégie

Si vous avez déjà recherché « installer solaire près de moi », vous avez probablement atterri sur EnergySage. C'est le marché solaire dominant aux États-Unis, connectant les propriétaires à des installateurs vérifiés, générant des devis concurrentiels et extrayant des millions de points de données chaque semaine. Le Département américain de l'énergie a littéralement financé son développement. Et si vous lisez ceci, vous voulez probablement construire quelque chose de similaire.

J'ai passé les dernières années à construire des marchés de style annuaire et des plateformes de services basées sur la géolocalisation pour des clients dans les secteurs de l'énergie, des services à domicile et des verticales B2B. L'architecture derrière un annuaire d'installateurs solaires n'est pas sorcier, mais il existe un nombre surprenant de décisions qui peuvent faire ou défaire le projet. Laissez-moi vous guider à travers tout -- de la modélisation des données à l'infrastructure de recherche jusqu'à la stratégie SEO qui génère réellement du trafic organique.

Table des matières

Comprendre le modèle du marché solaire

Avant d'écrire une seule ligne de code, vous devez comprendre ce qui rend les plateformes comme EnergySage et solar.com viables en tant qu'entreprises. Ce sont des marchés à deux faces avec un modèle de revenus spécifique :

  1. Les propriétaires entrent leur adresse et informations de facturation pour demander des devis solaires
  2. Les installateurs paient pour accéder à ces prospects et concourir sur le prix et la qualité
  3. La plateforme génère des revenus grâce aux abonnements des installateurs, aux frais par prospect ou à une part des transactions conclues

EnergySage rapporte que leur marché économise aux propriétaires environ 0,20 à 0,40 USD par watt comparé à une approche directe -- c'est 1 000 à 2 000 USD sur un système résidentiel typique de 5 kW. Ces économies proviennent de la concurrence. Lorsque plusieurs installateurs font une offre pour le même projet, les prix baissent. C'est la proposition de valeur centrale que vous devez reproduire.

Le marché solaire en 2025 est une industrie de plus de 30 milliards de dollars uniquement aux États-Unis, avec des installations résidentielles croissant à peu près 15-20% d'année en année. Le crédit d'impôt fédéral de 30% de la loi sur la réduction de l'inflation s'étend jusqu'en 2032, donc ce marché ne ralentit pas.

Voici à quoi ressemblent les principaux acteurs :

Plateforme Modèle Source de revenus Réseau d'installateurs
EnergySage Marché de devis Frais de prospect + licence de données 500+ installateurs vérifiés
Solar.com Marché guidé Commissions de tarification préférée Réseau sélectionné
Localisateur d'installateurs Enphase Annuaire lié à l'équipement Ventes de matériel Installateurs Enphase certifiés
SolarReviews Annuaire d'avis Frais de génération de prospects 500+ entreprises listées
Yelp/Google Annuaire général Publicité Annonces non vérifiées

Votre annuaire n'a pas besoin de rivaliser directement avec EnergySage. Des opportunités de niche existent : annuaires spécifiques à un État, marchés commerciaux uniquement, spécialistes du stockage par batterie ou annuaires axés sur des marques d'équipement spécifiques.

Décisions d'architecture centrale

La première vraie décision est de savoir si vous construisez un annuaire statique, un marché dynamique ou quelque chose entre les deux. Chacun a une complexité radicalement différente.

Annuaire statique vs. Marché dynamique

Un annuaire statique liste les installateurs avec leurs coordonnées, avis et zones de service. Pensez aux Pages Jaunes pour l'énergie solaire. Faible complexité, rapide à construire, monétisé par la publicité ou les annonces en vedette.

Un marché dynamique gère l'intégralité du flux de prospect à conclusion : capture de prospects, correspondance d'installateurs, génération de devis, outils de comparaison et parfois même financement. C'est ce qu'EnergySage fait. Haute complexité, mais beaucoup plus de potentiel de revenus.

La plupart des équipes devraient commencer par un annuaire et ajouter progressivement des fonctionnalités de marché. Voici pourquoi : les pages d'annuaire génèrent du trafic organique (pensez à des milliers de pages « installateurs solaires à [ville] »), et ce trafic alimente l'entonnoir du marché.

Architecture sans tête

Pour un projet comme celui-ci, je recommande fortement une architecture sans tête. Voici la configuration que j'utiliserais :

  • Frontend : Next.js ou Astro pour le site public
  • CMS : Un CMS sans tête (Sanity, Contentful ou Payload) pour les profils d'installateurs et le contenu éditorial
  • Couche API : API personnalisée Node.js/Express ou tRPC pour la recherche, les devis et la logique transactionnelle
  • Base de données : PostgreSQL avec PostGIS pour les requêtes géospatiales
  • Recherche : Algolia ou Meilisearch pour la recherche instantanée d'installateurs

Nous avons construit des architectures similaires pour des clients utilisant nos capacités Développement Next.js et Développement CMS sans tête. L'approche sans tête vous permet de faire évoluer indépendamment la couche contenu (des milliers de pages de localisation) par rapport à la couche application (moteur de devis, tableaux de bord utilisateur).

Structure Monorepo

J'organiserais ceci comme un monorepo en utilisant Turborepo :

├── apps/
│   ├── web/              # Site public Next.js
│   ├── installer-portal/ # Tableau de bord des installateurs (Next.js)
│   └── admin/            # Admin interne (React)
├── packages/
│   ├── database/         # Schéma Prisma + migrations
│   ├── api/              # Routes API / tRPC partagées
│   ├── ui/               # Bibliothèque de composants partagée
│   └── geo/              # Utilitaires géospatiales
└── turbo.json

Cela maintient les choses organisées au fur et à mesure que le projet se développe. Le paquet geo vaut la peine d'être signalé -- vous réutiliserez la logique géospatiale (calculs de distance, correspondance de zones de service, géocodage) dans plusieurs applications.

Conception de base de données pour les annuaires d'installateurs

C'est là que la plupart des projets d'annuaire réussissent ou créent des maux de tête qui durent des années. Laissez-moi partager un schéma qui a bien fonctionné.

Entités principales

-- Entreprises d'installation
CREATE TABLE installers (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  name VARCHAR(255) NOT NULL,
  slug VARCHAR(255) UNIQUE NOT NULL,
  description TEXT,
  website_url VARCHAR(500),
  phone VARCHAR(20),
  email VARCHAR(255),
  logo_url VARCHAR(500),
  founded_year INTEGER,
  employee_count_range VARCHAR(50),
  license_number VARCHAR(100),
  is_verified BOOLEAN DEFAULT FALSE,
  verification_date TIMESTAMP,
  avg_rating DECIMAL(2,1) DEFAULT 0,
  total_reviews INTEGER DEFAULT 0,
  total_installations INTEGER DEFAULT 0,
  status VARCHAR(20) DEFAULT 'pending',
  created_at TIMESTAMP DEFAULT NOW(),
  updated_at TIMESTAMP DEFAULT NOW()
);

-- Zones de service (utilisant PostGIS pour les requêtes géo)
CREATE TABLE service_areas (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  installer_id UUID REFERENCES installers(id),
  area_name VARCHAR(255),
  geometry GEOMETRY(POLYGON, 4326),
  radius_miles INTEGER,
  center_point GEOMETRY(POINT, 4326),
  is_primary BOOLEAN DEFAULT FALSE
);

-- Certifications et accréditations
CREATE TABLE installer_certifications (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  installer_id UUID REFERENCES installers(id),
  certification_type VARCHAR(100), -- 'NABCEP', 'Tesla Powerwall', 'Enphase', etc.
  certification_number VARCHAR(100),
  issued_date DATE,
  expiry_date DATE,
  verified BOOLEAN DEFAULT FALSE
);

-- Équipement/marques qu'ils installent
CREATE TABLE installer_equipment (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  installer_id UUID REFERENCES installers(id),
  equipment_type VARCHAR(50), -- 'panel', 'inverter', 'battery'
  brand VARCHAR(100),
  model VARCHAR(255),
  is_preferred BOOLEAN DEFAULT FALSE
);

-- Pages de localisation (pour le SEO)
CREATE TABLE locations (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  state VARCHAR(2) NOT NULL,
  city VARCHAR(255) NOT NULL,
  county VARCHAR(255),
  slug VARCHAR(255) UNIQUE NOT NULL,
  zip_codes TEXT[], -- Tableau des codes postaux couverts
  center_point GEOMETRY(POINT, 4326),
  avg_system_cost DECIMAL(10,2),
  avg_electricity_rate DECIMAL(5,4),
  avg_sun_hours DECIMAL(4,2),
  state_incentives JSONB,
  installer_count INTEGER DEFAULT 0,
  meta_title VARCHAR(70),
  meta_description VARCHAR(160),
  content TEXT, -- Contenu éditorial en Markdown
  created_at TIMESTAMP DEFAULT NOW(),
  updated_at TIMESTAMP DEFAULT NOW()
);

Le problème de la zone de service

C'est la partie délicate. Les installateurs ne servent pas des zones circulaires nettes autour d'un seul point. Ils servent des régions de formes bizarres -- peut-être trois comtés dans un État, plus quelques codes postaux de l'autre côté de la frontière. Vous avez trois options :

  1. Basé sur le rayon : L'installateur définit un point central et une distance maximale. Simple mais imprécis.
  2. Liste de codes postaux : L'installateur sélectionne des codes postaux spécifiques. Précis mais fastidieux pour les grandes zones.
  3. Basé sur un polygone : Dessinez les limites réelles de la zone de service sur une carte. Le plus précis, la meilleure UX, mais nécessite PostGIS et une interface de dessin sur carte.

J'implémentais l'option 3 avec l'option 1 comme secours. Lors de l'intégration, laissez les installateurs soit dessiner leur zone de service sur une interface Mapbox/Google Maps, soit simplement entrer un rayon. Utilisez les fonctions ST_Contains et ST_DWithin de PostGIS pour la correspondance :

-- Trouver les installateurs desservant un point spécifique (adresse du propriétaire)
SELECT i.* FROM installers i
JOIN service_areas sa ON sa.installer_id = i.id
WHERE ST_Contains(sa.geometry, ST_SetSRID(ST_MakePoint(-71.4128, 41.8240), 4326))
  AND i.status = 'active'
ORDER BY i.avg_rating DESC;

Recherche géolocalisée et services de localisation

La requête « trouver un installateur solaire près de moi » est tout. C'est l'intention utilisateur principale, la cible SEO principale et le flux UX principal. Vous devez faire cela correctement.

Pipeline de géocodage

Lorsqu'un propriétaire entre son adresse ou son code postal, voici le flux :

  1. Côté client : Autocomplétion avec l'API Google Places ou le géocodage Mapbox
  2. Géocoder : Convertir l'adresse en coordonnées lat/lng
  3. Requête : Trouver les installateurs dont les zones de service contiennent ce point
  4. Enrichir : Extraire les données d'utilité locales, les incitations d'État, l'irradiance solaire moyenne
  5. Classer : Trier par pertinence (note, distance, temps de réponse, statut de vérification)
// Exemple : route API Next.js pour la recherche d'installateurs
import { db } from '@/packages/database';
import { geocode } from '@/packages/geo';

export async function GET(request: Request) {
  const { searchParams } = new URL(request.url);
  const zipCode = searchParams.get('zip');
  const lat = searchParams.get('lat');
  const lng = searchParams.get('lng');

  let coordinates = { lat: Number(lat), lng: Number(lng) };

  if (zipCode && (!lat || !lng)) {
    coordinates = await geocode(zipCode);
  }

  const installers = await db.$queryRaw`
    SELECT 
      i.*,
      ST_Distance(
        sa.center_point::geography,
        ST_SetSRID(ST_MakePoint(${coordinates.lng}, ${coordinates.lat}), 4326)::geography
      ) / 1609.34 as distance_miles
    FROM installers i
    JOIN service_areas sa ON sa.installer_id = i.id
    WHERE (
      ST_Contains(sa.geometry, ST_SetSRID(ST_MakePoint(${coordinates.lng}, ${coordinates.lat}), 4326))
      OR ST_DWithin(
        sa.center_point::geography,
        ST_SetSRID(ST_MakePoint(${coordinates.lng}, ${coordinates.lat}), 4326)::geography,
        sa.radius_miles * 1609.34
      )
    )
    AND i.status = 'active'
    ORDER BY i.is_verified DESC, i.avg_rating DESC, distance_miles ASC
    LIMIT 20
  `;

  return Response.json({ installers, coordinates });
}

Infrastructure de recherche

Pour la recherche instantanée (filtrage par nom, certification, marque d'équipement), PostgreSQL seul deviendra lent une fois que vous passerez quelques milliers d'installateurs. Superposez Algolia ou Meilisearch :

Fonctionnalité Algolia Meilisearch Recherche en texte intégral PostgreSQL
Latence <50ms <50ms 100-500ms
Filtrage géo Intégré Intégré Nécessite PostGIS
Recherche à facettes Excellent Bon Manuel
Tolérance aux fautes de frappe Oui Oui Non
Tarification (2025) 1 USD/1K requêtes Gratuit (auto-hébergé) Gratuit
Complexité de configuration Faible Moyen Faible

Algolia à 1 USD par 1 000 recherches est raisonnable pour la plupart des annuaires. Si le budget est serré, auto-hébergez Meilisearch sur un VPS de 20 USD/mois.

Construction du système de demande de devis

C'est ce qui sépare un annuaire d'un marché. Le système de devis est votre moteur de revenus.

Flux de demande de devis

  1. Le propriétaire entre son adresse → détection automatique du fournisseur de services et du taux
  2. Évaluation des toits (imagerie satellite de l'API Google Solar ou Aurora Solar)
  3. Recommandation de la taille du système en fonction de l'utilisation et de l'espace toit
  4. Correspondance avec 3-8 installateurs qualifiés dans la région
  5. Les installateurs soumettent des devis concurrentiels dans les 48 heures
  6. Le propriétaire compare les devis sur un tableau de bord standardisé

L'API Google Solar (lancée en 2023, maintenant largement disponible) est un raccourci énorme ici. Elle fournit des données de potentiel solaire pour plus de 320 millions de bâtiments aux États-Unis, y compris :

  • Analyse des segments de toit
  • Heures d'ensoleillement annuelles
  • Production d'énergie estimée
  • Placement optimal des panneaux
// API Google Solar - Informations sur les bâtiments
const response = await fetch(
  `https://solar.googleapis.com/v1/buildingInsights:findClosest?` +
  `location.latitude=${lat}&location.longitude=${lng}` +
  `&requiredQuality=HIGH&key=${GOOGLE_SOLAR_API_KEY}`
);

const data = await response.json();
// data.solarPotential.maxArrayPanelsCount
// data.solarPotential.maxSunshineHoursPerYear
// data.solarPotential.financialAnalyses

Cela élimine le besoin de relevés de site manuels dans la phase de devis initiale, réduisant considérablement le délai d'accès aux devis.

Modèle de données de devis

Chaque devis doit capturer suffisamment de détails pour une comparaison significative :

interface SolarQuote {
  id: string;
  requestId: string;
  installerId: string;
  systemSizeKw: number;
  panelBrand: string;
  panelModel: string;
  panelCount: number;
  inverterBrand: string;
  inverterType: 'string' | 'micro' | 'hybrid';
  batteryIncluded: boolean;
  batteryBrand?: string;
  batteryCapacityKwh?: number;
  grossCost: number;
  federalTaxCredit: number;
  stateIncentives: number;
  utilityRebates: number;
  netCost: number;
  estimatedAnnualProduction: number;
  warrantyYears: number;
  estimatedPaybackYears: number;
  financingOptions: FinancingOption[];
  validUntil: Date;
}

Architecture SEO pour les pages solaires locales

C'est là que la plupart des annuaires solaires soit gagnent soit perdent. EnergySage génère un trafic organique massif à partir de pages de localisation générées par programme -- ils ont des pages pour chaque ville de chaque État, structurées comme /local-data/solar-companies/{state}/{county}/{city}/.

Structure d'URL

Voici la hiérarchie d'URL que je recommanderais :

/solar-installers/                        # Hub national
/solar-installers/rhode-island/           # Page de l'État
/solar-installers/rhode-island/providence/ # Page de la ville
/installer/blue-sky-solar/                # Profil de l'installateur individuel
/solar-costs/rhode-island/                # Données de coûts par État

Génération de pages par programme

Avec le routeur d'application Next.js, vous pouvez générer des milliers de pages de localisation au moment de la compilation :

// app/solar-installers/[state]/[city]/page.tsx
export async function generateStaticParams() {
  const locations = await db.location.findMany({
    select: { state: true, slug: true }
  });
  
  return locations.map((loc) => ({
    state: loc.state.toLowerCase().replace(/\s+/g, '-'),
    city: loc.slug,
  }));
}

export async function generateMetadata({ params }: Props) {
  const location = await getLocation(params.state, params.city);
  return {
    title: `Les meilleurs installateurs solaires à ${location.city}, ${location.state} (2025)`,
    description: `Comparez ${location.installerCount} entreprises solaires vérifiées à ${location.city}. Coût moyen du système : ${location.avgSystemCost}$. Obtenez des devis gratuits dès aujourd'hui.`,
  };
}

Pour les sites avec 10 000+ pages de localisation, considérez Astro au lieu de Next.js. La génération statique d'Astro est beaucoup plus rapide pour les sites riches en contenu -- nous avons vu les temps de compilation chuter de 45 minutes à moins de 5 minutes pour les grands ensembles de pages générées par programme.

Stratégie de contenu pour les pages de localisation

Ne générez pas simplement des pages de modèle vides. Chaque page de localisation a besoin d'un contenu unique et utile :

  • Nombre d'installateurs actifs dans la région
  • Coût moyen du système solaire pour cette ville (à extraire de vos données de devis)
  • Tarifs d'utilité locaux et politiques de mesure nette
  • Incitations d'État et locales (celles-ci varient énormément)
  • Irradiance solaire moyenne / heures d'ensoleillement
  • Installateurs les mieux classés avec de véritables avis
  • Tableau de comparaison des devis récents

La page de Providence, RI d'EnergySage, par exemple, liste 8 installateurs du marché avec des détails sur l'expérience, les certifications et les préférences d'équipement. C'est la profondeur contre laquelle vous concourez.

Vérification des installateurs et signaux de confiance

La confiance est le jeu entier. EnergySage vérifie que les installateurs ont 2-3 ans d'expérience et plusieurs installations réussies avant de pouvoir adhérer. Solar.com parle « d'éliminer les arnaqueurs ». Vous avez besoin d'un pipeline de vérification.

Liste de contrôle de vérification

  • Licence commerciale : Vérifier la licence de sous-traitant d'État via l'API (de nombreux États ont des API de recherche publiques)
  • Assurance : Exiger une preuve de responsabilité civile ($1M+) et indemnisation des travailleurs
  • Certification NABCEP : L'étalon-or pour les installateurs solaires -- vérifier par rapport à la base de données NABCEP
  • Années en activité : Recoupement avec les registres commerciaux d'État
  • Historique des installations : Demander un portefeuille de projets terminés
  • Vérification des antécédents : Pour les entreprises soumissionnant sur des projets résidentiels
  • Avis : Agrégé à partir de Google, Yelp, BBB et votre propre plateforme

Éléments d'interface de confiance

Afficher le statut de vérification en évidence sur les profils d'installateurs :

<div className="flex items-center gap-2">
  <VerifiedBadge />
  <span className="text-sm text-green-700">
    Vérifiés : Licence n° 12345 • Certifié NABCEP • 
    Assuré jusqu'à 2M$ • {yearsInBusiness} ans d'expérience
  </span>
</div>

Incluez une section « Pourquoi vous pouvez nous faire confiance » sur chaque page -- EnergySage le fait et cela fonctionne. Expliquez votre processus de vérification de manière transparente.

Recommandations de pile technologique

Voici ce que j'utiliserais réellement pour construire ceci en 2025 :

Couche Technologie Pourquoi
Frontend Next.js 15 (App Router) SSR + ISR pour les pages dynamiques, RSC pour les performances
Style Tailwind CSS + shadcn/ui Itération rapide, composants accessibles
CMS Payload CMS (auto-hébergé) Open source, excellent pour les collections personnalisées
Base de données PostgreSQL 16 + PostGIS Requêtes géospatiales, fiabilité
ORM Prisma + SQL brut pour géo Le meilleur des deux mondes
Recherche Meilisearch (auto-hébergé) Gratuit, rapide, géolocalisé
Cartes Mapbox GL JS Meilleure tarification que Google Maps à grande échelle
Géocodage API de géocodage Mapbox 0,75$ par 1 000 requêtes
Hébergement Vercel (frontend) + Railway (API + BD) Déploiements faciles, tarification raisonnable
Auth Clerk ou NextAuth.js Flux séparés pour propriétaires et installateurs
Monitoring Sentry + Analytiques Plausible Suivi des erreurs + analytiques respectueux de la vie privée
Email Resend Courriels transactionnels pour les notifications de devis

Coût total d'infrastructure pour un MVP traitant ~10 000 utilisateurs mensuels : environ 150-300 USD/mois. À grande échelle (100K+ utilisateurs mensuels), prévoir 800-2 000 USD/mois avant de factoriser les coûts API.

Si vous voulez de l'aide pour construire ceci correctement, consultez notre tarification ou contactez-nous directement. Nous avons construit des sites d'annuaires multi-mille pages avec des architectures similaires.

Repères de performance et estimations de coûts

Voici à quoi ressemblent les délais de développement réalistes :

Phase Portée Délai Gamme de coûts
Annuaire MVP Listes d'installateurs, recherche géo, pages de localisation 8-12 semaines 30K-60K$
Système de devis Capture de prospects, correspondance d'installateurs, comparaison de devis 6-8 semaines 25K-45K$
Portail d'installation Tableau de bord, gestion des prospects, analytiques 4-6 semaines 15K-30K$
Tableau de bord du propriétaire Devis sauvegardés, messages, suivi de projet 4-6 semaines 15K-25K$
Intégration des paiements Abonnements des installateurs, paiements de prospects 2-3 semaines 8K-15K$
Marché MVP total 24-35 semaines 93K-175K$

Ce sont des chiffres réalistes pour une construction de qualité avec une équipe expérimentée. J'ai vu des agences demander plus de 250K$ pour une portée similaire, et j'ai vu des équipes essayer de le faire pour 15K$ et finir avec quelque chose qui s'effondre sous le trafic réel.

Les objectifs de performance que vous devriez atteindre :

  • Chargement de la page de localisation : < 1,5 s (LCP) -- ce sont vos pages d'argent SEO
  • Résultats de recherche : < 200ms du coup d'œil à la saisie aux résultats
  • Requête géo : < 100ms pour « installateurs près de [code postal] »
  • Core Web Vitals : Tous verts dans le tableau de bord
  • Temps de compilation : < 10 minutes pour 5 000+ pages statiques

FAQ

Combien coûte la construction d'un annuaire d'installateurs solaires comme EnergySage ?

Un annuaire de base avec recherche géo et profils d'installateurs peut être construit pour 30K-60K$. Un marché complet avec comparaison de devis, tableaux de bord d'installateurs et traitement des paiements se chiffre généralement à 93K-175K$ selon la portée des fonctionnalités. EnergySage lui-même a été financé par une subvention du Département de l'énergie et a levé plus de 10 millions de dollars en capital-risque, alors ne vous attendez pas à reproduire leur ensemble complet de fonctionnalités avec un budget serré.

Quelle pile technologique devrais-je utiliser pour un marché solaire ?

Je recommande Next.js 15 pour le frontend (les capacités SSR sont critiques pour le SEO), PostgreSQL avec PostGIS pour les requêtes géospatiales, et soit Algolia soit Meilisearch pour la recherche instantanée. Pour la couche CMS, Payload CMS ou Sanity fonctionnent bien pour gérer les profils d'installateurs et le contenu éditorial. Hébergez sur Vercel pour le frontend et Railway ou Render pour votre base de données et API.

Comment les plateformes de marché solaire comme EnergySage gagnent-elles de l'argent ?

EnergySage utilise un modèle de génération de prospects où les installateurs paient pour accéder aux prospects propriétaires qualifiés. Ils autorisent également leurs données de tarification solaire extensives aux sociétés d'investissement, aux chercheurs universitaires et aux agences gouvernementales. Solar.com adopte une approche légèrement différente avec des commissions de tarification préférée. La plupart des sites d'annuaire commencent par des frais d'annonces en vedette (50-500 USD/mois par installateur) et évoluent vers la tarification par prospect (20-100 USD par prospect qualifié) à mesure qu'ils augmentent.

Comment puis-je obtenir les données des installateurs solaires pour remplir mon annuaire ?

Commencez par extraire les données publiques : les bases de données de licences de sous-traitants d'État, l'annuaire des installateurs certifiés NABCEP et les localisateurs des fabricants (comme le réseau d'installateurs Enphase). Créez ensuite un flux d'intégration où les installateurs revendiquent et améliorent leurs profils. Au début, vous devrez contacter manuellement les installateurs -- offrez des annonces gratuites pour ensemencer le marché. Le problème du démarrage à froid est réel ; personne ne veut adhérer à un marché vide.

L'importance du SEO pour un annuaire d'installateurs solaires ?

C'est essentiellement votre stratégie de croissance entière. Les pages de localisation générées par programme ciblant les requêtes « installateurs solaires à [ville] » sont la façon dont EnergySage génère la majorité de son trafic. Vous voudrez des pages uniques pour chaque grande ville et État, chacune avec des données locales véritables (coûts moyens, informations sur les incitations, nombre d'installateurs). Sans une forte performance de recherche organique, vous épuiserez les budgets d'acquisition payante en essayant de rivaliser.

Devrais-je utiliser Google Maps ou Mapbox pour les fonctionnalités de cartographie ?

Mapbox, dans la plupart des cas. La tarification de Google Maps devient chère rapidement -- l'API Google Maps JavaScript facture 7 USD par 1 000 chargements après le crédit gratuit mensuel de 200 USD. Mapbox facture 0,60 USD par 1 000 chargements de carte avec un crédit gratuit généreux de 50 000 chargements par mois. Pour un annuaire qui pourrait afficher des cartes sur des milliers de pages de localisation, Mapbox peut vous économiser des milliers de dollars mensuels. Cependant, utilisez l'API Solar de Google pour les données d'informations sur les bâtiments -- rien d'autre ne se compare.

Comment traiter la vérification et le contrôle des installateurs ?

Construisez un pipeline de vérification multi-étapes : vérifiez les bases de données de licences de sous-traitants d'État (beaucoup ont des API publiques), vérifiez les certifications NABCEP, exigez une preuve d'assurance et recoupez les dossiers d'enregistrement des entreprises. EnergySage exige 2-3 ans d'expérience et plusieurs installations réussies. Automatisez ce que vous pouvez, mais attendez un examen manuel. Affichez les badges de vérification en évidence -- ils impactent directement les taux de conversion des propriétaires.

Puis-je utiliser l'API Google Solar pour estimer le potentiel solaire ?

Oui, et vous devriez. L'API Solar de Google couvre 320+ millions de bâtiments aux États-Unis et fournit l'analyse des segments de toit, les données d'ensoleillement annuelles et la production d'énergie estimée. Elle coûte 10 USD par 1 000 requêtes pour les informations sur les bâtiments. Utilisez-la pour pré-remplir les estimations de taille de système lorsque les propriétaires entrent leur adresse -- cela améliore considérablement l'expérience de la demande de devis et définit des attentes réalistes avant même que les installateurs ne s'impliquent.