Я столкнулся с проблемой Next.js, из-за которой статические имена файлов CSS изменяются между сборками, что приводит к проблемам с кэшированием в поисковых системах, таких как Google. Вот подробное описание проблемы и того, что я пробовал на данный момент:
Описание проблемы:
Next.js генерирует статические файлы JS и CSS. в процессе сборки. Когда стили изменяются и создается новая сборка, Next.js восстанавливает эти статические файлы с новыми именами. Например, после первоначальной сборки на вкладке «Сеть» может отображаться:
Домашняя страница: 1.css, 1a.css
О странице: 2.css
Контакты Страница: 3.css
После изменения стиля домашней страницы и перестройки имена файлов могут измениться на:
Домашняя страница: 123.css, 1a.css
О странице: 2.css
Страница контактов: 3.css
Проблема:
Google кэширует старые имена файлов (1.css для домашней страницы). , например). При повторном сканировании страницы обновленный файл CSS (123.css) не обнаруживается, что приводит к неработающим стилям в кэшированных версиях.
Что я пробовал:
Чтобы решить эту проблему, я попытался изменить next.config.js, чтобы статические CSS-файлы сохраняли одни и те же имена в разных сборках. Однако этот подход привел к многочисленным ошибкам, что указывает на то, что это может быть неправильный метод.
Просьба о помощи:
Мне нужно оптимальное решение. чтобы предотвратить изменение статических имен файлов CSS в разных сборках в Next.js. Цель состоит в том, чтобы поддерживать целостность кэша поисковых систем. Мы будем очень признательны за любые идеи или предложения о том, как этого добиться.
Tech Stack
- < li>Nextjs 13
- TailwindCSS
есть глобальный CSS, а также импорт CSS для таких библиотек, как React-Toastify и Swiper
Имя файла текущей страницы, ссылки на уведомление о сборке и сети
введите изображение описание здесь
после добавления «cache:» перед ссылкой обратите внимание на неработающие стили в версии кэша Google и на вкладке «Сеть».введите описание изображения здесь
Что я пробовал:
Чтобы решить эту проблему, я попытался изменить next.config.js, чтобы статические файлы CSS сохраняли одни и те же имена в разных сборках. Однако этот подход привел к многочисленным ошибкам, что указывает на то, что это может быть неправильный метод.
Подробнее здесь: https://stackoverflow.com/questions/785 ... in-cache-i