Yoast SEO (complemento de WordPress): obtenga datos generados por el complemento manualmente

2 minutos de lectura

Quería obtener los datos generados por Yoast SEO manualmente, vea el código de ejemplo a continuación

Yoast genera estos datos y los agrega automáticamente dentro del etiqueta de cabeza.

<!-- This site is optimized with the Yoast SEO plugin v4.2.1 - https://yoast.com/wordpress/plugins/seo/ -->
<meta name="description" content="bla bla bla"/>
<meta name="robots" content="noodp"/>
<link rel="canonical" href="http://example.localhost.com/" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="website" />
<meta property="og:title" content="bla bla bla" />
<meta property="og:url" content="http://example.localhost.com/" />
<meta property="og:site_name" content="Example.com" />
<meta property="og:image" content="http://example.com.au/wp-content/uploads/2016/11/example.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:description" content="bla bla bla." />
<meta name="twitter:title" content="bla bla bla" />
<meta name="twitter:image" content="http://example.com.au/wp-content/uploads/2016/11/example.png" />
<script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"WebSite","@id":"#website","url":"http:\/\/example.localhost.com\/","name":"Example","potentialAction":{"@type":"SearchAction","target":"http:\/\/example.localhost.com\/?s={search_term_string}","query-input":"required name=search_term_string"}}</script>
<!-- / Yoast SEO plugin. -->

no quiero usar wp_cabeza(); porque también genera otros scripts, estilos y cualquier complemento o código que tengas en tu sitio web de wordpress.

No necesito todos esos códigos. Solo quiero obtener el código generado por Yoast SEO como se muestra arriba. ¿Alguna idea de cómo podría hacer eso?

Puede obtener el meta yoast en cualquier página por get_post_meta(),

obtener los valores meta siguiendo,

echo get_post_meta(get_the_ID(), '_yoast_wpseo_metadesc', true); 
echo get_post_meta(get_the_ID(), '_yoast_wpseo_title', true); 

Comprobar el post_meta tabla para obtener todos los valores relacionados con cada página/publicación.

Usa esto a continuación:

do_action( 'wpseo_head' );

Imprimirá todos los encabezados de SEO en su cabeza. No es necesario agregar a través de la publicación meta.

Han pasado cuatro años, así que las cosas han cambiado aquí. Los datos ahora se pueden recuperar a través de la API de forma estructurada: Ejemplo:

echo YoastSEO()->meta->for_current_page()->description;

Ver:
https://developer.yoast.com/customization/apis/surfaces-api/

También a través de REST es posible un acceso:
https://developer.yoast.com/customization/apis/rest-api

Que eso a veces ayude. Para obtener el meta en absoluto (sin estructura), las otras dos formas son suficientes.

¿Ha sido útil esta solución?