n8n-nodes-seo-scanner 1.2.29 → 1.2.30

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.
@@ -28,6 +28,9 @@ const TRANSLATABLE_ARRAY_KEYS = new Set([
28
28
  'issues',
29
29
  'passed',
30
30
  'recommendations',
31
+ 'reusedFrom',
32
+ 'signals',
33
+ 'tags',
31
34
  'warnings',
32
35
  ]);
33
36
  const SKIPPED_KEYS = new Set([
@@ -248,6 +251,90 @@ const EXACT_ENGLISH_TRANSLATIONS = {
248
251
  'Verificar que el canonical sea correcto para esta página.': 'Verify that the canonical is correct for this page.',
249
252
  'Verificación hreflang cruzada correcta (todas devuelven enlace)': 'Cross-hreflang verification passed (all pages link back)',
250
253
  };
254
+ const GEO_ENGLISH_TRANSLATIONS = {
255
+ 'IA': 'AI',
256
+ 'Reutilizado': 'Reused',
257
+ 'Entidad': 'Entity',
258
+ 'Mapa': 'Map',
259
+ 'Privacidad': 'Privacy',
260
+ 'Local': 'Local',
261
+ 'Snippet': 'Snippet',
262
+ 'Acceso e indexabilidad IA': 'AI access and indexability',
263
+ 'Contenido citable': 'Citable content',
264
+ 'Claridad de entidad': 'Entity clarity',
265
+ 'Citas y confianza': 'Citations and trust',
266
+ 'Datos estructurados': 'Structured data',
267
+ 'Actualidad y sitemap': 'Freshness and sitemap',
268
+ 'Recuperabilidad': 'Retrievability',
269
+ 'Canonical y URL citada': 'Canonical and cited URL',
270
+ 'Elegibilidad para snippets/citas': 'Snippet/citation eligibility',
271
+ 'Open Graph y Twitter Cards': 'Open Graph and Twitter Cards',
272
+ 'GEO Local / NAP': 'Local GEO / NAP',
273
+ 'GEO Local': 'Local GEO',
274
+ 'Mapas y accesibilidad': 'Maps and accessibility',
275
+ 'Privacidad y geolocalizacion': 'Privacy and geolocation',
276
+ 'Datos geoespaciales': 'Geospatial data',
277
+ 'contenido': 'content',
278
+ 'tablas': 'tables',
279
+ 'enlaces externos': 'external links',
280
+ 'tiempo de respuesta': 'response time',
281
+ 'La estructura H2/H3 parece pobre para contenido citable.': 'The H2/H3 structure looks weak for citable content.',
282
+ 'Encabezados descriptivos facilitan que una IA extraiga secciones y respuestas.': 'Descriptive headings help AI extract sections and answers.',
283
+ 'Headings reutilizados del analisis SEO.': 'Headings reused from the SEO analysis.',
284
+ 'Divide el contenido en H2/H3 claros: que es, como funciona, ventajas, ejemplos, dudas frecuentes.': 'Divide the content into clear H2/H3 sections: what it is, how it works, benefits, examples and FAQs.',
285
+ 'Tablas, listas, definiciones y resumenes ayudan a que una IA extraiga respuestas con precision.': 'Tables, lists, definitions and summaries help AI extract answers accurately.',
286
+ 'Usa listas, tablas, bloques resumen y definiciones cuando aporten claridad.': 'Use lists, tables, summary blocks and definitions when they add clarity.',
287
+ 'El contenido incluye tablas, listas o definiciones utiles para citacion.': 'The content includes tables, lists or definitions useful for citation.',
288
+ 'El H1 no da una senal clara y unica.': 'The H1 does not provide a clear, unique signal.',
289
+ 'Tambien afecta a GEO porque dificulta que una IA entienda el tema principal de la pagina.': 'It also affects GEO because it makes it harder for AI to understand the main topic of the page.',
290
+ 'H1 reutilizado desde SEO tecnico.': 'H1 reused from the technical SEO analysis.',
291
+ 'Mantén un H1 unico, especifico y coherente con title/meta/og:title.': 'Keep one unique, specific H1 aligned with title/meta/og:title.',
292
+ 'El title no explica bien la entidad o el proposito.': 'The title does not clearly explain the entity or purpose.',
293
+ 'Las IA necesitan senales claras para identificar tema, marca y utilidad de la pagina.': 'AI systems need clear signals to identify the page topic, brand and usefulness.',
294
+ 'Etiqueta title reutilizada desde SEO tecnico.': 'Title tag reused from the technical SEO analysis.',
295
+ 'Usa un title descriptivo con entidad, oferta o tema principal.': 'Use a descriptive title with the entity, offer or main topic.',
296
+ 'La meta description es ausente o poco descriptiva.': 'The meta description is missing or not descriptive enough.',
297
+ 'Una descripcion pobre dificulta extraer proposito, contexto y promesa de la pagina.': 'A weak description makes it harder to extract the page purpose, context and promise.',
298
+ 'Meta description reutilizada desde SEO tecnico.': 'Meta description reused from the technical SEO analysis.',
299
+ 'Resume que ofrece la pagina, para quien es y que informacion resuelve.': 'Summarize what the page offers, who it is for and what information it resolves.',
300
+ 'Open Graph principal completo.': 'Main Open Graph metadata is complete.',
301
+ 'Open Graph esta incompleto.': 'Open Graph is incomplete.',
302
+ 'OG ayuda a distribuir y desambiguar titulo, descripcion, imagen y URL cuando la pagina se comparte o se cita.': 'Open Graph helps distribute and disambiguate title, description, image and URL when the page is shared or cited.',
303
+ 'Metas og:title, og:description, og:image, og:url y og:site_name reutilizadas del SEO base.': 'og:title, og:description, og:image, og:url and og:site_name metadata reused from the base SEO analysis.',
304
+ 'Completa Open Graph y mantenlo coherente con title, meta description y canonical.': 'Complete Open Graph and keep it consistent with title, meta description and canonical.',
305
+ 'og:image no parece absoluta.': 'og:image does not look absolute.',
306
+ 'Las imagenes absolutas son mas fiables para previews y sistemas que recuperan metadatos.': 'Absolute image URLs are more reliable for previews and systems that retrieve metadata.',
307
+ 'Usa una URL absoluta HTTPS para og:image.': 'Use an absolute HTTPS URL for og:image.',
308
+ 'No se detecta twitter:card.': 'No twitter:card was detected.',
309
+ 'No es critico para ranking, pero mejora previews y coherencia al compartir.': 'It is not critical for rankings, but it improves previews and sharing consistency.',
310
+ 'Anade twitter:card y, si aplica, twitter:title/description/image coherentes con OG.': 'Add twitter:card and, where applicable, twitter:title/description/image consistent with Open Graph.',
311
+ 'Falta canonical para indicar la URL preferida.': 'Missing canonical to indicate the preferred URL.',
312
+ 'La canonical ayuda a que buscadores e IA entiendan que URL deben indexar o citar.': 'The canonical helps search engines and AI understand which URL to index or cite.',
313
+ 'link rel="canonical" reutilizado desde SEO tecnico.': 'link rel="canonical" reused from the technical SEO analysis.',
314
+ 'Anade una canonical absoluta y coherente con la URL final.': 'Add an absolute canonical that matches the final URL.',
315
+ 'Este check consume el resultado canonical ya calculado en el analisis SEO base.': 'This check uses the canonical result already calculated in the base SEO analysis.',
316
+ 'El canonical no es una URL absoluta.': 'The canonical is not an absolute URL.',
317
+ 'Las URLs canonicals absolutas reducen ambiguedad para crawlers y sistemas de citacion.': 'Absolute canonical URLs reduce ambiguity for crawlers and citation systems.',
318
+ 'Usa una URL absoluta HTTPS en canonical.': 'Use an absolute HTTPS URL in the canonical.',
319
+ 'El canonical apunta a otra URL.': 'The canonical points to another URL.',
320
+ 'Puede ser correcto, pero para IA aumenta el riesgo de citar una version distinta si hay duplicados.': 'It can be correct, but for AI it increases the risk of citing a different version when duplicates exist.',
321
+ 'Canonical de la pagina analizada.': 'Canonical of the analyzed page.',
322
+ 'Confirma que esa es la URL que quieres que buscadores e IA citen.': 'Confirm that this is the URL you want search engines and AI to cite.',
323
+ 'og:url no coincide con canonical.': 'og:url does not match the canonical.',
324
+ 'Open Graph y canonical deben apuntar a la misma URL representativa para reducir ambiguedad.': 'Open Graph and canonical should point to the same representative URL to reduce ambiguity.',
325
+ 'Alinea og:url con canonical cuando representen la misma pagina.': 'Align og:url with canonical when they represent the same page.',
326
+ 'La URL aparece en sitemap segun el escaneo base.': 'The URL appears in the sitemap according to the base scan.',
327
+ 'La URL no aparece confirmada en sitemap.': 'The URL is not confirmed in the sitemap.',
328
+ 'El sitemap ayuda al descubrimiento y a la frescura, especialmente para contenido que puede citar una IA.': 'The sitemap supports discovery and freshness, especially for content an AI may cite.',
329
+ 'sitemap.xml o sitemaps declarados en robots.txt.': 'sitemap.xml or sitemaps declared in robots.txt.',
330
+ 'Incluye URLs importantes en sitemap y usa lastmod cuando la pagina cambie.': 'Include important URLs in the sitemap and use lastmod when the page changes.',
331
+ 'Hay restricciones de snippet o fragmentos citables.': 'There are snippet or citable-fragment restrictions.',
332
+ 'Las respuestas IA y resultados enriquecidos necesitan permiso para mostrar fragmentos o citas del contenido.': 'AI answers and rich results need permission to show snippets or citations from the content.',
333
+ 'Meta robots, X-Robots-Tag o atributos data-nosnippet.': 'Meta robots, X-Robots-Tag or data-nosnippet attributes.',
334
+ 'Evita nosnippet, max-snippet:0 y data-nosnippet en contenido que quieras que pueda citarse.': 'Avoid nosnippet, max-snippet:0 and data-nosnippet on content you want to be citable.',
335
+ 'No se detectan restricciones fuertes de snippet o citas.': 'No strong snippet or citation restrictions were detected.',
336
+ 'Sin problemas GEO detectados en esta categoria.': 'No GEO issues detected in this category.',
337
+ };
251
338
  const HTML_ENGLISH_REPLACEMENTS = [
252
339
  [/<html lang="es">/g, '<html lang="en">'],
253
340
  [/Escaneo del sitio/g, 'Site scan'],
@@ -332,6 +419,11 @@ const REGEX_ENGLISH_TRANSLATIONS = [
332
419
  [/^Título con longitud adecuada \((\d+) caracteres\)$/i, (m) => `Title has appropriate length (${m[1]} characters)`],
333
420
  [/^TTFB alto \((\d+)ms\)\. Recomendado < 600ms\.$/i, (m) => `High TTFB (${m[1]}ms). Recommended < 600ms.`],
334
421
  [/^URL muy larga \((\d+) caracteres\)\. Recomendado < 100\.$/i, (m) => `URL is too long (${m[1]} characters). Recommended < 100.`],
422
+ [/^Completa estas propiedades: (.+)\.$/i, (m) => `Complete these properties: ${m[1]}.`],
423
+ [/^Formato geoespacial detectado: (.+)\.$/i, (m) => `Geospatial format detected: ${m[1]}.`],
424
+ [/^GEO Local activado por: (.+)\.$/i, (m) => `Local GEO enabled by: ${m[1]}.`],
425
+ [/^Mapa detectado: (.+)\.$/i, (m) => `Map detected: ${m[1]}.`],
426
+ [/^Recomendadas tambien: (.+)\.$/i, (m) => `Also recommended: ${m[1]}.`],
335
427
  [/^Valora anadir: (.+)\.$/i, (m) => `Consider adding: ${m[1]}.`],
336
428
  ];
337
429
  function isSkippableString(value) {
@@ -356,7 +448,7 @@ function translateText(value, language) {
356
448
  const leading = value.match(/^\s*/)?.[0] ?? '';
357
449
  const trailing = value.match(/\s*$/)?.[0] ?? '';
358
450
  const core = value.trim();
359
- const exact = EXACT_ENGLISH_TRANSLATIONS[core];
451
+ const exact = EXACT_ENGLISH_TRANSLATIONS[core] ?? GEO_ENGLISH_TRANSLATIONS[core];
360
452
  if (exact)
361
453
  return `${leading}${exact}${trailing}`;
362
454
  for (const [pattern, replacer] of REGEX_ENGLISH_TRANSLATIONS) {
@@ -1 +1 @@
1
- {"version":3,"file":"languageUtils.js","sourceRoot":"","sources":["../nodes/SeoScanner/languageUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languageUtils.js","sourceRoot":"","sources":["../nodes/SeoScanner/languageUtils.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,9 @@ const TRANSLATABLE_ARRAY_KEYS = new Set([
28
28
  'issues',
29
29
  'passed',
30
30
  'recommendations',
31
+ 'reusedFrom',
32
+ 'signals',
33
+ 'tags',
31
34
  'warnings',
32
35
  ]);
33
36
  const SKIPPED_KEYS = new Set([
@@ -248,6 +251,90 @@ const EXACT_ENGLISH_TRANSLATIONS = {
248
251
  'Verificar que el canonical sea correcto para esta página.': 'Verify that the canonical is correct for this page.',
249
252
  'Verificación hreflang cruzada correcta (todas devuelven enlace)': 'Cross-hreflang verification passed (all pages link back)',
250
253
  };
254
+ const GEO_ENGLISH_TRANSLATIONS = {
255
+ 'IA': 'AI',
256
+ 'Reutilizado': 'Reused',
257
+ 'Entidad': 'Entity',
258
+ 'Mapa': 'Map',
259
+ 'Privacidad': 'Privacy',
260
+ 'Local': 'Local',
261
+ 'Snippet': 'Snippet',
262
+ 'Acceso e indexabilidad IA': 'AI access and indexability',
263
+ 'Contenido citable': 'Citable content',
264
+ 'Claridad de entidad': 'Entity clarity',
265
+ 'Citas y confianza': 'Citations and trust',
266
+ 'Datos estructurados': 'Structured data',
267
+ 'Actualidad y sitemap': 'Freshness and sitemap',
268
+ 'Recuperabilidad': 'Retrievability',
269
+ 'Canonical y URL citada': 'Canonical and cited URL',
270
+ 'Elegibilidad para snippets/citas': 'Snippet/citation eligibility',
271
+ 'Open Graph y Twitter Cards': 'Open Graph and Twitter Cards',
272
+ 'GEO Local / NAP': 'Local GEO / NAP',
273
+ 'GEO Local': 'Local GEO',
274
+ 'Mapas y accesibilidad': 'Maps and accessibility',
275
+ 'Privacidad y geolocalizacion': 'Privacy and geolocation',
276
+ 'Datos geoespaciales': 'Geospatial data',
277
+ 'contenido': 'content',
278
+ 'tablas': 'tables',
279
+ 'enlaces externos': 'external links',
280
+ 'tiempo de respuesta': 'response time',
281
+ 'La estructura H2/H3 parece pobre para contenido citable.': 'The H2/H3 structure looks weak for citable content.',
282
+ 'Encabezados descriptivos facilitan que una IA extraiga secciones y respuestas.': 'Descriptive headings help AI extract sections and answers.',
283
+ 'Headings reutilizados del analisis SEO.': 'Headings reused from the SEO analysis.',
284
+ 'Divide el contenido en H2/H3 claros: que es, como funciona, ventajas, ejemplos, dudas frecuentes.': 'Divide the content into clear H2/H3 sections: what it is, how it works, benefits, examples and FAQs.',
285
+ 'Tablas, listas, definiciones y resumenes ayudan a que una IA extraiga respuestas con precision.': 'Tables, lists, definitions and summaries help AI extract answers accurately.',
286
+ 'Usa listas, tablas, bloques resumen y definiciones cuando aporten claridad.': 'Use lists, tables, summary blocks and definitions when they add clarity.',
287
+ 'El contenido incluye tablas, listas o definiciones utiles para citacion.': 'The content includes tables, lists or definitions useful for citation.',
288
+ 'El H1 no da una senal clara y unica.': 'The H1 does not provide a clear, unique signal.',
289
+ 'Tambien afecta a GEO porque dificulta que una IA entienda el tema principal de la pagina.': 'It also affects GEO because it makes it harder for AI to understand the main topic of the page.',
290
+ 'H1 reutilizado desde SEO tecnico.': 'H1 reused from the technical SEO analysis.',
291
+ 'Mantén un H1 unico, especifico y coherente con title/meta/og:title.': 'Keep one unique, specific H1 aligned with title/meta/og:title.',
292
+ 'El title no explica bien la entidad o el proposito.': 'The title does not clearly explain the entity or purpose.',
293
+ 'Las IA necesitan senales claras para identificar tema, marca y utilidad de la pagina.': 'AI systems need clear signals to identify the page topic, brand and usefulness.',
294
+ 'Etiqueta title reutilizada desde SEO tecnico.': 'Title tag reused from the technical SEO analysis.',
295
+ 'Usa un title descriptivo con entidad, oferta o tema principal.': 'Use a descriptive title with the entity, offer or main topic.',
296
+ 'La meta description es ausente o poco descriptiva.': 'The meta description is missing or not descriptive enough.',
297
+ 'Una descripcion pobre dificulta extraer proposito, contexto y promesa de la pagina.': 'A weak description makes it harder to extract the page purpose, context and promise.',
298
+ 'Meta description reutilizada desde SEO tecnico.': 'Meta description reused from the technical SEO analysis.',
299
+ 'Resume que ofrece la pagina, para quien es y que informacion resuelve.': 'Summarize what the page offers, who it is for and what information it resolves.',
300
+ 'Open Graph principal completo.': 'Main Open Graph metadata is complete.',
301
+ 'Open Graph esta incompleto.': 'Open Graph is incomplete.',
302
+ 'OG ayuda a distribuir y desambiguar titulo, descripcion, imagen y URL cuando la pagina se comparte o se cita.': 'Open Graph helps distribute and disambiguate title, description, image and URL when the page is shared or cited.',
303
+ 'Metas og:title, og:description, og:image, og:url y og:site_name reutilizadas del SEO base.': 'og:title, og:description, og:image, og:url and og:site_name metadata reused from the base SEO analysis.',
304
+ 'Completa Open Graph y mantenlo coherente con title, meta description y canonical.': 'Complete Open Graph and keep it consistent with title, meta description and canonical.',
305
+ 'og:image no parece absoluta.': 'og:image does not look absolute.',
306
+ 'Las imagenes absolutas son mas fiables para previews y sistemas que recuperan metadatos.': 'Absolute image URLs are more reliable for previews and systems that retrieve metadata.',
307
+ 'Usa una URL absoluta HTTPS para og:image.': 'Use an absolute HTTPS URL for og:image.',
308
+ 'No se detecta twitter:card.': 'No twitter:card was detected.',
309
+ 'No es critico para ranking, pero mejora previews y coherencia al compartir.': 'It is not critical for rankings, but it improves previews and sharing consistency.',
310
+ 'Anade twitter:card y, si aplica, twitter:title/description/image coherentes con OG.': 'Add twitter:card and, where applicable, twitter:title/description/image consistent with Open Graph.',
311
+ 'Falta canonical para indicar la URL preferida.': 'Missing canonical to indicate the preferred URL.',
312
+ 'La canonical ayuda a que buscadores e IA entiendan que URL deben indexar o citar.': 'The canonical helps search engines and AI understand which URL to index or cite.',
313
+ 'link rel="canonical" reutilizado desde SEO tecnico.': 'link rel="canonical" reused from the technical SEO analysis.',
314
+ 'Anade una canonical absoluta y coherente con la URL final.': 'Add an absolute canonical that matches the final URL.',
315
+ 'Este check consume el resultado canonical ya calculado en el analisis SEO base.': 'This check uses the canonical result already calculated in the base SEO analysis.',
316
+ 'El canonical no es una URL absoluta.': 'The canonical is not an absolute URL.',
317
+ 'Las URLs canonicals absolutas reducen ambiguedad para crawlers y sistemas de citacion.': 'Absolute canonical URLs reduce ambiguity for crawlers and citation systems.',
318
+ 'Usa una URL absoluta HTTPS en canonical.': 'Use an absolute HTTPS URL in the canonical.',
319
+ 'El canonical apunta a otra URL.': 'The canonical points to another URL.',
320
+ 'Puede ser correcto, pero para IA aumenta el riesgo de citar una version distinta si hay duplicados.': 'It can be correct, but for AI it increases the risk of citing a different version when duplicates exist.',
321
+ 'Canonical de la pagina analizada.': 'Canonical of the analyzed page.',
322
+ 'Confirma que esa es la URL que quieres que buscadores e IA citen.': 'Confirm that this is the URL you want search engines and AI to cite.',
323
+ 'og:url no coincide con canonical.': 'og:url does not match the canonical.',
324
+ 'Open Graph y canonical deben apuntar a la misma URL representativa para reducir ambiguedad.': 'Open Graph and canonical should point to the same representative URL to reduce ambiguity.',
325
+ 'Alinea og:url con canonical cuando representen la misma pagina.': 'Align og:url with canonical when they represent the same page.',
326
+ 'La URL aparece en sitemap segun el escaneo base.': 'The URL appears in the sitemap according to the base scan.',
327
+ 'La URL no aparece confirmada en sitemap.': 'The URL is not confirmed in the sitemap.',
328
+ 'El sitemap ayuda al descubrimiento y a la frescura, especialmente para contenido que puede citar una IA.': 'The sitemap supports discovery and freshness, especially for content an AI may cite.',
329
+ 'sitemap.xml o sitemaps declarados en robots.txt.': 'sitemap.xml or sitemaps declared in robots.txt.',
330
+ 'Incluye URLs importantes en sitemap y usa lastmod cuando la pagina cambie.': 'Include important URLs in the sitemap and use lastmod when the page changes.',
331
+ 'Hay restricciones de snippet o fragmentos citables.': 'There are snippet or citable-fragment restrictions.',
332
+ 'Las respuestas IA y resultados enriquecidos necesitan permiso para mostrar fragmentos o citas del contenido.': 'AI answers and rich results need permission to show snippets or citations from the content.',
333
+ 'Meta robots, X-Robots-Tag o atributos data-nosnippet.': 'Meta robots, X-Robots-Tag or data-nosnippet attributes.',
334
+ 'Evita nosnippet, max-snippet:0 y data-nosnippet en contenido que quieras que pueda citarse.': 'Avoid nosnippet, max-snippet:0 and data-nosnippet on content you want to be citable.',
335
+ 'No se detectan restricciones fuertes de snippet o citas.': 'No strong snippet or citation restrictions were detected.',
336
+ 'Sin problemas GEO detectados en esta categoria.': 'No GEO issues detected in this category.',
337
+ };
251
338
  const HTML_ENGLISH_REPLACEMENTS = [
252
339
  [/<html lang="es">/g, '<html lang="en">'],
253
340
  [/Escaneo del sitio/g, 'Site scan'],
@@ -332,6 +419,11 @@ const REGEX_ENGLISH_TRANSLATIONS = [
332
419
  [/^Título con longitud adecuada \((\d+) caracteres\)$/i, (m) => `Title has appropriate length (${m[1]} characters)`],
333
420
  [/^TTFB alto \((\d+)ms\)\. Recomendado < 600ms\.$/i, (m) => `High TTFB (${m[1]}ms). Recommended < 600ms.`],
334
421
  [/^URL muy larga \((\d+) caracteres\)\. Recomendado < 100\.$/i, (m) => `URL is too long (${m[1]} characters). Recommended < 100.`],
422
+ [/^Completa estas propiedades: (.+)\.$/i, (m) => `Complete these properties: ${m[1]}.`],
423
+ [/^Formato geoespacial detectado: (.+)\.$/i, (m) => `Geospatial format detected: ${m[1]}.`],
424
+ [/^GEO Local activado por: (.+)\.$/i, (m) => `Local GEO enabled by: ${m[1]}.`],
425
+ [/^Mapa detectado: (.+)\.$/i, (m) => `Map detected: ${m[1]}.`],
426
+ [/^Recomendadas tambien: (.+)\.$/i, (m) => `Also recommended: ${m[1]}.`],
335
427
  [/^Valora anadir: (.+)\.$/i, (m) => `Consider adding: ${m[1]}.`],
336
428
  ];
337
429
  function isSkippableString(value) {
@@ -356,7 +448,7 @@ function translateText(value, language) {
356
448
  const leading = value.match(/^\s*/)?.[0] ?? '';
357
449
  const trailing = value.match(/\s*$/)?.[0] ?? '';
358
450
  const core = value.trim();
359
- const exact = EXACT_ENGLISH_TRANSLATIONS[core];
451
+ const exact = EXACT_ENGLISH_TRANSLATIONS[core] ?? GEO_ENGLISH_TRANSLATIONS[core];
360
452
  if (exact)
361
453
  return `${leading}${exact}${trailing}`;
362
454
  for (const [pattern, replacer] of REGEX_ENGLISH_TRANSLATIONS) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-seo-scanner",
3
- "version": "1.2.29",
3
+ "version": "1.2.30",
4
4
  "description": "Nodo n8n: escaneo SEO técnico completo de una página web, con opción de escanear enlaces internos, informe HTML tipo dashboard, detección de CMS/plugins, crawl extendido (DNS, CDN, SSL, analytics).",
5
5
  "license": "MIT",
6
6
  "keywords": [