¿Qué es la meta notranslate? ¿Para qué sirve? ¿Debería usarla?

La etiqueta meta notranslate es una instrucción que le dice a los navegadores web, específicamente a Google Chrome y otros navegadores basados en Chromium, que no deben ofrecer la traducción automática del contenido de tu página

Cuando un usuario visita tu web con un navegador configurado en un idioma diferente al de tu contenido, el navegador puede mostrar una barra sugiriendo traducir la página automáticamente. La meta notranslate impide que esto ocurra.

Es importante entender que esta etiqueta NO afecta a:

  • El posicionamiento SEO de tu web en buscadores
  • La indexación de tu contenido por parte de Google
  • Las traducciones manuales que haga el usuario si quiere
  • Otros navegadores que no sean Chromium (aunque Firefox y Safari también la respetan en cierta medida)

La sintaxis oficial según la documentación de Google es: <meta name="google" content="notranslate">.

Esta etiqueta se coloca en la sección <head> de tu HTML y actúa sobre toda la página donde se encuentra.

Por qué necesitas conocer la meta notranslate (y ahora más que nunca)

Al grano… Google ha cambiado las reglas del juego en cuanto a traducciones automáticas, y necesitas entender cómo te afecta esto según tu situación específica.

Desde la actualización Core de marzo de 2025 Google está traduciendo automáticamente contenido en inglés y otros idiomas usando IA, y sirve estas traducciones desde sus propios subdominios de Google (translate.google.com o similares).

Cuando un usuario hace clic en estos resultados traducidos automáticamente, NO llega a tu web original, se queda en territorio Google.

gooble traduce automaticamente webs

El problema (y para quién es un problema)

Ahora bien, fuera aparte de lo que pensemos de la jugada, aquí viene lo importante: esto NO es malo para todo el mundo por igual, depende completamente de tu situación.

Si YA tienes traducciones profesionales o un sitio multilingüe:

Un desastre. Google está haciendo esto INCLUSO cuando ya existen versiones traducidas profesionalmente del mismo contenido, ignorando en ocasiones las señales hreflang correctamente implementadas.

Has invertido tiempo y dinero en:

  • Traducciones profesionales con WPML, Polylang o similares
  • Localización real del contenido para cada mercado
  • Versiones adaptadas culturalmente
  • Implementación correcta de hreflang

Google decide que tu trabajo no vale, lo ignora, y sirve su propia traducción automática chapucera desde su dominio. Pierdes el tráfico, pierdes los datos de analytics, pierdes el control sobre cómo se presenta tu contenido.

Esto es exactamente el caso de uso principal para notranslateproteger tu inversión en traducciones reales.

Si NO tienes traducciones y tu contenido es solo en un idioma:

Aquí la cosa se complica. Por un lado, pierdes:

  • El tráfico directo a tu dominio
  • Los datos de comportamiento y analytics
  • Las oportunidades de retargeting
  • Potenciales conversiones

Por otro lado, ganas:

  • Alcance internacional que de otra forma no tendrías
  • Usuarios de otros idiomas que pueden entender tu contenido (aunque sea con traducción automática)
  • Visibilidad en mercados donde nunca ibas a invertir en traducción profesional

Para un blog personal, una web pequeña o un proyecto sin presupuesto para traducciones profesionales, las traducciones automáticas de Google pueden ser más una oportunidad que un problema. Sí, pierdes el tráfico directo, pero al menos te leen.

La hipocresía de Google

Aquí está el verdadero escándalo: durante años, décadas, Google nos advirtió en contra usar traducciones automáticas en nuestras webs.

Según las políticas de Google, las traducciones automatizadas sin revisión humana podían considerarse contenido de baja calidad o spam. Nos dijeron que invirtiéramos en traducciones profesionales, que usáramos hreflang correctamente, que localizáramos el contenido de verdad.

¿Y qué hace Google ahora? Exactamente eso que nos dijo que no hiciéramos: traducir automáticamente con IA y presentarlo como si fuera contenido válido. La diferencia es que ahora ellos lo hacen y se quedan con el tráfico.

El alcance del fenómeno

Según datos de Ahrefs, translate.google.com genera más de 206 millones de visitas orgánicas mensuales. Ese es tráfico que potencialmente podría estar yendo a los sitios web originales.

El problema es especialmente frecuente en:

  • AI Overviews (resúmenes generados por IA de Google)
  • Snippets destacados traducidos automáticamente
  • Resultados normales de búsqueda en los «10 enlaces azules»
  • Mercados con alto uso de móviles y Safari/Firefox

En muchos países, el volumen de búsquedas móviles supera con creces al de escritorio, y en mercados con alta penetración de iPhone, una parte significativa de ese tráfico móvil pasa por Safari de forma predeterminada, navegador donde las traducciones proxy son más frecuentes.

La solución: notranslate (pero úsalo con criterio)

Google mismo documenta en su página oficial que los creadores de contenido pueden optar por no participar en todas las funciones relacionadas con traducción usando la regla notranslate mediante una etiqueta meta o un encabezado HTTP.

Esta es la forma de decirle a Google: No traduzcas mi contenido automáticamente

¿Cuándo deberías usarlo?

  • Tienes versiones traducidas profesionalmente que Google está ignorando
  • Tu contenido mezcla varios idiomas intencionadamente
  • Tienes nombres de marca, productos técnicos o terminología que no debe traducirse
  • Es contenido técnico donde cambiar un carácter puede romper algo

¿Cuándo NO deberías usarlo?

  • Tienes un blog o web informativa solo en un idioma y sin planes de traducirla
  • Tu negocio es local y el alcance internacional no te aporta nada relevante
  • No te importa que usuarios de otros idiomas accedan a tu contenido aunque sea vía proxy de Google

El resto de esta guía te va a enseñar exactamente cómo implementar notranslate en WordPress, todos los casos de uso específicos, y los métodos disponibles según tu nivel técnico. Pero lo más importante: te voy a explicar cuándo tiene sentido usarlo y cuándo estarías cometiendo un error.

No se trata de bloquear traducciones por capricho. Se trata de tomar una decisión informada sobre cómo quieres que tu contenido llegue a usuarios internacionales.

Diferencia entre meta notranslate y clase notranslate

Aquí hay un matiz importante que mucha gente confunde. Existen DOS formas de usar notranslate y hacen cosas diferentes:

  • Meta notranslate (página completa): <meta name="google" content="notranslate">
    Esta etiqueta afecta a TODA la página. Cuando la incluyes en el <head>, estás diciéndole al navegador: «No ofrezcas traducir nada de esta página».
  • Clase notranslate (elementos específicos): <span class="notranslate">iPhone 15 Pro</span>
    Esta clase CSS la aplicas a elementos HTML específicos que no quieres que se traduzcan, pero el resto de la página SÍ puede traducirse. Es mucho más quirúrgica y suele ser la mejor opción en la mayoría de casos.

Cuándo usar cada una

  • Usa la meta completa cuando TODA tu web no debe traducirse nunca. Esto es raro, la verdad.
  • Usa la clase en elementos específicos cuando quieres que tu página se pueda traducir, pero ciertos términos (marcas, códigos, nombres propios) deben mantenerse intactos. Esto es lo más común y recomendable.

Ejemplos prácticos de la clase:

<p>El nuevo <span class="notranslate">MacBook Pro M3</span> viene con <span class="notranslate">16GB</span> de RAM.</p>

<h2 class="notranslate">WordPress 6.9</h2>

<code class="notranslate">function my_custom_function() {}</code>

En WordPress puedes añadir estas clases usando el bloque HTML personalizado o editando el HTML de cualquier bloque en el editor.

Métodos de implementación de notranslate

Vamos con todas las formas de implementar notranslate en tu WordPress, desde las más sencillas hasta las más avanzadas.

Con plugins de inserción de código

Si no quieres un plugin SEO completo solo para esto, usa un plugin especializado en insertar código:

WPCode (antes Insert Headers and Footers)

Es el más popular y fácil de usar:

  1. Instala y activa WPCode desde el repositorio oficial
  2. Ve a Fragmentos de código → Cabecera y pie
  3. En la sección «Cabecera» pega:<meta name="google" content="notranslate">
  4. Guarda los cambios
wpcode cabecera y pie notranslate

Esto añade la etiqueta a todas las páginas de tu sitio.

Si quieres aplicarlo por página toca pagar.

Code Snippets

Este popular plugin también te permite añadir la etiqueta, y el método es muy parecido:

  1. Instala Code Snippets como cualquier otro plugin.
  2. Ve a Fragmentos de código → Añadir nuevo
  3. Selecciona contenido HTML
  4. En la caja de código pega:<meta name="google" content="notranslate">
  5. En el panel lateral, elige como Location → In site <head> section
  6. Guarda los cambios
code snippet html notranslate

De nuevo, son ajustes globales, sin opción gratuita de hacerlo de manera granular.

Header and Footer Code Manager

Este plugin, del que también hablé hace poco, sí te permitirá elegir si añadir la meta notranslate en toda la web o en contenidos específicos, y sin pagar que es lo mejor.

Al tema:

  1. Busca Header and Footer Code Manager en el instalador de plugins, lo instalas y lo activas
  2. Ve al nuevo menú HFCM → Añadir nuevo
  3. En el desplegable de tipo de fragmento elige HTML
  4. En el desplegable de Visualización en el sitio elige entre:
    • Todo el sitio (si lo tienes claro)
    • Entradas/Páginas/Etc. específicas (hay montón)
  5. En el desplegable de ubicación elige Cabecera
  6. En el desplegable de estado elige Activo
  7. En la caja de código pega:<meta name="google" content="notranslate">
  8. Guarda los cambios
hfcm notranslate

Para fragmentos de código de otro tipo quizás te gusten más los plugins anteriores, pero en este caso, si necesitas discriminar por contenido esta es tu elección gratuita.

¿Y los plugins de SEO?

Lo siento, ninguno ofrece esta posibilidad, todos tienen una sección avanzada para añadir tags del tipo nosnippet y similares pero a ninguno se le ha ocurrido la feliz idea de incorporar esta meta.

Con código

Ahora vamos con las implementaciones mediante código. Estas opciones te dan control total y no dependen de plugins.

Añadir a todo el sitio mediante functions.php

Si quieres que TODAS las páginas de tu web tengan la meta notranslate, añade esto al functions.php del tema hijo, un plugin MU o como prefieras:

/**
* Añadir meta tag notranslate a todas las páginas
* Author: Fernando Tellado - ayudawp.com
*/
function ayudawp_add_notranslate_meta() {
echo '<meta name="google" content="notranslate">' . "\n";
}
add_action('wp_head', 'ayudawp_add_notranslate_meta');

Añadir solo a entradas (posts)

Si solo quieres aplicarlo a las entradas de blog:

/**
* Añadir meta tag notranslate solo a entradas
* Author: Fernando Tellado - ayudawp.com
*/
function ayudawp_add_notranslate_to_posts() {
if (is_single()) {
echo '<meta name="google" content="notranslate">' . "\n";
}
}
add_action('wp_head', 'ayudawp_add_notranslate_to_posts');

Añadir solo a páginas

Para aplicarlo únicamente a páginas estáticas:

/**
* Add meta tag notranslate solo a páginas
* Author: Fernando Tellado - ayudawp.com
*/
function ayudawp_add_notranslate_to_pages() {
if (is_page()) {
echo '<meta name="google" content="notranslate">' . "\n";
}
}
add_action('wp_head', 'ayudawp_add_notranslate_to_pages');

Añadir a tipos de contenido específicos

/**
* Añadir meta tag notranslate a tipos de contenido concretos
*/
function ayudawp_add_notranslate_to_custom_post_types() {
// Define post types where you want the meta tag
// Examples: 'post', 'page', 'product', 'portfolio', etc.
$target_post_types = array('post', 'page', 'product');
// Check if we're viewing one of the target post types
if (is_singular($target_post_types)) {
echo '<meta name="google" content="notranslate">' . "\n";
}
}
add_action('wp_head', 'ayudawp_add_notranslate_to_custom_post_types');

Para personalizar los post types, simplemente modifica el array $target_post_types:

  • Solo entradas: array('post')
  • Entradas y páginas: array('post', 'page')
  • Productos de WooCommerce: array('product')
  • Tipos de contenido personalizados: array('tu_cpt')

Añadir a páginas específicas por ID

Si solo quieres aplicarlo a páginas concretas:

/**
* Añadir meta tag notranslate a páginas específicas por ID
*/
function ayudawp_add_notranslate_to_specific_pages() {
// Array de IDs de páginas en donde quieras el notranslate
$page_ids = array(5, 12, 47, 89);
if (is_page($page_ids)) {
echo '<meta name="google" content="notranslate">' . "\n";
}
}
add_action('wp_head', 'ayudawp_add_notranslate_to_specific_pages');

Cambia los números del array por los IDs de tus páginas.

En todas las páginas excepto en unas específicas

Esto es lo contrario – más o menos – de lo anterior. Aquí pones en el array los IDs de las páginas donde no queremos el notranslate.

/**
* Añadir notranslate a todas las páginas excepto a unas concretas
*/
function ayudawp_notranslate_except_pages() {
// Páginas donde NO QUEREMOS el notranslate
$excluded_pages = array(5, 12, 47);
if (!is_page($excluded_pages)) {
echo '<meta name="google" content="notranslate">' . "\n";
}
}
add_action('wp_head', 'ayudawp_notranslate_except_pages');

Añadir notranslate usando un campo personalizado (caja meta)

Este método te permite decidir página por página si quieres notranslate, usando una casilla que añadiremos en el editor de bloques, así, cubriendo lo que no hacen los plugins:

/**
* Añadir caja meta personalizada para la opción de notranslate
*/
function ayudawp_add_notranslate_metabox() {
add_meta_box(
'ayudawp_notranslate',
'NoTranslate',
'ayudawp_notranslate_metabox_callback',
array('post', 'page'),
'side',
'default'
);
}
add_action('add_meta_boxes', 'ayudawp_add_notranslate_metabox');
/**
* Función de callback de la caja meta
*/
function ayudawp_notranslate_metabox_callback($post) {
wp_nonce_field('ayudawp_save_notranslate', 'ayudawp_notranslate_nonce');
$value = get_post_meta($post->ID, '_ayudawp_notranslate', true);
?>
<label>
<input type="checkbox" name="ayudawp_notranslate" value="1" <?php checked($value, '1'); ?>>
Desactivar traducción automática de Google
</label>
<?php
}
/**
* Guardar datos de la caja meta
*/
function ayudawp_save_notranslate_metabox($post_id) {
if (!isset($_POST['ayudawp_notranslate_nonce'])) return;
if (!wp_verify_nonce($_POST['ayudawp_notranslate_nonce'], 'ayudawp_save_notranslate')) return;
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
if (!current_user_can('edit_post', $post_id)) return;
if (isset($_POST['ayudawp_notranslate'])) {
update_post_meta($post_id, '_ayudawp_notranslate', '1');
} else {
delete_post_meta($post_id, '_ayudawp_notranslate');
}
}
add_action('save_post', 'ayudawp_save_notranslate_metabox');
/**
* Lanzamos la etiqueta meta si se marca la casilla
*/
function ayudawp_output_notranslate_meta() {
if (is_singular() && get_post_meta(get_the_ID(), '_ayudawp_notranslate', true) === '1') {
echo '<meta name="google" content="notranslate">' . "\n";
}
}
add_action('wp_head', 'ayudawp_output_notranslate_meta');

Este código añade una casilla de selección en la barra lateral del editor de páginas y entradas. Marcas la casilla en las páginas donde quieres desactivar la traducción automática.

Por si fuera poco, funciona tanto en el editor de bloques como en el clásico.

notranslate editor bloques wordpress
notranslate editor clasico wordpress

Implementación mediante mu-plugin

Otra forma profesional y limpia es crear un mu-plugin. Estos plugins se cargan antes que los normales y no pueden desactivarse desde el panel de WordPress.

Crea un archivo llamado ayudawp-notranslate.php en la carpeta /wp-content/mu-plugins/ (créala si no existe) como expliqué en esta guía de mu-plugins:

<?php
/**
* Plugin Name: Control de notranslate - AyudaWP.com
* Description: Adds notranslate meta tag to specific content types
* Version: 1.0
* Author: Fernando Tellado
*/
// Evitar acceso directo
if (!defined('ABSPATH')) {
exit;
}
class AyudaWP_Notranslate {
/**
* Constructor
*/
public function __construct() {
add_action('wp_head', array($this, 'add_notranslate_meta'));
}
/**
* Añadimos la meta tag notranslate en ciertas condiciones
*/
public function add_notranslate_meta() {
// Configuración: define donde añadir el notranslate
$post_types = array('post', 'page'); // Personaliza este array
// Comprueba si tentemos que añadir la meta tag
if ($this->should_add_notranslate($post_types)) {
echo '<meta name="google" content="notranslate">' . "\n";
}
}
/**
* Determina si debe añadirse el notranslate
*/
private function should_add_notranslate($post_types) {
// Lo añadimos a tipos de contenido específicos
if (is_singular($post_types)) {
return true;
}
// Añade más condiciones según necesidad
// Ejemplo: páginas específicas por ID
// if (is_page(array(5, 12, 47))) return true;
// Ejemplo: todo el sitio
// return true;
return false;
}
}
// Inicializamos el plugin
new AyudaWP_Notranslate();

Las ventajas del mu-plugin:

  • Se carga automáticamente, no necesitas activarlo
  • No se puede desactivar accidentalmente
  • Sobrevive a cambios de tema
  • Código limpio y organizado
  • Fácil de modificar y mantener

Añadir la clase notranslate a elementos específicos

Para elementos concretos en tu contenido, no necesitas código en functions.php. Simplemente añade la clase notranslate al HTML:

En el editor de bloques de WordPress:

  1. Selecciona el bloque que quieres proteger
  2. En la barra lateral derecha, ve a «Avanzado»
  3. En «Clases CSS adicionales», añade: notranslate

O edita directamente el HTML del bloque:

<p>El modelo <span class="notranslate">iPhone 15 Pro Max</span> está disponible.</p>

Para títulos:

<h2 class="notranslate">WordPress 6.4 Shirley</h2>

Para bloques de código:

<pre class="notranslate"><code>function mi_funcion() {}</code></pre>

Editar directamente el header.php (no recomendado)

Puedes añadir la etiqueta directamente en el header.php de tu tema, pero NO lo recomiendo porque:

  • Perderás los cambios al actualizar el tema
  • Es menos flexible que usar código en functions.php
  • Más difícil de mantener

Si aún así quieres hacerlo:

  1. Ve a Apariencia → Editor de archivos de temas
  2. Selecciona header.php
  3. Busca la etiqueta <head>
  4. Justo antes de </head>, añade:<meta name="google" content="notranslate">
  5. Guarda los cambios

Insisto: usa uno de los métodos anteriores.

Implementación condicional avanzada

A veces necesitas lógica más compleja para decidir dónde aplicar notranslate. Aquí tienes ejemplos avanzados:

Solo en productos de WooCommerce de una categoría específica

/**
* Añadir notranslate solo a productos de una categoría concreta
*/
function ayudawp_notranslate_woo_category() {
if (is_singular('product')) {
// Comprueba si el producto tiene la categoría 'electronica' (cambia el slug a la tuya)
if (has_term('electronica', 'product_cat')) {
echo '<meta name="google" content="notranslate">' . "\n";
}
}
}
add_action('wp_head', 'ayudawp_notranslate_woo_category');</pr
Fernando Tellado