WordPress es una gran plataforma para blogs, pero hay ciertos aspectos que podrían funcionar un poco mejor y de una manera más sencilla, como por ejemplo en el SEO de nuestras fotos. Si en nuestro programa de retoque gráfico, como por ejemplo Adobe Lightroom, ya le ponemos el título y la descripción a la foto, sería genial que WordPress lo leyera y completara los atributos alt y title de las etiquetas de imagen el solito, pero curiosamente no lo hace bien del todo, como puede verse al subir una foto cualquiera en WordPress 3.3.2:
Lo primero es que WordPress no rellena los campos Texto alternativo, correspondiente al atributo alt de las imágenes, y Leyenda, que sería el pie de foto. Lo ideal sería tener el Título de la foto en Leyenda y la Descripción en Texto alternativo. Para solucionar esto, añadimos el siguiente código en el archivo functions.php de nuestro theme, y asunto solucionado. Sin plugins ni tocar código del interior de WordPress:
//Mismo caption que título en fotos
function image_caption_to_title( $form_fields, $post )
{
if ( substr( $post->post_mime_type, 0, 5 ) == 'image')
{
$form_fields['post_title']['value'] = ( ! $form_fields['post_title']['value'])? $post->post_title : $form_fields['post_title']['value'];
$form_fields['post_excerpt']['value'] = ( ! $form_fields['post_excerpt']['value'])? $post->post_title : $form_fields['post_excerpt']['value'];
$form_fields['image_alt']['value'] = ( ! $form_fields['image_alt']['value'])? $post->post_content : $form_fields['image_alt']['value'];
$form_fields['post_content']['value'] = ( ! $form_fields['post_content']['value'])? $post->post_content : $form_fields['post_content']['value'];
}
return $form_fields;
}
add_filter('attachment_fields_to_edit', 'image_caption_to_title', 11, 2 );
Otro problema que vemos en la pantalla es que WordPress comete un fallo de codificación de caracteres con las tildes y otros carecteres como la ñ. No se si se debe a mi propio servidor, que está configurado en español, y por eso no lo ha detectado bien, pero es un error bastante tonto y difícil de encontrar. Menos mal que su solución es muy sencilla. Añadimos el siguiente código en el fichero functions.php de nuestro theme y tendremos unas tildes preciosas en nuestros títulos y descripciones:
//Aplicar utf8_decode a los campos de exif, que da problemas
function modify_uploaded_file_meta_utf8out($meta, $file, $sourceImageType)
{
$meta['credit'] = utf8_decode($meta['credit']);
$meta['copyright'] = utf8_decode($meta['copyright']);
$meta['title'] = utf8_decode($meta['title']);
$meta['caption'] = utf8_decode($meta['caption']);
return $meta;
}
add_filter('wp_read_image_metadata', 'modify_uploaded_file_meta_utf8out', 16, 3);
Con tan solo estas dos funciones, conseguiremos que de ahora en adelante nuestras fotos estén correctamente etiquetadas sin esfuerzo y así los buscadores sepan que hay en ellas, ya que mejoramos su SEO.
Si queremos completar más el alt y el title, podemos usar algún plugin como el SEO Friendly Images, pero tan solo añadirá el título del post en los atributos de la imagen. Creo que es mejor que nosotros mismos escribamos esos campos, y así poner lo que queramos.
Esta solución que muestro me parece muy correcta para mejorar el SEO de nuestras fotos en WordPress, y así espero que toda la tarde que estuve buscando como arreglar estos problemas valga para algo






















