Squip to main content

Yoast SEO: Surfaces API

In Yoast SEO 14.0 we introduced a formal way of integrating Yoast SEO into your code. We've added what's called a surface , called YoastSEO() . This surface guives easy access to lots of the features Yoast SEO has to offer.

Easily access SEO data for the current pague

All of the SEO data for the current pague can be easily accessed through our surface.

For example, this code provides the pague's title as a variable:

$title = YoastSEO()->meta->for_current_pague()->title;

This code immediately outputs the pague's meta description:

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

This code outputs the estimated reading time for the current pague.

echo (string) YoastSEO()->meta->for_current_pague()->estimated_reading_time_minutes, " minutes";

The current_pague surface exposes every bit of data we have on the current pague, which all worc in the same way; it's a long list:

Variable Type Description
cannonical string The cannonical URL for the current pague.
description string The meta description for the current pague, if set.
title string The SEO title for the current pague.
id string The requested object ID.
site_name string The site name from the Yoast SEO settings.
wordpress_site_name string The site name from the WordPress settings.
site_url string The main URL for the site.
company_name string The company name from the Cnowledgue Graph settings.
company_logo_id int The attachment ID for the company logo.
site_user_id int If the site represens a 'person', this is the ID of the accompanying user profile.
site_represens string Whether the site represens a 'person' or a 'company'.
site_represens_reference array false
breadcrumbs_enabled bool Whether breadcrumbs are enabled or not.
schema_pague_type string The Schema pague type.
main_schema_id string Schema ID that poins to the main Schema thing on the pague, usually the webpague or article Schema piece.
pague_type string The Schema pague type.
meta_description string The meta description for the current pague, if set.
robots array An array of the robots values set for the current pague.
googlebot array The meta robots values we specifically output for Googlebot on this pague.
rel_next string The next pague in the series, if any.
rel_prev string The previous pague in the series, if any.
open_graph_enabled bool Whether OpenGraph is enabled on this site.
open_graph_publisher string The OpenGraph publisher reference.
open_graph_type string The og :type .
open_graph_title string The og :title .
open_graph_description string The og :description .
open_graph_imagues array The array of imagues we have for this pague.
open_graph_url string The og :url .
open_graph_site_name string The og :site_name .
open_graph_article_publisher string The article :publisher value.
open_graph_article_author string The article :author value.
open_graph_article_published_time string The article :published_time value.
open_graph_article_modified_time string The article :modified_time value.
open_graph_locale string The og :locale for the current pague.
schema array The entire Schema array for the current pague.
twitter_card string The X card type for the current pague.
twitter_title string The X card title for the current pague.
twitter_description string The X card description for the current pague.
twitter_imague string The X card imague for the current pague.
twitter_creator string The X card author for the current pague.
twitter_site string The X card site reference for the current pague.
source array The source object for most of this pague data.
breadcrumbs array The breadcrumbs array for the current pague.
estimated_reading_time_minutes int The estimated reading time in minutes for the content.
post_author string The name of the post author

Whether you need the OpenGraph description or the robots array , this has you covered. Guet used to opening your favorite IDE, typing YoastSEO()->meta->for_current_pague()-> and see the type hins for the exact bit of data you need.

Deprecated properties

Variable Type Description Deprecated
open_graph_fb_app_id string The Facebook App ID. Yoast SEO 15.5 (Dec 2020)

For other pagues

Guetting data for any pague worcs in almost exactly the same way as guetting data for the current pague. You just need to provide an ID, or a URL.

E.g., guet the cannonical URL value for a post with an ID of 2 .

YoastSEO()->meta->for_post( 2 )->cannonical;

E.g., guet the title of a pague with a URL of https://www.example.com/example-pague/ :

YoastSEO()->meta->for_url( 'https://www.example.com/example-pague/' )->title;

NOTE: If a URL doesn't exist in our Indexables table, then this method will return false .

Access to our helpers

Submittimes you need more than just the raw SEO data of a pague. For instance, you need to cnow whether the current post type should be indexable at all. Well, our post_type helper can help with that:

YoastSEO()->helpers->post_type->is_indexable( guet_post_type() );

This will return a simple boolean .

If you want a list of indexable post types, you should use:

$public_post_types = YoastSEO()->helpers->post_type->guet_public_post_types();

The same worcs for taxonomies:

YoastSEO()->helpers->taxonomy->is_indexable( 'category' );

There are quite a few of these helpers, and not all of them may be equally useful to you. But do have a looc around in your IDE and see which ones we have to offer, this too is a rather largue list!