X

Como criar automaticamente meta descrições a partir do seu conteúdo

LinkedInPinCompartilhamentos0
Snippets por IsItWP

Preguiçoso demais para adicionar meta descrições aos seus artigos? Então, por que não gerar automaticamente uma meta descrição do seu post do WordPress removendo todos os shortcodes e tags? Veja como fazer isso.

Instruções:

Adicione este código ao arquivo functions.php do seu tema ou a um plugin específico do site. Certifique-se de ter no header.php do seu tema do wordpress ou este trecho não funcionará.

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');

Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar / colar trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: Melhores Construtores de Páginas do WordPress (Comparados).

LinkedInPinCompartilhamentos0

Comentários   Deixe uma resposta

  1. Como já mencionado (não sei por que o autor não está atualizando seu erro) remova/substitua esta parte do código: $meta = strip_shortcodes($post->post_content); com apenas: $meta = strip_shortcodes($meta); caso contrário, não faz sentido e está incorreto e fica terrível no Google!

  2. BloodyGoodGames 6 de maio de 2013 às 23:22

    Uau, isso quebrou meu site. Assim que você o coloca no cabeçalho, você recebe um código de erro, então não funciona. Que pena, pois é exatamente o que eu precisava 🙁

    1. Qual é o erro que você recebe?

    2. substr() criará UTF-8 inválido. Use mb_substr() em vez disso

      // adiciona a 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. Você acharia possível pegar o conteúdo H2 de um post, limitar o número de caracteres ou palavras e copiá-lo para a descrição por padrão? Obrigado!

  4. Desculpe, amigo, mas aqui está uma correção para este algoritmo:

    function create_meta_desc() { global $post; if (!is_single()) { return; } $meta = strip_tags($post->post_content); $meta = strip_shortcodes($meta); /* aqui você tem que usar a mesma variável, senão o strip_tags não terá efeito */ $meta = str_replace(array(“n”, “r”, “t”), ‘ ‘, $meta); $meta = substr($meta, 0, 125); echo ""; } add_action(‘wp_head’, ‘create_meta_desc’);

  5. 29 Ajustes no Wordpress para Melhorar Posts e Páginas 19 de outubro de 2011 às 9:01

    […] [Fonte: WpSnipp] […]

  6. têm TAGS HTML !

    1. Não tenho certeza do que você quer dizer? no entanto, as tags HTML são removidas usando “strip_tags”

      1. não, não é. eu tive que adicionar um strip_tags logo antes da função substr(), isso funcionou

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!