{"id":3335,"date":"2026-07-18T09:00:00","date_gmt":"2026-07-18T07:00:00","guid":{"rendered":"https:\/\/brentasoft.com\/blog\/performance-tuning-odoo-19-pmi-italiane-guida\/"},"modified":"2026-06-10T07:55:35","modified_gmt":"2026-06-10T05:55:35","slug":"performance-tuning-odoo-19-pmi-italiane-guida","status":"publish","type":"post","link":"https:\/\/brentasoft.com\/blog\/performance-tuning-odoo-19-pmi-italiane-guida\/","title":{"rendered":"Performance Odoo: indici, query, infrastruttura per PMI italiane (guida tuning)"},"content":{"rendered":"<p><em>Quarantunesima guida operativa Odoo 19 per PMI italiane. Un sistema Odoo che si carica in 1 secondo a inizio progetto pu\u00f2 diventare un sistema da 12 secondi dopo 3 anni di volumi crescenti. La differenza tra una PMI che mantiene performance eccellenti e una che lavora con utenti frustrati \u00e8 la cura proattiva: monitoring, indici database, query optimization, infrastructure tuning. In questa guida vediamo come ottimizzare le performance Odoo per volumi alti, con interventi a livello applicativo, database e infrastruttura.<\/em><\/p>\n<p>Vediamo: KPI di performance, livelli di ottimizzazione, indici PostgreSQL, query optimization, caching, infrastruttura, monitoring tool, casi pratici PMI italiane.<\/p>\n<h2>KPI di performance da monitorare<\/h2>\n<h3>Frontend (UX utenti)<\/h3>\n<ul>\n<li><strong>Time to First Byte (TTFB)<\/strong>: &lt; 500ms target<\/li>\n<li><strong>Page Load Time<\/strong>: &lt; 2 secondi per liste tipiche<\/li>\n<li><strong>List view load<\/strong>: &lt; 1 secondo per 80 record<\/li>\n<li><strong>Form save<\/strong>: &lt; 500ms per record standard<\/li>\n<li><strong>Search response<\/strong>: &lt; 300ms per ricerche con indici<\/li>\n<\/ul>\n<h3>Backend (server)<\/h3>\n<ul>\n<li><strong>CPU avg<\/strong>: &lt; 60% sostenuto, picchi &lt; 85%<\/li>\n<li><strong>RAM usage<\/strong>: &lt; 75% del totale<\/li>\n<li><strong>Postgres connections<\/strong>: &lt; 70% del max_connections<\/li>\n<li><strong>Disk I\/O<\/strong>: monitorare wait time, target &lt; 5ms<\/li>\n<li><strong>Long queries<\/strong>: &lt; 5\/giorno sopra 5 secondi<\/li>\n<\/ul>\n<h3>User experience (qualitativi)<\/h3>\n<ul>\n<li>Numero ticket &#8220;sistema lento&#8221; per settimana<\/li>\n<li>NPS utenti su responsiveness<\/li>\n<li>Abbandono task per slowness<\/li>\n<\/ul>\n<h2>Livelli di ottimizzazione<\/h2>\n<h3>1. Application layer (Odoo)<\/h3>\n<ul>\n<li>Indici sui campi searched\/filtered<\/li>\n<li>Eliminazione customization che fanno query in loop<\/li>\n<li>Caching computed fields con <code>store=True<\/code><\/li>\n<li>Ottimizzazione record rules complesse<\/li>\n<li>Disabilitazione moduli inutilizzati<\/li>\n<\/ul>\n<h3>2. Database layer (PostgreSQL)<\/h3>\n<ul>\n<li>Configurazione PostgreSQL tunata<\/li>\n<li>VACUUM e ANALYZE periodici<\/li>\n<li>Indici personalizzati per query frequenti<\/li>\n<li>Partitioning per tabelle storiche (oltre 10M record)<\/li>\n<li>Read replica per reporting<\/li>\n<\/ul>\n<h3>3. Infrastructure layer<\/h3>\n<ul>\n<li>Server dimensionato correttamente (CPU, RAM, disk)<\/li>\n<li>NVMe SSD obbligatori per database<\/li>\n<li>Worker Odoo configurati per CPU disponibili<\/li>\n<li>Reverse proxy con caching (Nginx)<\/li>\n<li>CDN per asset statici (Cloudflare)<\/li>\n<\/ul>\n<h2>Indici database: il primo intervento<\/h2>\n<h3>Cosa \u00e8 un indice e perch\u00e9 importa<\/h3>\n<ul>\n<li>Database scansiona riga per riga senza indici (slow)<\/li>\n<li>Con indici: lookup in tempo logaritmico (fast)<\/li>\n<li>Trade-off: write pi\u00f9 lente (mantenimento indice)<\/li>\n<\/ul>\n<h3>Indici obbligatori per Odoo<\/h3>\n<ul>\n<li>Tutti i campi <code>many2one<\/code> (relazioni) hanno indice di default<\/li>\n<li>Campi usati come filtri frequenti: aggiungere indice esplicito<\/li>\n<li>Campi con <code>tracking=True<\/code>: indice utile per audit log query<\/li>\n<li>Campi date\/datetime in report frequenti<\/li>\n<\/ul>\n<h3>Verifica indici esistenti<\/h3>\n<p>Una vista dei modelli Odoo permette di identificare quali tabelle ospitano i dati critici. Da qui parte ogni analisi di performance database:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2026\/06\/odoo-perf-01-models.png\" alt=\"Lista IR Models Odoo 19 con XML ID per audit performance database PMI\" class=\"aligncenter size-full wp-image-3332\"\/><\/p>\n<ul>\n<li>Identificare tabelle con &gt; 100k record<\/li>\n<li>Verificare query lente che le toccano<\/li>\n<li>Aggiungere indici mirati<\/li>\n<li>Misurare miglioramento (EXPLAIN ANALYZE)<\/li>\n<\/ul>\n<h3>Esempio: aggiungere indice custom<\/h3>\n<pre><code># In modello Python custom\npriority = fields.Selection([...], index=True)\n\n# O via SQL diretto (sconsigliato in produzione)\nCREATE INDEX idx_lead_priority ON crm_lead(priority);\n<\/code><\/pre>\n<h2>Saved filters: ottimizzare ricerche ricorrenti<\/h2>\n<p>I filtri salvati Odoo permettono agli utenti di accedere rapidamente a viste pre-configurate. Da un punto di vista performance, sono anche un modo per evitare ricerche ad-hoc costose:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2026\/06\/odoo-perf-02-filters.png\" alt=\"IR Filters Odoo 19 saved filters per ottimizzazione query ricorrenti PMI\" class=\"aligncenter size-full wp-image-3333\"\/><\/p>\n<ul>\n<li>Filtro &#8220;ordini mese corrente&#8221; usato 100 volte\/giorno<\/li>\n<li>Salvarlo = stessa query SQL ottimizzata<\/li>\n<li>Cache PostgreSQL ricorda risultato<\/li>\n<li>Indici dedicati per filtri frequenti<\/li>\n<\/ul>\n<h2>Server Actions: pulizia per performance<\/h2>\n<p>Le server actions e gli automated actions sono potenti ma possono diventare collo di bottiglia se accumulate senza criterio. Audit periodico \u00e8 essenziale:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2026\/06\/odoo-perf-03-actions.png\" alt=\"Lista server actions Odoo 19 audit performance automazioni PMI\" class=\"aligncenter size-full wp-image-3334\"\/><\/p>\n<ul>\n<li>Audit annuale automated actions: quali sono ancora rilevanti<\/li>\n<li>Time-based actions: convertire in cron schedulato se frequenza bassa<\/li>\n<li>Actions in cascata: identificare se ne servono tutte<\/li>\n<li>Action complesse: refactor in moduli Python custom<\/li>\n<\/ul>\n<h2>Configurazione PostgreSQL per Odoo<\/h2>\n<h3>Parametri chiave (PMI 30-80 utenti)<\/h3>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"6\">\n<thead>\n<tr>\n<th>Parametro<\/th>\n<th>Valore raccomandato<\/th>\n<th>Note<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>shared_buffers<\/td>\n<td>25% RAM<\/td>\n<td>Cache PostgreSQL<\/td>\n<\/tr>\n<tr>\n<td>effective_cache_size<\/td>\n<td>50-75% RAM<\/td>\n<td>Cache OS hint<\/td>\n<\/tr>\n<tr>\n<td>work_mem<\/td>\n<td>16-64MB<\/td>\n<td>Memoria per query<\/td>\n<\/tr>\n<tr>\n<td>maintenance_work_mem<\/td>\n<td>256MB-1GB<\/td>\n<td>VACUUM, CREATE INDEX<\/td>\n<\/tr>\n<tr>\n<td>max_connections<\/td>\n<td>100-200<\/td>\n<td>Dipende worker Odoo<\/td>\n<\/tr>\n<tr>\n<td>wal_buffers<\/td>\n<td>16MB<\/td>\n<td>Write-ahead log<\/td>\n<\/tr>\n<tr>\n<td>checkpoint_completion_target<\/td>\n<td>0.9<\/td>\n<td>Spread I\/O<\/td>\n<\/tr>\n<tr>\n<td>random_page_cost<\/td>\n<td>1.1<\/td>\n<td>Per SSD<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Maintenance routine<\/h3>\n<ul>\n<li>VACUUM ANALYZE settimanale (autovacuum se ben configurato)<\/li>\n<li>REINDEX trimestrale su tabelle critiche<\/li>\n<li>Monitoring bloat (vedi pg_stat_user_tables)<\/li>\n<li>Update statistics (ANALYZE) post-import massivi<\/li>\n<\/ul>\n<h2>Worker Odoo: scaling orizzontale<\/h2>\n<h3>Configurazione worker<\/h3>\n<ul>\n<li><code>workers = (2 \u00d7 CPU) + 1<\/code> per HTTP request<\/li>\n<li><code>cron_workers = 1-2<\/code> per scheduled actions<\/li>\n<li><code>longpolling_port<\/code> separato per chat\/notifiche real-time<\/li>\n<li>Memory limit per worker: 2-4GB (RAM\/workers)<\/li>\n<\/ul>\n<h3>Esempio configurazione PMI 50 utenti<\/h3>\n<pre><code># odoo.conf\nworkers = 9       # Server 4 CPU\nmax_cron_threads = 2\nlimit_memory_soft = 2147483648  # 2GB\nlimit_memory_hard = 2684354560  # 2.5GB\nlimit_request = 8192\nlimit_time_cpu = 600\nlimit_time_real = 1200\n<\/code><\/pre>\n<h3>Load balancing multi-server<\/h3>\n<ul>\n<li>Per &gt; 100 utenti: setup multi-server con load balancer<\/li>\n<li>Nginx + 2-4 Odoo server<\/li>\n<li>Database centrale + read replica per reporting<\/li>\n<li>Session storage Redis condiviso<\/li>\n<\/ul>\n<h2>Caching strategies<\/h2>\n<h3>Browser cache (asset statici)<\/h3>\n<ul>\n<li>Cache-Control headers per JS, CSS, immagini<\/li>\n<li>Versioning asset via Odoo automatico<\/li>\n<li>CDN (Cloudflare) per cache distribuita geograficamente<\/li>\n<\/ul>\n<h3>Application cache<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2026\/06\/odoo-pool-042.png\" alt=\"performance tuning Odoo indici e query PMI\" class=\"aligncenter size-full wp-image-3452\"\/><\/p>\n<ul>\n<li>Computed fields <code>store=True<\/code> evitano ricalcolo<\/li>\n<li>Cache <code>ormcache<\/code> per metodi pesanti<\/li>\n<li>Invalidazione automatica su modifiche<\/li>\n<\/ul>\n<h3>Database cache<\/h3>\n<ul>\n<li>PostgreSQL shared_buffers ben dimensionato<\/li>\n<li>Query plan cache<\/li>\n<li>Connection pooling (PgBouncer per &gt; 100 utenti)<\/li>\n<\/ul>\n<h2>Identificare bottleneck<\/h2>\n<h3>Tool di monitoring<\/h3>\n<ul>\n<li><strong>Odoo profile dev mode<\/strong>: timing per ogni richiesta<\/li>\n<li><strong>PostgreSQL pg_stat_statements<\/strong>: query pi\u00f9 frequenti\/lente<\/li>\n<li><strong>Application Performance Monitoring (APM)<\/strong>: NewRelic, DataDog, Sentry<\/li>\n<li><strong>Server monitoring<\/strong>: Prometheus + Grafana<\/li>\n<li><strong>Log aggregation<\/strong>: ELK stack o Loki<\/li>\n<\/ul>\n<h3>Workflow troubleshooting<\/h3>\n<ul>\n<li>Identifica metrica peggiorata (es. &#8220;lista clienti caricamento lento&#8221;)<\/li>\n<li>Riproduci problema in staging<\/li>\n<li>Profile dev mode per identificare metodi lenti<\/li>\n<li>Analizza query SQL via pg_stat_statements<\/li>\n<li>Implementa fix mirato<\/li>\n<li>Misura miglioramento before\/after<\/li>\n<li>Deploy produzione + monitoring<\/li>\n<\/ul>\n<h2>Ottimizzazioni Odoo-specifiche<\/h2>\n<h3>Disabilitare moduli inutilizzati<\/h3>\n<ul>\n<li>Ogni modulo aggiunge: codice, tabelle, indici, computed fields<\/li>\n<li>Audit annuale &#8220;moduli installati vs effettivamente usati&#8221;<\/li>\n<li>Disinstallazione moduli non usati &gt; 6 mesi<\/li>\n<li>Beneficio tipico: -10\/30% memoria, -5\/15% startup time<\/li>\n<\/ul>\n<h3>Ottimizzare record rules<\/h3>\n<ul>\n<li>Record rules complesse rallentano OGNI query sul modello<\/li>\n<li>Refactor domain con campi indicizzati<\/li>\n<li>Evitare nested queries in record rules<\/li>\n<li>Caching tramite computed fields helper<\/li>\n<\/ul>\n<h3>Archive dati storici<\/h3>\n<ul>\n<li>Record &gt; 5 anni: candidate per archiviazione<\/li>\n<li>Mantieni accessibili via &#8220;Show Archived&#8221; filter<\/li>\n<li>Riduce dimensione tabelle live<\/li>\n<li>Per dati molto vecchi: dump in tabella separata o file<\/li>\n<\/ul>\n<h2>Errori comuni nel performance tuning<\/h2>\n<h3>&#8220;Aggiungere indici senza misurare&#8221;<\/h3>\n<p><strong>Problema<\/strong>: 50 indici creati, performance peggiorate (write lente).<br \/>\n<strong>Soluzione<\/strong>: misurare prima e dopo ogni indice. EXPLAIN ANALYZE in mano.<\/p>\n<h3>&#8220;Ottimizzare prematuramente&#8221;<\/h3>\n<p><strong>Problema<\/strong>: 2 settimane di tuning per query usata 3 volte al giorno.<br \/>\n<strong>Soluzione<\/strong>: profile prima, ottimizza solo quello che impatta UX reale.<\/p>\n<h3>&#8220;Upgrade hardware senza tuning software&#8221;<\/h3>\n<p><strong>Problema<\/strong>: triplicare RAM\/CPU senza ottimizzare configurazione.<br \/>\n<strong>Soluzione<\/strong>: hardware \u00e8 ultima leva. Prima tuning PostgreSQL + Odoo worker.<\/p>\n<h3>&#8220;Monitoring assente fino a problema critico&#8221;<\/h3>\n<p><strong>Problema<\/strong>: si scopre lentezza da utenti, gi\u00e0 troppo tardi.<br \/>\n<strong>Soluzione<\/strong>: monitoring proattivo + alert automatici (es. response time &gt; 2s).<\/p>\n<h3>&#8220;Single-server fino a 200 utenti&#8221;<\/h3>\n<p><strong>Problema<\/strong>: insistere con 1 server con CPU al 95%.<br \/>\n<strong>Soluzione<\/strong>: scaling orizzontale a partire da 80-100 utenti concorrenti.<\/p>\n<h2>Costi tipici performance tuning<\/h2>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"6\">\n<thead>\n<tr>\n<th>Intervento<\/th>\n<th>Effort<\/th>\n<th>Costo tipico<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Audit performance + report<\/td>\n<td>2-4 giorni<\/td>\n<td>1.500-3.500 \u20ac<\/td>\n<\/tr>\n<tr>\n<td>Tuning PostgreSQL + Odoo config<\/td>\n<td>2-3 giorni<\/td>\n<td>1.500-2.500 \u20ac<\/td>\n<\/tr>\n<tr>\n<td>Aggiunta indici mirati (10-30 indici)<\/td>\n<td>1-2 giorni<\/td>\n<td>800-1.800 \u20ac<\/td>\n<\/tr>\n<tr>\n<td>Refactor record rules complesse<\/td>\n<td>3-7 giorni<\/td>\n<td>2.500-6.000 \u20ac<\/td>\n<\/tr>\n<tr>\n<td>Setup monitoring + alerting<\/td>\n<td>3-5 giorni<\/td>\n<td>2.500-4.500 \u20ac<\/td>\n<\/tr>\n<tr>\n<td>Multi-server architecture<\/td>\n<td>10-20 giorni<\/td>\n<td>10.000-25.000 \u20ac<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Casi pratici PMI italiane<\/h2>\n<h3>Caso 1 \u2014 Manifattura: tuning PostgreSQL<\/h3>\n<ul>\n<li>Sistema lento dopo 2 anni (DB 80GB)<\/li>\n<li>Tuning shared_buffers + work_mem + autovacuum<\/li>\n<li>Aggiunta 15 indici mirati<\/li>\n<li>Effort: 5 giorni, costo 4k \u20ac<\/li>\n<li>Risultato: lista ordini -70% tempo carico (da 8s a 2.4s)<\/li>\n<\/ul>\n<h3>Caso 2 \u2014 Distributore: multi-server architecture<\/h3>\n<ul>\n<li>120 utenti concorrenti, server saturato<\/li>\n<li>Setup: load balancer + 3 Odoo nodes + DB replicato<\/li>\n<li>Effort: 18 giorni, costo 18k \u20ac<\/li>\n<li>Risultato: capacit\u00e0 300 utenti, response time stabile<\/li>\n<\/ul>\n<h3>Caso 3 \u2014 Servizi B2B: archive dati storici<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2026\/06\/odoo-pool-043.png\" alt=\"infrastruttura ottimizzata Odoo per scalabilit\u00e0\" class=\"aligncenter size-full wp-image-3453\"\/><\/p>\n<ul>\n<li>10 anni di timesheet (4M record), query lente<\/li>\n<li>Archiviazione record &gt; 5 anni in tabella separata<\/li>\n<li>Query report -85% tempo (da 45s a 6s)<\/li>\n<li>Effort: 4 giorni, costo 3.2k \u20ac<\/li>\n<\/ul>\n<h3>Caso 4 \u2014 E-commerce: indici per ricerca prodotti<\/h3>\n<ul>\n<li>500k prodotti, ricerca lenta (5-8s)<\/li>\n<li>Indice GIN su trigrammi per fuzzy search<\/li>\n<li>Effort: 3 giorni, costo 2.5k \u20ac<\/li>\n<li>Risultato: ricerca &lt; 300ms, conversion +18%<\/li>\n<\/ul>\n<h2>FAQ<\/h2>\n<h3>Quanto dura il tuning prima di vedere benefici?<\/h3>\n<p>Quick wins: 1-3 giorni (tuning config, indici basici) \u2192 miglioramento 30-50% percepito. Ottimizzazioni avanzate: 2-4 settimane \u2192 miglioramento sostenuto. Multi-server: 2-3 mesi setup + 1 mese stabilization.<\/p>\n<h3>Quando passare da single-server a multi-server?<\/h3>\n<p>Soglia tipica: 80-100 utenti concorrenti su 4 CPU. Sopra: scaling verticale (pi\u00f9 CPU\/RAM) fino a 8-16 CPU. Oltre: scaling orizzontale (load balancer + multi-node) obbligatorio. Eccezione: workload mixed (CPU-bound + I\/O bound) pu\u00f2 richiedere multi-server prima.<\/p>\n<h3>Quanto costa un server adeguato per PMI 50 utenti?<\/h3>\n<p>Cloud (AWS\/Azure\/GCP): 4-8 vCPU, 16-32GB RAM, 200-500GB NVMe SSD = 300-700 \u20ac\/mese. Hosting dedicato (OVH, Hetzner): 50-200 \u20ac\/mese per server equivalente ma meno managed. Per produzione: backup + monitoring +50% del costo base.<\/p>\n<h3>Posso usare Odoo Online (SaaS) per PMI grande?<\/h3>\n<p>Odoo Online \u00e8 ottimo per PMI fino a 30-50 utenti con scope standard. Sopra questa soglia o con personalizzazioni: meglio Odoo.sh (managed self-hosted) o on-premise. Limitazioni Odoo Online: customization Python custom, performance tuning, backup self-managed.<\/p>\n<h3>Quanto spesso dovrei fare performance audit?<\/h3>\n<p>Audit completo annuale + quick check trimestrale. Audit straordinario quando: volumi crescono &gt; 30%, lamentele utenti aumentano, dopo upgrade major, dopo aggiunta moduli importanti. Monitoring continuo evita audit emergency.<\/p>\n<h2>Prossimi passi<\/h2>\n<p>Nelle prossime guide vedremo come <strong>gestire backup e disaster recovery<\/strong> in ottica business continuity, come <strong>scalare il sistema a 200+ utenti<\/strong>, e come <strong>migrare a infrastruttura cloud<\/strong> mantenendo performance.<\/p>\n<p style=\"margin-top:30px;background:#f4f4f8;padding:18px;border-radius:8px;\"><strong>Vuoi ottimizzare le performance Odoo della tua PMI?<\/strong><br \/>\nG Tech Group offre performance audit Odoo per PMI italiane: tuning PostgreSQL, indici, configurazione worker, monitoring proattivo, scaling architecture. Riduzione tempo di risposta tipica del 50-70%.<br \/>\n<a href=\"https:\/\/brentasoft.com\/preventivatore.php\"><strong>Richiedi un preventivo gratuito<\/strong><\/a> oppure prova la nostra <a href=\"https:\/\/odoo.brentasoft.com\/\">demo Odoo 19 live<\/a>. Oppure <a href=\"https:\/\/www.odoo.com?utm_campaign=partner-d192ce8a&amp;utm_source=partner_ref\" target=\"_blank\" rel=\"noopener noreferrer\">prova Odoo direttamente su odoo.com<\/a> (link partner Brentasoft).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quarantunesima guida Odoo 19: ottimizzazione performance Odoo. KPI, indici PostgreSQL, query optimization, caching, configurazione worker, scaling multi-server, casi pratici PMI.<\/p>\n","protected":false},"author":2,"featured_media":3332,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"Performance Odoo PMI: indici, query, tuning","_seopress_titles_desc":"Performance tuning Odoo: KPI, indici PostgreSQL, query optimization, worker config, scaling multi-server, monitoring. Casi pratici PMI italiane.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"https:\/\/brentasoft.com\/blog\/performance-tuning-odoo-19-pmi-italiane-guida\/","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2026\/06\/odoo-perf-01-models.png","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","footnotes":""},"categories":[24,689],"tags":[],"class_list":["post-3335","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-erp-gestionali","category-guide-odoo"],"_links":{"self":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/posts\/3335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/comments?post=3335"}],"version-history":[{"count":0,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/posts\/3335\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/media\/3332"}],"wp:attachment":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/media?parent=3335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/categories?post=3335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/tags?post=3335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}