Кроме того каждая разбитая часть на множество мелких map, должна удовлетворять тем-же требованиям, вот это уже Sitemap FX 1.0.8 не делает. Решаем эту проблему с небольшим дополнением.
Открываем: sitemap.php
Находим
Код: Выделить всё
sitemap_fx_forum((int) $row['forum_id']);
Код: Выделить всё
$sitemap_index_file .= sitemap_fx_forum((int) $row['forum_id']);
Находим
Код: Выделить всё
$sitemap_file = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
$sitemap_file .= "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
Код: Выделить всё
$rows = 0;
$mapa = 1;
$sitemap_file = '';
$sitemap_index_file = '';
Код: Выделить всё
for ($i=0; $i<=$pages; $i++)
{
Код: Выделить всё
if ($rows && ($rows % (30000 * $mapa)) == 0) //30000 это количество ссылок в карте.
{
$sitemap_files = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
$sitemap_files .= "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
$sitemap_files .= $sitemap_file . "</urlset>\n";
$w = fopen('sitemap/' . $forum_id . '-' . $mapa . '.xml','w');
fwrite($w, $sitemap_files);
fclose($w);
$sitemap_index_file .= "<sitemap>\n";
$sitemap_index_file .= "<loc>" . $url . '/sitemap/' . $forum_id . "-" . $mapa . ".xml</loc>\n";
$sitemap_index_file .= "<lastmod>" . date('Y-m-d\TH:i:s+00:00', time()) . "</lastmod>\n";
$sitemap_index_file .= "</sitemap>\n";
$sitemap_file = '';
$mapa++;
}
$rows++;
Код: Выделить всё
$sitemap_file .= "</urlset>\n";
$w=fopen('sitemap/'.$forum_id.'.xml','w');
fwrite($w,$sitemap_file);
fclose($w);
Код: Выделить всё
if ($sitemap_file)
{
$sitemap_filed = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
$sitemap_filed .= "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
$sitemap_filed .= $sitemap_file . "</urlset>\n";
$w = fopen('sitemap/' . $forum_id . '.xml','w');
fwrite($w, $sitemap_filed);
fclose($w);
}
return $sitemap_index_file;
Данная модификация необходима для крупных форумов, >=100000 сообщений, использующих Sitemap FX v1.0.8. Соответствие карты проверяется в Webmasters – Google.