El 14 de octubre de 2026, Search Engine Roundtable informó de que Microsoft Bing está probando una unidad de anuncio única y de gran tamaño en la parte superior de la página de resultados (Search Engine Roundtable). En lugar de la habitual pila de anuncios de texto, un único resultado patrocinado ocupa su propio bloque con fondo gris, una imagen, un botón de llamada a la acción y los elementos de siempre: URL, título y descripción del anuncio.
La fuente es escasa, y conviene ser preciso al respecto. La prueba la detectó Khushal Bherwani, que publicó una captura de pantalla en X y escribió: “Bing está probando una ubicación dedicada para anuncios patrocinados en la parte superior de la SERP.” (Khushal Bherwani vía Search Engine Roundtable, traducción propia). Microsoft no ha publicado ningún anuncio, fecha de lanzamiento, lista de mercados ni dato de clics. Las pruebas de este tipo pueden desaparecer sin llegar nunca a lanzarse.
Para una tienda WooCommerce, esto es motivo para prepararse, no para alarmarse. Un primer anuncio más grande supone más píxeles entre el usuario y el primer resultado orgánico, y eso pesa sobre todo en las búsquedas comerciales en las que pujan los anunciantes. La respuesta útil es la misma tanto si el formato se lanza como si no: medir bien el CTR en Bing, mantener el catálogo actualizado en el índice de Bing, entregar a Microsoft Shopping un feed limpio y asegurarse de que la tienda responde rápido cuando el usuario se desplaza más allá del anuncio.
Esta guía explica qué muestra la prueba, cómo medir su efecto en su propio sitio y qué cambios en WordPress y WooCommerce compensan en la búsqueda de Bing, decida lo que decida Microsoft.
Qué está probando Bing en la parte superior de la página de resultados
En una página de resultados estándar de Bing, los resultados patrocinados aparecen como un grupo de anuncios de texto o como un carrusel de productos. En la prueba descrita, un único anunciante recibe una ubicación dedicada por encima de todo lo demás. Según la captura de pantalla que describe Search Engine Roundtable, la unidad contiene:
- Un fondo gris que la separa de los resultados orgánicos de debajo.
- Una imagen junto al texto del anuncio.
- Un botón de llamada a la acción, que no forma parte de un anuncio de texto estándar.
- La URL, el título y la descripción del anuncio, los mismos elementos de un anuncio de búsqueda normal.
Barry Schwartz, autor de la noticia, señaló además que la unidad resulta tan inusual que podría confundirse con otra cosa, lo que recuerda que Bing observará la reacción de los usuarios antes de decidir nada.
Lo que las noticias no dicen es igual de importante. No hay una altura en píxeles publicada, ni información sobre si la unidad aparece en móviles, ni declaración sobre cómo se elige al anunciante ganador, ni datos sobre cómo cambia los clics de los resultados inferiores.
El esquema siguiente muestra solo lo que se sabe: un bloque patrocinado colocado por encima de los resultados orgánicos.
Página de resultados estándar de Bing:
+----------------------------------------------+
| [Anuncios de texto o carrusel de productos] |
+----------------------------------------------+
| [Resultado orgánico #1] |
+----------------------------------------------+
| [Resultado orgánico #2] |
+----------------------------------------------+
Prueba descrita (octubre de 2026):
+----------------------------------------------+
| [Unidad patrocinada única, fondo gris] |
| imagen | título, URL, descripción | botón CTA|
+----------------------------------------------+
| [Resultado orgánico #1] |
+----------------------------------------------+
| [Resultado orgánico #2] |
+----------------------------------------------+Cómo puede afectar un anuncio superior más grande al CTR orgánico de una tienda WooCommerce
No se han publicado datos de clics de esta prueba, así que cualquier porcentaje que lea sobre su impacto es una conjetura. Lo que se puede afirmar sin adivinar es estructural.
- Las búsquedas comerciales genéricas son las de mayor riesgo. Los anuncios aparecen donde pujan los anunciantes. Búsquedas amplias como “cafetera espresso” o “zapatillas de trail running” atraen más pujas, así que es ahí donde una ubicación publicitaria dedicada aparecería con más frecuencia.
- Las búsquedas de producto concreto y referencia tienen menos. Quien escribe un modelo exacto o una referencia de pieza busca un único artículo y suele revisar varios resultados. Estas búsquedas también atraen a menos anunciantes.
- La posición media puede mantenerse mientras baja el CTR. Si una página sigue en primer lugar pero queda más abajo en la pantalla, la posición en sus informes no cambia. Solo cambia el CTR en esa posición. Por eso un informe de posiciones, por sí solo, no mostrará el efecto.
La conclusión práctica es separar las palabras clave de Bing en términos genéricos de categoría y términos de producto concreto antes de mirar los datos. Si la prueba llega a su mercado, una caída del CTR debería aparecer primero en el grupo genérico.
Cómo medir cambios en el CTR orgánico de Bing con Bing Webmaster Tools
El informe Search performance de Bing Webmaster Tools es el instrumento adecuado. Según la documentación de Bing, muestra clics, impresiones, CTR medio y posición media del sitio, por palabra clave y por página, durante un máximo de los últimos seis meses, y los datos pueden exportarse a CSV (Bing Webmaster Tools: Search performance).
Algunos detalles de esa documentación determinan cómo leer las cifras:
- Las impresiones y los clics incluyen algo más que resultados web. Desde el 24 de marzo de 2023 el informe cuenta también el tráfico de Chat, News, Images, Videos y Knowledge Panel, lo que cambió el cálculo del CTR medio. Filtre por la fuente Web cuando compare el CTR orgánico.
- La posición media solo existe para Web y Chat. Las demás fuentes ofrecen solo clics, impresiones y CTR.
- No hay datos retroactivos. La recogida empieza cuando se añade el sitio a Bing Webmaster Tools. Una tienda que aún no esté verificada debería darse de alta ya, para tener una referencia antes de que cualquier cambio de diseño llegue a su mercado.
- Existe desglose por posición. Al hacer clic en una palabra clave se ven las páginas servidas para ella, y al hacer clic en una página se ven métricas por posición para esa combinación de palabra clave y página.
Un método sencillo para una tienda WooCommerce:
- Exporte las palabras clave y páginas del último mes completo como referencia.
- Etiquete cada palabra clave como genérica o específica (término de categoría frente a modelo, SKU o referencia).
- Cada mes, compare el CTR medio de las palabras clave cuya posición media se mantuvo en el mismo rango.
- Si el CTR baja en el grupo genérico mientras la posición se mantiene, la causa probable es un cambio de diseño. Si bajan los dos grupos, busque primero un problema técnico.
Esto lleva una hora al mes y sustituye la especulación por sus propias cifras.
Cómo seguir las citas en Copilot con el informe AI Performance
Bing también informa de la frecuencia con la que su contenido se cita en respuestas generadas por IA. El informe AI Performance abarca Microsoft Copilot, los resúmenes generados por IA en Bing e integraciones seleccionadas de socios. Muestra el total de citas, las páginas citadas, la media de páginas citadas por día y las grounding queries que la IA usó al recuperar su contenido (Bing Webmaster Tools: AI Performance).
Dos límites, en palabras del propio Bing, importan aquí. El informe mide solo citas visibles, no posiciones ni importancia. Y sus tendencias son observacionales: Bing afirma que no pueden atribuirse a una causa concreta, como un único cambio de contenido o una actualización del modelo.
Para una tienda, la pestaña de grounding queries es la parte más útil. Muestra qué formulaciones llevaron a la IA hasta sus páginas, lo que a menudo apunta a guías de compra, tablas de compatibilidad y páginas de especificaciones más que a listados de categoría. Es una señal de qué contenido merece más detalle, no una promesa de más tráfico.
Cómo configurar IndexNow en WordPress y WooCommerce
IndexNow es un protocolo abierto para avisar a los buscadores de que una URL se ha añadido, actualizado o eliminado. Las reglas que importan para la implementación proceden directamente de la documentación del protocolo (documentación de IndexNow):
- La clave debe tener entre 8 y 128 caracteres y solo puede contener a a z, A a Z, 0 a 9 y guiones.
- Una sola solicitud POST puede llevar hasta 10 000 URL.
- Una respuesta HTTP 200 solo significa que el buscador recibió las URL. No garantiza el rastreo ni la indexación.
- Los buscadores que adoptan IndexNow se comprometen a compartir las URL enviadas con los demás buscadores participantes.
Los códigos de respuesta indican qué ha fallado: 202 significa que la URL se recibió y la validación de la clave está pendiente, 400 significa formato no válido, 403 significa que no se encontró la clave o que no coincide con el archivo, 422 significa que las URL no pertenecen al host o que la clave no cumple el esquema del protocolo, y 429 significa demasiadas solicitudes.
El fragmento siguiente reúne las URL modificadas durante una solicitud y las envía una sola vez al finalizar. WooCommerce puede disparar woocommerce_update_product más de una vez por guardado, así que agruparlas evita envíos duplicados.
add_action('woocommerce_update_product', 'wppoland_queue_indexnow_product', 10, 1);
add_action('save_post_post', 'wppoland_queue_indexnow_post', 10, 1);
add_action('shutdown', 'wppoland_flush_indexnow_queue');
function wppoland_indexnow_queue(?string $url = null): array {
static $queue = [];
if ($url !== null) {
$queue[$url] = true;
}
return array_keys($queue);
}
function wppoland_queue_indexnow_product(int $product_id): void {
$product = wc_get_product($product_id);
if ($product && $product->get_status() === 'publish') {
wppoland_indexnow_queue($product->get_permalink());
}
}
function wppoland_queue_indexnow_post(int $post_id): void {
if (wp_is_post_revision($post_id) || wp_is_post_autosave($post_id) || get_post_status($post_id) !== 'publish') {
return;
}
wppoland_indexnow_queue(get_permalink($post_id));
}
function wppoland_flush_indexnow_queue(): void {
$urls = wppoland_indexnow_queue();
$key = defined('INDEXNOW_API_KEY') ? INDEXNOW_API_KEY : '';
if ($key === '' || $urls === []) {
return;
}
wp_remote_post('https://api.indexnow.org/indexnow', [
'timeout' => 5,
'blocking' => false, // no retrasar la peticion del panel
'headers' => ['Content-Type' => 'application/json; charset=utf-8'],
'body' => wp_json_encode([
'host' => wp_parse_url(home_url(), PHP_URL_HOST),
'key' => $key,
'keyLocation' => home_url('/' . $key . '.txt'),
'urlList' => array_slice($urls, 0, 10000),
]),
]);
}El archivo de la clave es un archivo de texto UTF-8 con el nombre de la clave, que contiene la clave, colocado en el directorio raíz del host (el directorio que sirve https://su-dominio/, normalmente el que contiene wp-config.php o index.php). La documentación recomienda encarecidamente la raíz. Si usa la opción keyLocation con un archivo en una subcarpeta, esa clave solo puede enviar URL bajo la misma ruta: una clave en /catalog/ no puede enviar URL de /help/.
Como blocking está en false, el código nunca ve el código de respuesta. Pruebe la clave una vez a mano con curl y compruebe que obtiene 200 o 202 antes de confiar en el hook.
Cómo crear un feed de productos WooCommerce para Microsoft Merchant Center
Para aparecer en los anuncios de Microsoft Shopping, incluida cualquier nueva ubicación superior, los productos pasan por un feed en Microsoft Merchant Center. La página de atributos de producto enumera las reglas (Microsoft Advertising: Product attributes). Las que más a menudo hacen tropezar a las tiendas WooCommerce:
- El precio debe coincidir con la página de destino. Microsoft lo verifica y recomienda mantener la página de destino actualizada con marcado de datos estructurados. El tratamiento de impuestos depende del mercado: los precios excluyen impuestos para Estados Unidos e incluyen el IVA para el Reino Unido, con los detalles en la política fiscal del feed.
- La descripción no lleva HTML y tiene un límite de 10 000 caracteres. El título tiene un límite de 150 caracteres y no debe incluir texto promocional.
- La marca es la del fabricante. Microsoft indica que no se añada el nombre de la tienda como marca salvo que la tienda fabrique el producto.
- El GTIN es numérico, de hasta 14 dígitos por valor. Cuando un producto no tiene ni GTIN más marca ni MPN más marca, los productos nuevos necesitan
identifier_existscon valor FALSE. - El atributo shipping solo es obligatorio para Austria y Alemania. En el resto de mercados es opcional.
- Las etiquetas personalizadas
custom_label_0acustom_label_4admiten hasta 100 caracteres cada una, con hasta 1000 valores únicos por etiqueta. - La revisión lleva tiempo. Un artículo nuevo, o un cambio de título, descripción, enlace o imagen, puede quedar en revisión hasta tres días hábiles. Las actualizaciones de precio y disponibilidad pueden tardar hasta 24 horas en procesarse.
- El robots.txt debe permitir que Microsoft Advertising rastree el sitio. Los anuncios no se pueden servir si el rastreo está incompleto.
La función siguiente asigna un producto de WooCommerce a esos atributos. Lee el GTIN mediante get_global_unique_id(), que WooCommerce añadió en la versión 9.1.0 (código fuente de WooCommerce), y la marca desde la taxonomía product_brand que registra el núcleo de WooCommerce.
function wppoland_get_microsoft_merchant_item(WC_Product $product): array {
$brands = wp_get_post_terms($product->get_id(), 'product_brand', ['fields' => 'names']);
$brand = (!is_wp_error($brands) && $brands) ? $brands[0] : '';
$gtin = $product->get_global_unique_id(); // WooCommerce 9.1.0+
$item = [
'id' => $product->get_sku() ?: (string) $product->get_id(),
'title' => mb_substr($product->get_name(), 0, 150),
'description' => mb_substr(wp_strip_all_tags($product->get_description() ?: $product->get_short_description()), 0, 10000),
'link' => $product->get_permalink(),
'image_link' => wp_get_attachment_url($product->get_image_id()),
'availability' => $product->is_in_stock() ? 'in stock' : 'out of stock',
// debe ser igual al precio mostrado en la pagina del producto para el mercado objetivo
'price' => number_format((float) wc_get_price_to_display($product), 2, '.', '') . ' ' . get_woocommerce_currency(),
'condition' => 'new',
'custom_label_0' => (string) ($product->get_meta('_erp_margin_tier') ?: 'standard'),
];
if ($brand !== '') {
$item['brand'] = $brand;
}
if ($gtin !== '') {
$item['gtin'] = $gtin;
}
if ($brand === '' || $gtin === '') {
$item['identifier_exists'] = 'FALSE'; // solo productos personalizados o sin marca
}
return $item;
}wc_get_price_to_display() sigue el ajuste de visualización de impuestos de la tienda, así que el feed muestra el mismo precio que la página del producto. Si una tienda sirve a mercados con reglas fiscales distintas, genere un feed por mercado. Establezca identifier_exists en FALSE solo para productos que de verdad no tienen identificadores del fabricante; para productos de marca, rellene el GTIN.
En catálogos grandes, los datos de stock y margen suelen estar en el ERP. Una integración WooCommerce ERP mantiene la disponibilidad y las etiquetas personalizadas del feed sincronizadas con el almacén, y eso importa porque un precio o un indicador de stock desactualizado es justo lo que comprueba la revisión de Microsoft.
Cómo verificar Bingbot y controlar su velocidad de rastreo
Los envíos frecuentes por IndexNow hacen que Bingbot vuelva a la tienda más a menudo. Antes de dar un trato especial al tráfico de rastreadores en las reglas del servidor, asegúrese de que es realmente Bingbot. Falsificar una cadena de user agent es trivial.
El método documentado por Bing tiene dos pasos (Bing Webmaster Tools: How to verify Bingbot):
- Haga una búsqueda DNS inversa de la dirección IP de sus registros y compruebe que el nombre termina en
search.msn.com. - Haga una búsqueda DNS directa de ese nombre y confirme que devuelve la misma dirección IP.
# ejemplo de la documentacion de Bing
host 157.55.39.1
# 157.55.39.1.in-addr.arpa domain name pointer msnbot-157-55-33-18.search.msn.com
host msnbot-157-55-33-18.search.msn.com
# msnbot-157-55-33-18.search.msn.com has address 157.55.39.1Bing desaconseja fijar direcciones IP o rangos en el código. Si compara por IP en lugar de por DNS, use la lista publicada por Bing y actualícela a diario, porque Microsoft puede cambiarla en cualquier momento. También hay una herramienta pública Verify Bingbot en Bing Webmaster Tools.
Si el rastreo compite con los compradores en las horas punta, Bing Webmaster Tools ofrece el ajuste Crawl control. Permite fijar la velocidad de rastreo de Bingbot por encima o por debajo de la base para cada una de las 24 horas del día, con un ajuste predefinido según sus horas de más tráfico o con un patrón personalizado (Bing Webmaster Tools: Crawl control). Un detalle: una directiva crawl-delay en robots.txt siempre tiene prioridad sobre este ajuste, así que elimine una línea crawl-delay antigua si quiere que se aplique el patrón horario.
Antes de contratar más capacidad de servidor, compruebe si el servidor es realmente el problema; las comprobaciones de una auditoría de seguridad WordPress suelen encontrar antes tráfico de bots, plugins lentos o falta de caché.
Cómo configurar la caché FastCGI de Nginx para rastreadores y compradores en WooCommerce
Un usuario que se desplaza más allá de un anuncio y hace clic en su resultado espera que la página cargue rápido. La guía de web.dev de Google da un objetivo aproximado: un buen Time to First Byte es de 0,8 segundos o menos, y uno malo supera 1,8 segundos (web.dev: Time to First Byte). El TTFB no es una métrica Core Web Vitals, pero un primer byte lento retrasa todo lo que viene después, incluido el Largest Contentful Paint.
La caché de página completa sirve a visitantes anónimos y rastreadores desde la caché. En WooCommerce nunca debe almacenar en caché el carrito, el checkout, las páginas de cuenta ni a ningún visitante que tenga artículos en el carrito. La configuración siguiente muestra la estructura; ajuste las rutas a los slugs localizados del carrito y del checkout.
# bloque http
fastcgi_cache_path /var/cache/nginx/wordpress levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
# bloque server
set $skip_cache 0;
if ($request_method = POST) { set $skip_cache 1; }
if ($query_string != "") { set $skip_cache 1; }
if ($request_uri ~* "/(cart|checkout|my-account)/|/wp-admin/|/wp-json/|/xmlrpc.php") { set $skip_cache 1; }
if ($http_cookie ~* "wordpress_logged_in|woocommerce_items_in_cart|wp_woocommerce_session") { set $skip_cache 1; }
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_cache WORDPRESS;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
fastcgi_cache_valid 200 301 60m;
fastcgi_cache_use_stale error timeout updating http_500;
add_header X-FastCGI-Cache $upstream_cache_status;
}Bingbot no necesita una regla propia: llega sin cookies de carrito, así que recibe páginas en caché como cualquier visitante anónimo. Dos medidas más ayudan en catálogos que cambian a menudo:
- Caché de objetos persistente (Redis o Memcached). Los datos de producto y las opciones permanecen en memoria, así que las solicitudes sin caché ejecutan menos consultas a la base de datos.
- Sacar la sincronización con el ERP del camino de la solicitud. Ejecute las importaciones de stock y precios como tareas en segundo plano (por ejemplo con Action Scheduler, que se incluye en WooCommerce) en lugar de durante la carga de las páginas.
Cuando cambie el precio de un producto, purgue la página en caché de ese producto en el mismo paso en que pone en cola el envío a IndexNow. De lo contrario, tanto Bingbot como la verificación de precios de Microsoft pueden ver el precio antiguo.
Cómo añadir datos estructurados Product sin valores inventados
La documentación del feed de Microsoft vincula los datos estructurados de la página de destino con la verificación de precios, y las superficies de IA de Bing citan páginas que pueden leer con claridad. Ambos premian el marcado que declara datos reales del producto, y ambos salen perjudicados por el marcado que no lo hace.
WooCommerce ya genera datos estructurados Product. El filtro siguiente añade marca, GTIN y atributos seleccionados solo cuando el producto los tiene de verdad. Nunca rellena un hueco con un valor por defecto, porque un valor como una potencia o un material sería falso para todos los productos que no lo tienen.
add_filter('woocommerce_structured_data_product', function (array $markup, WC_Product $product): array {
$brands = wp_get_post_terms($product->get_id(), 'product_brand', ['fields' => 'names']);
if (empty($markup['brand']) && !is_wp_error($brands) && $brands) {
$markup['brand'] = ['@type' => 'Brand', 'name' => $brands[0]];
}
$gtin = $product->get_global_unique_id();
if ($gtin !== '' && empty($markup['gtin'])) {
$markup['gtin'] = $gtin;
}
$properties = [];
foreach (['power' => 'Potencia', 'material' => 'Material'] as $slug => $label) {
$value = $product->get_attribute($slug);
if ($value !== '') {
$properties[] = ['@type' => 'PropertyValue', 'name' => $label, 'value' => $value];
}
}
if ($properties) {
$markup['additionalProperty'] = $properties;
}
return $markup;
}, 10, 2);Sustituya power y material por los slugs de atributo que use su catálogo. Lo importante es el patrón: los datos estructurados copian lo que declara la página del producto, y los mismos valores van al feed de Merchant Center, de modo que la página, el marcado y el feed nunca se contradicen.
Matriz de actuación para equipos de WooCommerce
| Tipo de búsqueda | Qué podría cambiar | Respuesta en WooCommerce | Respuesta en Microsoft Advertising |
|---|---|---|---|
| Términos genéricos de categoría | El resultado orgánico queda más abajo en la pantalla si la prueba se lanza | Seguir el CTR con posición estable en Search performance; reforzar las páginas de categoría con datos comparativos reales | Decidir si pujar por estos términos según el margen, no por miedo |
| Búsquedas por modelo, SKU y referencia | Efecto menor, menos anunciantes | IndexNow en las actualizaciones de producto, GTIN y marca correctos, marcado Product completo | Campañas de Shopping con identificadores limpios |
| Preguntas de uso y compatibilidad | Las respuestas pueden citarse en Copilot o en los resúmenes de Bing | Guías detalladas; vigilar las grounding queries en AI Performance | Normalmente no requiere acción de pago |
| Exactitud de precio y stock | Artículos del feed rechazados o retenidos en revisión | Sincronización con el ERP en tareas de segundo plano; purgar la caché al cambiar el precio | Precio del feed igual al de la página de destino; etiquetas personalizadas para margen y stock |
Orden de implementación para equipos de desarrollo
Puede que la prueba nunca salga de la fase experimental. Cada paso siguiente mejora ya hoy el rendimiento de la tienda en Bing.
- Verificar el sitio en Bing Webmaster Tools y exportar una referencia.
- Sin referencia no hay con qué comparar, y Bing no rellena datos retroactivos.
- Activar IndexNow.
- Generar una clave, colocar el archivo de la clave en la raíz, probarla con curl y después activar el hook con agrupación.
- Limpiar el feed de Microsoft Merchant Center.
- Marca del fabricante, GTIN reales, precio igual al de la página del producto, shipping para Austria y Alemania si vende allí.
- Proteger el rendimiento.
- Caché de página completa con exclusiones de WooCommerce, caché de objetos persistente, sincronización con el ERP fuera del camino de la solicitud y Crawl control si Bingbot compite con el tráfico punta.
- Corregir los datos estructurados.
- Eliminar los valores por defecto del marcado Product y mantenerlo idéntico al feed.
- Revisar cada mes.
- Comparar el CTR de las palabras clave genéricas y específicas con posiciones estables y revisar las grounding queries en AI Performance.







