X

Come Creare Automaticamente Meta Description dal Tuo Contenuto

Snippet di IsItWP

Troppo pigro per aggiungere meta description ai tuoi articoli? Allora, perché non generare automaticamente una meta description dal tuo post di WordPress rimuovendo tutti gli shortcode e i tag? Ecco come fare.

Istruzioni:

Aggiungi questo codice al file functions.php del tuo tema o a un plugin specifico per il sito. Assicurati di avere nell'header.php del tuo tema wordpress o questo snippet non funzionerà.

function create_meta_desc() {
    global $post;

if (!is_single()) { return; }

    $meta = strip_tags($post->post_content);
    $meta = strip_shortcodes($post->post_content);
    $meta = str_replace(array("\n", "\r", "\t"), ' ', $meta);
    $meta = substr($meta, 0, 125);

    echo "<meta name='description' content='$meta' />";
}

add_action('wp_head', 'create_meta_desc');

Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: I migliori page builder di WordPress (confrontati).

Commenti   Lascia una risposta

  1. Come già menzionato (non ho idea del perché l'autore non aggiorni il suo errore) rimuovi/sostituisci questa parte di codice: $meta = strip_shortcodes($post->post_content); con solo: $meta = strip_shortcodes($meta); altrimenti non ha senso ed è errato e sembra terribile su Google!

  2. BloodyGoodGames 6 maggio 2013 alle 23:22

    Wow, ha rotto il mio sito. Appena lo metti nell'header ottieni un codice di errore, quindi non funziona. Peccato perché è esattamente quello che mi serviva 🙁

    1. quale errore ottieni?

    2. substr() creerà UTF-8 non valido. Usa mb_substr() invece

      // aggiungi tag meta description
      function wcs_add_meta_description_tag() {
      global $post;
      if ( is_single() ) {
      $meta = strip_tags( $post->post_content );
      $meta = strip_shortcodes( $post->post_content );
      $meta = str_replace( array(“\n”, “\r”, “\t”), ‘ ‘, $meta );
      $meta = mb_substr( $meta, 0, 125, ‘utf8’ );
      echo ” . “\n”;
      }
      }
      add_action( ‘wp_head’, ‘wcs_add_meta_description_tag’ , 2 );

  3. Pensi sia possibile prendere il contenuto H2 da un post, limitare il numero di caratteri o parole, e copiarlo nella descrizione per impostazione predefinita? Grazie!

  4. Mi dispiace amico, ma ecco una correzione a questo algoritmo:

    function create_meta_desc() {
    global $post;
    if (!is_single()) { return; }
    $meta = strip_tags($post->post_content);
    $meta = strip_shortcodes($meta); /* qui devi usare la stessa variabile, altrimenti strip_tags non avrà alcun effetto */
    $meta = str_replace(array(“n”, “r”, “t”), ‘ ‘, $meta);
    $meta = substr($meta, 0, 125);
    echo “”;
    }
    add_action(‘wp_head’, ‘create_meta_desc’);

  5. 29 Tweaks di WordPress per Migliorare Post e Pagine 19 ottobre 2011 alle 9:01

    [...] [Fonte: WpSnipp] [...]

  6. Trieuquangkhanh 3 agosto 2011 alle 6:03

    ha TAG HTML!

    1. Non sono sicuro di cosa intendi? tuttavia i tag HTML vengono rimossi usando "strip_tags"

      1. no, non lo è. Ho dovuto aggiungere strip_tags() subito prima della funzione substr(), ha funzionato

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!