By default lastmod, changefreq and changecount are not written to the sitemap.xml for taxonomy terms by the xmlsitemap module. Fortunately, there is a hook for changing this. The result can be seen on sitemap.xml.
<?php/** * Fetch all timestamps when a taxonomy term or his direct child was changed. * * @param $node * A node object. * @return * An array of UNIX timestamp integers. */function _YOUR_MODULE_term_get_timestamps(stdClass $term) { static $term_timestamps = array(); if (!isset($term_timestamps[$term->tid])) { $term_timestamps[$term->tid] = db_query("SELECT ti.created FROM {taxonomy_index} ti WHERE ti.tid = :tid UNION ALL SELECT ti.created FROM {taxonomy_term_hierarchy} th, {taxonomy_index} ti WHERE th.parent = :tid AND th.tid = ti.tid", array(':tid' => $term->tid))->fetchCol(); } return $term_timestamps[$term->tid];}/** * Add changefreq, changecount and lastmod for taxonomy terms. * * Implements hook_xmlsitemap_link_alter. * * @param $link * An array with the data of the sitemap link. */function YOUR_MODULE_xmlsitemap_link_alter(&$link) { if ($link['type'] == 'taxonomy_term') { // dpm($link, 'link'); $tid = $link['id']; $term = taxonomy_term_load($tid); // dpm($term); // Always recalculate changefreq and changecount. $timestamps = _YOUR_MODULE_term_get_timestamps($term); $link['changefreq'] = $term->tid ? xmlsitemap_calculate_changefreq($timestamps) : 0; $link['changecount'] = $term->tid && (count($timestamps) > 0) ? count($timestamps) - 1 : 0; $link['lastmod'] = count($timestamps) > 0 ? max($timestamps) : 0; }}?>