Add Missing Alt Tags To WordPress Images

Hey, ho scritto questo articolo 5 anni fa.
È molto probabile che nel frattempo le cose siano cambiate.

Le immagini sono importanti per il coinvolgimento con i tuoi visitatori, il problema è che non significano nulla per i motori di ricerca, e l’unico modo in cui i motori di ricerca possono capire di cosa tratta l’immagine è leggere le informazioni all’interno dell’attributo alt.

In WordPress è possibile includere facilmente le immagini sulla pagina utilizzando la libreria multimediale e inserire il testo alternativo per l’immagine, ma se ti dimentichi di inserire il testo alternativo hai bisogno di un modo per popolare automaticamente i tag img con un attributo alt.

Di seguito è riportato uno snippet di WordPress (visto in origine su GitHub e modificato) da inserire nel file functions.php del tema in uso per cercare nei contenuti tutte le le immagini che non hanno un attributo alt, o che lo hanno vuoto: se ce ne sono questa funzione lo aggiungerà con un valore predefinito del nome del file immagine.

Non è il massimo, ma è meglio di nulla.

function add_alt_tags($content)
{
        global $post;
        preg_match_all('/<img (.*?)\/>/', $content, $images);
        if(!is_null($images))
        {
                foreach($images[1] as $index => $value)
                {
                        if(!preg_match('/alt=/', $value) || preg_match('/alt=""/', $value))
                        {
                                preg_match('/src="([^"]*)"/i', $value, $src);
                                $src_tag = pathinfo($src[0]);
                                $new_img = str_replace('<img', '<img alt="'.$src_tag['filename'].'"', $images[0][$index]);
                                $content = str_replace($images[0][$index], $new_img, $content);
                        }
                }
        }
        return $content;
}
add_filter('the_content', 'add_alt_tags', 99999);

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.