Resumen
Para que Google indexe los videos de tu web, cada video necesita una página propia donde sea el contenido principal, un reproductor que cargue en el HTML (no detrás de un clic), un marcado VideoObject con miniatura, duración y fecha, y una entrada en un sitemap de video. Si solo embebes YouTube, el resultado de video casi siempre se lo lleva youtube.com y no tu página. Con un hosting de video con CDN, como Bunny Stream, el video vive en tu dominio y la ficha es tuya. Así lo montamos el 6 de octubre de 2026 con 24 videos de B.CONTENT, una productora audiovisual de Lima.
Por qué embeber solo YouTube no alcanza
YouTube está bien para alcance. El problema es otro: cuando Google encuentra el mismo video en youtube.com y en tu página, suele mostrar la versión de YouTube en los resultados de video. Tu página puede posicionar como texto, pero la miniatura con el botón de play casi nunca apunta a ti.
Desde 2023 Google además solo indexa un video cuando es el contenido principal de la página. Un video de fondo en la portada o un reel pegado al final de un artículo de servicios no cuenta. Por eso la primera decisión no es técnica. Es de arquitectura: una URL por pieza o por caso, con el video arriba.
Mi regla: YouTube para distribuir, tu dominio para posicionar. Si el video es tu portafolio (una productora, una clínica que enseña resultados, un fabricante que muestra su máquina funcionando), merece vivir en tu web con su propia ficha.
El caso: 24 videos de Drive a dos webs
B.CONTENT tiene dos sitios: bcontent.media para Perú y bcontent.mx para México. El jefe de la productora dejó una carpeta de Google Drive con el material nuevo. Esperábamos 21 archivos y había 24 MP4, 4,58 GB en total: spots de Oechsle, Stake, DoradoBet, Atlantic Sports y una campaña de 1XBET para Chile. Once horizontales y trece verticales, unos 10 minutos y 42 segundos de video sumando todo.

Antes de subir nada comparamos el md5 de cada archivo con lo que ya estaba en Bunny. Tres eran duplicados de una subida del 1 de octubre. Uno de ellos tenía el mismo corte y el mismo audio, pero era una reexportación con un texto legal nuevo, así que ese sí se subió y reemplazó al anterior en las fichas. Los otros 21 entraron a la librería, se codificaron de 240p a 1080p y quedaron listos.
Ese mismo día salieron 8 fichas nuevas en bcontent.media y, en bcontent.mx, 4 casos nuevos y 4 ampliados con sus versiones verticales.
Paso 1: una página por video (o por caso)
Cada ficha tiene su URL limpia, por ejemplo /work/oechsle-symbol-campana-denim/, con un título que dice qué es la pieza y para quién se hizo. Debajo del título va el reproductor.
Cuando un caso tiene varias versiones (16:9 para Meta, 9:16 para TikTok) van en la misma ficha. No hicimos una URL por cada recorte porque serían páginas casi iguales compitiendo entre sí.

Los textos de cada ficha salen solo de lo que se ve y se oye en el video. Sacamos hojas de cinco fotogramas por pieza para describirlas y transcribimos el audio con faster-whisper. Las cifras de promociones que aparecen en los spots (bonos, premios) no las presentamos como resultados de la productora.
Paso 2: el reproductor tiene que estar en el HTML
Aquí nos pasó algo que vale la pena contar. En bcontent.mx las fichas usaban una fachada: una imagen con un botón de play que cargaba el iframe solo al hacer clic. Es la técnica que recomiendan muchas guías de velocidad. Resultado en Search Console: 0 de 16 videos indexados. Google veía una imagen, no un video.
El 2 de octubre pusimos el iframe directo en cada ficha, que es la página donde sí queremos que Google encuentre el video. Y la velocidad no se cayó: la ficha midió 100 en Lighthouse móvil en vivo, cuando antes del rediseño daba entre 32 y 47. El truco en bcontent.media fue cargar el iframe con loading="lazy" y preload=false, que además ahorra saldo en Bunny porque no descarga video hasta que alguien le da play. Si te preocupa el impacto en LCP, en la guía de Core Web Vitals explico cómo medirlo.
Paso 3: VideoObject con datos reales
Cada pieza lleva su propio bloque VideoObject en JSON-LD. Este es el de la ficha de Symbol, tal como está en vivo hoy:

Los campos que más cuidamos:
- thumbnailUrl: la miniatura se sirve desde el dominio propio (bunny-8c55764e.webp), no desde la CDN del video. Así la imagen no depende de la protección por referer.
- uploadDate: usamos la fecha de exportación que trae el propio MP4, no la del día que lo subimos. En este caso, 14 de septiembre de 2026.
- duration en formato ISO 8601 (PT23S) y embedUrl apuntando al reproductor de Bunny.
- description escrita a mano, con lo que pasa en pantalla.
Si es tu primer schema, empieza por mi guía de datos estructurados.
Paso 4: sitemap de video
El schema le dice a Google qué hay en la página. El sitemap de video le dice dónde buscar. En bcontent.media no hicimos un archivo aparte: el sitemap normal declara el espacio de nombres sitemap-video/1.1 y cada URL de ficha lleva sus bloques <video:video> con miniatura, título, descripción, player_loc, duración en segundos y fecha de publicación. Hoy tiene 36 entradas de video. El de bcontent.mx tiene 37.
Después de publicar mandamos las URLs por IndexNow y reenviamos el sitemap en Search Console, tanto en la propiedad de dominio como en la de prefijo.
Paso 5: hosting con CDN en lugar de solo YouTube
Usamos Bunny Stream. La librería de B.CONTENT replica en Nueva York, Singapur y Brasil, sirve hasta 1080p y tiene activado el bloqueo de peticiones sin referer: si alguien copia el enlace del video fuera de la web, recibe un 403. Con referer de bcontent.media o bcontent.mx, el embed, la lista HLS y la miniatura responden 200. Lo comprobamos pieza por pieza.
| Dato medido | Valor |
|---|---|
| Videos en la carpeta de Drive | 24 MP4 (4,58 GB) |
| Subidos a Bunny | 21 (3 duplicados detectados por md5) |
| Peso de 7 videos 4K tras pasar a 1080p (1-oct) | 1,18 GB → 238 MB |
| Librería antes y después | 4,3 GB → unos 7 GB |
| Almacenamiento | unos US$0,047 por GB al mes |
| Entrega | unos US$0,005 por GB |
Bunny no sirve 4K en esta librería: subir el original 4K solo paga almacenamiento. Por eso comprimimos a 1080p con CRF 18 antes de subir.
Lo que salió mal y cómo lo resolvimos
Bunny cobra por uso y descuenta de un saldo prepagado. Si la cuenta no tiene recarga automática y el saldo llega a cero, los videos dejan de cargar en todas las webs que los usan, a la vez. Antes de publicar dejamos calculado cuánto dura el saldo al ritmo de gasto real y lo avisamos. Revisa esto en cualquier proyecto con una CDN de pago por uso.
Otros tropiezos del camino:
- La fachada de clic que nos dejó con 0 de 16 videos indexados en bcontent.mx, ya contada arriba.
- Un archivo con el mismo corte pero distinto texto legal. Si solo hubiéramos comparado duración y audio, se habría quedado publicado el legal viejo.
- Las transcripciones automáticas fallan con nombres de marca y códigos promocionales. Las usamos como apoyo y no citamos ninguna palabra dudosa.
Una cosa más, por honestidad: las fichas nuevas tienen entre uno y seis días al momento de escribir esto, y el informe de búsqueda de tipo Video en Search Console todavía no muestra impresiones para ninguno de los dos dominios. Cuando haya datos, actualizo este post.
Si tu web tiene videos que hoy no aparecen en Google, esto entra en una auditoría de SEO técnico; y si hay que rehacer las fichas o el reproductor, lo vemos en desarrollo web.
Preguntas frecuentes
¿Google indexa los videos embebidos de YouTube en mi web?
Puede, pero si el mismo video está en youtube.com, Google suele mostrar la versión de YouTube en los resultados de video. Tu página posiciona como texto y el clic del video se va a YouTube. Si quieres que la miniatura apunte a tu dominio, el video tiene que estar alojado y marcado en tu web.
¿Necesito un sitemap de video aparte?
No es obligatorio. Puedes añadir los bloques video:video dentro de tu sitemap normal declarando el espacio de nombres de video, que es lo que hicimos en bcontent.media. Lo importante es que cada entrada tenga miniatura, título, descripción y player_loc o content_loc.
¿La fachada de clic para cargar el video es mala para el SEO?
En la página donde quieres que se indexe el video, sí puede serlo. En bcontent.mx teníamos 0 de 16 videos indexados con fachada. En listados o portadas, donde no buscas indexar el video, la fachada sigue siendo buena idea para la velocidad.
¿Cuánto cuesta alojar videos en Bunny Stream?
En el caso de B.CONTENT medimos unos US$0,047 por GB al mes de almacenamiento y unos US$0,005 por GB entregado. Una librería de unos 7 GB sale en unos US$0,33 al mes solo de almacenamiento. Activa la recarga automática o vigila el saldo.