The Link Checker
- Topics:
- Administering
CREATED FOR:
- Admin
Content authors should not have to concern themselves with validating every link that they include in their content pages.
The Link Checker runs automatically assist content authors with their links including:
- Validating links as they are added to content
- Showing a list of all external links in the content
- Performing link transformations
The Link Checker has a number of configuration options such as defining the validation internal, allowing certain links or link patters to be omitted from validation, and rewriting link rewriting rules.
The Link Checker validates both internal links and external links.
Internal Link Checking
Internal links are links to other content in your AEM repository. Internal links can be added using the path picker the RTE or using a custom component. For example:
- Your page
/content/wknd/us/en/adventures/ski-touring.html
- Contain a link to
/content/wknd/us/en/adventures/extreme-ironing.html
in a Text Component.
Internal links are validated as soon as the content author adds an internal links to a page. If the link becomes invalid:
- It is removed from the publisher. The text of the link remains, but the link itself is removed.
- It is shown as a broken link in the authoring interface.
External Link Checking
External links are links to content outside of your AEM repository. External links can be added using the RTE or using a custom component. For example:
- Your page
/content/wknd/us/en/adventures/ski-touring.html
- Contain a link to
https://bunwarmerthermalunderwear.com
in a Text Component.
External links are validated for syntax and by checking their availability. This check is done asynchronously at a configurable internal. If the Link Checker finds an external link invalid:
- It is removed from the publisher. The text of the link remains, but the link itself is removed.
- It is shown as a broken link in the authoring interface.
In addition, the External Link Checker interface provides an overview of all external links on your content pages.
Using the External Link Checker
To use the External Link Checker:
- Using Navigation, select Tools, then Sites.
- Select External Link Checker and a list of all external links is displayed.
The following information is displayed:
-
Status - The validation status of the link which can be one of the following:
- Valid - The external link is reachable by the Link Checker
- Pending - The external link was added to site content, but has not yet been validated by the Link Checker
- Invalid - The external link is not reach able by the Link Checker
-
URL - The external link
-
Referrer - The content page that contains the external link
- This is only populated if configured.
-
Last Checked - The last time the Link Checker validated the external link
- How often links are checked is configurable.
-
Last Status - The last HTML status code returned when the Link Checked last checked the external link
-
Last Available - Time since the link was last available to the Link Checker
-
Last Accessed - time since the page with the external link was last accessed in the authoring interface
You can manipulate the content of the window, by using the two buttons at the top of the list of links:
- Refresh - To refresh the content of the list
- Check - To check an individual external link selected in the list
How the External Link Checker Works
Though easy to use, the External Link Checker relies on a number of services and understanding how they work helps you understand how to configure the Link Checker to meet your needs.
- Whenever a content author saves any link to a page, an event handler is triggered.
- The event handler traverse all content under
/content
and checks for new or updated links and adds them to a cache for the Link Checker. - The Day CQ Link Checker Service then executes on a regular schedule to check the entries in the cache for valid syntax.
- The syntax-validated links then appear in the External Link Checker window. However they will be in a Pending state.
- The Day CQ Link Checker Task then executes on a regular basis to validate the links by making a GET call.
- The Day CQ Link Checker Task then updates the entries in the External Link Checker window with the results of the GET calls.
Configuring the Link Checker
The Link Checker is available automatically out-of-the-box in AEM. However there are a number of OSGi configurations that can be modified to change its behavior:
- Day CQ Link Checker Info Storage Service - This service defines the size of the Link Checker cache in the repository.
- Day CQ Link Checker Service - This service performs asynchronous checking of the syntax of external links. You can define the check period and which types of links are skipped by the checker among other options.
- Day CQ Link Checker Task - This service performs the GET validation of external links. It allows separate definitions of intervals to check bad and good links among other options.
- Day CQ Link Checker Transformer - Allows for converting links based on a user-defined rule set.
See the document OSGi Configuration Settings for more details on how to change OSGi settings.
Disabling the Link Checker
You may choose to disable the Link Checker entirely. To do so:
-
Open the OSGi console.
-
Edit the Day CQ Link Checker Transformer
-
Check the option(s) you wish to disable:
- Disable Checking - to disable validation of links
- Disable Rewriting - to disable link transformations
Experience Manager
- Administering User Guide overview
- Sites Features
- Website Administration
- Reusing Content: Multi Site Manager and Live Copy
- Live Copy Overview Console
- Configuring Live Copy Synchronization
- Creating and Synchronizing Live Copies
- MSM Rollout Conflicts
- MSM Best Practices
- Translating Content for Multilingual Sites
- Managing Translation Projects
- Identifying Content to Translate
- Preparing Content for Translation
- Creating a Language Root Using the Classic UI
- Connecting to Microsoft Translator
- Configuring the Translation Integration Framework
- Language Copy Wizard
- Translation Enhancements
- Translation Best Practices
- Configurations and the Configuration Browser
- AEM FAQs
- Operations
- Dashboards
- Operations Dashboard
- Backup and Restore
- Data Store Garbage Collection
- Monitoring Server Resources Using the JMX Console
- Working with Logs
- Configure the Rich Text Editor
- Configure the Video component
- The Bulk Editor
- Configuring Email Notification
- Configuring RTE for Producing Accessible Sites
- The Link Checker
- Troubleshooting AEM
- Audit Log Maintenance in AEM 6
- Editor
- Managing Access to Workflows
- Using cURL with AEM
- Configuring Undo for Page Editing
- Proxy Server Tool (proxy.jar)
- Configuring for AEM Apps
- Administering Workflows
- Configuring Search Forms
- Tools Consoles
- Reporting
- Administering Workflow Instances
- Configuring Layout Container and Layout Mode
- Enabling Access to Classic UI
- Starting Workflows
- Configure the Rich Text Editor plug-ins
- Admin Consoles
- Security
- User Administration and Security
- User, Group and Access Rights Administration
- Security Checklist
- OWASP Top 10
- Running AEM in Production Ready Mode
- Identity Management
- Adobe IMS Authentication and Admin Console Support for AEM Managed Services
- Creating a Closed User Group
- Mitigating serialization issues in AEM
- User Synchronization
- Encapsulated Token Support
- Single Sign On
- How to Audit User Management Operations in AEM
- SSL By Default
- SAML 2.0 Authentication Handler
- Closed User Groups in AEM
- Granite Operations - User and Group Administration
- Enabling CRXDE Lite in AEM
- Configuring LDAP with AEM 6
- Configure the Admin Password on Installation
- Service Users in AEM
- Encryption Support for Configuration Properties
- Handling GDPR Requests for the AEM Foundation
- Content Disposition Filter
- Personalization
- eCommerce
- Integration
- Integrating with Third-Party Services
- Integrating with Salesforce
- Integrating with Adobe Target
- Integrating with Adobe Analytics
- Connecting to Adobe Analytics and Creating Frameworks
- Configuring Link Tracking for Adobe Analytics
- Mapping Component Data with Adobe Analytics Properties
- Configuring Video Tracking for Adobe Analytics
- HTTP2 Delivery of Content FAQ
- Troubleshooting your Adobe Campaign Integration
- SharePoint Connector Licenses, Copyright Notices, and Disclaimers
- SharePoint Connector
- DHTML Viewer End-of-Life FAQs
- Integrating with Adobe Campaign Classic
- Related Community Articles
- Integrating with Adobe Campaign Standard
- Flash Viewers End-of-Life Notice
- Integrating with Adobe Creative Cloud
- Integrating with Adobe Dynamic Tag Management
- Opting Into Adobe Analytics and Adobe Target
- AEM Portals and Portlets
- Integrating with Dynamic Media Classic
- Troubleshooting Integration Issues
- Integrating with BrightEdge Content Optimizer
- Best Practices for Email Templates
- Catalog Producer
- Integrating with Silverpop Engage
- Integrating with Adobe Campaign
- Integrating with ExactTarget
- Analytics with External Providers
- Integrating with the Adobe Marketing Cloud
- Manually Configuring the Integration with Adobe Target
- Prerequisites for Integrating with Adobe Target
- Adobe Classifications
- Solutions Integration
- Target Integration with Experience Fragments
- Best Practices
- Content Management