Расписывать долго не буду, просто предоставляю вашему вниманию плагин для Evolution, который добавляет в конец ссылки подключаемых скриптов и картинок время последнего изменения. Таким образом браузер при загрузке страницы будет всегда брать актуальную версию файла.

Это решение для тех, кто устал уже читать фразы от клиентов в духе: «А у меня картинка на сайте не поменялась, а у меня аккардерон не работает, а у меня шрифт не очень зеленый до сих пор.»

Решение накидал на скорую руку, поэтому код не самый идеальный (но рабочий), если кто поправит — буду признателен)

Название — любое.
Событие — OnWebPagePrerender
$base = $modx->config['site_url'];		
$files_origin = array();
$files_new = array();		
$expansion='css,js,jpeg,jpg,png';		
$content = $modx->Event->params['documentOutput'];
		
		
preg_match_all('/(link|href)=("|\')[^"\'>]+/i', $content, $media);
$data = preg_replace('/(link|href)("|\'|="|=\')(.*)/i', "$3", $media[0]);
foreach ($data as $url) 
{	
	$a = substr(strrchr($url, '.'), 1);			
	$b = explode('?',$a);
	$ex = explode('/',$b[0]);	
	$fo = explode('?',$url);			
	$file_name = str_replace($base,'',$fo[0]);

	if (in_array(mb_strtolower($ex[0]),explode(',',$expansion))) 
	{		
	$fa = @stat($file_name);
		if ($fa)
		{
			$files_origin[] = $url;
			$files_new[] = $fo[0].'?v='.$fa['mtime'];				
		}
	}
}

		
preg_match_all('/(script|img||src)=("|\')[^"\'>]+/i', $content, $media);
$data = preg_replace('/(script|src)("|\'|="|=\')(.*)/i', "$3", $media[0]);
foreach ($data as $url) 
{	
	$a = substr(strrchr($url, '.'), 1);			
	$b = explode('?',$a);
	$ex = explode('/',$b[0]);	
	$fo = explode('?',$url);			
	$file_name = str_replace($base,'',$fo[0]);

	if (in_array(mb_strtolower($ex[0]),explode(',',$expansion))) 
	{		
	$fa = @stat($file_name);
		if ($fa)
		{
			$files_origin[] = $url;
			$files_new[] = $fo[0].'?v='.$fa['mtime'];				
		}
	}
		
}
		
$content = str_replace($files_origin,$files_new,$content);		
$modx->Event->output($content);