Thumbnails de YouTube en Facebook

La situación es la siguiente: tienes un blog en WordPress donde publicas posts que incluyen videos de YouTube. Al pegar un permalink de este blog en el muro de Facebook, se esperaría obtener los thumbnails correspondientes al video YouTube.

Con un blog que administro (enlacenacional.com) esto no sucedía. Facebook solo mostraba el logo de la web como thumbnail. Siempre. Era muy aburrido.

He leído que mucha gente tiene este problema, la mayoría le echa la culpa a un error de Facebook. Buscando una solución dí con una pista: la solución pasa por insertar en la cabecera de cada página el meta tag siguiente, que indica qué imagen debe usarse como preview (en este caso deben ser los thumbnails del video YouTube):

< link rel="image_src" >

Para hacer esto automáticamente, encontré el plugin Facebook and Digg Thumbnail generator. Sin embargo, noté que este plugin falla con los códigos embeded más recientes de YouTube.

For the record, anteriormente, el código embeded era de este tipo:

value="http://www.youtube.com/v/AhMfIL5MF2A&hl=es&fs=1

Ahora es así:

value="http://www.youtube.com/v/Os28AxvgYSw?fs=1&hl=es_ES

Como resultado de esta variación, el plugin Facebook and Digg Thumbnail generator no funciona correctamente. Había que mejorar, actualizar, su código, en particular la línea correspondiente a la expresión regular que obtiene el identificador del video, una serie de 11 caracteres.

Para eso, reemplazo esta línea:

preg_match('@www.youtube.com/v/([^&"\' ]*)&@i', $post->post_content, $m);

por esta otra:

preg_match('/www.youtube.com\/v\/([A-Za-z0-9._%-]*)[&\w;=\+_\-]*/', $post->post_content, $m);

Y ya que estoy en eso, agrego dos variables extras, para generar dos thumbnails más que Facebook pueda mostrar:

$image = "http://i4.ytimg.com/vi/$yt_id/default.jpg";
$image1 = "http://i4.ytimg.com/vi/$yt_id/1.jpg";
$image3 = "http://i4.ytimg.com/vi/$yt_id/3.jpg";
...
echo "\t".'< link rel="image_src" href="'.$image."\" />
echo "\t".'< link rel="image_src" href="'.$image1."\" />
echo "\t".'< link rel="image_src" href="'.$image3."\" />

Hechos estos cambios, el plugin funciona correctamente, y ahora Facebook ya tiene 4 opciones de thumbnails para los links de Enlace Nacional: el logo, y los 3 thumbnails del video YouTube.

Tags: , ,


0 balas ↓

No seas tímido, deja tu comentario.

Los comentarios van aquí: