En este aporte me gustaría añadir mi nuevo plugin «Keyword Yoast SEO on imagen alt» con el que podrás añadir la palabra clave de Yoast SEO en alt de imagen de manera automatica.
En otra publicacion donde hablo sobre el plugin que agrega Alt de imagen de forma automatica principalmente funciona añadiendo el titulo del post. Este sin embargo es un poco diferente ya que puedes añadir tu propia parabra clave al alt de la imagen.
Este plugin o addon basicamente añade un campo personalizado en nusetro post o pagina.
Este campo se va a encargar de recoger un el valor indicado en el campo de nuestra frase clave objetivo de Yoast SEO para mostrarlo en el alt de las imagenes del post o pagina que no tengan el atributo de forma automatizada.
Es obligatorio que tengan el plugin Yoast SEO instalado en su wordpress. si no usan el plugin de Yoast tendrían que rellenar el campo manualmente el campo.
Como podemos comprobar tenemos nuestro alt basado en la frase clave objetivo indicada en Yoast.
Tienes dos formas de ponder ejecutar este plugin en tu wordpress.
Descarga el comprimido y añadelo desde tu backoffice de WordPress. No precisa de ajustes y empezaría a funcionar enseguida.
Copia y pega en tu functions.php el codigo de activación. Se recomienda realizar copia de seguridad si vas a modificar el archivo functions.php
function add_custom_field() {
add_meta_box(
'custom-field',
'Palabra clave en ALT',
'custom_field_callback',
array('post', 'page'), // tipos de post admitidos
'normal',
'default'
);
}
function custom_field_callback($post) {
wp_nonce_field('custom_field_nonce', 'custom_field_nonce');
$value = get_post_meta($post->ID, '_yoast_wpseo_focuskw', true); // Obtiene el valor del campo "Frase clave objetivo" de Yoast SEO
echo '<label for="custom_field">Palabra para alt</label>';
echo '<input type="text" id="custom_field" name="custom_field" value="' . esc_attr($value) . '">';
echo '<p>Este campo se rellena automáticamente con la palabra clave objetivo añadida en tu plugin Yoast SEO. Puedes sobrescribir este campo, pero se volverá a añadir la palabra clave después de actualizar.</p>';
}
function save_custom_field($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (!isset($_POST['custom_field_nonce']) || !wp_verify_nonce($_POST['custom_field_nonce'], 'custom_field_nonce')) {
return;
}
if (!current_user_can('edit_post', $post_id)) {
return;
}
if (isset($_POST['custom_field'])) {
update_post_meta($post_id, '_custom_field', sanitize_text_field($_POST['custom_field']));
} else {
delete_post_meta($post_id, '_custom_field');
}
}
function add_custom_alt_attribute($content) {
global $post;
$custom_field = get_post_meta($post->ID, '_custom_field', true);
$pattern = '/<img\s+[^>]*alt=([\'"])(.*?)\1[^>]*>/i';
$content = preg_replace_callback(
$pattern,
function($match) use ($custom_field) {
if (empty($match[2])) {
return str_replace('<img', '<img alt="' . esc_attr($custom_field) . '"', $match[0]);
} else {
return $match[0];
}
},
$content
);
return $content;
}
add_action('add_meta_boxes', 'add_custom_field');
add_action('save_post', 'save_custom_field');
add_action('save_page', 'save_custom_field'); // acción de guardado para páginas
add_filter('the_content', 'add_custom_alt_attribute');
Con esto conseguimos añadir palabra clave de Yoast SEO en alt de imagen. Si os ha servido os agradecería un pequeño feedback sobre este aporte del plugin Keyword Yoast SEO on imagen alt.
Comentadme si habeis encontrado problemas o algun fallo inesperado al ejecutar.
Con esto me despido y hasta la proxima.