Dokumentation

WPCarlo einrichten und einbauen.

Installation, mobile.de-Zugang und Einbau des Plugins, dazu die Referenz für Agenturen: Shortcodes, Filter per Adresse, CSS-Variablen und Hooks. Stand: Plugin-Version 6.3.

Voraussetzungen

  • WordPress ab Version 6.6
  • PHP ab Version 8.3
  • Zugangsdaten für die mobile.de-Schnittstelle aus deinem Händlerkonto
  • Schöne Permalinks, zum Beispiel „Beitragsname“ unter Einstellungen → Permalinks

Der Abgleich läuft über die geplanten Aufgaben von WordPress. Auf Seiten mit wenig Besuch lohnt ein echter Server-Cronjob, siehe Fehlerbehebung.

Installation

Die ZIP-Datei des Plugins bekommst du mit dem Vorab-Zugriff von uns. In WordPress lädst du sie hoch und aktivierst das Plugin.

PluginsInstallierenPlugin hochladen

Nach dem Aktivieren öffnet sich der Einrichtungs-Assistent.

Einrichtungs-Assistent

Der Assistent führt in fester Reihenfolge durch die Einrichtung. Übersprungene Schritte holst du später in den Einstellungen nach.

SchrittWas passiertPflicht
Lizenz aktivierenLizenzschlüssel eintragen, schaltet Updates freinein
Verschlüsselungs-SchlüsselSchlüssel für die gespeicherten Zugangsdatennein
Mobile.de-KontoBenutzername und Passwort, mit Verbindungstestja
Caching-Plugin-Erkennungnötige Ausnahmen für WP Rocket, W3 Total Cache, LiteSpeed, Cloudflarenein
Standard-TemplateVorlage für die Fahrzeugseite wählenja
Erster SyncBestand holen, Fahrzeugseiten anlegenja
Datenschutz & AVVVertrag zur Auftragsverarbeitung bestätigenja
Auto-Alt-Texteautomatische Bildbeschreibungen, ab Werk ausnein

Solange die Einrichtung nicht abgeschlossen ist, steht der Assistent im Menü unter WPCarlo.

mobile.de verbinden

WPCarlo liest deinen Bestand über die Search-API von mobile.de. Du brauchst Benutzername und Passwort der Inserats-Einbindung aus dem Händlerbereich. Wie du den Zugang freischaltest, zeigt die Anleitung zum Einbinden.

WPCarloMobile.de-Accounts

Beim Speichern testet WPCarlo die Verbindung. Schlägt der Test fehl, wird das Konto nicht angelegt. Die Zugangsdaten liegen verschlüsselt in deiner Datenbank. Diese Meldungen kann der Test zeigen:

Antwort von mobile.deMeldung im Plugin
in Ordnung„Verbindung erfolgreich.“
401 oder 403„Benutzername oder Passwort wurden von mobile.de abgelehnt. …“
429„mobile.de hat zu viele Anfragen in kurzer Zeit erhalten …“ Nach ein paar Minuten erneut testen.
keine Verbindung„mobile.de war nicht erreichbar. …“ Meist liegt es am Server der Website.

Mehrere Konten und Standorte

Jede mobile.de-Kundennummer legst du als eigenes Konto an. Unter WPCarlo → Standorte ordnest du die Konten deinen Standorten zu, mit Adresse und Öffnungszeiten. Die erste Zuordnung eines Kontos wird zum Standard.

Die Standorte steuern, wohin Anfragen gehen: Jede Anfrage landet bei dem Standort, zu dem das Fahrzeug gehört. Mehr dazu unter Anfrageformular.

Abgleich und Intervall

WPCarloEinstellungenAllgemeinCron-Intervall

EinstellungAbgleich
stündlichjede Stunde
alle 6 StundenStandard
täglicheinmal pro Tag

Geholt werden nur Änderungen. Zwei Knöpfe im Backend starten den Abgleich von Hand: Import starten holt sofort die Änderungen, Import zurücksetzen gleicht den ganzen Bestand neu ab. Jeder Lauf steht mit Ergebnis unter WPCarlo → Sync-Log.

Hängt ein Lauf länger als eine Stunde, markiert WPCarlo ihn als fehlgeschlagen. Gelöscht wird dabei nichts.

Löschschutz

Verkaufte Fahrzeuge verschwinden beim Abgleich von deiner Seite. Damit ein Ausfall bei mobile.de nicht den ganzen Bestand löscht, gelten zwei Grenzen:

  • Pro Lauf entfernt WPCarlo höchstens 30 % des Bestands, mindestens aber 5 Fahrzeuge.
  • Liefert mobile.de eine leere Liste, obwohl Fahrzeuge da sind, bricht der Lauf ohne Löschen ab.

Die 30 % lassen sich per Filter ändern:

add_filter( 'carlo/sync/max_delete_ratio', fn() => 0.5 );

Bilder

WPCarlo lädt jedes Bild einmal von mobile.de und legt es auf deinem Server ab, unter wp-content/uploads/carlo/vehicles/<Inseratsnummer>/. Jedes Bild gibt es als WebP und als JPEG in fünf Breiten: 320, 640, 768, 1024 und 1920 Pixel. Der Browser lädt die passende Größe. Die Bilder erscheinen nicht in der Mediathek.

Adressen

SeiteAdresse
Fahrzeugliste/fahrzeuge/
Fahrzeug/fahrzeuge/<marke>/<modell>/<name>-<id>/
Fahrzeug ohne Modell/fahrzeuge/<marke>/<name>-<id>/

Die Zahl am Ende ist die Inseratsnummer bei mobile.de. Ändert sich der Name eines Fahrzeugs, leitet die alte Adresse per 301 auf die neue weiter.

Zeigt /fahrzeuge/ einen 404-Fehler, meldet WPCarlo das im Backend. Meist sind die Permalinks auf „Einfach“ gestellt oder der Server kann die .htaccess nicht schreiben.

Umstieg und alte Adressen

Wer von einem anderen Plugin kommt, hat oft Fahrzeugadressen im Muster /fahrzeugarchiv/<marke>/<modell>/<name>-<id>/. WPCarlo erkennt dieses Muster und leitet solche Adressen per 301 auf die neue Fahrzeugseite um. Links aus Google, Anzeigen und E-Mails laufen damit weiter.

Das alte Plugin kann bis zum Wechsel weiterlaufen. Beim Umstieg begleiten wir dich, schreib uns an info@driveee.de.

Vorlagen

WPCarloEinstellungenTemplates

Karteikasten

Standard. Daten, Ausstattung und Beschreibung hinter Reitern, die Seite bleibt kurz.

Handelsplatz

Dicht und kantig, mit Händlerband oben.

Markenwelt

Rund und luftig, mit Titelband und kleinen Knöpfen.

Handelshaus

Preis, Standort und Kontakt in getrennten Kästen, darunter weitere Fahrzeuge.

Für einzelne Fahrzeuge setzt du eine andere Vorlage über das Attribut template im Shortcode, zum Beispiel [carlo_vehicle id="123" template="markenwelt"].

Eigene Vorlagen im Theme

Jede Vorlage lässt sich im Theme überschreiben. Leg dafür im Theme den Ordner driveee-carlo an und kopier die Datei aus dem Plugin-Ordner templates dorthin:

wp-content/themes/dein-theme/driveee-carlo/single-carlo_vehicle.php
wp-content/themes/dein-theme/driveee-carlo/archive-carlo_vehicle.php

Achtung bei den Pflichtangaben: Wer die Vorlage überschreibt, muss den Block mit Verbrauch und CO₂-Klasse selbst stehen lassen.

Shortcodes

Die Shortcodes laufen überall, wo WordPress Shortcodes ausführt, auch in Divi, Bricks und Widgets.

Fahrzeugliste

[carlo_archive layout="grid" per_page="24" sort="date_desc"]
AttributStandardWerte
layoutgridgrid, list
per_page24Anzahl je Seite
sortdate_descsiehe Sortierung
make, modelleerListe vorfiltern, Slug oder ID
fuel, transmission, category, color, condition, locationleerListe vorfiltern

Filter

[carlo_filter filters="make,model,price" orientation="vertical" show_live_counter="1"]

Ohne filters zeigt WPCarlo alle 12 Filter. show_live_counter zeigt schon vor dem Klick, wie viele Fahrzeuge passen.

Ein Fahrzeug

[carlo_vehicle id="123" template="inherit"]

template="inherit" nimmt die Standard-Vorlage aus den Einstellungen.

Fahrzeuge einer Marke

[carlo_make_listing make="bmw" model="" limit="12" layout="grid" sort="date_desc"]

Blöcke und Elementor

Dieselben vier Bausteine gibt es als Gutenberg-Block und als Elementor-Widget:

BausteinGutenbergElementor
FahrzeuglisteFahrzeug-ArchivFahrzeug-Archiv
FilterFahrzeug-FilterFahrzeug-Filter
Ein FahrzeugEinzelnes FahrzeugEinzelnes Fahrzeug
Marke oder ModellMarken-/Modell-ListingMarken-Listing

Die Einstellungen im Editor entsprechen den Attributen der Shortcodes.

Filter per Adresse

Jeder Filter lässt sich an die Adresse der Fahrzeugliste hängen. So verlinkst du aus dem Menü oder von einem Markenlogo direkt auf eine gefilterte Liste. Klickt ein Besucher selbst Filter an, landet seine Auswahl ebenfalls in der Adresse.

/fahrzeuge/?make=bmw
/fahrzeuge/?make=bmw&price_max=30000&sort=price_asc
/fahrzeuge/?fuel=DIESEL,PETROL&ez_min=2021
ParameterFiltert nachWert
make, modelMarke, ModellSlug oder ID
locationStandortID des Standorts
fuel, transmission, category, color, conditionKraftstoff, Getriebe, Fahrzeugart, Farbe, ZustandCode wie bei mobile.de, z. B. DIESEL
price_maxPreis bisEuro
mileage_maxKilometerstand biskm
power_minLeistung abkW
ez_minErstzulassung abJahr

Mehrere Werte eines Filters trennst du mit Komma. Für sort gibt es sieben Werte:

WertReihenfolge
date_descNeueste zuerst (Standard)
price_asc, price_descPreis auf- oder absteigend
km_asc, km_descKilometerstand auf- oder absteigend
ez_desc, ez_ascErstzulassung neueste oder älteste zuerst

Anfrageformular

Das Formular sitzt auf jeder Fahrzeugseite und kennt das Fahrzeug schon. Es fragt Name, E-Mail, Telefon und Nachricht ab. Der Besucher wählt, worum es geht: allgemeine Anfrage, Probefahrt, Rückruf oder Reservierung.

  • Double-Opt-in: ab Werk an. Der Bestätigungslink gilt 7 Tage. Umschalten unter WPCarlo → Einstellungen → Allgemein.
  • Captcha: hCaptcha oder reCAPTCHA v3, einstellbar unter WPCarlo → Einstellungen → Erweitert.
  • Übersicht: alle Anfragen unter WPCarlo → Leads, mit Status.
  • Empfänger: die Anfrage-Adresse des Standorts, zu dem das Fahrzeug gehört. Hat ein Standort keine Adresse, geht sie an die Lead-Adresse (Rückfall) aus den allgemeinen Einstellungen.

Ist weder beim Standort noch als Rückfall eine Adresse eingetragen, verschickt WPCarlo keine E-Mail. Die Anfrage steht dann nur unter WPCarlo → Leads.

E-Mail-Versand

Die Benachrichtigung an dein Autohaus kommt immer von noreply@deine-domain.de. So scheitert sie nicht an den DMARC-Regeln deines Postfachs. Die Bestätigung an den Interessenten kommt von der Anfrage-Adresse des Standorts.

WPCarlo verschickt über die Mail-Funktion von WordPress. Kommen Mails nicht an, richte ein SMTP-Plugin wie WP Mail SMTP ein. Eigene SMTP-Einstellungen hat WPCarlo nicht.

Pkw-EnVKV und PAngV

WPCarlo berechnet die CO₂-Klasse aus den Daten von mobile.de nach der Pkw-EnVKV. Elektroautos bekommen immer Klasse A, Plug-in-Hybride zwei Klassen. Fehlen Verbrauchswerte, erfindet WPCarlo keine: Das Fahrzeug landet unter WPCarlo → Compliance-Issues.

  • Die Rechtshinweise zu WLTP, NEFZ, Plug-in-Hybrid und Elektro stehen als Text unter WPCarlo → Einstellungen → Erweitert.
  • Die Preisanzeige stellst du auf brutto, netto oder beides um (Allgemein → Preisanzeige).
  • WPCarlo prüft die Preise nach PAngV, zum Beispiel ob der Mehrwertsteuer-Hinweis nötig ist. Preise ändert es nicht selbst.

Hintergründe zu den Pflichtangaben stehen auf der Seite Funktionen.

Datenschutz

  • Ab Werk lädt WPCarlo keine externen Skripte und setzt keine Cookies. Bilder kommen von deinem Server.
  • Anbindungen an Real Cookie Banner, Borlabs Cookie und Complianz sind eingebaut.
  • IP-Adressen speichert WPCarlo nur als Einweg-Hash.
  • Einwilligungen und die zugehörigen Anfragen löscht WPCarlo nach 36 Monaten. Die Frist lässt sich über die Option carlo_consent_retention_months zwischen 6 und 60 Monaten setzen.
  • Anfragen tauchen in den Datenschutz-Werkzeugen von WordPress auf, zum Exportieren und Löschen.

Design anpassen

DesignCustomizerWPCarlo: Fahrzeug-Design

ReglerAuswahl
Akzentfarbefrei wählbar
EckenWeich (Standard), Eckig, Rund
SchriftSystem-Schrift (Standard) oder Schrift des Themes
DichteNormal (Standard) oder Kompakt
SkinKein Skin, Kontrast, Redaktion

Ohne eigene Akzentfarbe übernimmt WPCarlo die Hauptfarbe, die im Theme bewusst gesetzt wurde, etwa im Elementor-Kit oder in Astra. Die Farbpalette aus der theme.json liest es absichtlich nicht, weil sie selten zur Hausfarbe passt.

Tiefer greifst du über die CSS-Variablen ein, zum Beispiel im Theme:

:root {
  --carlo-color-accent: #d7263d;
  --carlo-color-accent-hover: #b01e31;
  --carlo-color-on-accent: #ffffff;
  --carlo-radius-sm: 4px;
  --carlo-radius-md: 8px;
}

Weitere Variablen: --carlo-color-accent-text, --carlo-color-accent-text-hover, --carlo-color-surface, --carlo-font-family und die Abstände --carlo-space-*.

Daten, REST und Hooks

Wo die Daten liegen

WasName
FahrzeugeBeitragstyp carlo_vehicle
Marken, ModelleTaxonomien carlo_make, carlo_model
AnfragenBeitragstyp carlo_lead
StandorteBeitragstyp carlo_location
FahrzeugdatenMeta _carlo_vehicle_data (JSON), Inseratsnummer in _carlo_mobile_ad_id

Die Fahrzeugdaten liegen gesammelt in einem JSON-Feld und nicht als einzelne Custom Fields. Für Filter und Sortierung führt WPCarlo eine eigene Index-Tabelle.

REST

Die Schnittstelle liegt unter /wp-json/carlo/v1/, die Fahrzeuge unter:

GET /wp-json/carlo/v1/vehicles

Hooks

Alle Hooks beginnen mit carlo/. Die wichtigsten:

HookArtZweck
carlo/frontend/render_argsFilterArgumente für Liste, Filter und Fahrzeug ändern
carlo/frontend/cta_buttonsFilterKnöpfe auf der Fahrzeugseite
carlo/seo/schema_carFilterSchema.org-Daten je Fahrzeug
carlo/seo/canonical_urlFilterCanonical-Adresse
carlo/sync/max_delete_ratioFilterLöschgrenze pro Abgleich
carlo/sync/watchdog_timeoutFilterAb wann ein Lauf als hängend gilt
carlo/rest/vehicles_query_argsFilterAbfrage des REST-Endpunkts
carlo/leads/lead_insertedActionNach jeder neuen Anfrage, etwa für Conversion-Tracking
carlo/vehicles/deletedActionNach dem Löschen eines Fahrzeugs
carlo/license/status_changedActionLizenzstatus hat sich geändert

So meldest du jede neue Anfrage zusätzlich an ein eigenes System:

add_action( 'carlo/leads/lead_inserted', function ( ...$args ) {
    // eigene Verarbeitung
} );

A/B-Test

Im A/B-Test verteilt WPCarlo Besucher auf die vier Vorlagen und zählt Aufrufe und Anfragen je Vorlage. Jeder Besucher sieht 30 Tage lang dieselbe Vorlage. Dafür setzt WPCarlo das Cookie carlo_ab_bucket.

WPCarloEinstellungenAllgemeinA/B-Test der Detailvorlagen

Der Test ist ab Werk aus. Er zählt nur Besucher, die eingewilligt haben. Alle anderen sehen die Standardvorlage, bekommen kein Cookie und tauchen in der Auswertung nicht auf.

Complianz erkennt WPCarlo selbst, dort zählt die Kategorie Statistik. Für andere Consent-Plugins gibst du die Einwilligung über den Filter carlo/ab_test/has_consent weiter, zum Beispiel so:

add_filter( 'carlo/ab_test/has_consent', function ( $default ) {
    // true, wenn dein Consent-Plugin die Kategorie Statistik erlaubt
    return mein_banner_statistik_erlaubt();
} );

Führe das Cookie carlo_ab_bucket in deinem Cookie-Banner als Statistik-Cookie und nimm es in deine Datenschutzerklärung auf.

Fehlerbehebung

ProblemUrsacheLösung
„Benutzername oder Passwort abgelehnt“ (401, 403)Passwort falsch oder neu erzeugt, Inserats-Einbindung abgeschaltet. Bei 403 kann auch eine IP-Sperre auf mobile.de-Seite dahinterstecken. WPCarlo zeigt für beide Codes dieselbe Meldung.Zugang im Händlerbereich prüfen, Daten unter Mobile.de-Accounts neu eintragen. Bei 403 den mobile.de-Ansprechpartner bitten, die IP deines Servers freizuschalten.
Test meldet 429zu viele Anfragen in kurzer Zeiteinige Minuten warten, WPCarlo wiederholt beim Abgleich selbst
Neue Fahrzeuge fehlender Abgleich holt nur Änderungen„Import zurücksetzen“ gleicht alles neu ab
Abgleich läuft nichtdie geplanten Aufgaben starten nur bei SeitenaufrufenServer-Cronjob einrichten und DISABLE_WP_CRON setzen
Keine Anfrage-Mailsder Mailversand des Servers ist unzuverlässig oder es fehlt eine Empfänger-AdresseSMTP-Plugin einrichten, Adressen bei Standort und Rückfall prüfen
Filter zeigen alte Trefferein Cache liefert die Schnittstelle aus dem Speicher/wp-json/carlo/v1/ im Cache ausnehmen
Verbrauch und CO₂-Klasse fehlenWerte fehlen bei mobile.de oder eine eigene Vorlage lässt den Block wegDaten bei mobile.de nachtragen, eigene Vorlage prüfen
/fahrzeuge/ zeigt 404Permalinks auf „Einfach“ oder .htaccess nicht schreibbarPermalinks auf „Beitragsname“ stellen und speichern

Hilft nichts davon, schreib uns an support@adzurro.com.

Ein Server-Cronjob für den Abgleich sieht so aus:

*/15 * * * * curl -s https://deine-domain.de/wp-cron.php > /dev/null 2>&1

Was es nicht gibt

FunktionStand
CSV-Importin Arbeit
Export für Google Vehicle Adsin Arbeit
Eigenes Divi-Modulnein, die Shortcodes laufen in Divi
SMTP-Einstellungennein, dafür ein SMTP-Plugin nutzen
Freies CSS-Feld im Backendnein, CSS gehört ins Theme oder in den Customizer
Alle Texte im Backend ändernnur die Beschriftung der Knöpfe auf der Fahrzeugseite

Fragen

Häufige Fragen zur Einrichtung.

Wie installiere ich das mobile.de Plugin in WordPress?

ZIP-Datei unter Plugins → Installieren → Plugin hochladen einspielen und aktivieren. Danach führt ein Assistent durch Lizenz, mobile.de-Zugang, Vorlage und den ersten Abgleich.

Welche Zugangsdaten braucht WPCarlo von mobile.de?

Benutzername und Passwort der Inserats-Einbindung aus deinem Händlerbereich. Wie du sie freischaltest, steht in der Anleitung zum Einbinden.

Wo stelle ich ein, wie oft abgeglichen wird?

Unter WPCarlo → Einstellungen → Allgemein, Feld Cron-Intervall. Zur Wahl stehen stündlich, alle 6 Stunden und täglich.

Funktioniert WPCarlo mit Divi?

Ein eigenes Divi-Modul gibt es nicht. Die vier Shortcodes laufen in jedem Code- oder Textmodul von Divi.

Vorab-Zugriff

Sei eins der ersten Autohäuser mit WPCarlo.

WPCarlo startet mit einer kleinen Runde Autohäuser. Wer jetzt dabei ist, bekommt besondere Startkonditionen und richtet WPCarlo mit uns zusammen ein.

Öffnet dein E-Mail-Programm mit einer vorbereiteten Nachricht an info@driveee.de.