Skip to main content
← Back to changelogs overview

Yoast SEO 9.0


  • Fixes a bug where the keyword would not be found in the slug when containing punctuation, for example the keyphrase apples & pears in the slug apples-pears.
  • Fixes a bug where the buttons to change the How-to steps and FAQ questions order would be only partially visible in mobile view.
  • Fixes a bug where an 'undefined index' notice would be given when an OpenGraph image URL didn't have a correct path. Props to @Julian-B90
  • Fixes a bug where the home description can contain HTML, resulting in unexpected characters on the Facebook social settings page.
  • Fixes a bug where author sitemap caches would be attempted to be invalidated despite not all conditions being met.
  • Fixes a bug where a fatal error on Yoast settings pages was thrown because they did not have a dedicated option class.


  • Introduces two new principles for keyword recognition:

  • Makes keyphrase recognition flexible with regards to word order. This means that the keyphrase SEO WordPress plugin will be found in the sentence This is the most popular SEO plugin for WordPress. In order to use exact matches, the keyphrase can be enclosed in quotation marks.

  • When matching keyphrases for the various assessments, the analysis only targets content words and ignores function words (e.g., the or and). This functionality is available in English, German, Dutch, French, Spanish, Italian, Portuguese, Russian and Polish.

  • The analysis of the following assessments incorporates the new keyword recognition principles:

  • Image alt attributes: checks whether there’s at least one image with an alt tag that contains words from the keyphrase. An exact match isn’t required anymore.

  • Keyphrase in introduction: checks whether words from the keyphrase are matched within one sentence in the introduction or, if not, whether they are present in the first paragraph at all. An exact match isn’t required anymore.

  • Keyphrase in title: still checks whether an exact match of the keyphrase is found in (the beginning of) the title, but now also recommends improvement if all words from the keyphrase are found in the title.

  • Keyphrase length: has new boundaries to check whether the keyphrase is not too long. For languages that have support for function word stripping (see above), only content words are taken into account.

  • Keyphrase in meta description: checks how often all words from the keyphrase are matched within the meta description.

  • Keyphrase in subheading: now checks whether at least one subheading contains more than half of the words from the keyphrase. An exact match isn’t required anymore.

  • Keyphrase in slug: checks whether a sufficient number of words from the keyphrase is used in the slug. The number of words required depends on the length of the keyphrase.

  • Keyphrase density: checks whether there are enough keyphrase matches; a match is defined as a sentence that contains all words from the keyphrase.

  • Link focus keyphrase: the assessment that checks whether you’re using your keyphrase to link to a different article doesn't require an exact match anymore.

  • Improves the feedback texts for all SEO and readability assessments.

  • Improves the consistency of the SEO and readability results by showing them in a fixed order.

  • Adds target="_blank" to the "How to connect to GSC" link to open the link a new tab. Props to @zkan

  • Changes all mentions of 'keyword' to 'keyphrase'. Read more about the transition from 'keyword' to 'keyphrase'.

  • Optimizes and caches WPSEO_Option_Titlesenrich_defaults(). Props to @soulseekah

  • Introduces a Features tab in the network admin, which allows disabling all site-specific features for the entire network.

  • Improves the tab order within the structured data blocks in Gutenberg and make it consistent between the FAQ and How-To block.

  • Improves sitemap performance by disabling the caching by default.

  • Adds target="_blank" to the "How to connect to GSC" link to open a new tab when clicked.

  • Adds an assessment that checks whether your keyword consists only of function words.

  • Changes OpenGraph image handling to always use an image from the media library. This makes the performance of the OpenGraph image handling much better.

  • Improves performance by no longer using images from the content as a fallback for the OpenGraph and Twitter images.


  • Deprecates the WPSEO_Cornerstone class.
  • Deprecates the assessment that checks if stopwords are used within the keyphrase.