Expand my Community achievements bar.

SOLVED

How to reduce huge content structure on page leading to Node Traverse reach Threshold limit?

Avatar

Level 2

Hi All,

We have few pages with complicated content structure holding just static content. something like below.

Veena1_0-1738167255550.png

Most of the content sections in the screenshot above has hosted various static components with similar structure below.

Veena1_1-1738167526165.png

When i try to hit the page Logs indicate Node traverse threshold reached limit 

29.01.2025 15:58:33.694 *ERROR* [10.0.2.2 [1738166313592] GET /content/Sample/BB/Check/products/product.html HTTP/1.1] com.day.cq.wcm.core.impl.designer.SearchPathLimiter No style has been found until search path threshold: 10000 was reached.

 

Issue Seems to be because of too many components on the page to be traversed as node from AEM scripts.

Any suggestions on best ways to reduce this structure? can we try to use them in the form of Experience fragments since all the components in content section are static in nature.

 

1 Accepted Solution

Avatar

Correct answer by
Level 2

@aanchal-sikka Making changes in the config suggested by you didnt work

Veena1_0-1738251871941.png

But i tried to make changes in Designer Factory Configuration by increasing the value and it worked

Veena1_1-1738251906717.png

And its only a temporary solution. Its better to make reduce page content as long term solution

View solution in original post

6 Replies

Avatar

Level 9

Hi @Veena1 

 

Ideally would be to have simply the page structure, of course without affecting the UX/UI. Not sure how hard would such a rework be for your team.

 

If that is out of question, you could try indeed to create XFs. I imagine the page itself would become lighter, even if the total amount of component and nodes involved will still be the same I assume (more or less). But I believe the traversal will happen for each separately (I am not an expert on this specific point, maybe someone can give us some deep insight on how AEM works regarding traversing resources and referenced resources).

 

You can also increase the traversal limit, but that is a bit dangerous: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/the-query-read-or-traverse...

Avatar

Community Advisor

Hi @Veena1 ,

Experience Fragments (XF) and Content Fragments (CF) are the best solutions to reduce node traversal. Additionally, reducing nesting, using caching, and leveraging CSS-based styling will significantly improve performance.

Some recommended actions:

  • Convert reusable static content into experience fragments.
  • Reduce nested structures inside components.
  • Use content fragments instead of multiple text components.
  • Store template-level structures in Editable Templates.
  • Enable Dispatcher Caching for static pages.

Regards,

Shiv Prakash

Avatar

Community Advisor

@Veena1 

 

For the current page to work, you might need to update following config:

aanchalsikka_0-1738206793003.png

 

In parallel, you should try combining smaller components to create one composite component. That is reduce the number of script calls being made to resolve & render a component.

This would make it easy to author & debug as well.

 

Once new components are ready, gradually update old pages to use new composite component. Preferably target the page that is served / updated more frequently.

 


Aanchal Sikka

Avatar

Level 2

Hey @aanchal-sikka ,

Thanks for your suggestions.

the pages are loading fine w/o any issue. i am mostly concerned about the logs which indicate the errors threshold on traversal limit. 

For now i guess reducing the limit in config Apache Sling main servlet u suggested should do good.

Avatar

Correct answer by
Level 2

@aanchal-sikka Making changes in the config suggested by you didnt work

Veena1_0-1738251871941.png

But i tried to make changes in Designer Factory Configuration by increasing the value and it worked

Veena1_1-1738251906717.png

And its only a temporary solution. Its better to make reduce page content as long term solution

Avatar

Community Advisor

Thank you @Veena1 for sharing the solution that helped.

 

As you suggested, we should definitely reduce the number of script calls. It can include Composite components or CF to save data in one node (holding data together) & one script rendering it.


Aanchal Sikka