Общие

Не верно генерируются региональные sitemap у аспро максимум

Не верно генерируются региональные sitemap у аспро максимум

🔴 Главные проблемы:

1. Отсутствуют критически важные правила

В вашем файле НЕТ двух обязательных правил из рекомендаций:

# ASPRO_SITEMAP_sitemap_files - ОТСУТСТВУЕТ!
RewriteCond %{REQUEST_FILENAME} sitemap_files.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap_files.php -f
RewriteRule ^(.*)$ /sitemap_files.php [L]

# ASPRO_SITEMAP_sitemap - ОТСУТСТВУЕТ!
RewriteCond %{REQUEST_FILENAME} sitemap.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap.php -f
RewriteRule ^(.*)$ /sitemap.php [L]

У вас есть только sitemap-files.xml (с дефисом), но нет основных sitemap_files.xml и sitemap.xml.

2. Неправильное расположение правил Битрикса

Правила для urlrewrite.php должны идти ПОСЛЕ всех правил ASPRO, но у вас они идут сразу после robots.txt.

✅ Исправленный .htaccess:

Options -Indexes
ErrorDocument 404 /404.php

*
Options +FollowSymLinks
RewriteEngine On

# Let's Encrypt verification
RewriteRule ^\.well-known/acme-challenge/ - [L]

# ASPRO_SITEMAP_sitemap_files Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap_files.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap_files.php -f
RewriteRule ^(.*)$ /sitemap_files.php [L]

# ASPRO_SITEMAP_sitemap Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap.php -f
RewriteRule ^(.*)$ /sitemap.php [L]

# ASPRO_SITEMAP_sitemap-iblock-9 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-9.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-9.php -f
RewriteRule ^(.*)$ /sitemap-iblock-9.php [L]

# ASPRO_SITEMAP_sitemap-iblock-7 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-7.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-7.php -f
RewriteRule ^(.*)$ /sitemap-iblock-7.php [L]

# ASPRO_SITEMAP_sitemap-iblock-6 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-6.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-6.php -f
RewriteRule ^(.*)$ /sitemap-iblock-6.php [L]

# ASPRO_SITEMAP_sitemap-iblock-5 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-5.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-5.php -f
RewriteRule ^(.*)$ /sitemap-iblock-5.php [L]

# ASPRO_SITEMAP_sitemap-iblock-39 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-39.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-39.php -f
RewriteRule ^(.*)$ /sitemap-iblock-39.php [L]

# ASPRO_SITEMAP_sitemap-iblock-15 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-15.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-15.php -f
RewriteRule ^(.*)$ /sitemap-iblock-15.php [L]

# ASPRO_SITEMAP_sitemap-iblock-14 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-14.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-14.php -f
RewriteRule ^(.*)$ /sitemap-iblock-14.php [L]

# ASPRO_SITEMAP_sitemap-iblock-13 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-13.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-13.php -f
RewriteRule ^(.*)$ /sitemap-iblock-13.php [L]

# ASPRO_SITEMAP_sitemap-iblock-12 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-12.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-12.php -f
RewriteRule ^(.*)$ /sitemap-iblock-12.php [L]

# ASPRO_SITEMAP_sitemap-iblock-11 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-11.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-11.php -f
RewriteRule ^(.*)$ /sitemap-iblock-11.php [L]

# ASPRO_SITEMAP_sitemap-iblock-10 Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-iblock-10.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-10.php -f
RewriteRule ^(.*)$ /sitemap-iblock-10.php [L]

# ASPRO_SITEMAP_sitemap-files Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap-files.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap-files.php -f
RewriteRule ^(.*)$ /sitemap-files.php [L]

# ASPRO_ROBOTS Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} robots.txt
RewriteCond %{DOCUMENT_ROOT}/robots.php -f
RewriteRule ^(.*)$ /robots.php [L]

# Bitrix URL rewrite (должно быть в конце!)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]

RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]

*
DirectoryIndex index.php index.html

*
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"

📋 Что нужно сделать:

  • Добавьте два недостающих правила для sitemap_files.xml и sitemap.xml

  • Проверьте, что соответствующие PHP-файлы существуют:

  • /sitemap_files.php

  • /sitemap.php

  • Очистите кеш Битрикса после внесения изменений

  • Проверьте права на файлы .htaccess (должны быть 644 или 664)

После этих изменений региональные sitemap должны начать корректно работать с поддоменами.

Чтобы заработали региональные sitemap и robots АСПРО

Надо их сгенерировать в разделе Аспро-> Генерация файлов -> sitemap.xml

после этого они появятся в папке /aspro_regions

если с robots всё понятно и региональный файл подцепляется сразу, то с sitemap не так всё быстро.

в htaccess добавляются правила подмены robots.txt на robots.php

для каждого инфоблока и статичных файлов sitemap***.xml на sitemap***.php

в некоторых версиях было пропущено правило для sitemap.xml

ASPRO_SITEMAP_sitemap-files Serve sitemap.xml with sitemap.php only if the latter exists

RewriteCond %{REQUEST_FILENAME} sitemap.xml

RewriteCond %{DOCUMENT_ROOT}/sitemap.php -f

RewriteRule ^(.*)$ /sitemap.php [L]

добавили правило - sitemap теперь показывает правильный.

[https://aspro.ru/docs/course/course58/lesson3862/](https://aspro.ru/docs/course/course58/lesson3862/)

Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →