Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Sitemap XML get Cache on Dispatcher Server

Avatar

Level 2

Hi Friends ,

  Whenever user Activate , Deactivate or Delete AEM Pages. Changes are not reflected on Sitemap XML. Is there any way to deal with this?

 

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Hi @Sanket_Dange!

 

If this is a caching issue, it is probably related to the statfileslevel [1] in your dispatcher configuration. The dispatcher invalidates certain parts of the content tree in the cache based on this configuration. The general recommendation is to set the statfileslevel as high as possible but as low as necessary for your website. This may somehow be conflicting with the Sitemap XML as it is usually placed at the root of the website.

 

There are different ways to handle this, depending on the overall structure of your website:

  • Move the sitemap.xml to a higher level in the content hierarchy so that it lies within the invalidated area covered through the statfileslevel setting.
    You can manage the URL to the sitemap through rewrite rules on the dispatcher and still expose it externally on the root level.
  • User ACS AEM Commons Dispatcher Flush Rules [2] to define a mapping that invalidates the sitemap whenever a page of your website is invalidated.
  • Usually not the best solution: decrease the statfileslevel until it also invalidates your sitemap xml.

 

If this is not a caching issue it is hard to give advice without any knowledge about your implementation of the sitemap xml generation.

 

Hope that helps!

 

[1] https://experienceleague.adobe.com/docs/experience-manager-dispatcher/using/configuring/dispatcher-c...

[2] https://adobe-consulting-services.github.io/acs-aem-commons/features/dispatcher-flush-rules/index.ht...

View solution in original post

4 Replies

Avatar

Correct answer by
Employee Advisor

Hi @Sanket_Dange!

 

If this is a caching issue, it is probably related to the statfileslevel [1] in your dispatcher configuration. The dispatcher invalidates certain parts of the content tree in the cache based on this configuration. The general recommendation is to set the statfileslevel as high as possible but as low as necessary for your website. This may somehow be conflicting with the Sitemap XML as it is usually placed at the root of the website.

 

There are different ways to handle this, depending on the overall structure of your website:

  • Move the sitemap.xml to a higher level in the content hierarchy so that it lies within the invalidated area covered through the statfileslevel setting.
    You can manage the URL to the sitemap through rewrite rules on the dispatcher and still expose it externally on the root level.
  • User ACS AEM Commons Dispatcher Flush Rules [2] to define a mapping that invalidates the sitemap whenever a page of your website is invalidated.
  • Usually not the best solution: decrease the statfileslevel until it also invalidates your sitemap xml.

 

If this is not a caching issue it is hard to give advice without any knowledge about your implementation of the sitemap xml generation.

 

Hope that helps!

 

[1] https://experienceleague.adobe.com/docs/experience-manager-dispatcher/using/configuring/dispatcher-c...

[2] https://adobe-consulting-services.github.io/acs-aem-commons/features/dispatcher-flush-rules/index.ht...

Avatar

Community Advisor

If you are using ACS Common, you can delete sitemap.xml from the dispatcher cache as soon as you publish anything/page



Arun Patidar

Avatar

Level 1

in farm.any file
/0028 { /type "allow" /glob "* /homep.sitemap.xml*" }

 and

/cache
{
/invalidate
{
/0000 { /glob "* /homep.sitemap.xml*" /type "allow"}
}
}

when I have added /invalidate then homep.sitemap.xml file is deleted on dispatcher. I want to invalidate not to delete that file. file.