How to disable Adobe CQ Link Checker

Adobe CQ Nov 04, 2014

What is Adobe CQ Link Checker?

Link Checker is an out of the box component of Adobe CQ. It checks all the external link of content pages and make list them as valid or invalid. Invalid links show as a broken link icon on a content page.

You can check the External link checker queue from Tools console (or using the link http://localhost:4502/etc/linkchecker.html). It only shows the external host links, even though the Link checker component checks all the internal and external links. Another thing to note is for nonexistent links or non 200 http status code the link checker always shows valid.

AEM External Link Checker

Invalid links are shown as broken links in the content page.
Adobe CQ/ AEM Invalid Link

In some cases the Link Checker make a link as invalid even though it a valid one. It usually happens if you generate links with multiple suffix path with a selector. In such cases you might need to skip the link checker for those links or disable link checker totally. I have listed 4 ways to disable or skip the CQ Link Checker.

1. Disable link checker programmatically:

Turn off link checker on your component’s JSP file before printing your links.

 <%@page import="com.day.cq.rewriter.linkchecker.*"%>
 <% // Disable the LinkChecker for external links. LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true); // Disable the LinkChecker for internal links. LinkCheckerSettings.fromRequest(slingRequest).setIgnoreInternals(true); %>

Then re-enable link checker after output your links.

 
<% // Re-enable the LinkChecker. LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(false); LinkCheckerSettings.fromRequest(slingRequest).setIgnoreInternals(false); %>

2. Tag property:

You can also mark the links as valid by using x-cq-linkchecker=“valid” property in your <a> tag. In this case Link Checker will check the link but always mark as valid.
If you also use x-cq-linkchecker=“skip”, Link checker will not check the link and mark as valid.

3. Disable link checker using Regular expression:

From the OSGi Configuration console (http://localhost:4502/system/console/configMgr) you can update pattern. First look for “Day CQ Link Checker Service” and open it.
Then change the Link Check Override Patterns from “^system/“ to “^.”

CQ Link Checker pattern

To persist the changes in your code base, you can copy the base component config node from /libs/cq/linkchecker/config/com.day.cq.rewriter.linkchecker.impl.LinkCheckerImpl to your project folder and update the node.
You can find the OSGi service PID at the bottom of the config dialog box.

AEM OSGi PID

Alternatively, you can add this to your maven project under your project config folder.
/app/myapp/config.publish/com.day.cq.rewriter.linkchecker.impl.LinkCheckerImpl.xml

And then update the corresponding variable in an editor.


After the changes loaded onto your CQ server, delete the node /var/linkchecker from crx/de lite.

4. Disable Link checker by Configuration:

You can update the configuration from OSGi Confutation console (http://localhost:4502/system/console/configMgr). Look for “Day CQ Link Checker Transformer” and open it. Then check “Disable Rewriting” option for disable link re-writing and check “Disable Checking” option for disable all links checking completely.

CQ Disable Link Checker
To persist the changes in your code base, you can add a file in your project. Add the file /apps/yourapp/config/com.day.cq.rewriter.linkchecker.impl.LinkCheckerTransformerFactory.config then
Add the following properties in the file,

linkcheckertransformer.strictExtensionCheck=B"false"
linkcheckertransformer.rewriteElements=["a:href","area:href","form:action"]
linkcheckertransformer.disableRewriting=B"true"
linkcheckertransformer.disableChecking=B"true"
linkcheckertransformer.stripHtmltExtension=B"false"
linkcheckertransformer.mapCacheSize=I"5000"

After the changes loaded onto your CQ server, delete the node /var/linkchecker from crx/de lite.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.