What's Changed
Added
Per-object SEO fields (posts, terms, users)
robotsobject withnoindex,nofollow,noarchive,noimageindex,nosnippetdirectivesanalysisobject withkeywordScore,readabilityScore,inclusiveLanguageScore,linkCount,incomingLinkCountopengraphLocale,opengraphFbAppId,opengraphEnabledtwitterCreator,twitterSiterelNext,relPrevpagination linksbreadcrumbTitle,objectPublishedAt,objectLastModified,language,regionper post/termmastodonuser social profile
Structured head JSON
headobject withhtmlandjsonfields alongside the existingfullHeadHTML string- Matches Yoast's own REST
/yoast/v1/get_headendpoint output for headless consumers
Global config gaps
meta.searchwith search results titlemeta.author.noindex,meta.author.noindexNoPosts,meta.date.noindexcontentTypes.{type}.articleType(schema article type per post type)social.mastodonglobal social profilesocial.twitter.enabled,openGraph.enabledtogglesadvancedblock:siteType,environmentType,hasMultipleAuthors,xmlSitemapEnabled,indexNowEnabled,indexNowKey,contentAnalysisActive,keywordAnalysisActive,inclusiveLanguageAnalysisActive
Premium social-per-archive (Yoast SEO Premium)
SEOSocialArchivetype withtitle,description,imagesocialfield on content type archives, taxonomy archives, author archives, and date archives- Graceful fallback to null when Premium is inactive (detected via option-key presence)
Fixed
- Cache
YoastSEO()->meta->for_term()result in taxonomy resolver instead of calling it repeatedly (N+1 fix)
Full Changelog: v5.0.3...v5.1.0