domingo, 24 de septiembre de 2017

Incluir meta name=”description” en WordPress sin plugin

Si bien los plugins existen para simplificar tareas e incorporar nuevas funciones a nuestro sitio gestionado mediante el CMS de WordPress.org, muchas veces desbordan en opciones y configuraciones a veces complicadas, y si el plugin es de la categoría SEO, hay reportes de que han hecho desastres, aunque en la gran mayoría de los casos funcionan muy bien, esto dependerá en gran medida del conocimiento SEO de quien utiliza ese tipo de plugins y el tiempo de estudio que le dedica a su correcta configuración. Siempre es recomendable buscar opiniones antes de instalar un plugin y no andar instalando a la ligera, ya que un plugin puede modificar poco o mucho la estructura de nuestro WP.

La etiqueta <meta name=”description” content=”Descripción breve del post no excediendo los 150 caracteres”> la podemos incluir en cada una de nuestras entradas del blog aprovechando el campo “Extracto” que nos ofrece WP. Para ello, debemos activarlo e incluir una función en theme-functions.php.

Como se observa, el buscador mostrará lo que hemos escrito en el campo Extracto y no las primeras palabras que aparecen en la entrada.


Lo primero que debemos hacer es activar Extracto en Opciones de pantalla, debemos editar alguna entrada y visualizar las “Opciones de pantalla”.


Eso nos habilitará el Extracto en las entradas. Pero hay que tener en cuenta que para las nuevas entradas no hay ningún problema, pero para las ya existentes, habrá que editarlas, completar el Extracto con la descripción que habrá de aparecer en los resultados de los buscadores y utilizar algún método para que los mismos la re-indexen.

Para que todo esto que hemos hecho con un par de clicks realmente funcione, debemos modificar el archivo theme-functions.php accediendo al mismo desde el panel lateral de WP Apariencia, Editor o mediante un cliente FTP ya sea el proporcionado por nuestro servicio de alojamiento o un programa como FileZilla.

add_action('wp_head','metadescription');
function metadescription() {
     $codigometadescription = '';
     if( is_single() ) {
          $post = get_queried_object();
          if( !empty( $post->post_excerpt ) ) {
              $descripcion = $post->post_excerpt;
          } else {
              $descripcionn = wp_trim_words( $post->post_content );
          }
          if( $descripcion != '' ) {
              $codigometadescription = '<meta name="description" content="' . esc_attr($descripcion) . '">';
          }
     }
     echo $codigometadescription;
}


Se debe agregar este código y guardar. Si bien este método es conocido, el código de la función está publicado en este sitio: programandomiweb.com y como bien indica su autor, si el campo Extracto está vacío entonces no incluye la etiqueta, algo fundamental para evitar errores de indexación.

Aquí finaliza el método para incluir la etiqueta meta name=”description” en cada entrada del blog.

Pero, ¿qué pasa con la página principal o home, la index.php? La solución es simple y la aportan en el foro de WordPress.org

<?php if ( is_home() ) { ?>
<meta name="description" content="La descripción del sitio." />
<?php } ?>


Este código debe incluirse en header.php antes de </header> y guardar o actualizar el archivo.