Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

Google traduce tu web en los resultados: qué es notranslate, translate=»no» y cuándo usarlos

Si alguien busca en inglés y Google cree que tu página en español responde su pregunta, puede mostrarla en los resultados con el título traducido y abrir una versión traducida automáticamente. Y si alguien visita tu sitio con Chrome configurado en otro idioma, el navegador le ofrece traducirlo.

En general es bueno: llegas a más personas. Pero la traducción automática no distingue entre texto y código, ni entre una palabra común y un nombre propio. El comando wp plugin list puede convertirse en «wp plugin lista», y el nombre de tu producto «Polera Andes» en «Andes T-shirt».

Las dos herramientas

1. La meta notranslate: bloquea toda la página

<meta name="google" content="notranslate">

Le dice a Google que no ofrezca traducción de esa página en los resultados ni en Chrome. Afecta a todo.

2. El atributo translate=»no»: protege una parte

<code translate="no">wp plugin list</code>
<span translate="no">Polera Andes</span>

Es un atributo estándar de HTML. Los traductores automáticos (el de Chrome, el de Google y otros) respetan lo que está marcado y traducen el resto. También existe la clase notranslate, que Google reconoce, pero el atributo es el estándar.

¿Bloquear la traducción de todo el sitio?

Casi nunca conviene. La traducción automática permite que personas que no leen español entiendan tu contenido, y en el caso de los resultados de Google, te trae visitas que de otra forma no tendrías.

Tiene sentido bloquearla en casos puntuales:

  • Páginas con textos legales (términos y condiciones) donde una traducción errónea puede generar malentendidos.
  • Páginas de aprendizaje de idiomas, donde traducir arruina el ejercicio.

Si Google muestra tu sitio traducido para búsquedas en otros idiomas y te molesta, recuerda que esas visitas vienen de personas que no te encontrarían de otra forma. Antes de bloquear, mira en Search Console cuántos clics te llegan de otros países.

Proteger el código automáticamente en WordPress

En un sitio de tutoriales, lo más útil es marcar con translate="no" todos los bloques de código y de texto preformateado, para que se traduzca la explicación pero no los comandos. Este mu-plugin lo hace sin tocar las entradas:

<?php
/**
 * Plugin Name: Código sin traducir (Curso WordPress)
 */

add_filter( 'render_block', function ( $html, $bloque ) {
	if ( in_array( $bloque['blockName'], array( 'core/code', 'core/preformatted' ), true ) ) {
		$html = preg_replace( '/<pre\b(?![^>]*\btranslate=)/', '<pre translate="no"', $html, 1 );
	}
	return $html;
}, 10, 2 );

// El código dentro del texto (`así`) también.
add_filter( 'the_content', function ( $contenido ) {
	return preg_replace( '/<code\b(?![^>]*\btranslate=)/', '<code translate="no"', $contenido );
}, 20 );

Si tus bloques de código son bloques HTML personalizado con su propio <pre>, el segundo filtro marca igual los <code> interiores, que es lo que importa.

Nombres propios y de marca

Para el nombre de tu marca o de productos que se traducen mal, márcalos al escribirlos. En el editor de bloques, selecciona la palabra, cambia ese bloque a Editar como HTML y agrega el atributo:

<span translate="no">Curso WordPress</span>

Úsalo con moderación: solo donde una traducción cambia el sentido o confunde.

Comprueba el resultado

Abre tu entrada en Chrome, haz clic derecho → Traducir a inglés, y revisa que los comandos y nombres marcados sigan intactos.

¿Encontraste alguna traducción automática graciosa (o desastrosa) de tu sitio? Compártela en el foro.