Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Sitemap XML get Cache on Dispatcher Server

Sanket_Dange
Level 2
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
markus_bulla_adobe
Correct answer by
Employee
Employee

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
markus_bulla_adobe
Correct answer by
Employee
Employee

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

Arun_Patidar
Community Advisor
Community Advisor

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

sank
Level 1
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.