@jjlmoya/utils-tools 1.2.0 → 1.3.0

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.
Files changed (184) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +172 -0
  3. package/src/category/i18n/id.ts +172 -0
  4. package/src/category/i18n/it.ts +172 -0
  5. package/src/category/i18n/ja.ts +172 -0
  6. package/src/category/i18n/ko.ts +172 -0
  7. package/src/category/i18n/nl.ts +172 -0
  8. package/src/category/i18n/pl.ts +172 -0
  9. package/src/category/i18n/pt.ts +172 -0
  10. package/src/category/i18n/ru.ts +172 -0
  11. package/src/category/i18n/sv.ts +172 -0
  12. package/src/category/i18n/tr.ts +172 -0
  13. package/src/category/i18n/zh.ts +172 -0
  14. package/src/category/index.ts +13 -1
  15. package/src/tests/i18n_coverage.test.ts +36 -0
  16. package/src/tests/locale_completeness.test.ts +1 -1
  17. package/src/tests/slug_uniqueness.test.ts +81 -0
  18. package/src/tests/title_quality.test.ts +0 -1
  19. package/src/tool/date-diff-calculator/i18n/de.ts +132 -0
  20. package/src/tool/date-diff-calculator/i18n/fr.ts +1 -1
  21. package/src/tool/date-diff-calculator/i18n/id.ts +132 -0
  22. package/src/tool/date-diff-calculator/i18n/it.ts +132 -0
  23. package/src/tool/date-diff-calculator/i18n/ja.ts +132 -0
  24. package/src/tool/date-diff-calculator/i18n/ko.ts +132 -0
  25. package/src/tool/date-diff-calculator/i18n/nl.ts +132 -0
  26. package/src/tool/date-diff-calculator/i18n/pl.ts +132 -0
  27. package/src/tool/date-diff-calculator/i18n/pt.ts +132 -0
  28. package/src/tool/date-diff-calculator/i18n/ru.ts +132 -0
  29. package/src/tool/date-diff-calculator/i18n/sv.ts +132 -0
  30. package/src/tool/date-diff-calculator/i18n/tr.ts +132 -0
  31. package/src/tool/date-diff-calculator/i18n/zh.ts +132 -0
  32. package/src/tool/date-diff-calculator/index.ts +12 -0
  33. package/src/tool/drive-direct-link/i18n/de.ts +118 -0
  34. package/src/tool/drive-direct-link/i18n/id.ts +118 -0
  35. package/src/tool/drive-direct-link/i18n/it.ts +118 -0
  36. package/src/tool/drive-direct-link/i18n/ja.ts +118 -0
  37. package/src/tool/drive-direct-link/i18n/ko.ts +118 -0
  38. package/src/tool/drive-direct-link/i18n/nl.ts +118 -0
  39. package/src/tool/drive-direct-link/i18n/pl.ts +118 -0
  40. package/src/tool/drive-direct-link/i18n/pt.ts +118 -0
  41. package/src/tool/drive-direct-link/i18n/ru.ts +118 -0
  42. package/src/tool/drive-direct-link/i18n/sv.ts +118 -0
  43. package/src/tool/drive-direct-link/i18n/tr.ts +118 -0
  44. package/src/tool/drive-direct-link/i18n/zh.ts +118 -0
  45. package/src/tool/drive-direct-link/index.ts +12 -0
  46. package/src/tool/email-list-cleaner/i18n/de.ts +140 -0
  47. package/src/tool/email-list-cleaner/i18n/es.ts +1 -1
  48. package/src/tool/email-list-cleaner/i18n/fr.ts +1 -1
  49. package/src/tool/email-list-cleaner/i18n/id.ts +140 -0
  50. package/src/tool/email-list-cleaner/i18n/it.ts +140 -0
  51. package/src/tool/email-list-cleaner/i18n/ja.ts +140 -0
  52. package/src/tool/email-list-cleaner/i18n/ko.ts +140 -0
  53. package/src/tool/email-list-cleaner/i18n/nl.ts +140 -0
  54. package/src/tool/email-list-cleaner/i18n/pl.ts +140 -0
  55. package/src/tool/email-list-cleaner/i18n/pt.ts +140 -0
  56. package/src/tool/email-list-cleaner/i18n/ru.ts +140 -0
  57. package/src/tool/email-list-cleaner/i18n/sv.ts +140 -0
  58. package/src/tool/email-list-cleaner/i18n/tr.ts +140 -0
  59. package/src/tool/email-list-cleaner/i18n/zh.ts +140 -0
  60. package/src/tool/email-list-cleaner/index.ts +12 -0
  61. package/src/tool/env-badge-spain/i18n/de.ts +153 -0
  62. package/src/tool/env-badge-spain/i18n/es.ts +1 -1
  63. package/src/tool/env-badge-spain/i18n/fr.ts +1 -1
  64. package/src/tool/env-badge-spain/i18n/id.ts +153 -0
  65. package/src/tool/env-badge-spain/i18n/it.ts +153 -0
  66. package/src/tool/env-badge-spain/i18n/ja.ts +153 -0
  67. package/src/tool/env-badge-spain/i18n/ko.ts +153 -0
  68. package/src/tool/env-badge-spain/i18n/nl.ts +153 -0
  69. package/src/tool/env-badge-spain/i18n/pl.ts +153 -0
  70. package/src/tool/env-badge-spain/i18n/pt.ts +153 -0
  71. package/src/tool/env-badge-spain/i18n/ru.ts +153 -0
  72. package/src/tool/env-badge-spain/i18n/sv.ts +153 -0
  73. package/src/tool/env-badge-spain/i18n/tr.ts +153 -0
  74. package/src/tool/env-badge-spain/i18n/zh.ts +153 -0
  75. package/src/tool/env-badge-spain/index.ts +12 -0
  76. package/src/tool/morse-beacon/i18n/de.ts +157 -0
  77. package/src/tool/morse-beacon/i18n/es.ts +1 -1
  78. package/src/tool/morse-beacon/i18n/id.ts +157 -0
  79. package/src/tool/morse-beacon/i18n/it.ts +157 -0
  80. package/src/tool/morse-beacon/i18n/ja.ts +157 -0
  81. package/src/tool/morse-beacon/i18n/ko.ts +157 -0
  82. package/src/tool/morse-beacon/i18n/nl.ts +157 -0
  83. package/src/tool/morse-beacon/i18n/pl.ts +157 -0
  84. package/src/tool/morse-beacon/i18n/pt.ts +157 -0
  85. package/src/tool/morse-beacon/i18n/ru.ts +157 -0
  86. package/src/tool/morse-beacon/i18n/sv.ts +157 -0
  87. package/src/tool/morse-beacon/i18n/tr.ts +157 -0
  88. package/src/tool/morse-beacon/i18n/zh.ts +157 -0
  89. package/src/tool/morse-beacon/index.ts +13 -1
  90. package/src/tool/password-generator/i18n/de.ts +166 -0
  91. package/src/tool/password-generator/i18n/fr.ts +1 -1
  92. package/src/tool/password-generator/i18n/id.ts +166 -0
  93. package/src/tool/password-generator/i18n/it.ts +166 -0
  94. package/src/tool/password-generator/i18n/ja.ts +166 -0
  95. package/src/tool/password-generator/i18n/ko.ts +166 -0
  96. package/src/tool/password-generator/i18n/nl.ts +166 -0
  97. package/src/tool/password-generator/i18n/pl.ts +166 -0
  98. package/src/tool/password-generator/i18n/pt.ts +166 -0
  99. package/src/tool/password-generator/i18n/ru.ts +166 -0
  100. package/src/tool/password-generator/i18n/sv.ts +166 -0
  101. package/src/tool/password-generator/i18n/tr.ts +166 -0
  102. package/src/tool/password-generator/i18n/zh.ts +166 -0
  103. package/src/tool/password-generator/index.ts +13 -1
  104. package/src/tool/routes/i18n/de.ts +157 -0
  105. package/src/tool/routes/i18n/id.ts +157 -0
  106. package/src/tool/routes/i18n/it.ts +157 -0
  107. package/src/tool/routes/i18n/ja.ts +157 -0
  108. package/src/tool/routes/i18n/ko.ts +157 -0
  109. package/src/tool/routes/i18n/nl.ts +157 -0
  110. package/src/tool/routes/i18n/pl.ts +157 -0
  111. package/src/tool/routes/i18n/pt.ts +157 -0
  112. package/src/tool/routes/i18n/ru.ts +157 -0
  113. package/src/tool/routes/i18n/sv.ts +157 -0
  114. package/src/tool/routes/i18n/tr.ts +157 -0
  115. package/src/tool/routes/i18n/zh.ts +157 -0
  116. package/src/tool/routes/index.ts +13 -1
  117. package/src/tool/rule-of-three/i18n/de.ts +171 -0
  118. package/src/tool/rule-of-three/i18n/en.ts +1 -1
  119. package/src/tool/rule-of-three/i18n/id.ts +171 -0
  120. package/src/tool/rule-of-three/i18n/it.ts +171 -0
  121. package/src/tool/rule-of-three/i18n/ja.ts +171 -0
  122. package/src/tool/rule-of-three/i18n/ko.ts +171 -0
  123. package/src/tool/rule-of-three/i18n/nl.ts +171 -0
  124. package/src/tool/rule-of-three/i18n/pl.ts +171 -0
  125. package/src/tool/rule-of-three/i18n/pt.ts +171 -0
  126. package/src/tool/rule-of-three/i18n/ru.ts +171 -0
  127. package/src/tool/rule-of-three/i18n/sv.ts +171 -0
  128. package/src/tool/rule-of-three/i18n/tr.ts +171 -0
  129. package/src/tool/rule-of-three/i18n/zh.ts +171 -0
  130. package/src/tool/rule-of-three/index.ts +13 -1
  131. package/src/tool/seo-content-optimizer/i18n/de.ts +136 -0
  132. package/src/tool/seo-content-optimizer/i18n/id.ts +136 -0
  133. package/src/tool/seo-content-optimizer/i18n/it.ts +136 -0
  134. package/src/tool/seo-content-optimizer/i18n/ja.ts +136 -0
  135. package/src/tool/seo-content-optimizer/i18n/ko.ts +136 -0
  136. package/src/tool/seo-content-optimizer/i18n/nl.ts +136 -0
  137. package/src/tool/seo-content-optimizer/i18n/pl.ts +136 -0
  138. package/src/tool/seo-content-optimizer/i18n/pt.ts +136 -0
  139. package/src/tool/seo-content-optimizer/i18n/ru.ts +136 -0
  140. package/src/tool/seo-content-optimizer/i18n/sv.ts +136 -0
  141. package/src/tool/seo-content-optimizer/i18n/tr.ts +136 -0
  142. package/src/tool/seo-content-optimizer/i18n/zh.ts +136 -0
  143. package/src/tool/seo-content-optimizer/index.ts +12 -0
  144. package/src/tool/speed-reader/i18n/de.ts +152 -0
  145. package/src/tool/speed-reader/i18n/es.ts +1 -1
  146. package/src/tool/speed-reader/i18n/id.ts +152 -0
  147. package/src/tool/speed-reader/i18n/it.ts +152 -0
  148. package/src/tool/speed-reader/i18n/ja.ts +152 -0
  149. package/src/tool/speed-reader/i18n/ko.ts +152 -0
  150. package/src/tool/speed-reader/i18n/nl.ts +152 -0
  151. package/src/tool/speed-reader/i18n/pl.ts +152 -0
  152. package/src/tool/speed-reader/i18n/pt.ts +152 -0
  153. package/src/tool/speed-reader/i18n/ru.ts +152 -0
  154. package/src/tool/speed-reader/i18n/sv.ts +152 -0
  155. package/src/tool/speed-reader/i18n/tr.ts +152 -0
  156. package/src/tool/speed-reader/i18n/zh.ts +152 -0
  157. package/src/tool/speed-reader/index.ts +12 -0
  158. package/src/tool/text-pixel-calculator/i18n/de.ts +133 -0
  159. package/src/tool/text-pixel-calculator/i18n/id.ts +133 -0
  160. package/src/tool/text-pixel-calculator/i18n/it.ts +133 -0
  161. package/src/tool/text-pixel-calculator/i18n/ja.ts +133 -0
  162. package/src/tool/text-pixel-calculator/i18n/ko.ts +133 -0
  163. package/src/tool/text-pixel-calculator/i18n/nl.ts +133 -0
  164. package/src/tool/text-pixel-calculator/i18n/pl.ts +133 -0
  165. package/src/tool/text-pixel-calculator/i18n/pt.ts +133 -0
  166. package/src/tool/text-pixel-calculator/i18n/ru.ts +133 -0
  167. package/src/tool/text-pixel-calculator/i18n/sv.ts +133 -0
  168. package/src/tool/text-pixel-calculator/i18n/tr.ts +133 -0
  169. package/src/tool/text-pixel-calculator/i18n/zh.ts +133 -0
  170. package/src/tool/text-pixel-calculator/index.ts +12 -0
  171. package/src/tool/whatsapp-link/i18n/de.ts +128 -0
  172. package/src/tool/whatsapp-link/i18n/es.ts +1 -1
  173. package/src/tool/whatsapp-link/i18n/id.ts +128 -0
  174. package/src/tool/whatsapp-link/i18n/it.ts +128 -0
  175. package/src/tool/whatsapp-link/i18n/ja.ts +128 -0
  176. package/src/tool/whatsapp-link/i18n/ko.ts +128 -0
  177. package/src/tool/whatsapp-link/i18n/nl.ts +128 -0
  178. package/src/tool/whatsapp-link/i18n/pl.ts +128 -0
  179. package/src/tool/whatsapp-link/i18n/pt.ts +128 -0
  180. package/src/tool/whatsapp-link/i18n/ru.ts +128 -0
  181. package/src/tool/whatsapp-link/i18n/sv.ts +128 -0
  182. package/src/tool/whatsapp-link/i18n/tr.ts +128 -0
  183. package/src/tool/whatsapp-link/i18n/zh.ts +128 -0
  184. package/src/tool/whatsapp-link/index.ts +12 -0
@@ -0,0 +1,140 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { EmailListCleanerUI } from '../ui';
4
+
5
+ const faqData = [
6
+ {
7
+ question: 'Cosa fa esattamente questo pulitore di liste email?',
8
+ answer: 'Lo strumento analizza la tua lista email, rimuove i duplicati, elimina gli spazi vuoti non necessari, convalida il formato di base e normalizza tutti gli indirizzi in minuscolo per garantire un database pulito.',
9
+ },
10
+ {
11
+ question: 'C\'è un limite al numero di email?',
12
+ answer: 'Non c\'è un limite rigido di record. Puoi elaborare migliaia di email istantaneamente in un unico passaggio. L\'unico vincolo è la memoria del tuo browser se la lista è estremamente grande.',
13
+ },
14
+ {
15
+ question: 'È sicuro incollare le mie email qui?',
16
+ answer: 'Assolutamente sì. Tutte le elaborazioni vengono eseguite localmente nel tuo browser tramite JavaScript. I tuoi dati non vengono mai inviati ai nostri server né memorizzati in database esterni.',
17
+ },
18
+ {
19
+ question: 'In che modo questo migliora la deliverability della mia campagna?',
20
+ answer: 'Rimuovendo gli indirizzi inesistenti o malformati riduci il tasso di rimbalzo (bounce rate), il che migliora la reputazione del tuo dominio presso provider come Gmail, Outlook e Yahoo.',
21
+ },
22
+ ];
23
+
24
+ const howToData = [
25
+ { name: 'Incolla le tue email', text: 'Copia la tua lista email e incollala nella casella di testo. Possono essere separate da righe, virgole o spazi.' },
26
+ { name: 'Pulisci la lista', text: 'Fai clic sul pulsante "Pulisci Lista" per avviare il processo di convalida e rimozione dei duplicati.' },
27
+ { name: 'Rivedi i risultati', text: 'Controlla le statistiche che mostrano le email originali rispetto a quelle finali e rivedi la lista pulita nel pannello inferiore.' },
28
+ { name: 'Copia o scarica', text: 'Copia il risultato direttamente negli appunti o scaricalo come file .txt pronto all\'uso.' },
29
+ ];
30
+
31
+ const faqSchema: WithContext<FAQPage> = {
32
+ '@context': 'https://schema.org',
33
+ '@type': 'FAQPage',
34
+ mainEntity: faqData.map((item) => ({
35
+ '@type': 'Question',
36
+ name: item.question,
37
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
38
+ })),
39
+ };
40
+
41
+ const howToSchema: WithContext<HowTo> = {
42
+ '@context': 'https://schema.org',
43
+ '@type': 'HowTo',
44
+ name: 'Come pulire una lista email',
45
+ step: howToData.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
46
+ };
47
+
48
+ const appSchema: WithContext<SoftwareApplication> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'SoftwareApplication',
51
+ name: 'Pulitore di Liste Email',
52
+ applicationCategory: 'UtilitiesApplication',
53
+ operatingSystem: 'Web',
54
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
55
+ description: 'Rimuovi i duplicati, correggi gli spazi vuoti e convalida i formati nella tua lista email. Strumento gratuito senza limite di record.',
56
+ };
57
+
58
+ const ui: EmailListCleanerUI = {
59
+ inputLabel: 'Lista email',
60
+ inputPlaceholder: 'Incolla qui la tua lista email (separata da righe, virgole o spazi)...',
61
+ cleanBtn: 'Pulisci Lista',
62
+ clearBtn: 'Cancella Tutto',
63
+ statsOriginal: 'Originali',
64
+ statsRemoved: 'Rimosse',
65
+ statsFinal: 'Pulite',
66
+ resultLabel: 'Risultato Pulito',
67
+ copyBtn: 'Copia Lista',
68
+ copyDone: 'Copiato!',
69
+ downloadBtn: 'Scarica .txt',
70
+ registered: 'registrate',
71
+ downloadFilename: 'email-pulite',
72
+ };
73
+
74
+ export const content: ToolLocaleContent<EmailListCleanerUI> = {
75
+ slug: 'pulitore-liste-email',
76
+ title: 'Pulitore di Liste Email',
77
+ description: 'Pulisci le liste email gratuitamente. Rimuovi i duplicati, correggi gli spazi e convalida i formati in pochi secondi. Risparmia sui costi e migliora la tua deliverability.',
78
+ ui,
79
+ faqTitle: 'Domande Frequenti',
80
+ faq: faqData,
81
+ howTo: howToData,
82
+ bibliographyTitle: 'Riferimenti',
83
+ bibliography: [
84
+ { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
+ { name: 'Google: Linee guida per i mittenti di email', url: 'https://support.google.com/a/answer/81126' },
86
+ { name: 'Wikipedia: Spam (posta elettronica)', url: 'https://it.wikipedia.org/wiki/Spam' },
87
+ ],
88
+ schemas: [faqSchema, howToSchema, appSchema],
89
+ seo: [
90
+ { type: 'title', level: 2, text: 'Perché usare un pulitore di liste email è essenziale?' },
91
+ {
92
+ type: 'paragraph',
93
+ html: 'Nel mondo del marketing digitale, la qualità del tuo database conta molto più della sua dimensione. Avere una lista di 50.000 email non vale nulla se la metà sono indirizzi inesistenti, contengono refusi o sono duplicati. È qui che un <strong>pulitore di liste email</strong> diventa indispensabile.',
94
+ },
95
+ { type: 'title', level: 3, text: 'I rischi di una lista email sporca' },
96
+ {
97
+ type: 'paragraph',
98
+ html: 'Mantenere un database non pulito può avere gravi conseguenze. L\'invio di email a indirizzi inesistenti genera un "hard bounce". Se questa percentuale supera il 2-3%, i filtri spam inizieranno a esaminare attentamente il tuo dominio e potresti finire in una blacklist internazionale.',
99
+ },
100
+ {
101
+ type: 'tip',
102
+ title: 'Consiglio dell\'esperto',
103
+ html: 'Non comprare mai liste email. È il modo più veloce per rovinare la reputazione del tuo dominio. Costruisci la tua lista in modo organico e puliscila ogni 3-6 mesi.',
104
+ },
105
+ { type: 'title', level: 3, text: 'In che modo il nostro strumento ottimizza il tuo database' },
106
+ {
107
+ type: 'paragraph',
108
+ html: 'La nostra utility gratuita esegue una pulizia accurata e veloce dei tuoi database senza limiti di record. Esegue istantaneamente diversi compiti critici di convalida:',
109
+ },
110
+ {
111
+ type: 'list',
112
+ items: [
113
+ '<strong>Rimozione duplicati:</strong> Lo stesso utente non riceverà la stessa email due volte.',
114
+ '<strong>Correzione spazi vuoti:</strong> Eliminiamo gli spazi accidentali all\'inizio o alla fine che renderebbero non valido l\'invio.',
115
+ '<strong>Convalida formato:</strong> Filtriamo le voci che non hanno una struttura email valida.',
116
+ '<strong>Normalizzazione:</strong> Tutto viene convertito in minuscolo per evitare record ridondanti.',
117
+ ],
118
+ },
119
+ { type: 'title', level: 3, text: 'Qual è il momento giusto per pulire la tua lista?' },
120
+ {
121
+ type: 'list',
122
+ items: [
123
+ 'Prima di importare i contatti in un nuovo CRM o piattaforma di invio (Mailchimp, SendGrid, ecc.).',
124
+ 'Se noti che il tuo tasso di apertura è sceso al di sotto della media abituale.',
125
+ 'Dopo un evento o una fiera in cui hai raccolto i dati manualmente.',
126
+ 'Come manutenzione preventiva ogni trimestre per mantenere la salute del dominio.',
127
+ ],
128
+ },
129
+ { type: 'title', level: 3, text: 'Impatto sul ritorno sull\'investimento' },
130
+ {
131
+ type: 'paragraph',
132
+ html: 'L\'email marketing rimane uno dei canali con il più alto ROI, ma solo se i messaggi raggiungono la posta in arrivo. Utilizzando un <strong>pulitore di email</strong>, stai ottimizzando il tuo funnel di vendita dalla fonte e smettendo di pagare le piattaforme per contatti che non vedranno mai i tuoi messaggi.',
133
+ },
134
+ {
135
+ type: 'tip',
136
+ title: 'Implementa il double opt in',
137
+ html: 'Il modo migliore per evitare email false è richiedere agli utenti di confermare la loro iscrizione facendo clic su un link inviato alla loro casella di posta. Questo garantisce che l\'email esista e che l\'utente vi abbia accesso.',
138
+ },
139
+ ],
140
+ };
@@ -0,0 +1,140 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { EmailListCleanerUI } from '../ui';
4
+
5
+ const faqData = [
6
+ {
7
+ question: 'このメールリスト・クリーナーは具体的に何をしますか?',
8
+ answer: 'このツールはメールリストを分析し、重複の削除、不要な空白の除去、基本的な形式の検証を行い、すべてのメールアドレスを小文字に正規化して、クリーンなデータベースを確保します。',
9
+ },
10
+ {
11
+ question: 'メールアドレスの数に制限はありますか?',
12
+ answer: '厳密な件数制限はありません。一度に何千ものメールアドレスを瞬時に処理できます。唯一の制約は、リストが非常に大きい場合のブラウザのメモリ容量です。',
13
+ },
14
+ {
15
+ question: 'ここにメールアドレスを貼り付けても安全ですか?',
16
+ answer: 'はい、完全に安全です。すべての処理は JavaScript を介してブラウザ内でローカルに行われます。データが当社のサーバーに送信されたり、外部のデータベースに保存されたりすることはありません。',
17
+ },
18
+ {
19
+ question: 'これによってキャンペーンの到達率はどのように向上しますか?',
20
+ answer: '存在しないアドレスや形式の誤ったアドレスを削除することで、バウンス率が低下し、Gmail、Outlook、Yahoo などのプロバイダーにおけるドメインの評価が向上します。',
21
+ },
22
+ ];
23
+
24
+ const howToData = [
25
+ { name: 'メールアドレスを貼り付ける', text: 'メールリストをコピーしてテキストボックスに貼り付けます。改行、カンマ、またはスペースで区切ることができます。' },
26
+ { name: 'リストをクリーニングする', text: '「リストをクリーニング」ボタンをクリックして、検証と重複削除のプロセスを開始します。' },
27
+ { name: '結果を確認する', text: '元の件数と最終件数を示す統計を確認し、下のパネルでクリーニング済みのリストを確認します。' },
28
+ { name: 'コピーまたはダウンロード', text: '結果を直接クリップボードにコピーするか、すぐに使用できる .txt ファイルとしてダウンロードします。' },
29
+ ];
30
+
31
+ const faqSchema: WithContext<FAQPage> = {
32
+ '@context': 'https://schema.org',
33
+ '@type': 'FAQPage',
34
+ mainEntity: faqData.map((item) => ({
35
+ '@type': 'Question',
36
+ name: item.question,
37
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
38
+ })),
39
+ };
40
+
41
+ const howToSchema: WithContext<HowTo> = {
42
+ '@context': 'https://schema.org',
43
+ '@type': 'HowTo',
44
+ name: 'メールリストをクリーニングする方法',
45
+ step: howToData.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
46
+ };
47
+
48
+ const appSchema: WithContext<SoftwareApplication> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'SoftwareApplication',
51
+ name: 'メールリスト・クリーナー',
52
+ applicationCategory: 'UtilitiesApplication',
53
+ operatingSystem: 'Web',
54
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'JPY' },
55
+ description: 'メールリストから重複を削除し、空白を修正し、形式を検証します。件数制限なしの無料ツール。',
56
+ };
57
+
58
+ const ui: EmailListCleanerUI = {
59
+ inputLabel: 'メールリスト',
60
+ inputPlaceholder: 'メールリストをここに貼り付けてください(改行、カンマ、またはスペース区切り)...',
61
+ cleanBtn: 'リストをクリーニング',
62
+ clearBtn: 'すべてクリア',
63
+ statsOriginal: '元データ',
64
+ statsRemoved: '削除済み',
65
+ statsFinal: 'クリーニング後',
66
+ resultLabel: '結果',
67
+ copyBtn: 'リストをコピー',
68
+ copyDone: 'コピーしました!',
69
+ downloadBtn: '.txt をダウンロード',
70
+ registered: '件の登録',
71
+ downloadFilename: 'clean-emails',
72
+ };
73
+
74
+ export const content: ToolLocaleContent<EmailListCleanerUI> = {
75
+ slug: 'email-list-cleaner',
76
+ title: 'メールリスト・クリーナー',
77
+ description: 'メールリストを無料でクリーニング。重複の削除、空白の修正、形式の検証を数秒で行います。コストを削減し、到達率を向上させます。',
78
+ ui,
79
+ faqTitle: 'よくある質問',
80
+ faq: faqData,
81
+ howTo: howToData,
82
+ bibliographyTitle: '参考文献',
83
+ bibliography: [
84
+ { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
+ { name: 'Google: メール送信者のガイドライン', url: 'https://support.google.com/a/answer/81126' },
86
+ { name: 'Wikipedia: メールスパム', url: 'https://ja.wikipedia.org/wiki/電子メールスパム' },
87
+ ],
88
+ schemas: [faqSchema, howToSchema, appSchema],
89
+ seo: [
90
+ { type: 'title', level: 2, text: 'メールリスト・クリーナーの使用が不可欠な理由は?' },
91
+ {
92
+ type: 'paragraph',
93
+ html: 'デジタルマーケティングの世界では、データベースの質はその規模よりもはるかに重要です。5万件のメールリストを持っていても、その半分が存在しないアドレスだったり、誤字があったり、重複していたりすれば意味がありません。ここで、<strong>メールリスト・クリーナー</strong>が不可欠になります。',
94
+ },
95
+ { type: 'title', level: 3, text: '「汚れた」メールリストのリスク' },
96
+ {
97
+ type: 'paragraph',
98
+ html: 'クリーニングされていないデータベースを維持すると、深刻な結果を招く可能性があります。存在しないアドレスにメールを送信すると「ハードバウンス」が発生します。この割合が 2〜3% を超えると、スパムフィルターがドメインを精査し始め、国際的なブラックリストに載る可能性があります。',
99
+ },
100
+ {
101
+ type: 'tip',
102
+ title: 'エキスパートのアドバイス',
103
+ html: 'メールリストを絶対に購入しないでください。それはドメインの評価を台無しにする最短の道です。独自のリストをオーガニックに構築し、3〜6ヶ月ごとにクリーニングしてください。',
104
+ },
105
+ { type: 'title', level: 3, text: '当ツールがデータベースを最適化する方法' },
106
+ {
107
+ type: 'paragraph',
108
+ html: '当社の無料ユーティリティは、件数制限なしでデータベースの徹底的かつ迅速なクリーンアップを行います。いくつかの重要な検証タスクを瞬時に実行します。',
109
+ },
110
+ {
111
+ type: 'list',
112
+ items: [
113
+ '<strong>重複削除:</strong> 同じユーザーに同じメールが2回届くのを防ぎます。',
114
+ '<strong>空白修正:</strong> 送信を無効にする、最初や最後にある偶発的なスペースを除去します。',
115
+ '<strong>形式検証:</strong> 有効なメール構造を持たないエントリをフィルタリングします。',
116
+ '<strong>正規化:</strong> 冗長なレコードを避けるために、すべてを小文字に変換します。',
117
+ ],
118
+ },
119
+ { type: 'title', level: 3, text: 'リストをクリーニングするタイミングは?' },
120
+ {
121
+ type: 'list',
122
+ items: [
123
+ '連絡先を新しい CRM や配信プラットフォーム(Mailchimp、SendGrid など)にインポートする前。',
124
+ '開封率が通常の平均を下回っていることに気づいたとき。',
125
+ '手動でデータを収集したイベントや展示会の後。',
126
+ 'ドメインの健全性を維持するための、毎四半期の予防メンテナンスとして。',
127
+ ],
128
+ },
129
+ { type: 'title', level: 3, text: '投資収益率(ROI)への影響' },
130
+ {
131
+ type: 'paragraph',
132
+ html: 'メールマーケティングは依然として最も ROI の高いチャネルの1つですが、それはメッセージが受信トレイに届く場合に限られます。<strong>メールクリーナー</strong>を使用することで、ソースから販売フェネルを最適化し、メッセージを二度と見ることのない連絡先に対してプラットフォームに料金を支払うのを止めることができます。',
133
+ },
134
+ {
135
+ type: 'tip',
136
+ title: 'ダブルオプトインの導入',
137
+ html: '偽のメールを避ける最善の方法は、受信トレイに送信されたリンクをクリックして購読を確認するようユーザーに求めることです。これにより、メールアドレスが存在し、ユーザーがそれにアクセスできることが保証されます。',
138
+ },
139
+ ],
140
+ };
@@ -0,0 +1,140 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { EmailListCleanerUI } from '../ui';
4
+
5
+ const faqData = [
6
+ {
7
+ question: '이 이메일 리스트 클리너는 정확히 어떤 역할을 하나요?',
8
+ answer: '이 도구는 이메일 리스트를 분석하여 중복을 제거하고, 불필요한 공백을 없애며, 기본 형식을 확인하고, 모든 주소를 소문자로 정규화하여 깨끗한 데이터베이스를 보장합니다.',
9
+ },
10
+ {
11
+ question: '이메일 수에 제한이 있나요?',
12
+ answer: '엄격한 수량 제한은 없습니다. 한 번에 수천 개의 이메일을 즉시 처리할 수 있습니다. 유일한 제약은 리스트가 비정상적으로 클 경우 브라우저의 메모리 용량입니다.',
13
+ },
14
+ {
15
+ question: '여기에 이메일을 붙여넣어도 안전한가요?',
16
+ answer: '네, 완전히 안전합니다. 모든 처리는 JavaScript를 통해 브라우저 내에서 로컬로 수행됩니다. 귀하의 데이터는 당사 서버로 전송되거나 외부 데이터베이스에 저장되지 않습니다.',
17
+ },
18
+ {
19
+ question: '이것이 캠페인 도달률을 어떻게 개선하나요?',
20
+ answer: '존재하지 않거나 형식이 잘못된 주소를 제거함으로써 바운스율을 낮출 수 있으며, 이는 Gmail, Outlook, Yahoo와 같은 제공업체에서 도메인 평판을 높이는 데 도움이 됩니다.',
21
+ },
22
+ ];
23
+
24
+ const howToData = [
25
+ { name: '이메일 붙여넣기', text: '이메일 리스트를 복사하여 텍스트 상자에 붙여넣으세요. 줄바꿈, 쉼표 또는 공백으로 구분할 수 있습니다.' },
26
+ { name: '리스트 정리', text: "'리스트 정리' 버튼을 클릭하여 유효성 검사 및 중복 제거 프로세스를 시작하세요." },
27
+ { name: '결과 검토', text: '원본 대비 최종 이메일 수를 보여주는 통계를 확인하고 아래 패널에서 정리된 리스트를 검토하세요.' },
28
+ { name: '복사 또는 다운로드', text: '결과를 클립보드에 직접 복사하거나 즉시 사용할 수 있는 .txt 파일로 다운로드하세요.' },
29
+ ];
30
+
31
+ const faqSchema: WithContext<FAQPage> = {
32
+ '@context': 'https://schema.org',
33
+ '@type': 'FAQPage',
34
+ mainEntity: faqData.map((item) => ({
35
+ '@type': 'Question',
36
+ name: item.question,
37
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
38
+ })),
39
+ };
40
+
41
+ const howToSchema: WithContext<HowTo> = {
42
+ '@context': 'https://schema.org',
43
+ '@type': 'HowTo',
44
+ name: '이메일 리스트 정리 방법',
45
+ step: howToData.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
46
+ };
47
+
48
+ const appSchema: WithContext<SoftwareApplication> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'SoftwareApplication',
51
+ name: '이메일 리스트 클리너',
52
+ applicationCategory: 'UtilitiesApplication',
53
+ operatingSystem: 'Web',
54
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'KRW' },
55
+ description: '이메일 리스트에서 중복을 제거하고, 공백을 수정하며, 형식을 확인합니다. 수량 제한 없는 무료 도구.',
56
+ };
57
+
58
+ const ui: EmailListCleanerUI = {
59
+ inputLabel: '이메일 리스트',
60
+ inputPlaceholder: '이메일 리스트를 여기에 붙여넣으세요 (줄바꿈, 쉼표 또는 공백 구분)...',
61
+ cleanBtn: '리스트 정리',
62
+ clearBtn: '모두 지우기',
63
+ statsOriginal: '원본',
64
+ statsRemoved: '삭제됨',
65
+ statsFinal: '정리됨',
66
+ resultLabel: '정리 결과',
67
+ copyBtn: '리스트 복사',
68
+ copyDone: '복사됨!',
69
+ downloadBtn: '.txt 다운로드',
70
+ registered: '개 등록됨',
71
+ downloadFilename: 'clean-emails',
72
+ };
73
+
74
+ export const content: ToolLocaleContent<EmailListCleanerUI> = {
75
+ slug: 'email-list-cleaner',
76
+ title: '이메일 리스트 클리너',
77
+ description: '이메일 리스트를 무료로 정리하세요. 중복 제거, 공백 수정, 형식 확인을 몇 초 만에 완료합니다. 비용을 절감하고 도달률을 높이세요.',
78
+ ui,
79
+ faqTitle: '자주 묻는 질문',
80
+ faq: faqData,
81
+ howTo: howToData,
82
+ bibliographyTitle: '참고 문헌',
83
+ bibliography: [
84
+ { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
+ { name: 'Google: 이메일 발신자 가이드라인', url: 'https://support.google.com/a/answer/81126' },
86
+ { name: 'Wikipedia: 이메일 스팸', url: 'https://ko.wikipedia.org/wiki/이메일_스팸' },
87
+ ],
88
+ schemas: [faqSchema, howToSchema, appSchema],
89
+ seo: [
90
+ { type: 'title', level: 2, text: '이메일 리스트 클리너 사용이 필수적인 이유는 무엇인가요?' },
91
+ {
92
+ type: 'paragraph',
93
+ html: '디지털 마케팅 세계에서 데이터베이스의 품질은 규모보다 훨씬 중요합니다. 5만 개의 이메일 리스트가 있어도 그중 절반이 존재하지 않는 주소이거나, 오타가 있거나, 중복되었다면 가치가 없습니다. 이때 <strong>이메일 리스트 클리너</strong>가 필수적입니다.',
94
+ },
95
+ { type: 'title', level: 3, text: '정리되지 않은 이메일 리스트의 위험성' },
96
+ {
97
+ type: 'paragraph',
98
+ html: '정리되지 않은 데이터베이스를 유지하면 심각한 결과를 초래할 수 있습니다. 존재하지 않는 주소로 이메일을 보내면 "하드 바운스"가 발생합니다. 이 비율이 2-3%를 넘으면 스팸 필터가 도메인을 면밀히 조사하기 시작하며 국제 블랙리스트에 오를 수도 있습니다.',
99
+ },
100
+ {
101
+ type: 'tip',
102
+ title: '전문가 팁',
103
+ html: '이메일 리스트를 절대로 구매하지 마세요. 도메인 평판을 망치는 가장 빠른 길입니다. 자체 리스트를 유기적으로 구축하고 3~6개월마다 정리하세요.',
104
+ },
105
+ { type: 'title', level: 3, text: '당사 도구가 데이터베이스를 최적화하는 방법' },
106
+ {
107
+ type: 'paragraph',
108
+ html: '당사의 무료 유틸리티는 수량 제한 없이 데이터베이스를 철저하고 신속하게 정리합니다. 다음과 같은 몇 가지 중요한 유효성 검사 작업을 즉시 수행합니다.',
109
+ },
110
+ {
111
+ type: 'list',
112
+ items: [
113
+ '<strong>중복 제거:</strong> 동일한 사용자에게 동일한 이메일이 두 번 전송되지 않도록 합니다.',
114
+ '<strong>공백 수정:</strong> 발신을 무효화할 수 있는 시작이나 끝부분의 우발적인 공백을 제거합니다.',
115
+ '<strong>형식 확인:</strong> 유효한 이메일 구조를 갖추지 않은 항목을 필터링합니다.',
116
+ '<strong>정규화:</strong> 중복 레코드를 방지하기 위해 모든 주소를 소문자로 변환합니다.',
117
+ ],
118
+ },
119
+ { type: 'title', level: 3, text: '리스트를 정리하기에 적절한 시기는 언제인가요?' },
120
+ {
121
+ type: 'list',
122
+ items: [
123
+ '연락처를 새로운 CRM이나 발송 플랫폼(Mailchimp, SendGrid 등)으로 가져오기 전.',
124
+ '오픈율이 평소 평균보다 떨어졌음을 감지했을 때.',
125
+ '데이터를 수동으로 수집한 이벤트나 전시회 이후.',
126
+ '도메인 상태를 유지하기 위해 분기별 예방 정비 차원에서.',
127
+ ],
128
+ },
129
+ { type: 'title', level: 3, text: '투자 수익률(ROI)에 미치는 영향' },
130
+ {
131
+ type: 'paragraph',
132
+ html: '이메일 마케팅은 여전히 ROI가 가장 높은 채널 중 하나이지만, 메시지가 받은 편지함에 도달할 때만 유효합니다. <strong>이메일 클리너</strong>를 사용하면 소스부터 판매 깔대기를 최적화하고 메시지를 절대 보지 않을 연락처에 대해 플랫폼 비용을 지불하는 것을 중단할 수 있습니다.',
133
+ },
134
+ {
135
+ type: 'tip',
136
+ title: '더블 옵트인 도입',
137
+ html: '가짜 이메일을 피하는 가장 좋은 방법은 사용자가 받은 편지함으로 전송된 링크를 클릭하여 구독을 확인하도록 요구하는 것입니다. 이는 이메일이 존재하고 사용자가 해당 이메일에 액세스할 수 있음을 보장합니다.',
138
+ },
139
+ ],
140
+ };
@@ -0,0 +1,140 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { EmailListCleanerUI } from '../ui';
4
+
5
+ const faqData = [
6
+ {
7
+ question: 'Wat doet deze e-maillijst-cleaner precies?',
8
+ answer: 'De tool analyseert uw e-maillijst, verwijdert duplicaten, verwijdert onnodige witruimte, valideert de basisindeling en normaliseert alle adressen naar kleine letters om een schone database te garanderen.',
9
+ },
10
+ {
11
+ question: 'Is er een limiet aan het aantal e-mails?',
12
+ answer: 'Er is geen strikte recordlimiet. U kunt duizenden e-mails direct in één keer verwerken. De enige beperking is het geheugen van uw browser als de lijst extreem groot is.',
13
+ },
14
+ {
15
+ question: 'Is it veilig om mijn e-mails hier te plakken?',
16
+ answer: 'Absoluut. Alle verwerking vindt lokaal plaats in uw eigen browser via JavaScript. Uw gegevens worden nooit naar onze servers verzonden of opgeslagen in een externe database.',
17
+ },
18
+ {
19
+ question: 'Hoe verbetert dit de afleverbaarheid van mijn campagne?',
20
+ answer: 'Door niet-bestaande of verkeerd opgemaakte adressen te verwijderen, verlaagt u uw bouncepercentage, wat uw domeinreputatie verbetert bij providers zoals Gmail, Outlook en Yahoo.',
21
+ },
22
+ ];
23
+
24
+ const howToData = [
25
+ { name: 'Plak uw e-mails', text: 'Kopieer uw e-maillijst en plak deze in het tekstvak. Ze kunnen worden gescheiden door regels, komma\'s of spaties.' },
26
+ { name: 'Schoon de lijst op', text: "Klik op de knop 'Lijst Opschonen' om het validatie- en duplicaatverwijderingsproces te starten." },
27
+ { name: 'Bekijk de resultaten', text: 'Controleer de statistieken die originele vs. uiteindelijke e-mails tonen en bekijk de opgeschoonde lijst in het onderste paneel.' },
28
+ { name: 'Kopieer of download', text: 'Kopieer het resultaat rechtstreeks naar het klembord of download het als een kant-en-klaar .txt-bestand.' },
29
+ ];
30
+
31
+ const faqSchema: WithContext<FAQPage> = {
32
+ '@context': 'https://schema.org',
33
+ '@type': 'FAQPage',
34
+ mainEntity: faqData.map((item) => ({
35
+ '@type': 'Question',
36
+ name: item.question,
37
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
38
+ })),
39
+ };
40
+
41
+ const howToSchema: WithContext<HowTo> = {
42
+ '@context': 'https://schema.org',
43
+ '@type': 'HowTo',
44
+ name: 'Hoe een e-maillijst op te schonen',
45
+ step: howToData.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
46
+ };
47
+
48
+ const appSchema: WithContext<SoftwareApplication> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'SoftwareApplication',
51
+ name: 'E-maillijst Cleaner',
52
+ applicationCategory: 'UtilitiesApplication',
53
+ operatingSystem: 'Web',
54
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
55
+ description: 'Verwijder duplicaten, corrigeer witruimte en valideer formaten in uw e-maillijst. Gratis tool zonder recordlimiet.',
56
+ };
57
+
58
+ const ui: EmailListCleanerUI = {
59
+ inputLabel: 'E-maillijst',
60
+ inputPlaceholder: 'Plak hier uw e-maillijst (gescheiden door regels, komma\'s of spaties)...',
61
+ cleanBtn: 'Lijst Opschonen',
62
+ clearBtn: 'Alles Wissen',
63
+ statsOriginal: 'Origineel',
64
+ statsRemoved: 'Verwijderd',
65
+ statsFinal: 'Schoon',
66
+ resultLabel: 'Schoon Resultaat',
67
+ copyBtn: 'Lijst Kopiëren',
68
+ copyDone: 'Gekopieerd!',
69
+ downloadBtn: 'Download .txt',
70
+ registered: 'geregistreerd',
71
+ downloadFilename: 'schone-emails',
72
+ };
73
+
74
+ export const content: ToolLocaleContent<EmailListCleanerUI> = {
75
+ slug: 'email-lijst-cleaner',
76
+ title: 'E maillijst Cleaner',
77
+ description: 'Schoon e-maillijsten gratis op. Verwijder duplicaten, corrigeer witruimte en valideer formaten in seconden. Bespaar kosten en verbeter uw afleverbaarheid.',
78
+ ui,
79
+ faqTitle: 'Veelgestelde Vragen',
80
+ faq: faqData,
81
+ howTo: howToData,
82
+ bibliographyTitle: 'Referenties',
83
+ bibliography: [
84
+ { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
+ { name: 'Google: Richtlijnen voor e-mailverzenders', url: 'https://support.google.com/a/answer/81126' },
86
+ { name: 'Wikipedia: E-mailspam', url: 'https://nl.wikipedia.org/wiki/Spam_(post)' },
87
+ ],
88
+ schemas: [faqSchema, howToSchema, appSchema],
89
+ seo: [
90
+ { type: 'title', level: 2, text: 'Waarom is het gebruik van een e-maillijst-cleaner essentieel?' },
91
+ {
92
+ type: 'paragraph',
93
+ html: 'In de wereld van digitale marketing is de kwaliteit van uw database veel belangrijker dan de grootte ervan. Een lijst met 50.000 e-mails is waardeloos als de helft ervan niet-bestaande adressen zijn, typefouten bevatten of duplicaten zijn. Dit is waar een <strong>e-maillijst-cleaner</strong> onmisbaar wordt.',
94
+ },
95
+ { type: 'title', level: 3, text: 'De risico\'s van een vervuilde e-maillijst' },
96
+ {
97
+ type: 'paragraph',
98
+ html: 'Het bijhouden van een niet-opgeschoonde database kan ernstige gevolgen hebben. Het verzenden van e-mails naar adressen die niet bestaan, genereert een "hard bounce". Als dit percentage de 2-3% overschrijdt, zullen spamfilters uw domein nauwkeuriger gaan onderzoeken en kunt u op een internationale zwarte lijst terechtkomen.',
99
+ },
100
+ {
101
+ type: 'tip',
102
+ title: 'Expert tip',
103
+ html: 'Koop nooit e-maillijsten. Het is de snelste manier om uw domeinreputatie te ruïneren. Bouw uw eigen lijst organisch op en schoon deze elke 3 tot 6 maanden op.',
104
+ },
105
+ { type: 'title', level: 3, text: 'Hoe onze tool uw database optimaliseert' },
106
+ {
107
+ type: 'paragraph',
108
+ html: 'Onze gratis tool voert een grondige en snelle opschoning van uw databases uit zonder recordlimieten. Het voert direct verschillende kritieke validatietaken uit:',
109
+ },
110
+ {
111
+ type: 'list',
112
+ items: [
113
+ '<strong>Duplicaatverwijdering:</strong> Dezelfde gebruiker ontvangt niet twee keer dezelfde e-mail.',
114
+ '<strong>Witruimte-correctie:</strong> We verwijderen onbedoelde spaties aan het begin of einde die de verzending ongeldig zouden maken.',
115
+ '<strong>Formaatvalidatie:</strong> We filteren vermeldingen die geen geldige e-mailstructuur hebben.',
116
+ '<strong>Normalisatie:</strong> Alles wordt omgezet naar kleine letters om redundante records te voorkomen.',
117
+ ],
118
+ },
119
+ { type: 'title', level: 3, text: 'Wanneer is het juiste moment om uw lijst op te schonen?' },
120
+ {
121
+ type: 'list',
122
+ items: [
123
+ 'Voordat u contacten importeert in een nieuw CRM- of verzendplatform (Mailchimp, SendGrid, etc.).',
124
+ 'Als u merkt dat uw open rate onder het gebruikelijke gemiddelde is gedaald.',
125
+ 'Na een evenement of beurs waar u handmatig gegevens hebt verzameld.',
126
+ 'Als preventief onderhoud elk kwartaal om de gezondheid van het domein te behouden.',
127
+ ],
128
+ },
129
+ { type: 'title', level: 3, text: 'Impact op return on investment' },
130
+ {
131
+ type: 'paragraph',
132
+ html: 'E-mailmarketing blijft een van de kanalen met de hoogste ROI, maar alleen als berichten de inbox bereiken. Door een <strong>e-mailcleaner</strong> te gebruiken, optimaliseert u uw verkooptrechter vanaf de bron en stopt u met het betalen van platforms voor contacten die uw berichten nooit zullen zien.',
133
+ },
134
+ {
135
+ type: 'tip',
136
+ title: 'Implementeer double opt in',
137
+ html: 'De beste manier om nepe-mails te voorkomen is door van gebruikers te vragen hun abonnement te bevestigen door op een link te klikken die naar hun inbox is verzonden. Dit garandeert dat de e-mail bestaat en dat de gebruiker er toegang toe heeft.',
138
+ },
139
+ ],
140
+ };