Assessments for SEO and Readability

All 28 SEO and readability assessments from Yoast SEO v3, with three custom Kirby additions.

Overview

Kirby SEO Audit comes with 28 comprehensive assessments that analyze your content for search engine optimization and readability:

  • 17 SEO assessments: Powered by Yoast SEO v3, focusing on keyword optimization, meta data, links, and technical SEO factors
  • 8 Readability assessments: Powered by Yoast SEO v3, analyzing content structure, sentence length, and overall readability
  • 3 Custom SEO assessments: Provided by Kirby SEO Audit to expand on Yoast SEO

Results are grouped into Good, OK, Bad, and Feedback, regardless of whether an assessment is SEO or readability – see Introduction for what each category means.

Complete Assessment List

Yoast SEO v3 Assessments

SEO Assessments (17)

AssessmentKeyWhat It Checks
Introduction KeywordintroductionKeywordKeyphrase appears in the first paragraph
Keyphrase LengthkeyphraseLengthKeyphrase is not too short or long
Keyword DensitykeyphraseDensityKeyphrase frequency is optimal (not too low/high)
Meta Description KeywordmetaDescriptionKeywordKeyphrase is present in meta description
Meta Description LengthmetaDescriptionLengthMeta description is 120–156 characters
Subheadings KeywordsubheadingsKeywordKeyphrase appears in H2–H6 headings
Text Competing LinkstextCompetingLinksNo links compete with target keyphrase
Image KeyphraseimageKeyphraseImages contain keyphrase in alt/title attributes
Text ImagesimagesContent includes images
Text LengthtextLengthContent meets minimum word count
Outbound LinksexternalLinksExternal links are present
Title KeywordkeyphraseInSEOTitleKeyphrase appears in page title
Internal LinksinternalLinksInternal links are present
Page Title WidthtitleWidthTitle fits in search results (~60 chars)
URL KeywordslugKeywordKeyphrase is in URL slug
Function WordsfunctionWordsInKeyphraseKeyphrase contains content words (not just "the", "a")
Keyphrase DistributionkeyphraseDistributionKeyphrase is evenly distributed throughout text

Readability Assessments (8)

AssessmentKeyWhat It Checks
Subheading DistributionsubheadingsTooLongNo text blocks exceed 300 words without a subheading
Paragraph LengthtextParagraphTooLongParagraphs do not exceed 150 words
Sentence LengthtextSentenceLengthAt most 25% of sentences exceed 20 words
Transition WordstextTransitionWordsContent uses connective phrases
Passive VoicepassiveVoicePassive voice is used sparingly
Text PresencetextPresencePage contains text content
Sentence BeginningssentenceBeginningsSentences do not start the same way repeatedly
Word ComplexitywordComplexityVocabulary is not overly complex

Kirby SEO Audit Custom Assessments (3)

AssessmentKeyWhat It Checks
Single H1singleH1Exactly one H1 heading exists
Heading StructureheadingStructureOrderH1–H6 headings follow sequential order (no skips like H1→H3)
Image Alt AttributesaltAttributeAll images have alt text

Custom Assessment Selection

By default, all assessments are enabled. Pick which SEO and readability assessments to include in the report by adding an assessments property to your blueprint:

# Select the assessments you want to include
assessments:
  - metaDescriptionKeyword
  - metaDescriptionLength
  - titleWidth
  - images
  - textLength
  - imageKeyphrase

Wrap the snippet under buttons.seo-audit (view button) or under sections.<name> with type: seo-audit (section) – see Local Configuration for the full scaffolds.

Assessment names are matched case-insensitively and a trailing Assessment suffix is ignored – titleWidth, titlewidth, and titleWidthAssessment all select the same check.

Keyphrase-Dependent Assessments

The following SEO assessments require a keyphrase to be defined via keyphraseField or keyphrase:

  • functionWordsInKeyphrase
  • introductionKeyword
  • keyphraseDensity
  • keyphraseDistribution
  • keyphraseInSEOTitle
  • keyphraseLength
  • metaDescriptionKeyword
  • slugKeyword
  • subheadingsKeyword

If no keyphrase is provided, these assessments will be skipped unless explicitly enabled in the assessments property.

Language-Specific Features

Some assessments are only available in certain languages. The plugin uses the lang attribute of the rendered page's HTML for analysis, while the translations of the SEO results are based on the language selected in the Kirby Panel.

Make sure that the language code in your languages/xx.php file matches the ISO 639-1 language code (e.g., use de for German, not ger).
AssessmentSupported Languages
wordComplexityde, en, es, fr
keyphraseDistributionar, cs, de, el, en, es, fr, he, hu, id, it, ja, nb, nl, pl, pt, ru, sk, sv, tr
metaDescriptionLengthar, cs, de, el, en, es, fa, fr, he, hu, id, it, ja, nb, nl, pl, pt, ru, sk, sv, tr
textParagraphTooLongar, cs, de, el, en, es, fa, fr, he, hu, id, it, ja, nb, nl, pl, pt, ru, sk, sv, tr
textSentenceLengthar, cs, de, el, en, es, fa, fr, he, hu, id, it, ja, nb, nl, pl, pt, ru, sk, sv, tr
passiveVoicear, cs, de, el, en, es, fa, fr, he, hu, id, it, nb, nl, pl, pt, ru, sk, sv, tr
textTransitionWordsar, ca, cs, de, el, en, es, fa, fr, he, hu, id, it, ja, nb, nl, pl, pt, ru, sk, sv, tr
functionWordsInKeyphrasear, cs, de, el, en, es, fa, fr, he, hu, id, it, ja, nb, nl, pl, pt, ru, sk, sv, tr

Norwegian is listed as nb, the code the analysis ships its researcher under. A page marked no or nn resolves to it, so all three write their own language.

With no assessments list configured, an assessment that does not support your content's language is skipped silently. List it explicitly and the analysis aborts with an error naming the languages that assessment supports.