{"id":2352,"date":"2026-07-19T19:16:40","date_gmt":"2026-07-19T17:16:40","guid":{"rendered":"https:\/\/studioimmens.com\/?page_id=2352"},"modified":"2026-07-21T19:58:54","modified_gmt":"2026-07-21T17:58:54","slug":"audit-performance","status":"publish","type":"page","link":"https:\/\/studioimmens.com\/en\/audit-performance\/","title":{"rendered":"Audit Performance"},"content":{"rendered":"\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Audit Performance WordPress \u2014 Scopri Quanto Perdi | Studio Immens<\/title>\n<meta name=\"description\" content=\"Analisi gratuita del tuo sito WordPress in 60 secondi. Velocit\u00e0, Core Web Vitals, plugin rilevati e impatto economico. Tool gratuito di Studio Immens.\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&amp;display=swap\" rel=\"stylesheet\">\n<style>\n  :root {\n    --bg: #0a0a0f; --card: #111118; --card-hover: #1a1a24; --input-bg: #16161f;\n    --border: #2a2a3a; --border-light: #3a3a4a; --text: #f0f0f5;\n    --text-secondary: #a0a0b0; --text-muted: #6a6a7a; --accent: #1F9AFF ;\n    --accent-light: #e0c48a; --accent-dark: #a88a4a; --success: #4ade80;\n    --danger: #f87171; --warning: #fbbf24; --info: #1f9aff;\n    --gradient-gold: linear-gradient(135deg, #1F9AFF 0%, #00C7B1 50%, #1F9AFF 100%);\n  }\n  * { margin:0; padding:0; box-sizing:border-box; }\n  body {\n    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    background: var(--bg); color: var(--text); line-height:1.6;\n    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;\n  }\n  h1, h2, h3, h4, h5, h6 { color: var(--text)!important; }\n\n  \/* ===== HERO ===== *\/\n  .hero {\n    position: relative; padding: 100px 24px 60px; text-align: center; overflow: hidden;\n  }\n  .hero::before {\n    content: ''; position: absolute; top: -50%; left: 50%; transform: translateX(-50%);\n    width: 800px; height: 800px;\n    background: radial-gradient(circle, rgba(201,169,110,0.08) 0%, transparent 70%);\n    pointer-events: none;\n  }\n  .hero-badge {\n    display: inline-flex; align-items: center; gap: 8px;\n    background: rgba(201,169,110,0.1); border: 1px solid rgba(201,169,110,0.2);\n    color: var(--accent); font-size: 13px; font-weight: 600;\n    text-transform: uppercase; letter-spacing: 1.5px;\n    padding: 8px 20px; border-radius: 100px; margin-bottom: 32px; position: relative; z-index: 1;\n  }\n  .hero-badge::before {\n    content: ''; width: 8px; height: 8px; background: var(--accent); border-radius: 50%;\n    animation: pulse 2s infinite;\n  }\n  @keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(0.8)} }\n  .hero h1 {\n    font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 800; line-height: 1.1;\n    max-width: 800px; margin: 0 auto 24px; letter-spacing: -0.03em; position: relative; z-index: 1;\n  }\n  .hero h1 .highlight {\n    background: var(--gradient-gold); -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent; background-clip: text;\n  }\n  .hero-subtitle {\n    font-size: clamp(1rem, 2vw, 1.25rem); color: var(--text-secondary);\n    max-width: 640px; margin: 0 auto 48px; line-height: 1.7; position: relative; z-index: 1;\n  }\n\n  \/* ===== AUDIT TOOL ===== *\/\n  .audit-section { padding: 0 24px 60px; max-width: 720px; margin: 0 auto; }\n  .audit-card {\n    background: var(--card); border: 1px solid var(--border); border-radius: 24px;\n    padding: 40px; position: relative;\n  }\n  .audit-card::before {\n    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;\n    background: var(--gradient-gold); border-radius: 24px 24px 0 0;\n  }\n  .audit-card h2 {\n    font-size: 1.4rem; font-weight: 700; margin-bottom: 8px; text-align: center;\n  }\n  .audit-card .subtitle {\n    text-align: center; color: var(--text-secondary); margin-bottom: 28px; font-size: 0.95rem;\n  }\n  label { display: block; font-size: 0.9rem; font-weight: 600; margin-bottom: 8px; }\n  .hint { font-weight: 400; color: var(--text-muted); font-size: 0.8rem; display: block; margin-top: 4px; }\n  input[type=\"url\"], input[type=\"number\"] {\n    width: 100%; padding: 16px 20px; background: var(--input-bg); border: 1px solid var(--border);\n    border-radius: 12px; color: var(--text); font-size: 1rem; font-family: inherit;\n    transition: all 0.3s ease;\n  }\ninput[type=\"url\"]:focus, input[type=\"number\"]:focus, input[type=\"email\"]:focus {color: #fff!important}\n  input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(201,169,110,0.1); }\n  input::placeholder { color: var(--text-muted); }\n  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }\n  @media (max-width: 600px) { .two-col { grid-template-columns: 1fr; } }\n\n  .btn {\n    width: 100%; padding: 18px; border-radius: 12px; font-size: 1.05rem; font-weight: 700;\n    border: none; cursor: pointer; background: var(--gradient-gold); color: #0a0a0f;\n    transition: all 0.3s ease; font-family: inherit; margin-top: 8px;\n  }\n  .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(201,169,110,0.3); }\n  .btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }\n  .btn-secondary {\n    background: transparent; border: 1px solid var(--border); color: var(--text-secondary);\n  }\n  .btn-secondary:hover { border-color: var(--border-light); color: var(--text); }\n\n  \/* ===== LOADING ===== *\/\n  .loading { display: none; text-align: center; padding: 60px 20px; }\n  .loading.active { display: block; }\n  .spinner {\n    width: 60px; height: 60px; border: 4px solid var(--border);\n    border-top-color: var(--accent); border-radius: 50%;\n    animation: spin 1s linear infinite; margin: 0 auto 24px;\n  }\n  @keyframes spin { to { transform: rotate(360deg); } }\n  .loading-text { color: var(--text-secondary); font-size: 1rem; }\n  .loading-step { color: var(--accent); font-size: 0.9rem; margin-top: 10px; font-weight: 600; }\n  .loading-detail { color: var(--text-muted); font-size: 0.8rem; margin-top: 6px; }\n\n  \/* ===== ERROR ===== *\/\n  .error-box {\n    display: none; background: rgba(248,113,113,0.08); border: 1px solid rgba(248,113,113,0.2);\n    border-radius: 16px; padding: 24px; text-align: center; margin-bottom: 20px;\n  }\n  .error-box.active { display: block; }\n  .error-box strong { color: var(--danger); font-size: 1.1rem; }\n  .error-box p { color: var(--text-secondary); margin-top: 8px; font-size: 0.9rem; }\n\n  \/* ===== RESULTS ===== *\/\n  .results { display: none; padding: 0 24px 80px; max-width: 800px; margin: 0 auto; }\n  .results.active { display: block; animation: fadeIn 0.6s ease; }\n  @keyframes fadeIn { from { opacity:0; transform: translateY(10px); } to { opacity:1; transform: translateY(0); } }\n\n  .result-card {\n    background: var(--card); border: 1px solid var(--border); border-radius: 24px;\n    padding: 32px; margin-bottom: 20px; position: relative; overflow: hidden;\n  }\n  .result-card::before {\n    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;\n    background: var(--gradient-gold);\n  }\n\n  \/* Score Circle *\/\n  .score-section { text-align: center; margin-bottom: 32px; }\n  .score-circle {\n    width: 180px; height: 180px; border-radius: 50%; margin: 0 auto 20px;\n    display: flex; align-items: center; justify-content: center; flex-direction: column;\n    border: 10px solid var(--border); position: relative; transition: all 0.5s ease;\n  }\n  .score-number { font-size: 4rem; font-weight: 900; line-height: 1; }\n  .score-label { font-size: 0.9rem; color: var(--text-muted); margin-top: 4px; }\n  .score-title { font-size: 1.6rem; font-weight: 800; margin-bottom: 8px; }\n  .score-desc { color: var(--text-secondary); font-size: 1rem; }\n\n  \/* WordPress Badge *\/\n  .wp-badge {\n    display: inline-flex; align-items: center; gap: 6px;\n    padding: 6px 16px; border-radius: 100px; font-size: 0.8rem; font-weight: 600;\n    margin-bottom: 16px;\n  }\n  .wp-badge.yes { background: rgba(74,222,128,0.1); color: var(--success); border: 1px solid rgba(74,222,128,0.2); }\n  .wp-badge.no { background: rgba(248,113,113,0.1); color: var(--danger); border: 1px solid rgba(248,113,113,0.2); }\n\n  \/* Metrics *\/\n  .metric-row {\n    display: flex; justify-content: space-between; align-items: center;\n    padding: 14px 0; border-bottom: 1px solid var(--border);\n  }\n  .metric-row:last-child { border-bottom: none; }\n  .metric-name { font-size: 0.9rem; color: var(--text-secondary); }\n  .metric-value { font-weight: 700; font-size: 1.05rem; }\n  .metric-value.good { color: var(--success); }\n  .metric-value.bad { color: var(--danger); }\n  .metric-value.warn { color: var(--warning); }\n  .metric-value.info { color: var(--info); }\n\n  \/* Plugin Tags *\/\n  .plugin-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }\n  .plugin-tag {\n    background: var(--input-bg); border: 1px solid var(--border); border-radius: 6px;\n    padding: 4px 10px; font-size: 0.75rem; color: var(--text-muted);\n  }\n  .plugin-tag.detected { color: var(--accent); border-color: rgba(201,169,110,0.3); background: rgba(201,169,110,0.05); }\n\n  \/* Recommendations *\/\n  .rec-list { list-style: none; }\n  .rec-list li {\n    padding: 16px; margin-bottom: 10px; border-radius: 12px;\n    background: var(--input-bg); border-left: 3px solid var(--danger);\n    font-size: 0.9rem;\n  }\n  .rec-list li.medium { border-left-color: var(--warning); }\n  .rec-list li.low { border-left-color: var(--success); }\n  .rec-list li .rec-title { font-weight: 700; display: block; margin-bottom: 6px; color: var(--text); }\n  .rec-list li .rec-desc { color: var(--text-secondary); font-size: 0.85rem; line-height: 1.5; }\n  .rec-list li .rec-impact { font-size: 0.75rem; margin-top: 8px; font-weight: 600; }\n\n  \/* Opportunities *\/\n  .opp-row {\n    display: flex; justify-content: space-between; align-items: center;\n    padding: 12px 0; border-bottom: 1px solid var(--border);\n  }\n  .opp-row:last-child { border-bottom: none; }\n  .opp-name { font-size: 0.85rem; color: var(--text-secondary); }\n  .opp-savings { font-weight: 600; font-size: 0.9rem; color: var(--warning); }\n\n  \/* CTA Box *\/\n  .cta-box {\n    background: linear-gradient(135deg, rgba(31,154,255,0.08) 0%, rgba(0,199,177,0.06) 100%);\n    border: 1px solid rgba(31,154,255,0.2); border-radius: 20px; padding: 40px;\n    text-align: center; margin-top: 24px;\n  }\n  .cta-box h3 { font-size: 1.4rem; font-weight: 700; margin-bottom: 12px; }\n  .cta-box p { color: var(--text-secondary); font-size: 0.95rem; margin-bottom: 24px; max-width: 500px; margin-left: auto; margin-right: auto; }\n  .cta-box a {\n    display: inline-block; padding: 16px 40px; border-radius: 12px;\n    background: var(--gradient-gold); color: #0a0a0f;\n    text-decoration: none; font-weight: 700; font-size: 1.05rem;\n    transition: all 0.3s ease;\n  }\n  .cta-box a:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(31,154,255,0.3); }\n  .guarantee {\n    display: inline-flex; align-items: center; gap: 8px; margin-top: 16px;\n    font-size: 0.85rem; color: var(--text-muted);\n  }\n\n  \/* Section Headers inside cards *\/\n  .card-title {\n    font-size: 1.1rem; font-weight: 700; margin-bottom: 16px;\n    display: flex; align-items: center; gap: 8px;\n  }\n\n  \/* Watermark *\/\n  .watermark { text-align: center; padding: 40px 24px; font-size: 0.8rem; color: var(--text-muted); }\n  .watermark strong { color: var(--accent); }\n\n  \/* Lead Capture Banner *\/\n  .lead-banner {\n    display: none; margin-top: 24px; background: #1a1a24; border: 1px solid var(--accent);\n    border-radius: 16px; padding: 32px; text-align: center;\n  }\n  .lead-banner.active { display: block; animation: fadeIn 0.5s ease; }\n  .lead-banner p { margin: 0 0 16px; }\n  .lead-banner .score-big { font-size: 2.2rem; font-weight: 800; }\n  .lead-form { display: flex; gap: 12px; max-width: 440px; margin: 0 auto; flex-wrap: wrap; justify-content: center; }\n  .lead-form input {\n    flex: 1; min-width: 200px; padding: 14px 18px; border-radius: 10px; border: 1px solid var(--border);\n    background: var(--input-bg); color: var(--text); font-size: 1rem; font-family: inherit;\n  }\n  .lead-form input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(31,154,255,0.15); }\n  .lead-form .lead-btn {\n    padding: 14px 32px; border-radius: 10px; border: none; font-weight: 700; font-size: 1rem;\n    background: linear-gradient(135deg, #1F9AFF, #00C7B1); color: #0a0a0f; cursor: pointer; font-family: inherit;\n    transition: all 0.3s ease; white-space: nowrap;\n  }\n  .lead-form .lead-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(31,154,255,0.3); }\n  .lead-form .lead-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }\n  .lead-msg { font-size: 0.85rem; margin-top: 12px; min-height: 24px; }\n  .lead-msg.success { color: var(--success); }\n  .lead-msg.error { color: var(--danger); }\n\n  \/* Exit Popup *\/\n  .exit-overlay {\n    display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;\n    background: rgba(0,0,0,0.85); z-index: 9999; align-items: center; justify-content: center;\n  }\n  .exit-overlay.active { display: flex; }\n  .exit-modal {\n    background: #1a1a24; border: 1px solid var(--border); border-radius: 20px;\n    padding: 48px 40px; max-width: 480px; width: 90%; text-align: center; position: relative;\n    animation: fadeIn 0.4s ease;\n  }\n  .exit-modal .close-exit {\n    position: absolute; top: 16px; right: 20px; background: none; border: none;\n    color: var(--text-muted); font-size: 1.5rem; cursor: pointer; font-family: inherit;\n  }\n  .exit-modal .close-exit:hover { color: var(--text); }\n  .exit-modal h2 { font-size: 1.5rem; margin: 0 0 8px; }\n  .exit-modal p { color: var(--text-secondary); font-size: 0.95rem; margin: 0 0 24px; }\n\n  \/* Responsive *\/\n  @media (max-width: 640px) {\n    .audit-card, .result-card { padding: 24px; }\n    .score-circle { width: 140px; height: 140px; }\n    .score-number { font-size: 3rem; }\n    .hero { padding: 60px 20px 40px; }\n  }\n<\/style>\n<base target=\"_blank\">\n\n<!-- ===== HERO ===== -->\n<section class=\"hero\">\n  <div class=\"hero-badge\">Tool Gratuito \u2014 Nessuna Registrazione<\/div>\n  <h1>Scopri Quanto <span class=\"highlight\">Perdi<\/span> con un Sito Lento<\/h1>\n  <p class=\"hero-subtitle\">\n    Analisi automatica del <a href=\"https:\/\/studioimmens.com\/en\/se-il-tuo-sito-wordpress-carica-in-5-secondi-stai-perdendo-clienti\/\">tuo sito WordPress<\/a> in <strong>60 secondi<\/strong>.\n    Velocita reale, plugin rilevati, <a href=\"https:\/\/studioimmens.com\/en\/core-web-vitals-per-wordpress-la-guida-pratica-2026\/\">Core Web Vitals<\/a> e impatto economico.\n    Powered by <strong>Google PageSpeed Insights<\/strong>.\n  <\/p>\n<\/section>\n\n<!-- ===== AUDIT FORM ===== -->\n<section class=\"audit-section\" id=\"formSection\">\n  <div class=\"audit-card\">\n    <h2>Inserisci l URL del Tuo Sito<\/h2>\n    <p class=\"subtitle\">Lascia che il nostro proxy sicuro analizzi tutto in tempo reale.<\/p>\n\n    <label>URL del sito web <span class=\"hint\">es. https:\/\/tuosito.it<\/span><\/label>\n    <input type=\"url\" id=\"siteUrl\" placeholder=\"https:\/\/tuosito.it\" required=\"\">\n\n    <div class=\"two-col\" style=\"margin-top:16px\">\n      <div>\n        <label>Traffico mensile stimato <span class=\"hint\">visitatori\/mese<\/span><\/label>\n        <input type=\"number\" id=\"traffic\" placeholder=\"5000\" min=\"0\" value=\"5000\">\n      <\/div>\n      <div>\n        <label>Valore conversione (EUR) <span class=\"hint\">media per lead\/vendita<\/span><\/label>\n        <input type=\"number\" id=\"conversionValue\" placeholder=\"150\" min=\"0\" value=\"150\">\n      <\/div>\n    <\/div>\n\n    <button class=\"btn\" id=\"auditBtn\" onclick=\"runAudit()\">Avvia Audit Completo<\/button>\n    <p style=\"text-align:center;margin-top:16px;font-size:0.8rem;color:var(--text-muted)\">\n      L analisi avviene in tempo reale via proxy sicuro.\n    <\/p>\n  <\/div>\n<\/section>\n\n<!-- ===== LOADING ===== -->\n<section class=\"loading\" id=\"loadingSection\">\n  <div class=\"spinner\"><\/div>\n  <div class=\"loading-text\">Analisi in corso&#8230;<\/div>\n  <div class=\"loading-step\" id=\"loadingStep\">Connessione al proxy sicuro&#8230;<\/div>\n  <div class=\"loading-detail\" id=\"loadingDetail\">Questo richiede 3-5 secondi<\/div>\n<\/section>\n\n<!-- ===== ERROR ===== -->\n<div class=\"error-box\" id=\"errorBox\">\n  <strong>Errore<\/strong>\n  <p id=\"errorMessage\"><\/p>\n<\/div>\n\n<!-- ===== RESULTS ===== -->\n<section class=\"results\" id=\"resultSection\">\n\n  <!-- Score -->\n  <div class=\"result-card\">\n    <div class=\"score-section\">\n      <div class=\"score-circle\" id=\"scoreCircle\">\n        <div class=\"score-number\" id=\"scoreNumber\">&#8212;<\/div>\n        <div class=\"score-label\">\/100 Mobile<\/div>\n      <\/div>\n      <div class=\"score-title\" id=\"scoreTitle\">&#8212;<\/div>\n      <div class=\"score-desc\" id=\"scoreDesc\">&#8212;<\/div>\n    <\/div>\n  <\/div>\n\n  <!-- WordPress Detection -->\n  <div class=\"result-card\">\n    <div class=\"card-title\">Rilevamento Tecnologia<\/div>\n    <div id=\"wpBadge\" class=\"wp-badge\"><\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">CMS Rilevato<\/span>\n      <span class=\"metric-value info\" id=\"cmsValue\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">Versione WordPress<\/span>\n      <span class=\"metric-value\" id=\"wpVersion\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">Tema Attivo<\/span>\n      <span class=\"metric-value\" id=\"wpTheme\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">Plugin Rilevati<\/span>\n      <span class=\"metric-value\" id=\"pluginCount\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\" style=\"border-bottom:none\">\n      <span class=\"metric-name\">Server<\/span>\n      <span class=\"metric-value\" id=\"serverInfo\">&#8212;<\/span>\n    <\/div>\n    <div class=\"plugin-tags\" id=\"pluginTags\"><\/div>\n  <\/div>\n\n  <!-- Core Web Vitals -->\n  <div class=\"result-card\">\n    <div class=\"card-title\">Core Web Vitals (Mobile)<\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">LCP \u2014 Largest Contentful Paint<\/span>\n      <span class=\"metric-value\" id=\"lcpValue\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">INP \u2014 Interaction to Next Paint<\/span>\n      <span class=\"metric-value\" id=\"inpValue\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">CLS \u2014 Cumulative Layout Shift<\/span>\n      <span class=\"metric-value\" id=\"clsValue\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">TTFB \u2014 Time to First Byte<\/span>\n      <span class=\"metric-value\" id=\"ttfbValue\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">FCP \u2014 First Contentful Paint<\/span>\n      <span class=\"metric-value\" id=\"fcpValue\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\" style=\"border-bottom:none\">\n      <span class=\"metric-name\">Speed Index<\/span>\n      <span class=\"metric-value\" id=\"siValue\">&#8212;<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Technical -->\n  <div class=\"result-card\">\n    <div class=\"card-title\">Metriche Tecniche<\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">Dimensione Pagina<\/span>\n      <span class=\"metric-value\" id=\"pageSize\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">Richieste HTTP<\/span>\n      <span class=\"metric-value\" id=\"requests\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">Risorse Render-Blocking<\/span>\n      <span class=\"metric-value\" id=\"renderBlocking\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\" style=\"border-bottom:none\">\n      <span class=\"metric-name\">Server Response Time<\/span>\n      <span class=\"metric-value\" id=\"serverResponse\">&#8212;<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Business Impact -->\n  <div class=\"result-card\">\n    <div class=\"card-title\">Impatto Economico Stimato<\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">Perdita conversioni per lentezza<\/span>\n      <span class=\"metric-value bad\" id=\"convLoss\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\">\n      <span class=\"metric-name\">Lead persi stimati \/ mese<\/span>\n      <span class=\"metric-value bad\" id=\"lostLeads\">&#8212;<\/span>\n    <\/div>\n    <div class=\"metric-row\" style=\"border-bottom:none\">\n      <span class=\"metric-name\" style=\"font-size:1.05rem\">Perdita annuale stimata<\/span>\n      <span class=\"metric-value bad\" id=\"annualLoss\" style=\"font-size:1.6rem\">&#8212;<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Recommendations -->\n  <div class=\"result-card\">\n    <div class=\"card-title\">Priorita di Intervento<\/div>\n    <ul class=\"rec-list\" id=\"priorityList\"><\/ul>\n  <\/div>\n\n  <!-- Opportunities -->\n  <div class=\"result-card\">\n    <div class=\"card-title\">Opportunita di Ottimizzazione (Google PSI)<\/div>\n    <div id=\"opportunitiesList\"><\/div>\n  <\/div>\n\n  <!-- CTA -->\n  <div class=\"cta-box\">\n    <h3>Il tuo sito perde soldi ogni giorno.<\/h3>\n    <p>La <a href=\"https:\/\/studioimmens.com\/en\/calcolatore-costi\/\">Fortezza Digitale<\/a> di Studio Immens elimina ogni problema tecnico con un canone unico. Zero plugin premium di terzi, zero ore perse, zero sorprese. Performance garantita: &lt; 200ms.<\/p>\n    <a href=\"https:\/\/studioimmens.com\/candidati\">Prenota Diagnosi Gratuita<\/a>\n    <div class=\"guarantee\">\n      <span><\/span>\n      <span>Garanzia 30 Giorni: soddisfatto o ti aiutiamo a migrare gratis<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Lead Capture Banner -->\n  <div class=\"lead-banner\" id=\"leadBanner\">\n    <p style=\"font-size:1.1rem;font-weight:600;color:var(--text)\">Ricevi il Report Completo<\/p>\n    <p style=\"font-size:0.9rem;color:var(--text-secondary);max-width:480px;margin:0 auto 20px\">\n      Il report PDF con il tuo punteggio <strong id=\"leadScore\">&#8212;<\/strong>\/100,\n      Core Web Vitals, impatto economico e raccomandazioni personalizzate.\n    <\/p>\n    <div class=\"lead-form\">\n      <input type=\"email\" id=\"leadEmail\" placeholder=\"La tua email\" autocomplete=\"email\">\n      <button class=\"lead-btn\" id=\"leadBtn\" onclick=\"captureLead()\">Invia Report \u2192<\/button>\n    <\/div>\n    <div class=\"lead-msg\" id=\"leadMsg\"><\/div>\n  <\/div>\n\n  <div style=\"text-align:center;margin-top:20px\">\n    <button class=\"btn btn-secondary\" onclick=\"resetAudit()\">Nuovo Audit<\/button>\n  <\/div>\n<\/section>\n\n<!-- ===== WATERMARK ===== -->\n<div class=\"watermark\">\n  Audit generato da <strong>Studio Immens<\/strong> \u2014 studioimmens.com<br>\n  <span style=\"font-size:0.75rem\">Analisi in tempo reale via Google PageSpeed Insights.<\/span>\n<\/div>\n\n<script>\nvar ajaxurl = window.ajaxurl || \"\/wp-admin\/admin-ajax.php\";\nconst PROXY_URL = 'https:\/\/audit.studioimmens.com';\n\nfunction setLoading(step, detail) {\n  document.getElementById('loadingStep').textContent = step;\n  if (detail) document.getElementById('loadingDetail').textContent = detail;\n}\n\nfunction showError(msg) {\n  document.getElementById('errorMessage').textContent = msg;\n  document.getElementById('errorBox').classList.add('active');\n  document.getElementById('loadingSection').classList.remove('active');\n  document.getElementById('formSection').style.display = 'block';\n}\n\nfunction resetAudit() {\n  document.getElementById('resultSection').classList.remove('active');\n  document.getElementById('errorBox').classList.remove('active');\n  document.getElementById('formSection').style.display = 'block';\n  document.getElementById('siteUrl').value = '';\n  window.scrollTo({top: 0, behavior: 'smooth'});\n}\n\nasync function runAudit() {\n  const urlInput = document.getElementById('siteUrl');\n  const url = urlInput.value.trim();\n  const traffic = parseInt(document.getElementById('traffic').value) || 5000;\n  const conversionValue = parseFloat(document.getElementById('conversionValue').value) || 150;\n  const btn = document.getElementById('auditBtn');\n\n  if (!url) {\n    showError(\"Inserisci l'URL del sito da analizzare.\");\n    urlInput.focus();\n    return;\n  }\n\n  let targetUrl = url;\n  if (!targetUrl.startsWith('http')) targetUrl = 'https:\/\/' + targetUrl;\n  try { new URL(targetUrl); } catch {\n    showError('URL non valido. Inserisci un indirizzo completo, es. https:\/\/tuosito.it');\n    return;\n  }\n\n  btn.disabled = true;\n  document.getElementById('formSection').style.display = 'none';\n  document.getElementById('errorBox').classList.remove('active');\n  document.getElementById('loadingSection').classList.add('active');\n\n  try {\n    setLoading('Connessione al proxy sicuro...', 'audit.studioimmens.com');\n    await new Promise(r => setTimeout(r, 600));\n\n    setLoading('Rilevamento tecnologia e CMS...', 'Analisi HTML, plugin, tema');\n    await new Promise(r => setTimeout(r, 800));\n\n    setLoading('Scan PageSpeed Insights Mobile + Desktop...', 'Google PSI API \u2014 3-4 secondi');\n\n    const response = await fetch(PROXY_URL + '\/api\/audit', {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application\/json',\n        'Origin': window.location.origin\n      },\n      body: JSON.stringify({ url: targetUrl, traffic: traffic, conversionValue: conversionValue })\n    });\n\n    if (!response.ok) {\n      const err = await response.json().catch(function() { return {}; });\n      if (response.status === 429) {\n        throw new Error(\"Hai raggiunto il limite di 10 audit all'ora. Riprova tra un'ora.\");\n      }\n      throw new Error(err.message || 'Errore ' + response.status + ': impossibile completare l audit.');\n    }\n\n    const data = await response.json();\n    if (!data.success) throw new Error(data.error || 'Audit fallito');\n\n    setLoading('Calcolo impatto economico...', 'Quasi fatto');\n    await new Promise(r => setTimeout(r, 400));\n\n    displayResults(data);\n\n  } catch (error) {\n    console.error('Audit error:', error);\n    showError(error.message || 'Errore di connessione. Verifica che il proxy sia online e riprova.');\n  } finally {\n    btn.disabled = false;\n  }\n}\n\nfunction displayResults(data) {\n  window.lastAuditData = {\n    url: data.url, score: data.performance.mobile.score,\n    metrics: data.performance.mobile.metrics,\n    diagnostics: data.performance.mobile.diagnostics,\n    business: data.business, wordpress: data.wordpress\n  };\n  document.getElementById('loadingSection').classList.remove('active');\n  document.getElementById('resultSection').classList.add('active');\n\n  var wp = data.wordpress;\n  var perf = data.performance.mobile;\n  var biz = data.business;\n\n  var wpBadge = document.getElementById('wpBadge');\n  if (wp.isWordPress) {\n    wpBadge.className = 'wp-badge yes';\n    wpBadge.innerHTML = 'WordPress Rilevato';\n  } else {\n    wpBadge.className = 'wp-badge no';\n    wpBadge.innerHTML = 'WordPress NON rilevato \u2014 ' + wp.cms;\n  }\n\n  document.getElementById('cmsValue').textContent = wp.cms;\n  document.getElementById('wpVersion').textContent = wp.version || 'N\/A';\n  document.getElementById('wpTheme').textContent = wp.theme || 'N\/A';\n  document.getElementById('pluginCount').textContent = wp.plugins.length + ' plugin';\n  document.getElementById('serverInfo').textContent = wp.serverInfo || 'N\/A';\n\n  var tagsContainer = document.getElementById('pluginTags');\n  tagsContainer.innerHTML = '';\n\n  var detectedPlugins = [];\n  if (wp.hasWooCommerce) detectedPlugins.push('WooCommerce');\n  if (wp.hasElementor) detectedPlugins.push('Elementor');\n  if (wp.hasYoast) detectedPlugins.push('Yoast SEO');\n  if (wp.hasWPRocket) detectedPlugins.push('WP Rocket');\n  if (wp.hasRankMath) detectedPlugins.push('Rank Math');\n  if (wp.hasContactForm7) detectedPlugins.push('Contact Form 7');\n  if (wp.hasWPML) detectedPlugins.push('WPML');\n\n  detectedPlugins.forEach(function(p) {\n    var tag = document.createElement('span');\n    tag.className = 'plugin-tag detected';\n    tag.textContent = p;\n    tagsContainer.appendChild(tag);\n  });\n\n  wp.plugins.slice(0, 8).forEach(function(p) {\n    if (detectedPlugins.indexOf(p) === -1) {\n      var tag = document.createElement('span');\n      tag.className = 'plugin-tag';\n      tag.textContent = p;\n      tagsContainer.appendChild(tag);\n    }\n  });\n\n  var score = perf.score;\n  var circle = document.getElementById('scoreCircle');\n  var num = document.getElementById('scoreNumber');\n  var title = document.getElementById('scoreTitle');\n  var desc = document.getElementById('scoreDesc');\n\n  num.textContent = score;\n  if (score >= 90) {\n    circle.style.borderColor = '#4ade80';\n    circle.style.boxShadow = '0 0 50px rgba(74,222,128,0.25)';\n    title.textContent = 'Eccellente';\n    title.style.color = '#4ade80';\n    desc.textContent = 'Il tuo sito e ben ottimizzato. Piccoli miglioramenti per il top.';\n  } else if (score >= 50) {\n    circle.style.borderColor = '#fbbf24';\n    circle.style.boxShadow = '0 0 50px rgba(251,191,36,0.25)';\n    title.textContent = 'Necessita Interventi';\n    title.style.color = '#fbbf24';\n    desc.textContent = 'Ci sono problemi significativi che ti costano conversioni e ranking.';\n  } else {\n    circle.style.borderColor = '#f87171';\n    circle.style.boxShadow = '0 0 50px rgba(248,113,113,0.25)';\n    title.textContent = 'Critico';\n    title.style.color = '#f87171';\n    desc.textContent = 'Il tuo sito sta perdendo clienti ogni giorno. Intervento urgente necessario.';\n  }\n\n  function colorMetric(value, thresholds) {\n    if (value <= thresholds.good) return 'good';\n    if (value <= thresholds.poor) return 'warn';\n    return 'bad';\n  }\n\n  var lcp = perf.metrics.lcp.value;\n  var lcpEl = document.getElementById('lcpValue');\n  lcpEl.textContent = lcp.toFixed(2) + 's';\n  lcpEl.className = 'metric-value ' + colorMetric(lcp, {good: 2.5, poor: 4.0});\n\n  var inp = perf.metrics.inp.value;\n  var inpEl = document.getElementById('inpValue');\n  if (inp > 0) {\n    inpEl.textContent = inp.toFixed(0) + 'ms';\n    inpEl.className = 'metric-value ' + colorMetric(inp, {good: 200, poor: 500});\n  } else {\n    inpEl.textContent = 'N\/D';\n    inpEl.className = 'metric-value';\n  }\n\n  var cls = perf.metrics.cls.value;\n  var clsEl = document.getElementById('clsValue');\n  clsEl.textContent = cls.toFixed(3);\n  clsEl.className = 'metric-value ' + colorMetric(cls, {good: 0.1, poor: 0.25});\n\n  var ttfb = perf.metrics.ttfb.value;\n  var ttfbEl = document.getElementById('ttfbValue');\n  ttfbEl.textContent = ttfb.toFixed(0) + 'ms';\n  ttfbEl.className = 'metric-value ' + colorMetric(ttfb, {good: 600, poor: 1000});\n\n  document.getElementById('fcpValue').textContent = perf.metrics.fcp.value.toFixed(2) + 's';\n  document.getElementById('siValue').textContent = perf.metrics.si.value.toFixed(2) + 's';\n\n  document.getElementById('pageSize').textContent = perf.diagnostics.pageSizeFormatted;\n  document.getElementById('requests').textContent = perf.diagnostics.requests;\n  document.getElementById('renderBlocking').textContent = perf.diagnostics.renderBlockingResources;\n  document.getElementById('serverResponse').textContent = perf.diagnostics.serverResponseTime.toFixed(0) + 'ms';\n\n  document.getElementById('convLoss').textContent = biz.speedPenalty > 0 ? '-' + biz.speedPenalty + '% conversioni' : 'Nessuna';\n  document.getElementById('lostLeads').textContent = biz.lostLeads + '\/mese';\n  document.getElementById('annualLoss').textContent = 'EUR ' + biz.annualLoss.toLocaleString('it-IT');\n\n  var list = document.getElementById('priorityList');\n  list.innerHTML = biz.recommendations.map(function(r) {\n    var cls = r.priority === 'critical' ? '' : r.priority === 'high' ? 'medium' : 'low';\n    var impactColor = r.priority === 'critical' ? 'color:#f87171' : r.priority === 'high' ? 'color:#fbbf24' : 'color:#4ade80';\n    return '<li class=\"' + cls + '\"><span class=\"rec-title\">' + r.title + '<\/span><span class=\"rec-desc\">' + r.description + '<\/span><span class=\"rec-impact\" style=\"' + impactColor + '\">Impatto: ' + r.impact + '<\/span><\/li>';\n  }).join('');\n\n  var oppList = document.getElementById('opportunitiesList');\n  if (perf.opportunities && perf.opportunities.length > 0) {\n    oppList.innerHTML = perf.opportunities.slice(0, 5).map(function(o) {\n      return '<div class=\"opp-row\"><span class=\"opp-name\">' + o.title + '<\/span><span class=\"opp-savings\">' + o.savings + '<\/span><\/div>';\n    }).join('');\n  } else {\n    oppList.innerHTML = '<p style=\"color:var(--text-muted);font-size:0.9rem;padding:12px 0\">Nessuna opportunita critica rilevata. Ottimo lavoro!<\/p>';\n  }\n\n  showLeadBanner(data);\n  window.scrollTo({top: 0, behavior: 'smooth'});\n}\n\nfunction showLeadBanner(data) {\n  var banner = document.getElementById(\"leadBanner\");\n  if (!banner) return;\n  document.getElementById(\"leadScore\").textContent = data.performance.mobile.score;\n  banner.classList.add(\"active\");\n}\n\n\/\/ Try to get CRM nonce from the shortcode script\nsetTimeout(function() {\n  if (window.immens_crm_form && window.immens_crm_form.nonce) {\n    window.immens_crm_form_nonce = window.immens_crm_form.nonce;\n    window.immens_crm_form_id = window.immens_crm_form.form_id;\n  }\n}, 1000);\n\n\/* Lead Capture & Exit Popup *\/\n\nfunction isValidEmail(e) { return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(e); }\n\nfunction showLeadMsg(el, msg, type) {\n  el.textContent = msg; el.className = 'lead-msg ' + type;\n}\n\nasync function generatePdf(auditData) {\n  try {\n    const resp = await fetch('https:\/\/audit.studioimmens.com\/api\/report', {\n      method: 'POST', headers: { 'Content-Type': 'application\/json' },\n      body: JSON.stringify(auditData)\n    });\n    if (!resp.ok) return null;\n    const result = await resp.json();\n    return result.token || null;\n  } catch(e) { console.error('PDF gen error:', e); return null; }\n}\n\nasync function submitToCrm(email, token, auditData, source) {\n  try {\n    const formData = new FormData();\n    formData.append('action', 'immens_crm_submit_form');\n    formData.append('nonce', window.immens_crm_form_nonce || '');\n    formData.append('form_id', window.immens_crm_form_id || 0);\n    formData.append('immens_crm_field_audit_email', email);\n\n    const noteParts = [];\n    if (auditData) {\n      formData.append('immens_crm_field_audit_token', token || '');\n      if (auditData.url) noteParts.push('URL: ' + auditData.url);\n      if (auditData.score !== undefined) noteParts.push('Score: ' + auditData.score);\n      if (auditData.business && auditData.business.annualLoss) noteParts.push('Perdita: EUR ' + auditData.business.annualLoss);\n    }\n    noteParts.push('Fonte: ' + source);\n    formData.append('immens_crm_field_audit_note', noteParts.join(' | '));\n\n    const resp = await fetch(ajaxurl, { method: 'POST', body: formData });\n    const result = await resp.json();\n    return result.success;\n  } catch(e) { console.error('CRM error:', e); return false; }\n}\n\nasync function captureLead() {\n  const email = document.getElementById('leadEmail').value.trim();\n  const btn = document.getElementById('leadBtn');\n  const msg = document.getElementById('leadMsg');\n\n  if (!email || !isValidEmail(email)) {\n    showLeadMsg(msg, 'Inserisci un indirizzo email valido', 'error');\n    return;\n  }\n\n  if (btn.disabled) return;\n  btn.disabled = true;\n  btn.textContent = 'Generazione report...';\n  showLeadMsg(msg, '', '');\n\n  let token = null;\n  if (window.lastAuditData) {\n    token = await generatePdf(window.lastAuditData);\n  }\n\n  btn.textContent = 'Invio in corso...';\n  const ok = await submitToCrm(email, token, window.lastAuditData || null, 'post-audit');\n\n  if (ok) {\n    showLeadMsg(msg, 'Report in arrivo! Controlla la tua email.', 'success');\n    btn.textContent = 'Inviato';\n  } else if (token) {\n    showLeadMsg(msg, 'Report generato! Verifica la tua email.', 'success');\n    btn.textContent = 'Inviato';\n  } else {\n    showLeadMsg(msg, 'Errore. Riprova o contattaci.', 'error');\n    btn.disabled = false;\n    btn.textContent = 'Invia Report \u2192';\n  }\n}\n\nasync function captureExit() {\n  const email = document.getElementById('exitEmail').value.trim();\n  const msg = document.getElementById('exitMsg');\n\n  if (!email || !isValidEmail(email)) {\n    showLeadMsg(msg, 'Inserisci un indirizzo email valido', 'error');\n    return;\n  }\n\n  let token = null;\n  if (window.lastAuditData) {\n    token = await generatePdf(window.lastAuditData);\n  }\n\n  const ok = await submitToCrm(email, token, window.lastAuditData || null, 'exit-popup');\n\n  if (ok || token) {\n    msg.innerHTML = 'Report in arrivo! <a href=\"#\" onclick=\"closeExitPopup();return false\" style=\"color:var(--accent)\">Chiudi<\/a>';\n    msg.className = 'lead-msg success';\n  } else {\n    showLeadMsg(msg, 'Errore. Riprova.', 'error');\n  }\n}\n\nfunction closeExitPopup() {\n  document.getElementById('exitOverlay').classList.remove('active');\n}\n\nlet exitShown = sessionStorage.getItem('auditExitShown');\ndocument.addEventListener('mouseleave', function(e) {\n  if (exitShown || e.clientY > 0) return;\n  exitShown = true;\n  sessionStorage.setItem('auditExitShown', '1');\n  document.getElementById('exitOverlay').classList.add('active');\n});\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Audit Performance WordPress \u2014 Scopri Quanto Perdi | Studio Immens Tool Gratuito \u2014 Nessuna Registrazione Scopri Quanto Perdi con un Sito Lento Analisi automatica del tuo sito WordPress in 60 secondi. Velocita reale, plugin rilevati, Core Web Vitals e impatto economico. Powered by Google PageSpeed Insights. Inserisci l URL del Tuo Sito Lascia che il [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","ai_primary_source":"0","visibility_scope":"both","ai_summary":"","ai_intent":"","ai_related_resources":"","ai_priority":5,"ai_entity_type":"","ai_is_based_on":"","ai_citations":"","ai_mentions":"","ai_speakable_selector":"","ai_chunk_hints":"","footnotes":""},"ai_visibility":[55],"class_list":["post-2352","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/pages\/2352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/comments?post=2352"}],"version-history":[{"count":5,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/pages\/2352\/revisions"}],"predecessor-version":[{"id":2373,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/pages\/2352\/revisions\/2373"}],"wp:attachment":[{"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/media?parent=2352"}],"wp:term":[{"taxonomy":"ai_visibility","embeddable":true,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/ai_visibility?post=2352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}