SEO module

Search and discovery Unbundled: Extension

Issues

SEO

Git

Git

Latest

6.2.2

Compatible with Magnolia 5.7+.

The Search Engine Optimization (SEO) module provides tools for analyzing and validating content in your JCR repository. Typically it is used to analyze pages to ensure the best SEO quality and full acessibility (AAA rating) before publication.

It can also be used to analyze any type of content node in any workspace for specific quality gates. The module contains a variety of audit routines (i.e., Auditors) that can be configured to test different aspects of your pages and/or content. It has an app which allows content managers to run audit routines and view the results. These routines can be executed independently or as part of package using the Audit Manager.

This module is at the INCUBATOR level.

Installing with Maven

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

  • Magnolia 6.2

  • Magnolia 6.1

  • Magnolia 5.7

<dependency>
  <groupId>info.magnolia.seo</groupId>
  <artifactId>magnolia-seo</artifactId>
  <version>6.2.2</version>
</dependency>
<dependency>
  <groupId>info.magnolia.seo</groupId>
  <artifactId>magnolia-seo</artifactId>
  <version>6.1.1</version>
</dependency>
<dependency>
  <groupId>info.magnolia.seo</groupId>
  <artifactId>magnolia-seo</artifactId>
  <version>5.6.7</version>
</dependency>

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.

audit subapp

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.
travel home audit

When looking at the details for a page in the SEO Content Tuner, you can perform the following actions:

  • Check page.

  • View detailed audit.

  • Quick check: dead links.

  • Quick check: basic page properties.

  • Export the audit details.

Check page

To check a page fully:

  1. Click the page you want to check.

  2. In the details section to the right, click Check page.

  3. In the dialog, select the audits you want performed from the Available box into the Execute box.

  4. Click Do selected.

check page details

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: (1)
        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
1 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 individual auditors:

Auditors can be categorized into validation and definition auditors. They separate the work of determining if a property is defined from the validity of its content. Another dimension of categorization is language specifications for the site, single vs multi language.

  • 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 auditors Validation auditors

    Single language

    PropertyDefinitionAuditor

    PropertyValidationAuditor

    Multi-language

    I18NPropertyDefinitionAuditor

    I18NPropertyValidationAuditor

Content Fetchers

Added in v5.6.2.

Some auditors check on rendered content rather than the content node itself. These auditors need some way to render the content before checking it and use a "content fetcher" to do the rendering for them.

See Content fetchers for more on configuring RenderingFetcher and RequestFetcher.

Fetcher Description

RenderingFetcher

Calls Magnolia’s rendering engine directly to render the selected content node and captures the results. RenderingFetcher does not add traits or additional information to the rendering.

Use when you are not using personalization or sites to gain a little performance boost in rendering.

RequestFetcher

Sends a request to Magnolia to preview the selected content node and captures the returned page. Since RequestFetcher is actually sending a request to Magnolia to preview a page, the request will be processed as a normal HTTP requests, personalization traits and other traits will be determined as usual when previewing a page.

Use when you are using Personalization or Magnolia’s Site module to ensure that the rendered content is correct.

Changelog

Version Notes

6.2

Fixed installation issues for Magnolia 6.2.

6.1.1

Corrected execution of audits in workflows.

  • clean up of VAADIN v7 usage

  • SEO-22

6.1

5.6.6

  • added HtmlCrossReferenceAuditor.

  • clean up of YAML definitions and internationalization.

  • corrected NullPointerExceptions when viewing audit results.

5.6.5

  • Extensions to info.magnolia.services.seo.audit.impl.HtmlElementAuditor for checking values with regular expressions.

  • Fixes to info.magnolia.services.seo.audit.impl.external.MozAuditor to handle connection failures.

  • Sample configuration for TextGears and Moz services.

5.6.4

Corrected app definition errors.

5.6.3

Code cleanup.

5.6.2

5.6.1

Workflow integration.

5.6

Initial release of the extensions version of the module.

Feedback

Incubators

×

Location

This widget lets you know where you are on the docs site.

You are currently perusing through the SEO module docs.

Main doc sections

DX Core Headless PaaS Legacy Cloud Incubator modules