Il 90% del Lavoro di Gestione WordPress è Ripetitivo. L’AI Lo Fa Meglio.
Aggiornare plugin. Controllare se il sito è online. Verificare che nessun form sia rotto. Scansionare per malware. Mandare il report mensile al cliente. Ogni agenzia WordPress fa queste cose su decine di siti, ogni settimana, manualmente.
Non deve funzionare così.
L’intelligenza artificiale applicata alla gestione WordPress non significa chatbot che scrivono articoli. Significa automazione intelligente: sistemi che controllano, analizzano, decidono e agiscono senza intervento umano. E quando qualcosa richiede attenzione, ti avvisano con contesto sufficiente per agire subito.
Questo articolo mostra come integrare l’AI (specificamente Claude API di Anthropic) nel workflow di gestione WordPress. Con codice PHP reale, non concetti astratti.
Cosa Puoi Automatizzare con l’AI (e Cosa No)
Automazioni che funzionano oggi
| Task | Senza AI | Con AI | Risparmio |
|---|---|---|---|
| Report mensile clienti | 2-3 ore per 10 clienti | 10 minuti (generazione + revisione) | ~85% |
| Analisi log di sicurezza | 30 min per sito, occhio umano | Automatica, alert solo su anomalie | ~90% |
| Diagnosi errori 500 | SSH, log, debug manuale | AI analizza il log e suggerisce fix | ~60% |
| Monitoraggio uptime | Tool esterno + notifiche generiche | AI predice i downtime dai pattern | Qualitativo |
| Scansione vulnerabilità | Plugin scan, revisione manuale | AI correla CVE con plugin installati | ~70% |
| Risposta ticket supporto L1 | Operatore umano, 15 min/ticket | AI draft + revisione umana, 3 min | ~80% |
Cosa NON automatizzare (ancora)
- Aggiornamenti major di WordPress: troppo rischioso senza test umano. L’AI può testare in staging, ma il go-live resta manuale
- Decisioni di design: l’AI può suggerire, il designer decide
- Comunicazione con clienti critici: l’AI scrive la bozza, tu la rivedi prima di inviarla
Integrare Claude API in WordPress: Setup Pratico
Prerequisiti
- Account Anthropic con API key (console.anthropic.com)
- PHP 7.4+ (WordPress standard)
- Accesso al server (per cron job e mu-plugin)
Step 1: classe PHP per Claude API
Crea un mu-plugin (wp-content/mu-plugins/claude-api.php) con la classe base:
<?php
/**
* Plugin Name: Claude API Integration
* Description: Wrapper per Claude API in WordPress
*/
class Claude_API {
private $api_key;
private $model = 'claude-sonnet-4-20250514';
private $api_url = 'https://api.anthropic.com/v1/messages';
public function __construct() {
$this->api_key = defined('CLAUDE_API_KEY')
? CLAUDE_API_KEY
: get_option('claude_api_key');
}
public function send_message(string $prompt, string $system = '', int $max_tokens = 1024): array {
$body = [
'model' => $this->model,
'max_tokens' => $max_tokens,
'messages' => [
['role' => 'user', 'content' => $prompt]
]
];
if ($system) {
$body['system'] = $system;
}
$response = wp_remote_post($this->api_url, [
'timeout' => 30,
'headers' => [
'Content-Type' => 'application/json',
'x-api-key' => $this->api_key,
'anthropic-version' => '2023-06-01'
],
'body' => json_encode($body)
]);
if (is_wp_error($response)) {
return ['error' => $response->get_error_message()];
}
$data = json_decode(wp_remote_retrieve_body($response), true);
return [
'content' => $data['content'][0]['text'] ?? '',
'usage' => $data['usage'] ?? [],
'stop_reason'=> $data['stop_reason'] ?? ''
];
}
}
// Inizializza globalmente
$GLOBALS['claude'] = new Claude_API();
Aggiungi la API key in wp-config.php:
define('CLAUDE_API_KEY', 'sk-ant-api03-...');
Step 2: report automatici per i clienti
Questo è il caso d’uso con il ROI più alto. Invece di scrivere manualmente il report mensile per ogni cliente, l’AI lo genera dai dati reali del sito.
function generate_monthly_report(int $site_id): string {
$claude = $GLOBALS['claude'];
// Raccogli i dati del mese
$data = [
'uptime' => get_uptime_percentage($site_id),
'page_views' => get_monthly_pageviews($site_id),
'speed_score' => get_pagespeed_score($site_id),
'updates' => get_updates_applied($site_id),
'security' => get_security_events($site_id),
'backups' => get_backup_count($site_id),
];
$prompt = "Genera un report mensile per il cliente basandoti su questi dati:\n\n"
. json_encode($data, JSON_PRETTY_PRINT)
. "\n\nIl report deve essere:\n"
. "- In italiano, tono professionale ma non freddo\n"
. "- 300-500 parole\n"
. "- Con i numeri chiave in evidenza\n"
. "- Con 2-3 raccomandazioni specifiche basate sui dati\n"
. "- Senza inventare dati non presenti nell'input";
$system = "Sei un WordPress agency manager. Scrivi report per clienti non tecnici. "
. "Sii chiaro, specifico, e usa i numeri forniti. Non inventare mai dati.";
$result = $claude->send_message($prompt, $system, 2048);
return $result['content'];
}
Il costo? Con Claude Sonnet, un report da 500 parole costa circa $0.003 (tre millesimi di dollaro). 10 clienti al mese: $0.03. Confrontalo con 2-3 ore di lavoro manuale.
Step 3: analisi automatica dei log di errore
function analyze_error_log(): array {
$claude = $GLOBALS['claude'];
// Ultimi 50 errori dal log
$log_file = WP_CONTENT_DIR . '/debug.log';
if (!file_exists($log_file)) return ['status' => 'no_log'];
$lines = array_slice(file($log_file), -50);
$log_content = implode('', $lines);
$prompt = "Analizza questi errori WordPress e fornisci:\n"
. "1. I 3 problemi più critici\n"
. "2. La causa probabile di ciascuno\n"
. "3. Il fix consigliato (codice o azione specifica)\n"
. "4. Se qualcuno richiede azione immediata\n\n"
. "Log:\n" . $log_content;
$system = "Sei un WordPress developer senior con 15 anni di esperienza. "
. "Analizza i log con precisione. Non suggerire fix generici, sii specifico.";
$result = $claude->send_message($prompt, $system, 2048);
return [
'analysis' => $result['content'],
'errors' => count($lines),
'timestamp'=> current_time('mysql')
];
}
Step 4: cron job per automazione
Collega tutto con WP-Cron (o meglio, un cron reale del sistema):
// Registra gli eventi schedulati
add_action('init', function() {
if (!wp_next_scheduled('ai_daily_health_check')) {
wp_schedule_event(time(), 'daily', 'ai_daily_health_check');
}
if (!wp_next_scheduled('ai_monthly_reports')) {
wp_schedule_event(time(), 'monthly', 'ai_monthly_reports');
}
});
// Health check giornaliero
add_action('ai_daily_health_check', function() {
$analysis = analyze_error_log();
// Se ci sono problemi critici, notifica via email
if (strpos($analysis['analysis'], 'azione immediata') !== false) {
wp_mail(
get_option('admin_email'),
'⚠️ WordPress AI Alert: Problemi Rilevati',
$analysis['analysis']
);
}
});
// Report mensili
add_action('ai_monthly_reports', function() {
$sites = get_managed_sites(); // La tua funzione per ottenere i siti gestiti
foreach ($sites as $site) {
$report = generate_monthly_report($site->ID);
// Salva o invia il report
update_post_meta($site->ID, '_monthly_report_' . date('Y-m'), $report);
}
});
Costi Reali dell’Automazione AI
Facciamo i conti per un’agenzia che gestisce 30 siti WordPress:
| Automazione | Chiamate API/mese | Token stimati | Costo Claude Sonnet |
|---|---|---|---|
| Report mensili (30 clienti) | 30 | ~60K | ~$0.18 |
| Analisi log giornaliera (30 siti) | 900 | ~450K | ~$1.35 |
| Scansione vulnerabilità settimanale | 120 | ~240K | ~$0.72 |
| Ticket supporto L1 (50/mese) | 50 | ~100K | ~$0.30 |
| TOTALE | 1100 | ~850K | ~$2.55/mese |
Due dollari e mezzo al mese. Per automatizzare 20+ ore di lavoro manuale. Il ROI non ha bisogno di spiegazioni.
Sicurezza e Best Practice
- Mai inviare credenziali all’API: i prompt non devono mai contenere password, API key di terze parti, o dati sensibili dei clienti
- Sanitizza l’output: l’AI genera testo, non lo eseguire come codice senza revisione. Usa
wp_kses_post()per i report HTML - Rate limiting: aggiungi un limite di chiamate API per evitare costi imprevisti. Un transient WordPress funziona bene
- Logging: registra ogni chiamata API (prompt, risposta, costo) per audit e debug
- Fallback: se l’API è down o il budget è esaurito, il sistema deve funzionare senza AI (report manuale, alert standard)
FAQ
Claude API o OpenAI API per WordPress?
Per analisi di codice e log, Claude è superiore: la finestra di contesto più ampia (200K token) permette di analizzare log enormi in una singola chiamata. Per generazione di testo breve (meta description, titoli), sono equivalenti. Il codice in questo articolo usa Claude, ma la struttura funziona con qualsiasi LLM API cambiando l’endpoint e il formato della richiesta.
Quanto costa Claude API per un’agenzia piccola?
Con 10-15 siti gestiti e le automazioni descritte sopra: meno di $1/mese. Claude Sonnet costa $3/milione di token in input e $15/milione in output. Per i task di gestione WordPress, i prompt sono brevi e le risposte sono moderate. Non servono i modelli più costosi.
L’AI può aggiornare i plugin automaticamente?
Tecnicamente sì. Praticamente, non dovresti lasciarglielo fare in produzione senza test. Il workflow sicuro: l’AI verifica le release note e i changelog, decide se l’aggiornamento è sicuro (niente breaking changes), lo applica in staging, testa, e poi notifica l’umano per il go-live. L’aggiornamento automatico in produzione senza test è rischioso indipendentemente da chi lo fa (AI o umano).
Posso usare queste automazioni con tool di gestione multi-sito?
Sì. Le automazioni AI si integrano con qualsiasi setup: singolo sito, multisite, o dashboard come ManageWP/MainWP/AgencyPilot. Le API REST di questi tool possono fornire i dati che l’AI analizza. AgencyPilot integra Claude API nativamente per report e analisi.