Cómo agregar datos adicionales de Schema.org en el complemento Yoast SEO WordPress

Publicado: 2020-07-28

Para aquellos que no están familiarizados con exactamente qué son los datos estructurados de Schema.org y por qué se han convertido en una parte esencial de cualquier estrategia de SEO, lea mi artículo "Cómo usar los datos estructurados de Schema.org para empresas y personas".

¿Y qué hay de WordPress y Yoast?

Bueno, el 37% de todo Internet funciona actualmente con WordPress. Sí. ¡Eso es alrededor de quinientos millones de sitios que ejecutan alguna versión de WordPress, y solo la última versión (5.4 en el momento de la publicación) se ha descargado 31 millones de veces!

¿Qué es Yoast SEO y por qué es útil para los datos de Schema.org?

Yoast SEO es un complemento de WordPress iniciado en 2010 por Joost de Valk y se ha descargado más de 202 millones de veces. Simplifica y automatiza algunas tareas básicas (y más avanzadas) de SEO en la página.

Las funciones que manejan el marcado de Schema.org se agregaron inicialmente en 2011 y luego, en mayo de 2020, se implementó una gran reescritura de código con una API completa destinada a permitir a los desarrolladores inyectar datos en su Schema @graph . Esta fue una gran noticia, pero la mayoría de las personas en SEO que trabajan con WordPress no conocen su existencia o no han visto cómo usarlo. ¡Y en realidad es increíblemente simple comenzar!

Entonces, echemos un vistazo a cómo se ve la salida de Yoast Schema en una página de wordpress. Aquí está el bloque contenedor básico:

Como puede ver, lo interesante aquí es que los datos del esquema se dividen en 4 partes principales (por ejemplo , @tipo: persona/organización, etc.) que están todas al mismo nivel en un contenedor llamado @gráfico . Eliminé todos los datos excepto el @type , el @id y cualquier propiedad utilizada para vincular las piezas, para mostrarle cómo encaja todo.

Los bloques de esquema en los sitios web a menudo tienen elementos anidados unos dentro de otros con, por ejemplo, el código para el objeto de imagen primaryImageOfPage dentro del bloque WebPage , mientras que aquí es una pieza completamente separada. Esto se debe a que anidar bloques dentro de bloques puede volverse muy difícil de manejar rápidamente con mucho código repetido.

Aquí, todas las piezas están vinculadas usando el @id de cada pieza, por lo que los bloques en la imagen de arriba están vinculados así: ImageObject es la imagen principal de la página web que es parte del sitio web del cual el editor es el bloque Persona/Organización . ¡Eso es claro y lógico!

Para acortar una larga historia, la API básicamente nos permite "unir" nuevas piezas y referirnos a ellas desde cualquier otra pieza a través de @id .

Sin embargo, unir piezas nuevas que aún no se están generando requiere un poco más de código y configurar condiciones para decidir qué tipos de página necesitan las piezas nuevas, así que en lugar de ver cómo hacerlo aquí, simplemente vamos a ver cómo cambiar los datos en una pieza existente (observe qué piezas ya se están enviando a su página), ya sea cambiando uno de los valores o insertando nuevos tipos y propiedades.

Para hacer esto, vamos a crear un complemento de WordPress ultra básico.

Pero primero, puede que te estés preguntando: ¿por qué queremos hacer esto?

¿Por qué agregar datos en el esquema del complemento Yoast SEO?

La arquitectura del complemento ha sido bien pensada y está diseñada para funcionar en el mayor porcentaje de casos. Proporciona clases que se activan automáticamente para una amplia gama de tipos de contenido si se cumplen las condiciones adecuadas.

La documentación nos dice que los tipos que generará actualmente son Organización, Sitio web, Página web, Ruta de navegación, Búsqueda en el sitio (SearchAction), Persona, Producto, Oferta, Oferta agregada (AggregateOffer), Artículo, Cómo (HowTo), Pregunta, Revisión, Comentario, Imagen (ImageObject), Video (videoObject), Empresa local (localBusiness) y Dirección (PostalAddress). Y hay varias extensiones que puede agregar para usos más específicos, como si estuviera usando WooCommerce.

Todo esto es maravilloso, pero cuando observa la salida para el tipo Persona , puede ver que solo se encuentran los datos esenciales más básicos:

(nota: he acortado el @id generado por el complemento)

Si leyó mi artículo anterior sobre el marcado de Schema.org para Persona y Organización y por qué es excelente para mejorar el "COMER" de su sitio, habrá leído sobre cómo puede usar una gran cantidad de propiedades para estos tipos, algunas de las cuales serán identificarlo con mayor precisión y proporcionar enlaces a datos que muestren su experiencia y autoridad.

Por ejemplo, es posible que desee agregar una propiedad alumniOf para hablar sobre la educación de una persona o una propiedad knowAbout para brindar algunos detalles de su campo de especialización. Para una empresa, es posible que desee proporcionar el número de registro oficial de la empresa en forma de identificador .

Vamos a hacer esto en dos simples pasos:

  1. Cree un complemento de WordPress de 1 archivo ultra básico
  2. Comience a agregar los datos que queremos generar a través de la API de Yoast Schema

¿Por qué hacer un complemento?

Si bien es posible colocar el código en el archivo functions.php de su tema secundario, colocarlo en un complemento simple es la ruta recomendada por la sencilla razón de que si hay algún problema con el código, simplemente puede desactivar su complemento personalizado. y el sitio volverá de forma predeterminada a la salida del esquema central mediante el complemento Yoast SEO. Además, si lo coloca en el tema secundario y los archivos se modifican alguna vez, ¡podría perder todos los valiosos datos de Schema que pasó horas compilando!

Comience su prueba gratuita de 14 días

¡Descubre por ti mismo por qué Oncrawl es la plataforma técnica y de SEO de datos más reconocida del mercado! No se requiere tarjeta de crédito ni condiciones: solo 14 días de prueba con todas las funciones.
Comience su prueba

Cómo crear un plugin de WordPress ultrabásico

¡Esto no podría ser más simple!

Para hacer un complemento funcional, simplemente necesita crear un nuevo archivo PHP, lo he llamado schema-extender.php , y guardarlo en una nueva carpeta con el mismo nombre, como esta:

Luego, debe colocar información en la parte superior de schema-extender.php de esta manera:

<?php
/**
* Nombre del complemento: Yoast Schema Extender Simple Version 2
* URI del complemento: https://hugoscott.com/
* Descripción: un complemento muy básico para ampliar los datos de Yoast Schema.org.
* Versión: 1.0
* Autor: Hugo Scott
* URI del autor: https://hugoscott.com/
**/

Si guarda esto y carga la carpeta y el archivo en el directorio /wp-content/plugins/ de su sitio de wordpress, lo verá en la lista de complementos como este:

Puede activar el complemento, pero no hará nada todavía, ya que no hemos agregado ninguna función, ¡ese es el siguiente paso!

La primera línea de código que introduje no es esencial, pero mostrará los datos del esquema en un formato más legible que la salida minimizada predeterminada, y siempre puede eliminar esta línea más adelante:

add_filter('modo_desarrollo_yoast_seo', '__return_true');

Ahora vamos a agregar un filtro de WordPress que agregará una función personalizada example_change_person (que escribiremos a continuación) al proceso de Yoast:

add_filter('wpseo_schema_person', 'example_change_person');

Y luego, para terminar, escribiremos la función muy simple example_change_person() que es llamada por el filtro y agregará los datos:

función ejemplo_cambio_persona ($ datos) {
// datos
devolver $datos;
}

Si guarda esto y carga el archivo en el servidor, aún no verá ninguna diferencia en la salida del esquema porque aún no hemos agregado ningún dato a la matriz $data . Para aquellos que no están familiarizados con el término "matriz", solo significa una especie de "caja" que contiene un conjunto estructurado de bits de datos que son pares con un "valor" y un nombre (la "clave").

Y esta es exactamente la misma forma en que funciona el marcado de schema.org. Se compone de pares con un nombre y un valor, por ejemplo, aquí están los datos de URL para el sitio web en la salida del esquema:

“url”: “https://hugoscott.com/”,

Aquí el nombre (o “clave”) es “url” y el valor es “https://hugoscott.com/”.

Cada clave en la matriz $data se usa para el nombre de la propiedad, así que asegúrese de escribirlo correctamente.

Si quisiéramos agregar los datos anteriores a la matriz $data , simplemente agregaríamos la línea a la función de esta manera

$datos['url'] = “https://hugoscott.com/”;

Sin embargo, para la pieza Person queríamos agregar una propiedad knowAbout , así que agreguemos eso en su lugar:

$data['knowsAbout'] = “https://en.wikipedia.org/wiki/Balti_(comida)”;

Guarde el archivo, cárguelo en el servidor, vuelva a cargar la página y mire el html fuente (o verifíquelo en la herramienta de prueba de datos estructurados de Google) y verá esto:

¡Qué hay sobre eso! Hemos agregado un poco de datos y realmente no fue demasiado complicado. Esto es fantástico, pero ¿qué hacemos si queremos agregar alumniOf que no es solo una cadena de texto simple sino un subbloque?

Lo mejor de la forma en que el complemento de Yoast trata la matriz de $datos es que, en lugar de una cadena de texto, podemos incluir una submatriz y se genera como un subbloque de esquema.

Imagina que queríamos hacer esto:

Puede agregar estos datos como una sub-matriz como esta:

Si la Persona en cuestión tenía varios diplomas y quería varios subbloques AlumniOf , simplemente agréguelos así:

Y se mostrará así:

¡No podría ser más simple que eso!

una última palabra

Gracias por leer este artículo. Solo ha rozado la superficie de lo que es posible con la API Yoast SEO.

Los ejemplos que he dado son geniales como bits de datos independientes para Persona y Organización, pero si desea ir más allá, por ejemplo, con páginas de plantilla, puede agregar formularios a su complemento y guardar los datos en una tabla de base de datos personalizada y luego compilar el Esquema en su archivo de plantilla de tema y muéstrelo en el pie de página de su página. ¡Todo esto es posible, y puede usar la propiedad @id para vincular cualquier salida de esquema en el pie de página a la salida de esquema en el encabezado!

La API del complemento Yoast SEO evolucionará considerablemente en un futuro cercano, así que asegúrese de estar atento a sus últimos desarrollos.

Ven a mi sitio para más información o si quieres contratarme para hacer esto por ti.

Gracias

Como última palabra final, me gustaría agradecer a Jono Alderson de Yoast por tomarse el tiempo para responder mis preguntas.