# Виправила мапу сайту, де 172 з 176 URL мали одну позначку часу зміни, взявши дату з історії git, після того як з'ясувала, що експорт переписує кожен файл під час кожного запуску.

серпень 2026

**Ситуація.** Карта сайту повідомляла пошуковим системам, що 172 зі 176 його сторінок востаннє змінилися в ту саму мить. Це не дрібна неточність: дата зміни — це обіцянка пошуковому роботові, що вміст сторінки змінився, і сайт, який дає таку обіцянку 172 рази одночасно, або правдиво повідомляє про повне переписування, або не повідомляє нікому нічого корисного.

**Завдання.** Дати мали описувати вміст, а не файл, і не вигадувати точності, якої в репозиторії немає.

**Дія.** Причина була в тому, що дату брали з часу зміни файлу, а експорт вмісту переписує всі файли під час кожного запуску, тож одна синхронізація проставляла ту саму дату всьому корпусу. Виправлення робить джерелом дати історію версій із ланцюжком резервних варіантів: спершу явно задане поле, потім історія комітів, потім файл. Пастку в цьому виправленні варто зафіксувати: назву поля треба буквально вказати в переліку, інакше генератор його ніколи не прочитає, тож конфігурація, яка нібито надає перевагу даті, заданій автором, але не містить цієї назви, непомітно ігнорує всі такі дати. Під час тієї самої роботи ухвалили ще два рішення щодо дат. Тепер база даних зберігає, коли кожен запис було написано й востаннє відредаговано, і ці дати навмисно відокремлено від того, коли відбулася сама робота: між ними роки, і якби їх змішати, сторінка, написана цього року, отримала б дату десятирічної давнини. А рядки в цьому файлі необов'язкові, і жодну дату не виводять з інших даних, бо історія самого репозиторію починається пізніше, ніж вміст: якщо дати немає, поле лишається порожнім, а не отримує дату перенесення, — за принципом, що точне, але хибне число гірше, ніж його відсутність, бо вірять саме хибному.

**Результат.** Повторна синхронізація після місяця редагування вмісту тепер змінює вісім файлів зі 186, а не всі, і карта сайту повідомляє правду. Загальне правило теж записали в документ про метадані, бо та сама пастка загрожує кожному полю з ланцюжком резервних варіантів.

---

- Роль: Керівник цифрової присутності та SEO
- Категорії: [Веброзробка](https://brand.engineer.company/uk/categories/web-development/), [Автоматизація та CI/CD](https://brand.engineer.company/uk/categories/automation/), [Тестування та QA](https://brand.engineer.company/uk/categories/testing/), [Python](https://brand.engineer.company/uk/categories/python/), [Бренд і маркетинг](https://brand.engineer.company/uk/categories/brand-marketing/)
- Послуги: [Розробка вебсайтів та CMS](https://brand.engineer.company/uk/services/web-development/), [Готовність до ШІ‑агентів](https://brand.engineer.company/uk/services/ai-agent-readiness/), [DevOps та автоматизація CI/CD](https://brand.engineer.company/uk/services/devops-cicd/), [Бренд, маркетинг та SEO](https://brand.engineer.company/uk/services/brand-marketing/)

<https://brand.engineer.company/uk/portfolio/fixed-a-sitemap-with-one-shared-timestamp-140/>
