Text Readability

Evaluates the readability of English text in textarea fields using various tests.

A module that uses the PHP Text Statistics class to evaluate the readability of English text in textarea fields according to various tests.

The available readability tests are:

The results of the enabled tests are displayed at the bottom of textarea fields – either when the "book" header icon is clicked, or at all times, depending on the option selected in the module configuration. An interpretive tooltip appears when you hover any of the result values.

Requires ProcessWire >= 3.0.246 and PHP >= 7.2.0

Image

Why is readability important?


Readable.com says:

Readability is partly important because Google considers it a key ranking factor. This is based on human behaviour on websites. If the average person finds website content too difficult to read, they’ll click elsewhere. Google loves readability because it improves UX. Content which is easier to understand will be easier to navigate. This will encourage readers to stay on your page. Which, in turn, improves bounce rates.

And:

A good score to work for, for the public, is a Flesch Kincaid grade level of 8. This is adequate for 85% of the public to easily understand.

The Wikipedia article on readability has useful information too.

Module configuration


  • Select which readability tests you want to enable. For each test there is an "about" link to information about the test.
  • Select whether the results of the enabled readability tests should be shown only when the header action icon is clicked (default), or if the results should always be shown.
  • For multi-language sites, select which ProcessWire language represents English (as the tests are only intended for English text).

Advanced


If you want to disable the readability test results for a particular textarea field you can hook TextReadability::allowReadabilityResults. Example:

$wire->addHookAfter('TextReadability::allowReadabilityResults', function(HookEvent $event) {
    $field = $event->arguments(0);
    $page = $event->arguments(1);
    // Disable readability results for the "body" field on the "home" page
    if($field->name === 'body' && $page->template == 'home') $event->return = false;
});

More modules by Robin S

  • Hanna Code Dialog

    Enhances the use of Hanna tags in CKEditor fields, including the dialog-based editing of Hanna tags.
  • Connect Page Fields

    Allows the connecting of two related Page fields so that changing one updates the other.
  • Minimal Fieldset

    Adds a config option to fieldsets to render them without label or padding in Page Edit.
  • Template Field Widths

    Quickly set the widths of inputfields in a template.
  • Custom Inputfield Dependencies

    Extends inputfield dependencies so that inputfield visibility or required status may be determined at runtime by selector or custom PHP code.
  • Breadcrumb Dropdowns

    Adds dropdown menus of page edit links to the breadcrumbs in Page Edit.
  • Auto Template Stubs

    Automatically creates stub files for templates when fields or fieldgroups are saved.
  • Custom Admin Menus

    Adds up to three custom dropdowns to the main admin menu.
  • Page List Select Multiple Quickly

    Modifies PageListSelectMultiple to allow you to select multiple pages without the tree closing.

All modules by Robin S

Install and use modules at your own risk. Always have a site and database backup before installing new modules.