X

Cómo crear automáticamente meta descripciones a partir de tu contenido

Snippets de IsItWP

¿Demasiado perezoso para añadir una meta descripción a tus artículos? Entonces, ¿por qué no generar automáticamente una meta descripción a partir de tu publicación de WordPress eliminando todos los shortcodes y etiquetas? Aquí te explicamos cómo hacerlo.

Instrucciones:

Agrega este código al archivo functions.php de tu tema o a un plugin específico del sitio. Asegúrate de tener en el header.php de tu tema de wordpress o este fragmento no 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');

Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo copiar / pegar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.

Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: Los mejores constructores de páginas de WordPress (comparados).

Comentarios   Deja una respuesta

  1. Como ya se mencionó (no tengo idea de por qué el autor no actualiza su error), elimina/reemplaza esta parte del código: $meta = strip_shortcodes($post->post_content); con solo: $meta = strip_shortcodes($meta); de lo contrario, no tiene sentido y es incorrecto, ¡y se ve terrible en Google!

  2. BloodyGoodGames May 6, 2013 at 11:22 pm

    Vaya, eso rompió mi sitio. Tan pronto como lo pones en el encabezado, obtienes un código de error, por lo que no funciona. Lástima, ya que es exactamente lo que necesitaba 🙁

    1. ¿Cuál es el error que obtienes?

    2. substr() creará UTF-8 inválido. Usa mb_substr() en su lugar

      // agregar etiqueta 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. ¿Crees que sería posible tomar el contenido H2 de una publicación, limitar el número de caracteres o palabras, y copiarlo en la descripción por defecto? ¡Gracias!

  4. Lo siento amigo, pero aquí tienes una corrección a este algoritmo:

    function create_meta_desc() { global $post; if (!is_single()) { return; } $meta = strip_tags($post->post_content); $meta = strip_shortcodes($meta); /* aquí tienes que usar la misma variable, de lo contrario strip_tags no tendrá ningún efecto */ $meta = str_replace(array(“n”, “r”, “t”), ‘ ‘, $meta); $meta = substr($meta, 0, 125); echo ""; } add_action(‘wp_head’, ‘create_meta_desc’);

  5. 29 Wordpress Tweaks to Improve Posts and Pages October 19, 2011 at 9:01 am

    […] [Fuente: WpSnipp] […]

  6. Trieuquangkhanh August 3, 2011 at 6:03 am

    ¡tengo ETIQUETAS HTML!

    1. No estoy seguro de a qué te refieres. sin embargo, las etiquetas HTML se eliminan usando “strip_tags”.

      1. no, no lo es. tuve que agregar un strip_tags justo antes de la función substr(), eso funcionó

Agrega un comentario

Nos complace que hayas elegido dejar un comentario. Ten en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad, y todos los enlaces son nofollow. NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!