📖 Brief Progetto
Logo Favicon Generator è un plugin WordPress proprietario (attualmente v10.4) installato su tutti i siti della rete MCL Media (280+ siti Discover + GNews). Il plugin ha due funzioni principali: (1) genera logo e favicon WebP con 20 tipologie grafiche diverse (supersampling 4x, font Montserrat Bold, 20 colori Material Design, 400 combinazioni possibili) e (2) configura automaticamente il plugin SEO rilevato (Yoast o Rank Math) con tutti i parametri ottimali per Google Discover.
Nella sessione di lavoro del 28 marzo 2026, abbiamo identificato e risolto diversi problemi critici che affliggevano la rete:
1. Homepage SEO rotta su molti siti: title con 'Home -' davanti, meta description mancante o con testo spazzatura (label delle sezioni CMA come 'BY ULTIME NOTIZIE IN PRIMO PIANO TREND'), og:image mancante, og:description mancante. Risolto aggiungendo funzioni di health check che scrivono i post meta direttamente sulla pagina homepage sia per Yoast (_yoast_wpseo_title, _yoast_wpseo_metadesc, _yoast_wpseo_opengraph-image) che per Rank Math (rank_math_title, rank_math_description, rank_math_facebook_image).
2. Rank Math dormiente su alcuni siti: il wizard iniziale non era mai stato completato, quindi Rank Math non generava nessun output SEO nel frontend (zero meta tag, zero JSON-LD, zero og:*). Risolto con la funzione lf_rankmath_force_wizard_complete() che setta rank_math_wizard_completed, setup_mode advanced, moduli essenziali, rank_math_version e registration_skip.
3. Schema Article type: analisi comparativa con 6 competitor Discover ha mostrato che i siti di successo usano NewsArticle invece di BlogPosting. Migrato il template globale Rank Math da BlogPosting a NewsArticle, con funzione di migrazione massiva SQL per i post esistenti.
4. Health check automatico: inizialmente su admin_init (richiedeva visita wp-admin), migrato a plugins_loaded per scattare al primo pageview di qualsiasi tipo dopo l'aggiornamento del plugin. Sistema di versioning (lf_generator_version) per eseguire il check una sola volta per versione.
Il plugin include anche shortcode per pagine legali ([mcl_chi_siamo], [mcl_contatti], [mcl_cookie_policy]), REST API per setup remoto via gestionale, e integrazioni con HB Agency, Analytics MCL, LiteSpeed Cache e GeneratePress.
Prossimi step: rollout v10.4 su tutta la rete, monitorare l'impatto di NewsArticle su Discover nelle prossime 2-3 settimane, valutare se applicare NewsArticle anche ai siti Yoast (richiede Yoast Premium o filtro PHP custom).
Nella sessione di lavoro del 28 marzo 2026, abbiamo identificato e risolto diversi problemi critici che affliggevano la rete:
1. Homepage SEO rotta su molti siti: title con 'Home -' davanti, meta description mancante o con testo spazzatura (label delle sezioni CMA come 'BY ULTIME NOTIZIE IN PRIMO PIANO TREND'), og:image mancante, og:description mancante. Risolto aggiungendo funzioni di health check che scrivono i post meta direttamente sulla pagina homepage sia per Yoast (_yoast_wpseo_title, _yoast_wpseo_metadesc, _yoast_wpseo_opengraph-image) che per Rank Math (rank_math_title, rank_math_description, rank_math_facebook_image).
2. Rank Math dormiente su alcuni siti: il wizard iniziale non era mai stato completato, quindi Rank Math non generava nessun output SEO nel frontend (zero meta tag, zero JSON-LD, zero og:*). Risolto con la funzione lf_rankmath_force_wizard_complete() che setta rank_math_wizard_completed, setup_mode advanced, moduli essenziali, rank_math_version e registration_skip.
3. Schema Article type: analisi comparativa con 6 competitor Discover ha mostrato che i siti di successo usano NewsArticle invece di BlogPosting. Migrato il template globale Rank Math da BlogPosting a NewsArticle, con funzione di migrazione massiva SQL per i post esistenti.
4. Health check automatico: inizialmente su admin_init (richiedeva visita wp-admin), migrato a plugins_loaded per scattare al primo pageview di qualsiasi tipo dopo l'aggiornamento del plugin. Sistema di versioning (lf_generator_version) per eseguire il check una sola volta per versione.
Il plugin include anche shortcode per pagine legali ([mcl_chi_siamo], [mcl_contatti], [mcl_cookie_policy]), REST API per setup remoto via gestionale, e integrazioni con HB Agency, Analytics MCL, LiteSpeed Cache e GeneratePress.
Prossimi step: rollout v10.4 su tutta la rete, monitorare l'impatto di NewsArticle su Discover nelle prossime 2-3 settimane, valutare se applicare NewsArticle anche ai siti Yoast (richiede Yoast Premium o filtro PHP custom).
📁 File Progetto
0 file
Max 64M · zip, pdf, docx, xlsx, immagini, codice…
📊 Avanzamento
92%
✅ To Do List
12/16
✓
Generazione logo/favicon WebP 20 tipologie (supersampling 4x)
✓
Auto-detect Yoast/Rank Math e configurazione completa
✓
REST API endpoint per setup remoto (/logo-favicon-generator/v1/setup)
✓
Shortcode pagine legali: chi_siamo, contatti, cookie_policy
✓
Health check automatico homepage SEO (title, description, og:image)
✓
Fix Yoast: post meta homepage (_yoast_wpseo_title, metadesc, opengraph-image)
✓
Fix Rank Math: post meta homepage (rank_math_title, description, facebook_image)
✓
Garbage detection description (rileva 'ULTIME NOTIZIE IN PRIMO PIANO TREND...')
✓
Bypass wizard Rank Math (lf_rankmath_force_wizard_complete)
✓
Migrazione hook da admin_init a plugins_loaded
✓
Migrazione schema da BlogPosting a NewsArticle (Rank Math)
✓
Fix template globale pt_post_default_article_type nell'health check
Rollout v10.4 su tutta la rete (280+ siti)
Monitorare impatto NewsArticle su Discover (2-3 settimane)
Valutare NewsArticle anche per siti Yoast (richiede filtro PHP o Yoast Premium)
Aggiornare sviluppo.mclmedia.eu con stato progetto
📝 Note
Il plugin è critico per l'infrastruttura MCL Media: è installato su tutti i siti della rete e gestisce sia l'identità visiva (logo/favicon) che la configurazione SEO completa. Ogni modifica va testata su almeno un sito Yoast e un sito Rank Math prima del rollout.
File principali: logo-favicon-generator.php (main), debug.php (admin debug page), fonts/montserrat-bold.ttf.
Funzioni chiave:
- lf_generate_images(): genera logo (20 tipologie random) e favicon (512px WebP)
- lf_configure_yoast() / lf_configure_rankmath(): setup SEO completo
- lf_rankmath_force_wizard_complete(): bypass wizard per siti dormienti
- lf_seo_health_check(): check automatico su plugins_loaded
- lf_health_check_yoast() / lf_health_check_rankmath(): fix specifici per plugin
- lf_fix_homepage_post_meta_yoast() / lf_fix_homepage_post_meta_rankmath(): fix post meta homepage
- lf_rankmath_migrate_to_newsarticle(): migrazione massiva SQL BlogPosting→NewsArticle
- lf_run_full_setup(): setup completo (immagini + SEO + integrazioni)
REST API: POST /logo-favicon-generator/v1/setup con Bearer token auth
Versioning health check: option lf_generator_version nel DB, confrontata con $current_version nel codice. Il check gira una sola volta per versione, al primo pageview dopo l'aggiornamento.
I siti Yoast restano su Article (non BlogPosting, non NewsArticle) perché Yoast free non supporta NewsArticle nello schema. Per cambiarlo servirebbe Yoast Premium o un filtro PHP custom su wpseo_schema_article_type.
Attenzione: su siti con cache (LiteSpeed, Redis), dopo l'health check bisogna svuotare la cache per vedere le modifiche nel frontend. Il plugin NON svuota automaticamente la cache se LiteSpeed non è attivo.
📜 Changelog
Analisi SEO homepage: identificati problemi title 'Home -', meta description mancante, og:image mancante su tenutavaldorso.it, bookingumbria.it, sophiestique.it
2026-03-28 09:00 · claude
v10.1: Aggiunto SEO health check automatico (admin_init), fix homepage Yoast e Rank Math, garbage detection description, og:image da logo/favicon
2026-03-28 09:30 · claude
Test v10.1 su sophiestique.it (Yoast): tutti i meta corretti dopo svuotamento cache LiteSpeed
2026-03-28 10:00 · claude
v10.2: Aggiunto bypass wizard Rank Math (lf_rankmath_force_wizard_complete) per siti con wizard mai completato
2026-03-28 10:30 · claude
Test v10.2 su semimatti.it (Rank Math): wizard bypass funzionante, Rank Math ora genera output SEO completo
2026-03-28 11:00 · claude
Analisi comparativa articoli: 4 siti MCL vs 6 competitor. Competitor usano NewsArticle, MCL usa Article/BlogPosting
2026-03-28 11:30 · claude
v10.3: Migrazione BlogPosting→NewsArticle per Rank Math, hook spostato da admin_init a plugins_loaded
2026-03-28 12:00 · claude
v10.4: Fix health check per forzare pt_post_default_article_type=NewsArticle nelle opzioni globali Rank Math
2026-03-28 12:30 · claude
Test v10.4 su semimatti.it: confermato @type NewsArticle nel JSON-LD (bypass cache)
2026-03-28 12:45 · claude
ℹ️ Info
Versione attuale
10.4
Plugin SEO supportati
Yoast SEO (free) + Rank Math (free/pro)
Font
Montserrat Bold (incluso nel plugin)
Tipologie logo
20 stili × 20 colori = 400 combinazioni
Supersampling
4x per qualità alta
Hook health check
plugins_loaded (scatta su qualsiasi pageview)
Schema articoli RM
NewsArticle (migrato da BlogPosting in v10.4)
Siti nella rete
280+ Discover + 26 GNews
🛠 Tech Stack
🔗 Link
📘 README
Nessun README. Usa "Copia README" per farlo generare da Claude.
⚠️ Zona Pericolosa
clicca per espandere