Documentazione · Requisiti di sistema

Requisiti di WordPress

Introduzione

ADP Car Market Hub è un plugin nativo per WordPress. Non include un proprio CMS, page builder o framework front-end — si affida invece ai meccanismi standard di WordPress (custom post types, tassonomie, libreria media, REST API, WP-Cron, funzionalità e nonce).

Questo documento descrive tutto ciò che ADP Car Market Hub si aspetta dall'installazione di WordPress su cui viene eseguito: versioni di WordPress supportate, permessi di amministratore richiesti, comportamento dei permalink, utilizzo della libreria media, dipendenza da cron e considerazioni note sulla compatibilità.

Quando utilizzare questo documento

Utilizza questo documento quando:

  • Devi confermare che un sito WordPress esistente possa ospitare il plugin.
  • Stai configurando ruoli utente e funzionalità per il team di una concessionaria.
  • Stai pianificando le impostazioni dei permalink, dei media o della cache per un nuovo sito.
  • Stai verificando la compatibilità dei plugin prima di installare altri plugin insieme a ADP Car Market Hub.

Panoramica

ADP Car Market Hub si integra con WordPress come segue:

  • Registra un custom post type as24ci_car con la propria mappa delle funzionalità (as24ci_car / as24ci_cars) e 15 tassonomie per i veicoli.
  • Registra una funzionalità personalizzata manage_as24_imports e un ruolo "AS24 Editor" per la gestione delegata; gli amministratori mantengono sempre l'accesso completo.
  • Memorizza le immagini dei veicoli come allegati standard di WordPress nella libreria media.
  • Aggiunge una pagina di amministrazione (il menu "ADP Car Market Hub") con più schede (Impostazioni, Automazione, Mappatura, AI Assistant, Stato di salute, Strumenti, ecc.).
  • Utilizza WP-Cron per gli importi pianificati ed espone un endpoint REST protetto da token su /as24ci/v1/cron-import per i trigger esterni.
  • Aggiunge shortcode (archivio auto, confronta, preferiti, ecc.) e sovrascritture dei template sotto templates/ in modo che i temi possano personalizzare il front-end.
  • Legge i template del tema attivo e la gerarchia standard di single-{post-type}.php / archive-{post-type}.php.

Requisiti

Versione di WordPress

  • Minima: WordPress 6.2 (Requires at least: 6.2 nell'intestazione del plugin e readme.txt).
  • Testata fino a: WordPress 6.9 (Tested up to: 6.9 in readme.txt).
  • Consigliata: Esegui sempre l'ultima versione stabile di WordPress su un ramo supportato e mantieni abilitati gli aggiornamenti di sicurezza di WordPress.

Multisite

Il plugin è sviluppato e testato per installazioni a sito singolo di WordPress. L'attivazione di rete su un Multisite non è un caso d'uso documentato; installalo e attivalo invece sui singoli siti.

Permessi di amministratore

Sono coinvolti due livelli di permessi distinti:

  • L'installazione e la configurazione globale richiedono manage_options (ovvero un Amministratore). Il plugin utilizza current_user_can( 'manage_options' ) per proteggere le migrazioni delle funzionalità e gli strumenti pericolosi.
  • La gestione quotidiana del plugin è protetta dalla funzionalità personalizzata manage_as24_imports. All'attivazione, il plugin concede questa funzionalità (insieme alle funzionalità CPT complete di as24ci_car / as24ci_cars) al ruolo di Amministratore e al ruolo dedicato "AS24 Editor" che crea. Il ruolo standard "Editor" di WordPress non riceve queste funzionalità per scelta progettuale.
  • Tutte le azioni POST dell'amministratore, i gestori AJAX e i widget della bacheca ricontrollano la funzionalità e verificano un nonce di WordPress. I siti con sicurezza rafforzata (ruoli personalizzati, plugin di gestione dei ruoli, policy di amministrazione limitate) devono quindi concedere manage_as24_imports a qualsiasi utente che debba essere in grado di eseguire importazioni o modificare le impostazioni del plugin.
  • I permalink personalizzati (pretty permalinks) devono essere abilitati. Qualsiasi impostazione diversa da "Semplice" va bene (Giorno e nome, Mese e nome, Nome articolo, Struttura personalizzata).
  • Il custom post type as24ci_car è registrato con regole di riscrittura. Dopo aver attivato il plugin o modificato le sue opzioni relative allo slug, visita Impostazioni → Permalink e fai clic su Salva le modifiche una volta per rigenerare le regole di riscrittura.
  • L'endpoint REST protetto da token /as24ci/v1/cron-import è anch'esso registrato tramite la REST API standard di WordPress e funzionerà non appena la REST API stessa sarà raggiungibile.

Libreria media

  • Le immagini dei veicoli vengono importate come allegati standard di WordPress e memorizzate in wp-content/uploads/ con la normale struttura anno/mese.
  • Il plugin rispetta le impostazioni di gestione delle immagini di WordPress: dimensioni delle miniature, dimensioni intermedie, editor di immagini (GD o Imagick) e percorsi di caricamento.
  • La conversione opzionale in WebP utilizza la stessa libreria di immagini (GD o Imagick) che WordPress è configurato per utilizzare.
  • L'impostazione Numero massimo di immagini per veicolo limita il numero di allegati creati per auto. Il plugin deduplica le immagini tramite l'URL di origine, in modo che le re-importazioni non creino duplicati.
  • L'eliminazione di un veicolo tramite il plugin (o tramite la Sincronizzazione Completa) rimuove anche gli allegati associati per mantenere pulita la libreria media.
  • La prevenzione dell'hot-linking, i plugin di offload CDN (ad esempio lo spostamento dei caricamenti su S3) e gli ottimizzatori di immagini sono compatibili purché si colleghino al ciclo di vita standard degli allegati di WordPress.

Dipendenza da cron

  • Le importazioni pianificate si affidano a WP-Cron. Il plugin registra un intervallo extra (ogni 6 ore) e un intervallo personalizzato configurabile (minimo 15 minuti) in aggiunta ai valori predefiniti di WordPress.
  • I siti con traffico basso o imprevedibile dovrebbero disabilitare il cron predefinito al caricamento della pagina e attivare WP-Cron da un vero cron del sistema operativo, oppure chiamare l'endpoint REST protetto da token /as24ci/v1/cron-import da un pianificatore esterno.
  • Un blocco interno dell'importazione (transiente, TTL di 40 minuti) impedisce la sovrapposizione di due esecuzioni cron. Questo rende sicuri i trigger esterni "ogni 5 minuti".
  • Altri plugin basati su cron (Action Scheduler, WooCommerce, plugin di backup) coesistono senza conflitti; il plugin utilizza i propri nomi di hook dedicati sotto il prefisso as24ci_.

Considerazioni sulla compatibilità dei plugin

  • Plugin SEO: L'AI Assistant scrive i meta titoli e le meta descrizioni nei formati previsti da Yoast SEO e Rank Math.
  • Plugin di cache: Le cache di pagina sono compatibili. Escludi dalla cache le pagine di amministrazione di WordPress e la rotta REST /as24ci/v1/cron-import. Le cache degli oggetti (Redis, Memcached) sono supportate tramite l'API di cache standard di WordPress.
  • Plugin di sicurezza / WAF: Consenti l'HTTPS in uscita verso AutoScout24 (e verso l'endpoint gestito di Google Gemini quando le funzionalità AI sono abilitate) e non bloccare le richieste POST alle pagine di amministrazione del plugin o al suo endpoint REST. Il token cron deve essere incluso nella richiesta come documentato nella scheda Importazione e Limiti.
  • Page builder / temi a blocchi: Le pagine del singolo veicolo e dell'archivio vengono renderizzate tramite i template standard di WordPress e gli shortcode, quindi qualsiasi tema — classico o basato su blocchi — che rispetti la gerarchia dei template funzionerà.
  • Plugin di traduzione: Il plugin è completamente internazionalizzato sotto il text domain adp-car-market-hub (languages/). I plugin di traduzione che operano sulle stringhe standard di WordPress funzionano come previsto.

Configurazione di produzione consigliata

  • Ultima versione stabile di WordPress con aggiornamenti minori automatici abilitati.
  • Permalink personalizzati impostati su Nome articolo o Struttura personalizzata.
  • Account amministratore dedicato alla manutenzione del plugin, più uno o più utenti "AS24 Editor" per il lavoro quotidiano.
  • Un vero cron a livello di sistema operativo che attiva wp-cron.php (o l'endpoint cron REST) ogni 5-15 minuti, con DISABLE_WP_CRON impostato su true.
  • Un tema con supporto nativo per i template dei custom post type, o un tema child che sovrascriva i template del plugin secondo necessità.
  • Cache degli oggetti (Redis o Memcached) sui siti trafficati per velocizzare le schede di amministrazione che aggregano dati analitici o lead.

Note operative

  • Rigenera le regole di riscrittura (Impostazioni → Permalink → Salva) dopo ogni aggiornamento del plugin che modifica la struttura degli URL o dopo la migrazione tra ambienti.
  • Il plugin scrive solo sulle proprie chiavi di opzione (as24ci_*), sulle proprie tabelle personalizzate, sulle tabelle standard di WordPress posts/postmeta/term per as24ci_car e sulla libreria media di WordPress. La rimozione del plugin tramite uninstall.php pulisce i propri dati.
  • Il ruolo personalizzato "AS24 Editor" e la funzionalità manage_as24_imports sono gestiti tramite Plugin::ensure_roles_and_caps() all'attivazione e agli aggiornamenti della versione delle funzionalità; i revisori che utilizzano plugin di gestione dei ruoli non dovrebbero eliminarli mentre il plugin è attivo.
  • L'output del front-end rispetta il tema attivo. Per personalizzare a fondo i template dei veicoli, copia i file dalla directory templates/ del plugin nel tuo tema child.

Risoluzione dei problemi

  • Errore 404 sull'archivio dei veicoli o sulle singole pagine: Visita Impostazioni → Permalink e fai clic su Salva. Conferma che i permalink personalizzati non siano impostati su "Semplice".
  • Menu di amministrazione non visibile a un utente non amministratore: Verifica che il ruolo dell'utente abbia la funzionalità manage_as24_imports.
  • I pulsanti di importazione restituiscono "permesso negato" o errori di nonce: Ricarica la pagina di amministrazione (i nonce scadono dopo 24 ore) e conferma che l'utente possieda manage_as24_imports.
  • Le importazioni pianificate non vengono mai eseguite: Conferma che WP-Cron sia raggiungibile, oppure passa a un trigger cron esterno (wp-cron.php o l'endpoint REST con il token configurato).
  • Immagini mancanti nella libreria media: Controlla l'impostazione Numero massimo di immagini per veicolo, lo spazio libero su disco e lo stato della coda delle immagini nella scheda Importazione e Limiti.
  • L'endpoint REST restituisce 401: Assicurati che la richiesta includa il token cron configurato e che nessun plugin di sicurezza stia rimuovendo i parametri di query o di intestazione.

Documenti correlati