Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bitrix Cache Warmer

🧊 Умный скрипт для прогрева композитного кэша сайтов на 1С-Битрикс с помощью Puppeteer.

🚀 Возможности

  • 🔍 Автоматический парсинг sitemap.xml
  • 🎯 Приоритезация URL по шаблонам (/catalog/, /services/, и др.)
  • 🔐 Исключение системных и административных URL
  • 🚫 Блокировка загрузки сторонних JS-ресурсов (Google, Yandex, VK, Facebook и др.)
  • 🧠 Проверка композитного кэша через BX.getCacheFlag()
  • 🗂 Прогрев выполняется батчами по 50 страниц (перезапуск Chromium после каждого батча)
  • 📊 Подробное логирование в файл с датой запуска
  • 💥 Повторная попытка при таймаутах загрузки страницы

🛠 Установка

git clone https://github.com/yourname/bitrix-cache-warmer.git
cd bitrix-cache-warmer
npm install

📦 Зависимости

  • Node.js >= 16
  • puppeteer
  • axios
  • xml2js

Установка вручную:

npm install puppeteer axios xml2js

⚙️ Настройка

Внизу index.js находятся настройки:

const sites = [
  'https://example.ru',
  'https://example.kz'
];

const options = {
  maxConcurrency: 2,
  maxUrlsPerSite: 500,
  timeoutPerPage: 60000,
  delay: { min: 1000, max: 3000 },
  priorityPatterns: ['/catalog/', '/products/']
};

Также можно указать userAgent, изменить размер батча, лог-папку и т.д.

📄 Логи

Все логи пишутся в:

~/logs/bitrix_cache_warmer/cache_warming_YYYY-MM-DD.log

🧪 Запуск

node index.js

💡 Рекомендации

  • Не запускайте более 3-5 потоков одновременно — Puppeteer потребляет память.
  • Можно настроить крон-задание на ночной прогрев кэша.
  • Не требуется авторизация или административные права.

Поддержка Bitrix Composite Cache без лишней нагрузки и с проверкой результата!

About

Обходчик сайтов для генерации кэша (оч эффективная штука для подогрева композитного кэша 1c bitrix)

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages