=== WP REST Yoast Meta === Contributors: rockfire, acato Tags: adopt-me, yoast, wp-rest, wp-rest-api, api, rest, seo, meta tags, meta, json-ld Requires at least: 4.7 Tested up to: 5.7 Requires PHP: 5.4 Stable tag: 2025.1.0 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl.html Adds meta tags as generated by Yoast SEO to the WP REST API. And adds a custom endpoint to retrieve all redirects as they are set in Yoast SEO Premium. Yoast SEO's JSON LD Schema.org data is also supported. == Description == *This plugin is no longer updated, but is open for adoption* As of Yoast SEO version 16.7 the functionality provided by this plugin is now [part of the Yoast SEO plugin](https://developer.yoast.com/customization/apis/rest-api/) itself. This plugin will no longer be updated, but is open for adoption. If you are interested in adopting this plugin, please contact the authors. Are you using WordPress for a headless set-up, using the WP REST API? And would you like to use the Yoast SEO plugin just like you would for any other project? This plugin adds the meta tags generated by the Yoast SEO plugin to the WP REST API output, allowing your headless set-up to implement them. Also when you are using Yoast SEO Premium you have the option to retrieve redirects throught the API: this plugin adds a custom endpoint (`/wp-rest-yoast-meta/v1/redirects`) to provide those redirects in a JSON format. Since Yoast 11.0 JSON LD Schema.org data is also supported and is now also available through the WP REST API when using this plugin. == Installation == === Installation from within WordPress === 1. Visit 'Plugins > Add New' (or 'My Sites > Network Admin > Plugins > Add New' if you are on a multisite installation). 1. Search for 'WP REST Yoast Meta'. 1. Activate the WP REST Yoast Meta plugin through the 'Plugins' menu in WordPress. === Installation manually === 1. Upload the `wp-rest-yoast-meta` folder to the `/wp-content/plugins/` directory. 1. Activate the WP REST Yoast Meta plugin through the 'Plugins' menu in WordPress. == Frequently Asked Questions == = I have installed the plugin, where can I find the Yoast meta tags? = For each post/page/... you can find an array of meta tags in that object under `yoast_meta`. = I have installed the plugin, where can I find the Yoast JSON LD Schema.org data? = For each post/page/... you can find an array of JSON LD data in that object under `yoast_json_ld`. = I have created a custom post type, will the plugin add the meta tags to that post type? = Yes, the plugin will automatically add meta tags to custom post types. Unless you have created a custom WP_REST_Controller for it and have not implemented the `rest_prepare_POSTTYPE` filter. = Can I add my own meta tags? = Yes you can! Use the hook `wp_rest_yoast_meta/filter_yoast_meta` like this: `/** * Add a custom meta tag. */ function wpym_add_custom_meta_tag( $yoast_meta ) { $yoast_meta[] = array( 'property' => 'og:type', 'content' => 'article' ); return $yoast_meta; } add_filter( 'wp_rest_yoast_meta/filter_yoast_meta', 'wpym_add_custom_meta_tag', 10, 1);` = I have the Yoast SEO Premium plugin installed, will it work? = Yes this plugin supports both the free and the premium version of Yoast SEO. Please keep in mind that the free version of Yoast SEO does not allow you to specify redirects, so the redirects endpoint will return an empty set. = I have set the homepage to display my latest posts, how do I get the Yoast meta for the homepage? = This plugin adds a custom endpoint (`/wp-rest-yoast-meta/v1/home`) to retrieve the Yoast meta for the homepage. = I don't want the Yoast Meta to be applied to post type X, can I stop it from being added? = Yes you can! Use the hook `wp_rest_yoast_meta/filter_post_types` like this: `/** * Remove Yoast Meta from the page post type */ function wpym_remove_post_type( $post_types ) { foreach ( $post_types as $key => $post_type ) { if ( 'page' === $post_type->name ) { unset( $post_types[ $key ] ); } } return $post_types; } add_filter( 'wp_rest_yoast_meta/filter_post_types', 'wpym_remove_post_type', 10, 1 );` == Screenshots == 1. The WP REST API output for the Hello World post example. == Changelog == = 2021.1.2 = Release Date: July 1st, 2021 Bugfix: The yoast_title wasn't set correctly for consecutive posts in an overview request. = 2021.1.1 = Release Date: April 20th, 2021 Bugfix: As of WordPress 5.7.0 the robots meta doesn't come from Yoast SEO, but from WP Core. Bugfix: The yoast meta doesn't include the