Page tree
Skip to end of metadata
Go to start of metadata

The Search Engine Optimization (SEO) module provides tools for analyzing and validating content in your JCR repository. Typically it is used to analyze pages but technically it could also be used to analyze any type of content node in any workspace. The module contains a variety of audit routines that can be configured to test different aspects of your pages and/or content. It has an app which allows content managers to run and view audit routines. These routines can be executed independently or as part of package using the Audit Manager.

Status INCUBATOR
TypeVisual App
SubJar
JIRASEO
Gitsearch-engine-optimization

Installation

Maven is the easiest way to install the modules. Add the following dependencies to your bundle:

<dependency>
  <groupId>info.magnolia.seo</groupId>
  <artifactId>magnolia-seo</artifactId>
  <version>${seoVersion}</version>
</dependency>

Versions

5.6Magnolia 5.6

Usage

The module contains different audit routines that can be run to validate content. Each routine is referred to as an auditor.

An auditor is a Java class that can:

  • Test the rendered HTML of your page for validity.
  • Test if required properties are defined for your page or content according to best practice SEO.
  • Connect to an external service to analyze your page.
  • be extended and customized to any analysis you need

Auditors analyze a selected node and either pass or fail the node. Audit failures are graded at three different levels:

  • Error - The problem must be corrected.
  • Warning - The problem should be corrected.
  • Note - The problem is not severe but could be corrected.

The ability to run audits is handled by the Audit Manager. It provides a framework for executing one or more auditors and saving their results. You can add new auditors and change the configuration of defined auditors from the Audit Manager.

SEO Tuner app

The SEO Tuner app (Audit app) is where users can launch audits on web pages. You will find the app installed in the Edit group of admincentral. From the app you can view the results of audits as well as export results to a file.

Browser subapp

The browser subapp shows all sites within the website workspace. It adds two new columns for audit status. If the page has errors, warnings or notes this will be indicated in the Audit column. The last time an audit was ran will be reflected in the Audited on column.

Detail subapp

This subapp gives information about the audit results. This subapp is spawned when an audit has been run on a selected page from the browser subapp. The audit detail view shows you an overview detailing how many errors, warnings and notes were found in the last audit. The audit details view also has a section for each successful or failed audit that was performed.

Click on an audit section to expand it and find more details on problem found. For some audits, you might also find a button that will link you to an app where you can correct the problem.

Actions

The SEO module contains two custom actions that can be configured into other apps. Both actions launch an analysis by the Audit Manager using configured auditors:

  • info.magnolia.services.seo.action.AuditPageActionDefinition

    Here it is as a sample decoration file:

     /my-module/decorations/pages/apps/pages.yaml
    subApps: 
      browser: 
        actions: 
          auditPage: 
            class: info.magnolia.services.seo.action.AuditPageActionDefinition
            icon: icon-info
            label: Audit
            availability: 
              rules: 
                IsNotDeletedRule: 
                  implementationClass: info.magnolia.ui.framework.availability.IsNotDeletedRule
        actionbar:
          sections: 
            pageActions: 
              groups: 
                editingActions: 
                  items: 
                    auditPage:
                      name: auditPage

    AuditPageAction launches an analysis running all active auditors (see the active property for auditor configuration below).

  • info.magnolia.services.seo.action.FlexiAuditPageActionDefinition

    FlexiAuditPageAction opens a dialog showing all currently configured auditors, allowing the user to pick and choose which auditors are run.

Auditors

The SEO module contains several types of auditors: 

Two types of auditors that do related but separate jobs are validation and definition auditors. They separate the work of determining if a property is defined from the validity of its content.

  • Definition auditors - check that the value(s) for a property have been defined. They do not validate the value(s) of the property. 

  • Validation auditors - validate the value(s) for a designated property if the property (or its language variant) have been defined.


    Definitions auditorsValidation auditors

    Single Language

    PropertyDefinitionAuditorPropertyValidationAuditor

    Multi-Language

    I18NPropertyDefinitionAuditorI18NPropertyValidationAuditor

Common Properties

These properties can be used with any auditor:

name

required

The name of the auditor, usually the node name (either from JCR or YAML configuration). It's important that each auditor have a unique name among all configured auditors. Auditors will save some results by their name.

description

required

A short description of the auditor. The description be displayed when selecting audits.

active

required

Defines if the auditor is active.

  • AuditPageAction - only executes active auditors, inactive auditors are skipped.
  • FlexiAuditPageAction - allows users to select what auditors are run and both active and inactive auditors can be selected.

Warnings

  • This module is at INCUBATOR level. It has had limited testing and low adoption.

Changelog

  • Version 5.6
    • SEO-13 - Getting issue details... STATUS
    • SEO-12 - Getting issue details... STATUS
    • SEO-11 - Getting issue details... STATUS
    • SEO-10 - Getting issue details... STATUS
    • SEO-9 - Getting issue details... STATUS