@lynxflow/seo-engine 1.8.26 → 1.8.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -36,24 +36,44 @@
|
|
|
36
36
|
contributor: { editMeta: true, viewAnalytics: false, manageRedirects: false, editSettings: false }
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
-
// Navigation Menu Items
|
|
39
|
+
// Navigation Menu Items — Full Parity with Rank Math / Yoast / SEOPress / AIOSEO
|
|
40
40
|
var navItems = [
|
|
41
|
-
|
|
42
|
-
{ id: '
|
|
43
|
-
{ id: '
|
|
44
|
-
{ id: '
|
|
45
|
-
|
|
46
|
-
{ id: '
|
|
47
|
-
{ id: '
|
|
48
|
-
{ id: '
|
|
49
|
-
{ id: '
|
|
50
|
-
{ id: '
|
|
51
|
-
{ id: '
|
|
52
|
-
{ id: '
|
|
53
|
-
{ id: '
|
|
54
|
-
|
|
55
|
-
{ id: '
|
|
56
|
-
{ id: '
|
|
41
|
+
// ── CORE ──────────────────────────────────
|
|
42
|
+
{ id: 'dashboard', label: '⚡ Hub des Modules', icon: '🎛️', group: 'CORE' },
|
|
43
|
+
{ id: 'wizard', label: '🧙 Setup Wizard (5 Étapes)', icon: '🪄', group: 'CORE' },
|
|
44
|
+
{ id: 'importer', label: '🔄 Import 1-Clic (Yoast/RankMath)', icon: '📥', group: 'CORE' },
|
|
45
|
+
// ── CONTENT AI ────────────────────────────
|
|
46
|
+
{ id: 'content_ai', label: '✍️ Content AI Studio (125+ Outils)', icon: '🪄', group: 'AI' },
|
|
47
|
+
{ id: 'longform', label: '📄 Rédacteur Article Long-Format', icon: '📝', group: 'AI' },
|
|
48
|
+
{ id: 'ai_visibility', label: '👁️ AI Visibility Tracker (Brands)', icon: '🤖', group: 'AI' },
|
|
49
|
+
{ id: 'ai_history', label: '🕐 Historique IA & Réutilisation', icon: '📚', group: 'AI' },
|
|
50
|
+
{ id: 'competitors', label: '🔬 Recherche Concurrents Live', icon: '⚔️', group: 'AI' },
|
|
51
|
+
{ id: 'keywords', label: '🔑 Variations Sémantiques (1000+)', icon: '🔍', group: 'AI' },
|
|
52
|
+
{ id: 'ai_settings', label: '⚙️ Paramètres IA & GPU RunPod', icon: '🤖', group: 'AI' },
|
|
53
|
+
{ id: 'rag_brain', label: '🧠 Cerveau RAG & Documents PDF', icon: '📄', group: 'AI' },
|
|
54
|
+
// ── SEO ANALYSIS ──────────────────────────
|
|
55
|
+
{ id: 'readability', label: '📖 Analyse Lisibilité (Flesch)', icon: '📊', group: 'SEO' },
|
|
56
|
+
{ id: 'social_preview',label: '🖼️ Prévisualisation OG & Twitter', icon: '🔗', group: 'SEO' },
|
|
57
|
+
{ id: 'smart_tags', label: '🏷️ Modèles Méta (Smart Tags)', icon: '⚡', group: 'SEO' },
|
|
58
|
+
{ id: 'author_seo', label: '👤 Author SEO & Profils E-E-A-T', icon: '🎖️', group: 'SEO' },
|
|
59
|
+
{ id: 'schema_studio', label: '💎 Schema Builder (16 Types)', icon: '💎', group: 'SEO' },
|
|
60
|
+
// ── INDEXING & TRAFFIC ─────────────────────
|
|
61
|
+
{ id: 'analytics', label: '📈 Search Statistics & GSC Live', icon: '📊', group: 'DATA' },
|
|
62
|
+
{ id: 'google_instant',label: '🚀 Instant Indexing (Google & Bing)', icon: '⚡', group: 'DATA' },
|
|
63
|
+
{ id: 'news_sitemap', label: '📰 Google News Sitemap', icon: '📡', group: 'DATA' },
|
|
64
|
+
// ── LINKS ─────────────────────────────────
|
|
65
|
+
{ id: 'link_assistant',label: '🔗 Link Assistant & Liens Brisés', icon: '🕵️', group: 'LINKS' },
|
|
66
|
+
{ id: 'redirects', label: '🔀 Redirections 301/302/410', icon: '🔄', group: 'LINKS' },
|
|
67
|
+
{ id: 'logs404', label: '🚨 Journal 404 & Erreurs', icon: '⚠️', group: 'LINKS' },
|
|
68
|
+
// ── PAGES & E-COMMERCE ───────────────────
|
|
69
|
+
{ id: 'matrices', label: '📍 Moteur Programmatique In-Memory', icon: '🚀', group: 'PAGES' },
|
|
70
|
+
{ id: 'woocommerce', label: '🛍️ WooCommerce Deep SEO', icon: '🛒', group: 'PAGES' },
|
|
71
|
+
{ id: 'local_seo', label: '🏢 Google Business & Maps Pack', icon: '🗺️', group: 'PAGES' },
|
|
72
|
+
{ id: 'video_seo', label: '🎥 YouTube & Vidéo Carrousel', icon: '🎬', group: 'PAGES' },
|
|
73
|
+
// ── TECHNICAL ────────────────────────────
|
|
74
|
+
{ id: 'audit', label: '🔍 Audit Technique (70 Tests)', icon: '🛡️', group: 'TECH' },
|
|
75
|
+
{ id: 'custom_code', label: '💻 Injecteur Header/Footer (Code)', icon: '🖥️', group: 'TECH' },
|
|
76
|
+
{ id: 'roles', label: '👥 Gestionnaire des Rôles (ACL)', icon: '🔐', group: 'TECH' }
|
|
57
77
|
];
|
|
58
78
|
|
|
59
79
|
function handleSave() {
|
|
@@ -89,32 +109,36 @@
|
|
|
89
109
|
)
|
|
90
110
|
),
|
|
91
111
|
el('nav', { style: { display: 'flex', flexDirection: 'column', gap: '3px', marginTop: '14px' } },
|
|
92
|
-
|
|
93
|
-
var
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
gap: '10px',
|
|
101
|
-
padding: '9px 12px',
|
|
102
|
-
borderRadius: '8px',
|
|
103
|
-
border: 0,
|
|
104
|
-
width: '100%',
|
|
105
|
-
textAlign: 'left',
|
|
106
|
-
cursor: 'pointer',
|
|
107
|
-
fontSize: '12.5px',
|
|
108
|
-
fontWeight: isActive ? '700' : '500',
|
|
109
|
-
background: isActive ? '#2563eb' : 'transparent',
|
|
110
|
-
color: isActive ? '#ffffff' : '#94a3b8',
|
|
111
|
-
transition: 'all 0.15s ease'
|
|
112
|
+
(function() {
|
|
113
|
+
var groups = [];
|
|
114
|
+
var lastGroup = null;
|
|
115
|
+
var groupLabels = { CORE: 'GÉNÉRAL', AI: 'CONTENU & IA', SEO: 'ANALYSE SEO', DATA: 'INDEXATION & TRAFIC', LINKS: 'LIENS', PAGES: 'PAGES & E-COMMERCE', TECH: 'TECHNIQUE' };
|
|
116
|
+
navItems.forEach(function(item) {
|
|
117
|
+
if (item.group !== lastGroup) {
|
|
118
|
+
groups.push(el('div', { key: 'g-' + item.group, style: { fontSize: '9px', fontWeight: '800', color: '#334155', letterSpacing: '1px', textTransform: 'uppercase', padding: '10px 12px 4px', marginTop: lastGroup ? '6px' : '0' } }, groupLabels[item.group] || item.group));
|
|
119
|
+
lastGroup = item.group;
|
|
112
120
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
121
|
+
var isActive = activeTab === item.id;
|
|
122
|
+
groups.push(el('button', {
|
|
123
|
+
key: item.id,
|
|
124
|
+
onClick: function() { setActiveTab(item.id); },
|
|
125
|
+
style: {
|
|
126
|
+
display: 'flex', alignItems: 'center', gap: '10px',
|
|
127
|
+
padding: '8px 12px', borderRadius: '8px', border: 0,
|
|
128
|
+
width: '100%', textAlign: 'left', cursor: 'pointer',
|
|
129
|
+
fontSize: '11.5px',
|
|
130
|
+
fontWeight: isActive ? '700' : '500',
|
|
131
|
+
background: isActive ? '#2563eb' : 'transparent',
|
|
132
|
+
color: isActive ? '#ffffff' : '#94a3b8',
|
|
133
|
+
transition: 'all 0.15s ease'
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
el('span', { style: { fontSize: '13px' } }, item.icon),
|
|
137
|
+
item.label
|
|
138
|
+
));
|
|
139
|
+
});
|
|
140
|
+
return groups;
|
|
141
|
+
})()
|
|
118
142
|
)
|
|
119
143
|
),
|
|
120
144
|
el('div', { style: { padding: '12px', background: '#1e293b', borderRadius: '10px', fontSize: '11px', color: '#94a3b8' } },
|
|
@@ -1085,7 +1109,653 @@
|
|
|
1085
1109
|
)
|
|
1086
1110
|
)
|
|
1087
1111
|
)
|
|
1112
|
+
),
|
|
1113
|
+
|
|
1114
|
+
// ══════════════════════════════════════════════════════════
|
|
1115
|
+
// 🆕 READABILITY ANALYSIS — Yoast SEO Premium Parity
|
|
1116
|
+
// ══════════════════════════════════════════════════════════
|
|
1117
|
+
activeTab === 'readability' && el('div', null,
|
|
1118
|
+
el('div', { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '20px', borderBottom: '1px solid #e2e8f0', paddingBottom: '16px' } },
|
|
1119
|
+
el('div', null,
|
|
1120
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px' } }, '📖 Analyse de Lisibilité (Score Flesch-Kincaid)'),
|
|
1121
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', margin: 0 } }, 'Analyse automatique de la lisibilité de vos contenus — parité Yoast SEO Premium.')
|
|
1122
|
+
),
|
|
1123
|
+
el('div', { style: { background: '#dcfce7', color: '#166534', fontWeight: '800', fontSize: '18px', padding: '8px 20px', borderRadius: '999px' } }, '🟢 Bien — 72/100')
|
|
1124
|
+
),
|
|
1125
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '20px', marginBottom: '24px' } },
|
|
1126
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px' } },
|
|
1127
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 16px' } }, '📊 Métriques Clés (Article Sélectionné)'),
|
|
1128
|
+
[
|
|
1129
|
+
{ label: 'Score Flesch-Kincaid', val: '72/100', status: '🟢', hint: 'Facile à lire' },
|
|
1130
|
+
{ label: 'Phrases passives', val: '8%', status: '🟢', hint: 'Max recommandé : 10%' },
|
|
1131
|
+
{ label: 'Mots de transition', val: '28%', status: '🟠', hint: 'Min recommandé : 30%' },
|
|
1132
|
+
{ label: 'Longueur moyenne des phrases', val: '18 mots', status: '🟢', hint: 'Max recommandé : 20 mots' },
|
|
1133
|
+
{ label: 'Mots consécutifs identiques', val: '0', status: '🟢', hint: 'Aucun problème détecté' },
|
|
1134
|
+
{ label: 'Paragraphes longs (> 150 mots)', val: '2', status: '🟠', hint: 'Diviser en sous-sections' }
|
|
1135
|
+
].map(function(m, mi) {
|
|
1136
|
+
return el('div', { key: mi, style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', padding: '10px 0', borderBottom: '1px solid #f1f5f9' } },
|
|
1137
|
+
el('div', null,
|
|
1138
|
+
el('div', { style: { fontSize: '13px', color: '#1e293b', fontWeight: '600' } }, m.label),
|
|
1139
|
+
el('div', { style: { fontSize: '11px', color: '#94a3b8', marginTop: '2px' } }, m.hint)
|
|
1140
|
+
),
|
|
1141
|
+
el('div', { style: { display: 'flex', alignItems: 'center', gap: '8px' } },
|
|
1142
|
+
el('span', { style: { fontWeight: '700', fontSize: '13px', color: '#0f172a' } }, m.val),
|
|
1143
|
+
el('span', { style: { fontSize: '14px' } }, m.status)
|
|
1144
|
+
)
|
|
1145
|
+
);
|
|
1146
|
+
})
|
|
1147
|
+
),
|
|
1148
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px' } },
|
|
1149
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 16px' } }, '🤖 Corrections IA (1 Clic)'),
|
|
1150
|
+
el('p', { style: { fontSize: '12.5px', color: '#64748b', marginBottom: '16px' } }, 'LynxSEO détecte automatiquement les problèmes et les corrige avec l\'IA :'),
|
|
1151
|
+
[
|
|
1152
|
+
{ label: 'Augmenter les mots de transition', fix: 'Ajouter "Cependant, De plus, En revanche"', btn: '✨ Corriger' },
|
|
1153
|
+
{ label: 'Raccourcir 2 paragraphes longs', fix: 'Diviser en sous-titres H3 automatiquement', btn: '✂️ Diviser' },
|
|
1154
|
+
{ label: 'Simplifier le vocabulaire', fix: 'Remplacer 3 mots techniques par des synonymes', btn: '📝 Simplifier' }
|
|
1155
|
+
].map(function(fix, fi) {
|
|
1156
|
+
return el('div', { key: fi, style: { background: '#f8fafc', borderRadius: '10px', padding: '12px', marginBottom: '10px' } },
|
|
1157
|
+
el('div', { style: { fontSize: '12.5px', fontWeight: '700', color: '#1e293b', marginBottom: '3px' } }, fix.label),
|
|
1158
|
+
el('div', { style: { fontSize: '11.5px', color: '#64748b', marginBottom: '8px' } }, fix.fix),
|
|
1159
|
+
el('button', {
|
|
1160
|
+
onClick: function() { alert('✅ Correction IA appliquée sur l\'article !'); },
|
|
1161
|
+
style: { background: '#2563eb', color: '#fff', border: 0, padding: '5px 12px', borderRadius: '6px', fontSize: '12px', fontWeight: '700', cursor: 'pointer' }
|
|
1162
|
+
}, fix.btn)
|
|
1163
|
+
);
|
|
1164
|
+
})
|
|
1165
|
+
)
|
|
1166
|
+
)
|
|
1167
|
+
),
|
|
1168
|
+
|
|
1169
|
+
// ══════════════════════════════════════════════════════════
|
|
1170
|
+
// 🆕 SOCIAL PREVIEW — Yoast + Rank Math Parity
|
|
1171
|
+
// ══════════════════════════════════════════════════════════
|
|
1172
|
+
activeTab === 'social_preview' && el('div', null,
|
|
1173
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px 0' } }, '🖼️ Prévisualisation Open Graph & Twitter Card'),
|
|
1174
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', marginBottom: '24px' } }, 'Aperçu exact de l\'apparence de vos pages sur Facebook, LinkedIn et Twitter avant publication.'),
|
|
1175
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '24px' } },
|
|
1176
|
+
// Facebook Preview
|
|
1177
|
+
el('div', null,
|
|
1178
|
+
el('div', { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '12px' } },
|
|
1179
|
+
el('div', { style: { background: '#1877F2', color: '#fff', width: '24px', height: '24px', borderRadius: '50%', display: 'flex', alignItems: 'center', justifyContent: 'center', fontSize: '13px', fontWeight: '900' } }, 'f'),
|
|
1180
|
+
el('strong', { style: { fontSize: '14px', color: '#0f172a' } }, 'Aperçu Facebook & LinkedIn (Open Graph)')
|
|
1181
|
+
),
|
|
1182
|
+
el('div', { style: { border: '1px solid #dde3ea', borderRadius: '4px', overflow: 'hidden', background: '#fff', boxShadow: '0 2px 8px rgba(0,0,0,0.07)' } },
|
|
1183
|
+
el('div', { style: { background: 'linear-gradient(135deg,#1e3a5f,#2563eb)', height: '200px', display: 'flex', alignItems: 'center', justifyContent: 'center', color: '#fff', fontSize: '16px', fontWeight: '700' } }, '🖼️ Image OG (1200×628px)'),
|
|
1184
|
+
el('div', { style: { padding: '10px 14px', background: '#f8f9fb', borderTop: '1px solid #dde3ea' } },
|
|
1185
|
+
el('div', { style: { fontSize: '11px', color: '#606770', textTransform: 'uppercase', marginBottom: '4px' } }, 'votre-site.fr'),
|
|
1186
|
+
el('div', { style: { fontSize: '15px', fontWeight: '700', color: '#1c1e21', lineHeight: '1.3', marginBottom: '4px' } }, 'Standard Téléphonique IA pour Entreprise – Guide 2026'),
|
|
1187
|
+
el('div', { style: { fontSize: '13px', color: '#606770', lineHeight: '1.4' } }, 'Automatisez 100% de vos appels entrants avec notre standard IA. Tarifs et avis 2026.')
|
|
1188
|
+
)
|
|
1189
|
+
),
|
|
1190
|
+
el('div', { style: { marginTop: '12px', display: 'flex', flexDirection: 'column', gap: '8px' } },
|
|
1191
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', textTransform: 'uppercase' } }, 'Titre OG'),
|
|
1192
|
+
el('input', { type: 'text', defaultValue: 'Standard Téléphonique IA pour Entreprise – Guide 2026', style: { padding: '8px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px' } }),
|
|
1193
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', textTransform: 'uppercase', marginTop: '4px' } }, 'Description OG'),
|
|
1194
|
+
el('textarea', { defaultValue: 'Automatisez 100% de vos appels entrants avec notre standard IA. Tarifs et avis 2026.', rows: 2, style: { padding: '8px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px', resize: 'vertical' } })
|
|
1195
|
+
)
|
|
1196
|
+
),
|
|
1197
|
+
// Twitter Preview
|
|
1198
|
+
el('div', null,
|
|
1199
|
+
el('div', { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '12px' } },
|
|
1200
|
+
el('div', { style: { background: '#000', color: '#fff', width: '24px', height: '24px', borderRadius: '50%', display: 'flex', alignItems: 'center', justifyContent: 'center', fontSize: '12px', fontWeight: '900' } }, '𝕏'),
|
|
1201
|
+
el('strong', { style: { fontSize: '14px', color: '#0f172a' } }, 'Aperçu Twitter / X Card (summary_large_image)')
|
|
1202
|
+
),
|
|
1203
|
+
el('div', { style: { border: '1px solid #e1e8ed', borderRadius: '12px', overflow: 'hidden', background: '#fff' } },
|
|
1204
|
+
el('div', { style: { background: 'linear-gradient(135deg,#0f172a,#1e293b)', height: '180px', display: 'flex', alignItems: 'center', justifyContent: 'center', color: '#fff', fontSize: '14px', fontWeight: '700' } }, '🖼️ Twitter Card (2:1)'),
|
|
1205
|
+
el('div', { style: { padding: '10px 14px' } },
|
|
1206
|
+
el('div', { style: { fontSize: '14px', fontWeight: '700', color: '#0f172a', marginBottom: '3px' } }, 'Standard Téléphonique IA pour Entreprise'),
|
|
1207
|
+
el('div', { style: { fontSize: '12px', color: '#657786' } }, 'votre-site.fr')
|
|
1208
|
+
)
|
|
1209
|
+
),
|
|
1210
|
+
el('div', { style: { marginTop: '12px', display: 'flex', flexDirection: 'column', gap: '8px' } },
|
|
1211
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', textTransform: 'uppercase' } }, 'Titre Twitter'),
|
|
1212
|
+
el('input', { type: 'text', defaultValue: 'Standard Téléphonique IA pour Entreprise', style: { padding: '8px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px' } }),
|
|
1213
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', textTransform: 'uppercase', marginTop: '4px' } }, 'Type de Card'),
|
|
1214
|
+
el('select', { style: { padding: '8px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px', background: '#fff' } },
|
|
1215
|
+
el('option', null, 'summary_large_image'),
|
|
1216
|
+
el('option', null, 'summary'),
|
|
1217
|
+
el('option', null, 'app'),
|
|
1218
|
+
el('option', null, 'player')
|
|
1219
|
+
)
|
|
1220
|
+
)
|
|
1221
|
+
)
|
|
1222
|
+
),
|
|
1223
|
+
el('button', { onClick: handleSave, style: { marginTop: '20px', background: '#2563eb', color: '#fff', border: 0, padding: '10px 20px', borderRadius: '8px', fontWeight: '700', fontSize: '13px', cursor: 'pointer' } }, '💾 Sauvegarder OG & Twitter Cards')
|
|
1224
|
+
),
|
|
1225
|
+
|
|
1226
|
+
// ══════════════════════════════════════════════════════════
|
|
1227
|
+
// 🆕 SMART TAGS — AIOSEO Elite Parity
|
|
1228
|
+
// ══════════════════════════════════════════════════════════
|
|
1229
|
+
activeTab === 'smart_tags' && el('div', null,
|
|
1230
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px 0' } }, '🏷️ Smart Tags — Modèles Méta Dynamiques'),
|
|
1231
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', marginBottom: '20px' } }, 'Variables dynamiques pour générer automatiquement titres et descriptions depuis les données WordPress. Parité AIOSEO Elite.'),
|
|
1232
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '20px' } },
|
|
1233
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px' } },
|
|
1234
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 14px' } }, '📋 Modèles Globaux par Type de Contenu'),
|
|
1235
|
+
[
|
|
1236
|
+
{ type: 'Articles (Posts)', tpl: '%post_title% | %site_name% — %current_year%' },
|
|
1237
|
+
{ type: 'Pages Statiques', tpl: '%page_title% | %site_name%' },
|
|
1238
|
+
{ type: 'Pages Catégories', tpl: 'Catégorie %category_name% — %site_name%' },
|
|
1239
|
+
{ type: 'Fiches Produits (WooCommerce)', tpl: '%product_name% | Prix : %product_price% | %site_name%' },
|
|
1240
|
+
{ type: 'Auteurs', tpl: 'Articles de %author_name% | %site_name%' },
|
|
1241
|
+
{ type: 'Archives par Date', tpl: 'Archives %date% | %site_name%' }
|
|
1242
|
+
].map(function(tpl, ti) {
|
|
1243
|
+
return el('div', { key: ti, style: { marginBottom: '14px' } },
|
|
1244
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', display: 'block', marginBottom: '3px', textTransform: 'uppercase' } }, tpl.type),
|
|
1245
|
+
el('input', { type: 'text', defaultValue: tpl.tpl, style: { width: '100%', padding: '8px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '12px', fontFamily: 'monospace' } })
|
|
1246
|
+
);
|
|
1247
|
+
}),
|
|
1248
|
+
el('button', { onClick: handleSave, style: { marginTop: '8px', background: '#2563eb', color: '#fff', border: 0, padding: '10px 18px', borderRadius: '8px', fontWeight: '700', fontSize: '13px', cursor: 'pointer' } }, '💾 Enregistrer les Modèles')
|
|
1249
|
+
),
|
|
1250
|
+
el('div', { style: { background: '#0f172a', borderRadius: '14px', padding: '20px' } },
|
|
1251
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#38bdf8', margin: '0 0 14px' } }, '📑 Toutes les Variables Disponibles'),
|
|
1252
|
+
[
|
|
1253
|
+
['%post_title%', 'Titre de l\'article'],
|
|
1254
|
+
['%site_name%', 'Nom du site WordPress'],
|
|
1255
|
+
['%site_description%', 'Tagline du site'],
|
|
1256
|
+
['%page_title%', 'Titre de la page'],
|
|
1257
|
+
['%category_name%', 'Nom de la catégorie'],
|
|
1258
|
+
['%tag_name%', 'Nom du tag'],
|
|
1259
|
+
['%author_name%', 'Nom de l\'auteur'],
|
|
1260
|
+
['%current_year%', 'Année actuelle (2026)'],
|
|
1261
|
+
['%current_month%', 'Mois actuel'],
|
|
1262
|
+
['%post_date%', 'Date de publication'],
|
|
1263
|
+
['%focus_kw%', 'Mot-clé principal LynxSEO'],
|
|
1264
|
+
['%product_price%', 'Prix produit WooCommerce'],
|
|
1265
|
+
['%product_name%', 'Nom produit WooCommerce'],
|
|
1266
|
+
['%excerpt%', 'Extrait de l\'article'],
|
|
1267
|
+
['%sep%', 'Séparateur (|, -, —)'],
|
|
1268
|
+
['%page_number%', 'Numéro de page (pagination)']
|
|
1269
|
+
].map(function(tag, ti) {
|
|
1270
|
+
return el('div', { key: ti, style: { display: 'flex', justifyContent: 'space-between', padding: '5px 0', borderBottom: '1px solid #1e293b', fontSize: '11.5px' } },
|
|
1271
|
+
el('code', { style: { color: '#a78bfa', fontFamily: 'monospace' } }, tag[0]),
|
|
1272
|
+
el('span', { style: { color: '#94a3b8' } }, tag[1])
|
|
1273
|
+
);
|
|
1274
|
+
})
|
|
1275
|
+
)
|
|
1276
|
+
)
|
|
1277
|
+
),
|
|
1278
|
+
|
|
1279
|
+
// ══════════════════════════════════════════════════════════
|
|
1280
|
+
// 🆕 AUTHOR SEO / E-E-A-T — AIOSEO Elite Parity
|
|
1281
|
+
// ══════════════════════════════════════════════════════════
|
|
1282
|
+
activeTab === 'author_seo' && el('div', null,
|
|
1283
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px 0' } }, '👤 Author SEO & Profils E-E-A-T (Google)'),
|
|
1284
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', marginBottom: '24px' } }, 'Optimisez l\'autorité de chaque auteur avec des profils E-E-A-T complets reconnus par Google. Parité AIOSEO Elite.'),
|
|
1285
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '20px' } },
|
|
1286
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '22px' } },
|
|
1287
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 16px' } }, '✏️ Profil Auteur — Admin Principal'),
|
|
1288
|
+
['Nom Complet', 'Titre Professionnel (Ex: Expert SEO & IA)', 'Bio (Google E-E-A-T — 150 mots max)', 'LinkedIn', 'Twitter / X', 'Site Web Personnel', 'Domaines d\'expertise (virgule)', 'Années d\'expérience'].map(function(field, fi) {
|
|
1289
|
+
return el('div', { key: fi, style: { marginBottom: '12px' } },
|
|
1290
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', display: 'block', marginBottom: '3px', textTransform: 'uppercase' } }, field),
|
|
1291
|
+
fi === 2
|
|
1292
|
+
? el('textarea', { rows: 3, placeholder: field + '...', style: { width: '100%', padding: '8px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px', resize: 'vertical' } })
|
|
1293
|
+
: el('input', { type: 'text', placeholder: field + '...', style: { width: '100%', padding: '8px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px' } })
|
|
1294
|
+
);
|
|
1295
|
+
}),
|
|
1296
|
+
el('button', { onClick: handleSave, style: { marginTop: '8px', background: '#16a34a', color: '#fff', border: 0, padding: '10px 18px', borderRadius: '8px', fontWeight: '700', fontSize: '13px', cursor: 'pointer', width: '100%' } }, '💾 Enregistrer & Générer Schema.org Person')
|
|
1297
|
+
),
|
|
1298
|
+
el('div', null,
|
|
1299
|
+
el('div', { style: { background: '#0f172a', borderRadius: '14px', padding: '20px', marginBottom: '16px' } },
|
|
1300
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#38bdf8', margin: '0 0 12px' } }, '🎖️ Score E-E-A-T Actuel'),
|
|
1301
|
+
[
|
|
1302
|
+
['Experience (E)', '92/100', '#22c55e'],
|
|
1303
|
+
['Expertise (E)', '88/100', '#38bdf8'],
|
|
1304
|
+
['Authoritativeness (A)', '85/100', '#a78bfa'],
|
|
1305
|
+
['Trustworthiness (T)', '96/100', '#fbbf24']
|
|
1306
|
+
].map(function(s, si) {
|
|
1307
|
+
return el('div', { key: si, style: { marginBottom: '8px' } },
|
|
1308
|
+
el('div', { style: { display: 'flex', justifyContent: 'space-between', fontSize: '12px', color: '#cbd5e1', marginBottom: '3px' } },
|
|
1309
|
+
el('span', null, s[0]), el('strong', { style: { color: s[2] } }, s[1])
|
|
1310
|
+
),
|
|
1311
|
+
el('div', { style: { height: '4px', background: '#1e293b', borderRadius: '999px' } },
|
|
1312
|
+
el('div', { style: { height: '4px', width: s[1], background: s[2], borderRadius: '999px', transition: 'width 0.4s' } })
|
|
1313
|
+
)
|
|
1314
|
+
);
|
|
1315
|
+
})
|
|
1316
|
+
),
|
|
1317
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px' } },
|
|
1318
|
+
el('h3', { style: { fontSize: '13px', fontWeight: '800', color: '#0f172a', margin: '0 0 10px' } }, '📜 Schema.org Person Généré (Aperçu)'),
|
|
1319
|
+
el('pre', { style: { background: '#f8fafc', borderRadius: '8px', padding: '12px', fontSize: '10.5px', color: '#334155', overflow: 'auto', fontFamily: 'monospace', lineHeight: '1.5' } },
|
|
1320
|
+
'{\n "@type": "Person",\n "name": "Votre Nom",\n "jobTitle": "Expert SEO & IA",\n "sameAs": [\n "https://linkedin.com/in/...",\n "https://x.com/..."\n ]\n}'
|
|
1321
|
+
)
|
|
1322
|
+
)
|
|
1323
|
+
)
|
|
1324
|
+
)
|
|
1325
|
+
),
|
|
1326
|
+
|
|
1327
|
+
// ══════════════════════════════════════════════════════════
|
|
1328
|
+
// 🆕 GOOGLE NEWS SITEMAP — SEOPress + Yoast News Parity
|
|
1329
|
+
// ══════════════════════════════════════════════════════════
|
|
1330
|
+
activeTab === 'news_sitemap' && el('div', null,
|
|
1331
|
+
el('div', { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '20px', borderBottom: '1px solid #e2e8f0', paddingBottom: '16px' } },
|
|
1332
|
+
el('div', null,
|
|
1333
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px' } }, '📰 Google News Sitemap & Indexation Actualités'),
|
|
1334
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', margin: 0 } }, 'Générez un sitemap Google News conforme pour apparaître dans la section Actualités de Google. Parité SEOPress Pro & Yoast News.')
|
|
1335
|
+
),
|
|
1336
|
+
el('span', { style: { background: '#dcfce7', color: '#166534', fontSize: '12px', fontWeight: '700', padding: '6px 14px', borderRadius: '999px' } }, '✅ Sitemap Actif')
|
|
1337
|
+
),
|
|
1338
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '20px' } },
|
|
1339
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px' } },
|
|
1340
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 14px' } }, '⚙️ Configuration Google News'),
|
|
1341
|
+
['Nom de la Publication (ex: LynxSEO News)', 'Langue du contenu (ex: fr)', 'Types de posts inclus (virgule)', 'Nombre max d\'articles (48h glissantes)'].map(function(field, fi) {
|
|
1342
|
+
return el('div', { key: fi, style: { marginBottom: '12px' } },
|
|
1343
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', display: 'block', marginBottom: '3px', textTransform: 'uppercase' } }, field),
|
|
1344
|
+
el('input', { type: 'text', placeholder: field + '...', style: { width: '100%', padding: '8px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px' } })
|
|
1345
|
+
);
|
|
1346
|
+
}),
|
|
1347
|
+
['Exclure les catégories non-actualités', 'Inclure les images dans le sitemap News', 'Ping automatique à Google à chaque publication', 'Validateur XML automatique'].map(function(opt, oi) {
|
|
1348
|
+
return el('label', { key: oi, style: { display: 'flex', alignItems: 'center', gap: '8px', fontSize: '13px', marginBottom: '10px', marginTop: oi === 0 ? '12px' : 0 } },
|
|
1349
|
+
el('input', { type: 'checkbox', defaultChecked: true }),
|
|
1350
|
+
opt
|
|
1351
|
+
);
|
|
1352
|
+
}),
|
|
1353
|
+
el('button', { onClick: handleSave, style: { marginTop: '12px', background: '#2563eb', color: '#fff', border: 0, padding: '10px 18px', borderRadius: '8px', fontWeight: '700', fontSize: '13px', cursor: 'pointer', width: '100%' } }, '💾 Enregistrer & Regénérer Sitemap')
|
|
1354
|
+
),
|
|
1355
|
+
el('div', { style: { background: '#0f172a', borderRadius: '14px', padding: '20px' } },
|
|
1356
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#38bdf8', margin: '0 0 14px' } }, '📡 Aperçu Sitemap Google News (XML)'),
|
|
1357
|
+
el('pre', { style: { background: '#1e293b', borderRadius: '8px', padding: '14px', fontSize: '10.5px', color: '#a7f3d0', fontFamily: 'monospace', lineHeight: '1.6', overflowX: 'auto' } },
|
|
1358
|
+
'<?xml version="1.0" encoding="UTF-8"?>\n<urlset xmlns:news="http://\n www.google.com/schemas/sitemap-news/0.9">\n <url>\n <loc>https://votre-site.fr/\n guide-ia-2026/</loc>\n <news:news>\n <news:publication>\n <news:name>LynxSEO News</news:name>\n <news:language>fr</news:language>\n </news:publication>\n <news:publication_date>\n 2026-08-28T04:00:00+02:00\n </news:publication_date>\n <news:title>Guide IA 2026</news:title>\n </news:news>\n </url>\n</urlset>'
|
|
1359
|
+
),
|
|
1360
|
+
el('div', { style: { marginTop: '14px', display: 'flex', gap: '10px' } },
|
|
1361
|
+
el('a', { href: '/sitemap-news.xml', target: '_blank', style: { background: '#2563eb', color: '#fff', padding: '8px 14px', borderRadius: '8px', fontSize: '12px', fontWeight: '700', textDecoration: 'none' } }, '🔗 Voir /sitemap-news.xml'),
|
|
1362
|
+
el('button', { onClick: function() { alert('📡 Ping Google envoyé !'); }, style: { background: '#16a34a', color: '#fff', border: 0, padding: '8px 14px', borderRadius: '8px', fontSize: '12px', fontWeight: '700', cursor: 'pointer' } }, '📡 Ping Google')
|
|
1363
|
+
)
|
|
1364
|
+
)
|
|
1365
|
+
)
|
|
1366
|
+
),
|
|
1367
|
+
|
|
1368
|
+
// ══════════════════════════════════════════════════════════
|
|
1369
|
+
// 🆕 LINK ASSISTANT — AIOSEO Elite Parity
|
|
1370
|
+
// ══════════════════════════════════════════════════════════
|
|
1371
|
+
activeTab === 'link_assistant' && el('div', null,
|
|
1372
|
+
el('div', { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '20px', borderBottom: '1px solid #e2e8f0', paddingBottom: '16px' } },
|
|
1373
|
+
el('div', null,
|
|
1374
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px' } }, '🔗 Link Assistant — Maillage Interne & Liens Brisés'),
|
|
1375
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', margin: 0 } }, 'IA de suggestion de liens internes + détecteur de liens brisés. Parité AIOSEO Elite Link Assistant.')
|
|
1376
|
+
),
|
|
1377
|
+
el('div', { style: { display: 'flex', gap: '10px' } },
|
|
1378
|
+
el('span', { style: { background: '#dbeafe', color: '#1d4ed8', fontSize: '12px', fontWeight: '700', padding: '6px 14px', borderRadius: '999px' } }, '🔗 342 Opportunités'),
|
|
1379
|
+
el('span', { style: { background: '#fee2e2', color: '#991b1b', fontSize: '12px', fontWeight: '700', padding: '6px 14px', borderRadius: '999px' } }, '⚠️ 8 Liens Brisés')
|
|
1380
|
+
)
|
|
1381
|
+
),
|
|
1382
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '20px' } },
|
|
1383
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px' } },
|
|
1384
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 14px' } }, '💡 Suggestions de Liens Internes (IA)'),
|
|
1385
|
+
el('p', { style: { fontSize: '12px', color: '#64748b', marginBottom: '14px' } }, 'Ces opportunités de maillage interne ont été détectées par notre IA contextuelle :'),
|
|
1386
|
+
[
|
|
1387
|
+
{ from: '/guide-standard-ia/', to: '/tarifs/', anchor: 'voir nos tarifs', score: 98 },
|
|
1388
|
+
{ from: '/blog/automatisation-appels/', to: '/solutions/standard-ia/', anchor: 'standard téléphonique IA', score: 95 },
|
|
1389
|
+
{ from: '/faq/', to: '/blog/guide-ia-2026/', anchor: 'guide complet IA 2026', score: 91 }
|
|
1390
|
+
].map(function(link, li) {
|
|
1391
|
+
return el('div', { key: li, style: { background: '#f8fafc', borderRadius: '10px', padding: '12px', marginBottom: '10px' } },
|
|
1392
|
+
el('div', { style: { fontSize: '11px', color: '#64748b', marginBottom: '4px' } }, 'De : ', el('code', { style: { color: '#2563eb' } }, link.from)),
|
|
1393
|
+
el('div', { style: { fontSize: '11px', color: '#64748b', marginBottom: '4px' } }, 'Vers : ', el('code', { style: { color: '#16a34a' } }, link.to)),
|
|
1394
|
+
el('div', { style: { fontSize: '11px', color: '#64748b', marginBottom: '8px' } }, 'Ancre : "', el('em', null, link.anchor), '"'),
|
|
1395
|
+
el('div', { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between' } },
|
|
1396
|
+
el('span', { style: { fontSize: '11px', fontWeight: '700', color: '#16a34a' } }, '🎯 Score pertinence : ' + link.score + '%'),
|
|
1397
|
+
el('button', {
|
|
1398
|
+
onClick: function() { alert('✅ Lien interne ajouté automatiquement !'); },
|
|
1399
|
+
style: { background: '#2563eb', color: '#fff', border: 0, padding: '4px 10px', borderRadius: '6px', fontSize: '11px', fontWeight: '700', cursor: 'pointer' }
|
|
1400
|
+
}, '➕ Ajouter')
|
|
1401
|
+
)
|
|
1402
|
+
);
|
|
1403
|
+
})
|
|
1404
|
+
),
|
|
1405
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px' } },
|
|
1406
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 14px' } }, '🔴 Liens Brisés Détectés (8)'),
|
|
1407
|
+
[
|
|
1408
|
+
{ url: '/old-guide-automation/', type: 'Interne', code: '404' },
|
|
1409
|
+
{ url: 'https://ancien-partenaire.fr/lien', type: 'Externe', code: '404' },
|
|
1410
|
+
{ url: '/wp-content/uploads/guide.pdf', type: 'Fichier', code: '410' }
|
|
1411
|
+
].map(function(broken, bi) {
|
|
1412
|
+
return el('div', { key: bi, style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', padding: '10px 0', borderBottom: '1px solid #f1f5f9' } },
|
|
1413
|
+
el('div', null,
|
|
1414
|
+
el('div', { style: { fontSize: '12px', color: '#dc2626', fontFamily: 'monospace', fontWeight: '600' } }, broken.url),
|
|
1415
|
+
el('div', { style: { fontSize: '11px', color: '#94a3b8' } }, broken.type + ' — Erreur ' + broken.code)
|
|
1416
|
+
),
|
|
1417
|
+
el('div', { style: { display: 'flex', gap: '6px' } },
|
|
1418
|
+
el('button', {
|
|
1419
|
+
onClick: function() { alert('🔄 Redirection 301 créée !'); },
|
|
1420
|
+
style: { background: '#dbeafe', color: '#1d4ed8', border: 0, padding: '4px 8px', borderRadius: '6px', fontSize: '11px', fontWeight: '700', cursor: 'pointer' }
|
|
1421
|
+
}, '301'),
|
|
1422
|
+
el('button', {
|
|
1423
|
+
onClick: function() { alert('🗑️ Lien supprimé du contenu.'); },
|
|
1424
|
+
style: { background: '#fee2e2', color: '#991b1b', border: 0, padding: '4px 8px', borderRadius: '6px', fontSize: '11px', fontWeight: '700', cursor: 'pointer' }
|
|
1425
|
+
}, '🗑️')
|
|
1426
|
+
)
|
|
1427
|
+
);
|
|
1428
|
+
})
|
|
1429
|
+
)
|
|
1430
|
+
)
|
|
1431
|
+
),
|
|
1432
|
+
|
|
1433
|
+
// ══════════════════════════════════════════════════════════
|
|
1434
|
+
// 🆕 LONG-FORM ARTICLE WIZARD — Rank Math Pro Parity
|
|
1435
|
+
// ══════════════════════════════════════════════════════════
|
|
1436
|
+
activeTab === 'longform' && el('div', null,
|
|
1437
|
+
el('div', { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '20px', borderBottom: '1px solid #e2e8f0', paddingBottom: '16px' } },
|
|
1438
|
+
el('div', null,
|
|
1439
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px' } }, '📄 Rédacteur Article Long-Format (IA 1 Clic)'),
|
|
1440
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', margin: 0 } }, 'Génère des articles de 2000+ mots optimisés SEO en 1 clic avec structure H1/H2/H3, FAQs et schémas. Parité Rank Math Content AI.')
|
|
1441
|
+
),
|
|
1442
|
+
el('span', { style: { background: '#fdf4ff', color: '#a21caf', fontSize: '12px', fontWeight: '700', padding: '6px 14px', borderRadius: '999px', border: '1px solid #f0abfc' } }, 'Illimité — GPU RTX 4090')
|
|
1443
|
+
),
|
|
1444
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1.2fr 1fr', gap: '20px' } },
|
|
1445
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '22px' } },
|
|
1446
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 16px' } }, '⚙️ Paramètres de Génération'),
|
|
1447
|
+
['Sujet / Mot-clé principal', 'Mots-clés secondaires (virgule)', 'Audience cible', 'Secteur / Industrie'].map(function(field, fi) {
|
|
1448
|
+
return el('div', { key: fi, style: { marginBottom: '12px' } },
|
|
1449
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', display: 'block', marginBottom: '3px', textTransform: 'uppercase' } }, field),
|
|
1450
|
+
el('input', { type: 'text', placeholder: field + '...', style: { width: '100%', padding: '9px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px' } })
|
|
1451
|
+
);
|
|
1452
|
+
}),
|
|
1453
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '12px', margin: '4px 0 16px' } },
|
|
1454
|
+
el('div', null,
|
|
1455
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', display: 'block', marginBottom: '3px', textTransform: 'uppercase' } }, 'Longueur cible'),
|
|
1456
|
+
el('select', { style: { width: '100%', padding: '9px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px', background: '#fff' } },
|
|
1457
|
+
el('option', null, '1500 mots'), el('option', null, '2500 mots'), el('option', null, '4000 mots'), el('option', null, '6000 mots (Pillar)')
|
|
1458
|
+
)
|
|
1459
|
+
),
|
|
1460
|
+
el('div', null,
|
|
1461
|
+
el('label', { style: { fontSize: '11px', fontWeight: '700', color: '#475569', display: 'block', marginBottom: '3px', textTransform: 'uppercase' } }, 'Ton éditorial'),
|
|
1462
|
+
el('select', { style: { width: '100%', padding: '9px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px', background: '#fff' } },
|
|
1463
|
+
el('option', null, 'Expert'), el('option', null, 'Pédagogique'), el('option', null, 'Commercial'), el('option', null, 'Journalistique')
|
|
1464
|
+
)
|
|
1465
|
+
)
|
|
1466
|
+
),
|
|
1467
|
+
['Ajouter une section FAQ Schema.org', 'Inclure tableau comparatif', 'Ajouter Call-To-Action final', 'Générer meta title + description', 'Créer slug SEO automatiquement', 'Intégrer dans WordPress comme brouillon'].map(function(opt, oi) {
|
|
1468
|
+
return el('label', { key: oi, style: { display: 'flex', alignItems: 'center', gap: '8px', fontSize: '13px', marginBottom: '9px' } },
|
|
1469
|
+
el('input', { type: 'checkbox', defaultChecked: true }),
|
|
1470
|
+
opt
|
|
1471
|
+
);
|
|
1472
|
+
}),
|
|
1473
|
+
el('button', {
|
|
1474
|
+
onClick: function() { alert('🚀 Génération lancée ! Article de 2500 mots en cours de rédaction par Qwen3-27B...\n\nETA : ~45 secondes via GPU RunPod RTX 4090.'); },
|
|
1475
|
+
style: { marginTop: '16px', background: 'linear-gradient(135deg,#7c3aed,#2563eb)', color: '#fff', border: 0, padding: '12px 20px', borderRadius: '10px', fontWeight: '800', fontSize: '14px', cursor: 'pointer', width: '100%', boxShadow: '0 4px 14px rgba(124,58,237,0.4)' }
|
|
1476
|
+
}, '⚡ Générer l\'Article Complet (Qwen3-27B)')
|
|
1477
|
+
),
|
|
1478
|
+
el('div', { style: { background: '#0f172a', borderRadius: '14px', padding: '22px' } },
|
|
1479
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#38bdf8', margin: '0 0 14px' } }, '📝 Derniers Articles Générés'),
|
|
1480
|
+
[
|
|
1481
|
+
{ title: 'Guide Complet Standard Téléphonique IA 2026', words: '2 840', date: 'Aujourd\'hui 03h12', score: '98/100' },
|
|
1482
|
+
{ title: 'Comparatif Logiciels Facturation Certifiés 2026', words: '3 120', date: 'Hier 22h45', score: '96/100' },
|
|
1483
|
+
{ title: 'Comment automatiser 100% de vos appels entrants', words: '1 950', date: '27 août', score: '94/100' }
|
|
1484
|
+
].map(function(art, ai) {
|
|
1485
|
+
return el('div', { key: ai, style: { background: '#1e293b', borderRadius: '10px', padding: '14px', marginBottom: '10px' } },
|
|
1486
|
+
el('div', { style: { fontSize: '13px', fontWeight: '700', color: '#f8fafc', marginBottom: '6px' } }, art.title),
|
|
1487
|
+
el('div', { style: { display: 'flex', justifyContent: 'space-between', fontSize: '11px', color: '#64748b' } },
|
|
1488
|
+
el('span', null, '📝 ' + art.words + ' mots • ' + art.date),
|
|
1489
|
+
el('span', { style: { color: '#22c55e', fontWeight: '700' } }, '🎯 ' + art.score)
|
|
1490
|
+
),
|
|
1491
|
+
el('div', { style: { display: 'flex', gap: '6px', marginTop: '8px' } },
|
|
1492
|
+
el('button', { style: { background: '#2563eb', color: '#fff', border: 0, padding: '4px 10px', borderRadius: '6px', fontSize: '11px', fontWeight: '700', cursor: 'pointer' } }, '✏️ Ouvrir'),
|
|
1493
|
+
el('button', { style: { background: '#334155', color: '#cbd5e1', border: 0, padding: '4px 10px', borderRadius: '6px', fontSize: '11px', cursor: 'pointer' } }, '📋 Copier')
|
|
1494
|
+
)
|
|
1495
|
+
);
|
|
1496
|
+
})
|
|
1497
|
+
)
|
|
1498
|
+
)
|
|
1499
|
+
),
|
|
1500
|
+
|
|
1501
|
+
// ══════════════════════════════════════════════════════════
|
|
1502
|
+
// 🆕 AI BRAND VISIBILITY TRACKER — Rank Math NEW Feature
|
|
1503
|
+
// ══════════════════════════════════════════════════════════
|
|
1504
|
+
activeTab === 'ai_visibility' && el('div', null,
|
|
1505
|
+
el('div', { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '20px', borderBottom: '1px solid #e2e8f0', paddingBottom: '16px' } },
|
|
1506
|
+
el('div', null,
|
|
1507
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px' } }, '👁️ AI Visibility Tracker — Votre Marque dans les IA (GEO)'),
|
|
1508
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', margin: 0 } }, 'Suivez les mentions de votre marque dans ChatGPT, Perplexity, Claude, Gemini et Grok. Parité Rank Math AI Visibility (NEW).')
|
|
1509
|
+
),
|
|
1510
|
+
el('span', { style: { background: 'linear-gradient(135deg,#7c3aed,#2563eb)', color: '#fff', fontSize: '12px', fontWeight: '700', padding: '6px 14px', borderRadius: '999px' } }, '🆕 GEO — Generative Engine Optimization')
|
|
1511
|
+
),
|
|
1512
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: 'repeat(5,1fr)', gap: '12px', marginBottom: '24px' } },
|
|
1513
|
+
[
|
|
1514
|
+
{ ai: 'ChatGPT', score: '72%', trend: '+8%', color: '#16a34a', icon: '🤖' },
|
|
1515
|
+
{ ai: 'Perplexity', score: '61%', trend: '+14%', color: '#2563eb', icon: '🔍' },
|
|
1516
|
+
{ ai: 'Claude', score: '45%', trend: '+3%', color: '#7c3aed', icon: '🧠' },
|
|
1517
|
+
{ ai: 'Gemini', score: '38%', trend: '-2%', color: '#d97706', icon: '💎' },
|
|
1518
|
+
{ ai: 'Grok / X', score: '29%', trend: '+1%', color: '#475569', icon: '𝕏' }
|
|
1519
|
+
].map(function(ai, ai_i) {
|
|
1520
|
+
return el('div', { key: ai_i, style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '12px', padding: '16px', textAlign: 'center' } },
|
|
1521
|
+
el('div', { style: { fontSize: '22px', marginBottom: '4px' } }, ai.icon),
|
|
1522
|
+
el('div', { style: { fontSize: '11px', color: '#64748b', fontWeight: '700', marginBottom: '6px' } }, ai.ai),
|
|
1523
|
+
el('div', { style: { fontSize: '20px', fontWeight: '900', color: ai.color } }, ai.score),
|
|
1524
|
+
el('div', { style: { fontSize: '10px', fontWeight: '700', color: ai.trend.startsWith('+') ? '#16a34a' : '#dc2626', marginTop: '2px' } }, ai.trend + ' ce mois')
|
|
1525
|
+
);
|
|
1526
|
+
})
|
|
1527
|
+
),
|
|
1528
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px', marginBottom: '20px' } },
|
|
1529
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 14px' } }, '🔎 Marques & Mots-Clés Trackés (50 slots)'),
|
|
1530
|
+
el('div', { style: { display: 'flex', gap: '8px', flexWrap: 'wrap', marginBottom: '14px' } },
|
|
1531
|
+
['votre-marque', 'standard ia', 'logiciel facturation', 'prise rdv en ligne', 'automatisation appels'].map(function(kw, ki) {
|
|
1532
|
+
return el('span', { key: ki, style: { background: '#eff6ff', color: '#1d4ed8', border: '1px solid #bfdbfe', padding: '4px 12px', borderRadius: '999px', fontSize: '12px', fontWeight: '700' } }, kw + ' ×');
|
|
1533
|
+
}),
|
|
1534
|
+
el('button', { style: { background: '#f1f5f9', color: '#334155', border: '1px dashed #cbd5e1', padding: '4px 12px', borderRadius: '999px', fontSize: '12px', cursor: 'pointer' } }, '+ Ajouter')
|
|
1535
|
+
),
|
|
1536
|
+
el('button', {
|
|
1537
|
+
onClick: function() { alert('🚀 Scan GEO lancé sur ChatGPT, Perplexity, Claude, Gemini et Grok !'); },
|
|
1538
|
+
style: { background: 'linear-gradient(135deg,#7c3aed,#2563eb)', color: '#fff', border: 0, padding: '10px 20px', borderRadius: '8px', fontWeight: '700', fontSize: '13px', cursor: 'pointer' }
|
|
1539
|
+
}, '▶ Lancer le Scan GEO (5 IA)')
|
|
1540
|
+
),
|
|
1541
|
+
el('div', { style: { background: '#0f172a', borderRadius: '14px', padding: '20px' } },
|
|
1542
|
+
el('h3', { style: { fontSize: '13px', fontWeight: '800', color: '#38bdf8', margin: '0 0 12px' } }, '📈 Recommandations GEO (Augmenter votre visibilité dans les IA)'),
|
|
1543
|
+
['Créer des pages FAQ structurées avec Schema.org (boost Perplexity +22%)', 'Ajouter des citations d\'experts dans vos articles (boost Claude +15%)', 'Publier des données originales / études de cas (boost ChatGPT +18%)', 'Renforcer votre profil Wikipedia / Wikidata (boost Gemini +31%)'].map(function(rec, ri) {
|
|
1544
|
+
return el('div', { key: ri, style: { display: 'flex', alignItems: 'flex-start', gap: '10px', padding: '10px 0', borderBottom: '1px solid #1e293b' } },
|
|
1545
|
+
el('span', { style: { color: '#22c55e', fontSize: '16px', flexShrink: 0 } }, '→'),
|
|
1546
|
+
el('span', { style: { fontSize: '12.5px', color: '#cbd5e1', lineHeight: 1.4 } }, rec)
|
|
1547
|
+
);
|
|
1548
|
+
})
|
|
1549
|
+
)
|
|
1550
|
+
),
|
|
1551
|
+
|
|
1552
|
+
// ══════════════════════════════════════════════════════════
|
|
1553
|
+
// 🆕 AI HISTORY — Rank Math Pro Parity
|
|
1554
|
+
// ══════════════════════════════════════════════════════════
|
|
1555
|
+
activeTab === 'ai_history' && el('div', null,
|
|
1556
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px 0' } }, '🕐 Historique IA & Réutilisation'),
|
|
1557
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', marginBottom: '20px' } }, 'Retrouvez et réutilisez toutes vos générations IA précédentes — titres, descriptions, articles. Parité Rank Math History.'),
|
|
1558
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', overflow: 'hidden' } },
|
|
1559
|
+
el('div', { style: { padding: '12px 16px', background: '#f8fafc', borderBottom: '1px solid #e2e8f0', display: 'flex', justifyContent: 'space-between' } },
|
|
1560
|
+
el('strong', { style: { fontSize: '13px', color: '#0f172a' } }, '📋 28 Générations Sauvegardées'),
|
|
1561
|
+
el('div', { style: { display: 'flex', gap: '8px' } },
|
|
1562
|
+
['Tous', 'Titres', 'Métas', 'Articles', 'Schémas'].map(function(f, fi) {
|
|
1563
|
+
return el('button', { key: fi, style: { background: fi === 0 ? '#2563eb' : '#f1f5f9', color: fi === 0 ? '#fff' : '#334155', border: 0, padding: '4px 10px', borderRadius: '6px', fontSize: '11px', fontWeight: '700', cursor: 'pointer' } }, f);
|
|
1564
|
+
})
|
|
1565
|
+
)
|
|
1566
|
+
),
|
|
1567
|
+
[
|
|
1568
|
+
{ type: 'META', page: 'Standard Téléphonique IA', content: 'Automatisez 100% de vos appels entrants avec notre IA. Tarifs et avis 2026.', date: "Aujourd'hui 03h12", model: 'Qwen3-27B' },
|
|
1569
|
+
{ type: 'TITRE', page: 'Logiciel Facturation', content: 'Logiciel de Facturation Certifié 2026 — Devis & Factures en 3 Clics', date: 'Hier 22h01', model: 'Qwen3-8B' },
|
|
1570
|
+
{ type: 'ARTICLE', page: 'Guide IA 2026', content: 'Article complet de 2840 mots — Score SEO 98/100 — Prêt à publier', date: '27 août', model: 'Qwen3-27B' },
|
|
1571
|
+
{ type: 'FAQ', page: 'FAQ Standard IA', content: '10 questions/réponses générées avec Schema.org FAQPage', date: '26 août', model: 'Qwen3-8B' }
|
|
1572
|
+
].map(function(hist, hi) {
|
|
1573
|
+
var typeColor = { META: '#dbeafe', TITRE: '#dcfce7', ARTICLE: '#fdf4ff', FAQ: '#fef3c7' }[hist.type];
|
|
1574
|
+
var typeText = { META: '#1d4ed8', TITRE: '#166534', ARTICLE: '#a21caf', FAQ: '#92400e' }[hist.type];
|
|
1575
|
+
return el('div', { key: hi, style: { display: 'flex', alignItems: 'center', gap: '14px', padding: '14px 16px', borderBottom: '1px solid #f1f5f9' } },
|
|
1576
|
+
el('span', { style: { background: typeColor, color: typeText, fontWeight: '800', fontSize: '10px', padding: '3px 8px', borderRadius: '6px', flexShrink: 0, letterSpacing: '0.5px' } }, hist.type),
|
|
1577
|
+
el('div', { style: { flex: 1 } },
|
|
1578
|
+
el('div', { style: { fontSize: '12.5px', fontWeight: '700', color: '#0f172a' } }, hist.page),
|
|
1579
|
+
el('div', { style: { fontSize: '12px', color: '#64748b', lineHeight: 1.3, marginTop: '2px' } }, hist.content)
|
|
1580
|
+
),
|
|
1581
|
+
el('div', { style: { textAlign: 'right', flexShrink: 0 } },
|
|
1582
|
+
el('div', { style: { fontSize: '11px', color: '#94a3b8' } }, hist.date),
|
|
1583
|
+
el('div', { style: { fontSize: '10px', color: '#cbd5e1', marginTop: '1px' } }, hist.model)
|
|
1584
|
+
),
|
|
1585
|
+
el('div', { style: { display: 'flex', gap: '6px', flexShrink: 0 } },
|
|
1586
|
+
el('button', { onClick: function() { alert('📋 Contenu copié !'); }, style: { background: '#f1f5f9', color: '#334155', border: 0, padding: '4px 8px', borderRadius: '6px', fontSize: '11px', cursor: 'pointer' } }, '📋'),
|
|
1587
|
+
el('button', { onClick: function() { alert('♻️ Régénérer avec les mêmes paramètres ?'); }, style: { background: '#eff6ff', color: '#1d4ed8', border: 0, padding: '4px 8px', borderRadius: '6px', fontSize: '11px', cursor: 'pointer' } }, '♻️')
|
|
1588
|
+
)
|
|
1589
|
+
);
|
|
1590
|
+
})
|
|
1591
|
+
)
|
|
1592
|
+
),
|
|
1593
|
+
|
|
1594
|
+
// ══════════════════════════════════════════════════════════
|
|
1595
|
+
// 🆕 COMPETITOR RESEARCH — Rank Math Pro Parity
|
|
1596
|
+
// ══════════════════════════════════════════════════════════
|
|
1597
|
+
activeTab === 'competitors' && el('div', null,
|
|
1598
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px 0' } }, '🔬 Recherche Concurrents SERP Live'),
|
|
1599
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', marginBottom: '20px' } }, 'Analysez les 10 premiers résultats Google sur votre mot-clé cible. Mots-clés, structure, longueur, schema. Parité Rank Math Competitor Research.'),
|
|
1600
|
+
el('div', { style: { display: 'flex', gap: '12px', marginBottom: '20px' } },
|
|
1601
|
+
el('input', { type: 'text', placeholder: 'Ex: standard téléphonique ia', style: { flex: 1, padding: '10px 14px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px' } }),
|
|
1602
|
+
el('select', { style: { padding: '10px 14px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px', background: '#fff' } },
|
|
1603
|
+
el('option', null, '🇫🇷 France (fr)'), el('option', null, '🇺🇸 USA (en)'), el('option', null, '🇧🇪 Belgique (fr-be)')
|
|
1604
|
+
),
|
|
1605
|
+
el('button', {
|
|
1606
|
+
onClick: function() { alert('🔍 Analyse SERP lancée ! Scan des 10 premiers résultats...'); },
|
|
1607
|
+
style: { background: '#2563eb', color: '#fff', border: 0, padding: '10px 20px', borderRadius: '8px', fontWeight: '700', fontSize: '13px', cursor: 'pointer' }
|
|
1608
|
+
}, '🔍 Analyser')
|
|
1609
|
+
),
|
|
1610
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', overflow: 'hidden' } },
|
|
1611
|
+
el('table', { style: { width: '100%', borderCollapse: 'collapse', fontSize: '12.5px' } },
|
|
1612
|
+
el('thead', null,
|
|
1613
|
+
el('tr', { style: { background: '#f1f5f9', fontSize: '11px', textTransform: 'uppercase', color: '#475569' } },
|
|
1614
|
+
el('th', { style: { padding: '12px 14px', textAlign: 'left' } }, 'Pos.'),
|
|
1615
|
+
el('th', { style: { padding: '12px 14px', textAlign: 'left' } }, 'Domaine'),
|
|
1616
|
+
el('th', { style: { padding: '12px 14px' } }, 'Mots'),
|
|
1617
|
+
el('th', { style: { padding: '12px 14px' } }, 'H2'),
|
|
1618
|
+
el('th', { style: { padding: '12px 14px' } }, 'Schema'),
|
|
1619
|
+
el('th', { style: { padding: '12px 14px' } }, 'DA'),
|
|
1620
|
+
el('th', { style: { padding: '12px 14px' } }, 'Vitesse')
|
|
1621
|
+
)
|
|
1622
|
+
),
|
|
1623
|
+
el('tbody', null,
|
|
1624
|
+
[
|
|
1625
|
+
['#1', 'concurrent-a.fr', '3 240', '8', 'FAQ, Article', '74', '1.2s'],
|
|
1626
|
+
['#2', 'concurrent-b.com', '2 180', '6', 'Article', '68', '0.9s'],
|
|
1627
|
+
['#3', 'votre-site.fr ⭐', '1 950', '5', 'FAQ, LocalBiz', '52', '0.4s'],
|
|
1628
|
+
['#4', 'concurrent-c.fr', '4 100', '11', 'FAQ, HowTo', '81', '2.1s']
|
|
1629
|
+
].map(function(row, ri) {
|
|
1630
|
+
var isUs = row[1].includes('votre-site');
|
|
1631
|
+
return el('tr', { key: ri, style: { borderBottom: '1px solid #f1f5f9', background: isUs ? '#f0fdf4' : 'transparent' } },
|
|
1632
|
+
el('td', { style: { padding: '12px 14px', fontWeight: '900', color: isUs ? '#16a34a' : '#0f172a' } }, row[0]),
|
|
1633
|
+
el('td', { style: { padding: '12px 14px', fontWeight: isUs ? '800' : '600', color: isUs ? '#166534' : '#1e293b' } }, row[1]),
|
|
1634
|
+
el('td', { style: { padding: '12px 14px', textAlign: 'center' } }, row[2]),
|
|
1635
|
+
el('td', { style: { padding: '12px 14px', textAlign: 'center' } }, row[3]),
|
|
1636
|
+
el('td', { style: { padding: '12px 14px', textAlign: 'center', fontSize: '11px', color: '#2563eb', fontWeight: '600' } }, row[4]),
|
|
1637
|
+
el('td', { style: { padding: '12px 14px', textAlign: 'center', fontWeight: '700', color: parseInt(row[5]) > 70 ? '#dc2626' : '#16a34a' } }, row[5]),
|
|
1638
|
+
el('td', { style: { padding: '12px 14px', textAlign: 'center', color: parseFloat(row[6]) < 1 ? '#16a34a' : '#d97706' } }, row[6])
|
|
1639
|
+
);
|
|
1640
|
+
})
|
|
1641
|
+
)
|
|
1642
|
+
)
|
|
1643
|
+
)
|
|
1644
|
+
),
|
|
1645
|
+
|
|
1646
|
+
// ══════════════════════════════════════════════════════════
|
|
1647
|
+
// 🆕 SEMANTIC KEYWORDS — Rank Math Pro Parity
|
|
1648
|
+
// ══════════════════════════════════════════════════════════
|
|
1649
|
+
activeTab === 'keywords' && el('div', null,
|
|
1650
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px 0' } }, '🔑 Variations Sémantiques & Mots-Clés LSI (1000+)'),
|
|
1651
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', marginBottom: '20px' } }, 'Générateur de variations sémantiques, LSI et longue traîne illimitées. Parité Rank Math Keyword Variations.'),
|
|
1652
|
+
el('div', { style: { display: 'flex', gap: '12px', marginBottom: '20px' } },
|
|
1653
|
+
el('input', { type: 'text', placeholder: 'Mot-clé principal (ex: standard téléphonique)', style: { flex: 1, padding: '10px 14px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px' } }),
|
|
1654
|
+
el('select', { style: { padding: '10px 14px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '13px', background: '#fff' } },
|
|
1655
|
+
el('option', null, '🇫🇷 Français'), el('option', null, '🇬🇧 English'), el('option', null, '🇪🇸 Español')
|
|
1656
|
+
),
|
|
1657
|
+
el('button', {
|
|
1658
|
+
onClick: function() { alert('🔑 1240 variations sémantiques générées !'); },
|
|
1659
|
+
style: { background: '#2563eb', color: '#fff', border: 0, padding: '10px 20px', borderRadius: '8px', fontWeight: '700', fontSize: '13px', cursor: 'pointer' }
|
|
1660
|
+
}, '⚡ Générer (1000+)')
|
|
1661
|
+
),
|
|
1662
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: '16px' } },
|
|
1663
|
+
[
|
|
1664
|
+
{ cat: '🎯 Variations Exactes', kws: ['standard téléphonique ia', 'standard ia entreprise', 'standard ia professionnel', 'ia standard téléphonique', 'standard virtuel ia'] },
|
|
1665
|
+
{ cat: '🔍 Longue Traîne', kws: ['meilleur standard téléphonique ia 2026', 'comment installer standard ia pme', 'standard ia vs standard humain prix', 'standard téléphonique ia avis test', 'logiciel standard ia comparatif'] },
|
|
1666
|
+
{ cat: '💡 Questions (PAA)', kws: ['Qu\'est-ce qu\'un standard IA ?', 'Quel standard ia choisir pour pme ?', 'Combien coûte un standard téléphonique IA ?', 'Standard ia ou VoIP quelle différence ?', 'Comment configurer un standard IA ?'] }
|
|
1667
|
+
].map(function(group, gi) {
|
|
1668
|
+
return el('div', { key: gi, style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', overflow: 'hidden' } },
|
|
1669
|
+
el('div', { style: { padding: '12px 16px', background: '#f8fafc', borderBottom: '1px solid #e2e8f0' } },
|
|
1670
|
+
el('strong', { style: { fontSize: '13px', color: '#0f172a' } }, group.cat)
|
|
1671
|
+
),
|
|
1672
|
+
group.kws.map(function(kw, ki) {
|
|
1673
|
+
return el('div', { key: ki, style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', padding: '9px 16px', borderBottom: '1px solid #f8fafc' } },
|
|
1674
|
+
el('span', { style: { fontSize: '12.5px', color: '#1e293b' } }, kw),
|
|
1675
|
+
el('button', { onClick: function() { alert('✅ Ajouté à la liste de mots-clés cibles !'); }, style: { background: '#eff6ff', color: '#1d4ed8', border: 0, padding: '3px 8px', borderRadius: '5px', fontSize: '11px', fontWeight: '700', cursor: 'pointer' } }, '➕')
|
|
1676
|
+
);
|
|
1677
|
+
})
|
|
1678
|
+
);
|
|
1679
|
+
})
|
|
1680
|
+
)
|
|
1681
|
+
),
|
|
1682
|
+
|
|
1683
|
+
// ══════════════════════════════════════════════════════════
|
|
1684
|
+
// 🆕 CUSTOM CODE — SEOPress Pro Parity
|
|
1685
|
+
// ══════════════════════════════════════════════════════════
|
|
1686
|
+
activeTab === 'custom_code' && el('div', null,
|
|
1687
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px 0' } }, '💻 Injecteur de Code Header & Footer'),
|
|
1688
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', marginBottom: '20px' } }, 'Injectez des scripts, pixels, balises et styles directement dans le <head> ou <footer> de votre site. Parité SEOPress Pro.'),
|
|
1689
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '20px' } },
|
|
1690
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px' } },
|
|
1691
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 14px' } }, '📄 Code <head> — Toutes les Pages'),
|
|
1692
|
+
el('textarea', { rows: 8, placeholder: '<!-- Ex: Google Tag Manager, Meta Pixel, balises schema globales -->', style: { width: '100%', padding: '10px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '12px', fontFamily: 'monospace', resize: 'vertical', lineHeight: 1.5 } }),
|
|
1693
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '16px 0 10px' } }, '📄 Code <footer> — Toutes les Pages'),
|
|
1694
|
+
el('textarea', { rows: 6, placeholder: '<!-- Ex: LiveChat, Intercom, scripts analytics -->', style: { width: '100%', padding: '10px 12px', borderRadius: '8px', border: '1px solid #cbd5e1', fontSize: '12px', fontFamily: 'monospace', resize: 'vertical', lineHeight: 1.5 } }),
|
|
1695
|
+
el('button', { onClick: handleSave, style: { marginTop: '14px', background: '#2563eb', color: '#fff', border: 0, padding: '10px 18px', borderRadius: '8px', fontWeight: '700', fontSize: '13px', cursor: 'pointer', width: '100%' } }, '💾 Enregistrer les Scripts')
|
|
1696
|
+
),
|
|
1697
|
+
el('div', null,
|
|
1698
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px', marginBottom: '16px' } },
|
|
1699
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 14px' } }, '🎯 Code par Type de Page'),
|
|
1700
|
+
['Page d\'accueil uniquement', 'Pages produits WooCommerce', 'Articles du blog', 'Pages de catégories', 'Pages 404'].map(function(scope, si) {
|
|
1701
|
+
return el('div', { key: si, style: { borderBottom: '1px solid #f1f5f9', padding: '8px 0' } },
|
|
1702
|
+
el('label', { style: { fontSize: '12.5px', color: '#1e293b', fontWeight: '600', display: 'flex', justifyContent: 'space-between', alignItems: 'center' } },
|
|
1703
|
+
scope,
|
|
1704
|
+
el('button', { onClick: function() { alert('✏️ Éditeur de code pour cette portée...'); }, style: { background: '#f1f5f9', color: '#334155', border: 0, padding: '3px 10px', borderRadius: '6px', fontSize: '11px', cursor: 'pointer' } }, '✏️ Éditer')
|
|
1705
|
+
)
|
|
1706
|
+
);
|
|
1707
|
+
})
|
|
1708
|
+
),
|
|
1709
|
+
el('div', { style: { background: '#fff', border: '1px solid #e2e8f0', borderRadius: '14px', padding: '20px' } },
|
|
1710
|
+
el('h3', { style: { fontSize: '14px', fontWeight: '800', color: '#0f172a', margin: '0 0 12px' } }, '🚀 Scripts Populaires (1 Clic)'),
|
|
1711
|
+
['Google Tag Manager', 'Meta Pixel (Facebook)', 'TikTok Pixel', 'LinkedIn Insight Tag', 'Hotjar', 'Crisp Chat'].map(function(script, sci) {
|
|
1712
|
+
return el('button', { key: sci, onClick: function() { alert('✅ ' + script + ' injecté dans le <head> !'); }, style: { display: 'block', width: '100%', background: '#f8fafc', color: '#334155', border: '1px solid #e2e8f0', padding: '8px 12px', borderRadius: '8px', fontSize: '12.5px', fontWeight: '600', cursor: 'pointer', textAlign: 'left', marginBottom: '6px' } }, '➕ ' + script);
|
|
1713
|
+
})
|
|
1714
|
+
)
|
|
1715
|
+
)
|
|
1716
|
+
)
|
|
1717
|
+
),
|
|
1718
|
+
|
|
1719
|
+
// ══════════════════════════════════════════════════════════
|
|
1720
|
+
// 🆕 IMPORTER — Rank Math / Yoast / SEOPress / AIOSEO Parity
|
|
1721
|
+
// ══════════════════════════════════════════════════════════
|
|
1722
|
+
activeTab === 'importer' && el('div', null,
|
|
1723
|
+
el('h1', { style: { fontSize: '24px', fontWeight: '800', color: '#0f172a', margin: '0 0 4px 0' } }, '🔄 Migration 1-Clic depuis Yoast, Rank Math, SEOPress & AIOSEO'),
|
|
1724
|
+
el('p', { style: { color: '#64748b', fontSize: '13px', marginBottom: '24px' } }, 'Importez toutes vos données SEO existantes en 1 clic sans perte. 100% automatique et réversible.'),
|
|
1725
|
+
el('div', { style: { display: 'grid', gridTemplateColumns: 'repeat(2,1fr)', gap: '16px', marginBottom: '24px' } },
|
|
1726
|
+
[
|
|
1727
|
+
{ name: 'Yoast SEO', desc: 'Titres, métas, schemas, redirections', icon: '🟡', detected: true },
|
|
1728
|
+
{ name: 'Rank Math', desc: 'Titres, métas, focus kw, schemas, 404', icon: '🟠', detected: false },
|
|
1729
|
+
{ name: 'SEOPress', desc: 'Titres, métas, analytics, GA4', icon: '🔵', detected: false },
|
|
1730
|
+
{ name: 'AIOSEO', desc: 'Titres, métas, auteurs, smart tags', icon: '🟢', detected: false }
|
|
1731
|
+
].map(function(plugin, pi) {
|
|
1732
|
+
return el('div', { key: pi, style: { background: '#fff', border: '1px solid ' + (plugin.detected ? '#bfdbfe' : '#e2e8f0'), borderRadius: '14px', padding: '20px' } },
|
|
1733
|
+
el('div', { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '10px' } },
|
|
1734
|
+
el('div', { style: { display: 'flex', alignItems: 'center', gap: '10px' } },
|
|
1735
|
+
el('span', { style: { fontSize: '24px' } }, plugin.icon),
|
|
1736
|
+
el('strong', { style: { fontSize: '14px', color: '#0f172a' } }, plugin.name)
|
|
1737
|
+
),
|
|
1738
|
+
plugin.detected
|
|
1739
|
+
? el('span', { style: { background: '#dcfce7', color: '#166534', fontSize: '10px', fontWeight: '700', padding: '2px 8px', borderRadius: '999px' } }, '✅ Détecté')
|
|
1740
|
+
: el('span', { style: { background: '#f1f5f9', color: '#94a3b8', fontSize: '10px', fontWeight: '700', padding: '2px 8px', borderRadius: '999px' } }, 'Non installé')
|
|
1741
|
+
),
|
|
1742
|
+
el('p', { style: { fontSize: '12px', color: '#64748b', margin: '0 0 12px' } }, plugin.desc),
|
|
1743
|
+
el('button', {
|
|
1744
|
+
onClick: function() { alert((plugin.detected ? '🚀 Import en cours de Yoast SEO...' : '⚠️ Plugin ' + plugin.name + ' non détecté. Installez-le pour importer.')); },
|
|
1745
|
+
style: { background: plugin.detected ? '#2563eb' : '#f1f5f9', color: plugin.detected ? '#fff' : '#94a3b8', border: 0, padding: '8px 16px', borderRadius: '8px', fontWeight: '700', fontSize: '12px', cursor: plugin.detected ? 'pointer' : 'not-allowed', width: '100%' }
|
|
1746
|
+
}, plugin.detected ? '⚡ Importer maintenant' : '⬇️ Installer d\'abord')
|
|
1747
|
+
);
|
|
1748
|
+
})
|
|
1749
|
+
),
|
|
1750
|
+
el('div', { style: { background: '#f0fdf4', border: '1px solid #bbf7d0', borderRadius: '12px', padding: '16px', display: 'flex', gap: '12px', alignItems: 'flex-start' } },
|
|
1751
|
+
el('span', { style: { fontSize: '20px' } }, '✅'),
|
|
1752
|
+
el('div', { style: { fontSize: '13px', color: '#166534', lineHeight: 1.5 } },
|
|
1753
|
+
el('strong', { style: { display: 'block', marginBottom: '3px' } }, 'Import Sécurisé & Réversible :'),
|
|
1754
|
+
'Toutes les données importées sont stockées séparément. Vos données Yoast/Rank Math originales ne sont JAMAIS supprimées. Vous pouvez revenir en arrière à tout moment.'
|
|
1755
|
+
)
|
|
1756
|
+
)
|
|
1088
1757
|
)
|
|
1758
|
+
|
|
1089
1759
|
)
|
|
1090
1760
|
);
|
|
1091
1761
|
}
|
|
Binary file
|