Crear metatags con PHP

28/09/2019 | PHP, SEO | 0 comentarios

Automatiza la creación de metatags con PHP utilizando buenas prácticas para obtener un resumen correcto en los resultados de búsqueda.

Descargar archivos Ver ejemplo


Previamente en el artículo Cómo configurar los metatags HTML para SEO hemos comentado la importancia y el uso correcto de las etiquetas meta, utilizando esta información crearemos funciones PHP para automatizar esta tarea.

Título

El titulo debe seguir los siguientes lineamientos:

  • No debe exceder los 60 caracteres.
  • No debe contener etiquetas HTML.
  • Utilizar un formato como: Article title | Brand name

Con esta información creamos una función PHP para limitar a 60 caracteres el título sin cortar las palabras, además si se provee el nombre del sitio lo concatenamos de forma adecuada.


<?php
/**
 * Make title using best practices
 *
 * @param string $text
 * @param string $sitename
 */
function make_title(string $text = '', string $sitename = '')
{
    $maxlength = 60;
    if ($sitename != '') {
        $maxlength = $maxlength - strlen($sitename) - 3;
    }
    
    // clean text
    $text = strip_tags($text);
    $text = trim($text);
    
    // limit to max characters
    if (strlen($text) > $maxlength) {
        $subtext = substr($text, 0, $maxlength - 3);
        $endspace = strrpos($subtext, ' ');
        $text = substr($subtext, 0, $endspace) . '...';
    }
    
    // if exist concatenate sitename
    if ($sitename != '') {
        $text = $text . " | " . $sitename;
    }

    echo $text;
}

Descripción

La descripción se deben seguir los siguientes lineamientos:

  • No debe exceder los 160 caracteres
  • No debe contener etiquetas HTML.

Con esta información creamos una función PHP para eliminar las etiquetas HTML, limitar a 160 caracteres el texto sin cortar las palabras.


<?php
/**
 * Make description using best practices
 *
 * @param string $text
 */
function make_description(string $text = '')
{
    $maxlength = 160;
    // clean text
    $text = strip_tags($text);
    $text = trim($text);
    
    // limit to max characters
    if (strlen($text) > $maxlength) {
        $subtext = substr($text, 0, $maxlength - 3);
        $endspace = strrpos($subtext, ' ');
        $text = substr($subtext, 0, $endspace) . '...';
    }

    echo $text;
}

Ejemplo de uso

El uso de estas funciones es sencillo, se le pasa como parámetro el texto que se desea formatear y listo:



<html lang="es">
  <head>
    <meta charset="uft-8">
    <title><?php make_title($title, $sitename); ?></title>
    <meta name="description" content="<?php make_description($description); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>

Para finalizar hemos creado un ejemplo completo con un formulario para ingresar el contenido para los metatags para devolverlos formateados correctamente.

Referencias

Envíar Comentario

En este sitio los comentarios se publican previa aprobación del equipo de Kodetop. Evita los comentarios ofensivos, obscenos o publicitarios. Si deseas publicar código fuente puedes hacerlo entre las etiquedas <pre></pre>