mysurik.ru

Как я обновлялся до WordPress 7.0 Armstrong и что из этого вышло

Как я обновлялся до WordPress 7.0 Armstrong и что из этого вышло



Сижу я как-то вечером

Проверяю почту, и вижу — вышла семёрка. WordPress 7.0 «Armstrong». Я обычно не прыгаю на мажорные релизы в первый же день, помню ещё ту боль с Gutenberg в 5.0, когда половина плагинов отвалилась. Но тут обещали AI прямо в ядре. Это же мой хлеб — я ж целый ComfyUI на CPU поднимал, чтобы картинки генерировать. А тут встроенный AI Client с поддержкой Claude, ChatGPT и Gemini прямо из админки.

Короче, не удержался. Решил обновляться.

Подготовка

Первым делом — бэкап. У меня на сервере стоит ежедневный снэпшот в Proxmox, но я на всякий случай снял свежий дамп базы через WP-CLI и стянул всю папку wp-content на соседнюю VM. Пароль от БД у меня в ~/.my.cnf лежит, так что команда простая:

wp db export backup-7.0.sql

Дальше проверил совместимость плагинов. У меня на сайте стоял WP 6.9.4, плагинов — около 15 штук. Yoast, Autoptimize, WebP Express, WP Super Cache, тот самописный AI Image Generator для ComfyUI. Прошёлся по их страницам поддержки — вроде все совместимость с 7.0 подтвердили. Кроме моего собственного плагина, но его я допилю если что.

Ещё проверил PHP. У меня на FastPanel стоит PHP 8.3 от Apache. В новостях писали, что 7.0 требует PHP 7.4 минимум, а рекомендуют 8.3. У меня как раз восьмёрка, норм.

Процесс

Сам апгрейд через админку я не рискнул — на FastPanel своя специфика, да и не люблю я эти веб-установщики. Зашёл по SSH:

wp core update --version=7.0

Команда отработала секунд за 20. Дальше — wp core update-db. Никаких ошибок. Я даже удивился.

Полез смотреть админку. И первое, что бросилось в глаза — она реально стала другой. Новый админский дизайн, DataViews вместо таблиц, всё более современно выглядит. Не скажу, что старый был плох, но контраст чувствуется сразу.

Залип на новом разделе Settings → Connectors. Там три готовых пресета: Anthropic (Claude), Google (Gemini) и OpenAI (ChatGPT). Я вбил API-ключ от Anthropic — у меня там несколько баксов валялось, и всё, AI-клиент готов к работе. Никаких плагинов ставить не пришлось.

Что сломалось

Конечно, не обошлось без граблей. WP Super Cache отказался работать — ошибка при создании supercache-файлов. Оказалось, в 7.0 изменили работу с файловой системой, и хидерсы по-другому шлются. Пришлось сбросить кеш вручную через wp super-cache flush и перегенерировать права на папку wp-content/cache/. Помогло.

Ещё Autoptimize начал агрегировать CSS с перекосом — один из стилей дочерней темы наехал на новый админский CSS. Лечится галочкой «Don’t aggregate inline CSS» в настройках.

Мой AI Image Generator не сломался, но я заметил, что теперь в WordPress есть нативный AI Client с Abilities API. В планах — переписать генерацию картинок через него, чтобы не долбиться напрямую в ComfyUI.

Что реально круто

Из того, что мне лично зашло:

Visual Revisions

Наконец-то можно видеть, что именно изменилось в посте, а не просто «Revision 12 vs 13». Прямо дифф блоков показывают. Для блога — имба.

PHP-only block registration

Теперь блоки можно регистрировать прямо в PHP, без JS-сборки. Для простых блоков типа кастомной цитаты это save тонны времени.

AI Client в ядре

Это, ребята, серьёзно. Я залил ключ Anthropic и сразу получил генерацию заголовков, alt-текстов и кратких описаний в редакторе. Не надо ставить десяток AI-плагинов, каждый со своим ключом и UI. Всё в одном месте, всё стандартизировано.

Speculative prerendering

Сайт стал грузиться быстрее. Я включил moderate режим, и WordPress начал предзагружать страницы, которые пользователь вероятно откроет. По ощущениям — секунд на 0.2–0.3 быстрее. Не вау, но приятно.

Выводы

Я ожидал, что после обновления придётся три дня отлавливать баги. На деле — вечер поковырялся, наутро всё летало. Из 15 плагинов проблемы только у двух, и те решились за 5 минут.

Для себя решил: теперь буду обновляться в течение недели после мажорного релиза, а не через полгода. 7.0 получился очень плотным. Разработчики проделали огромную работу — и это видно.

Единственное, что меня напрягает — системные требования подросли. Если раньше на 512 MB RAM можно было жить, то AI-фишки жрут память. На своём сервере я докинул ещё 2 GB к VM и поднял memory_limit до 512 MB. Учитывайте это, если тоже решите апгрейдиться.

Если вкратце

  1. Сделай бэкап (wp db export, tar -czf wp-content.tar.gz wp-content/)
  2. Проверь PHP ≥ 8.3 (через wp phpinfo или php -v на сервере)
  3. Пробегись по плагинам — все ли совместимы с 7.0
  4. Обновись через wp core update --version=7.0 и wp core update-db
  5. Сбрось кеши, проверь админку
  6. Если всё норм — поставь API-ключ AI провайдера в Settings → Connectors

Всё. Обновление заняло у меня час с учётом фикса граблей. Админка стала красивее, AI-фишки — бесплатно в ядре, производительность чуть подросла. Что ещё нужно для счастья?

Больше статей про WordPress — от установки до продвижения — я собрал в сводном гайде.

Комментарии

  • Лучшее что читал! Сколько времени на администрирование уходит? Про «Как я обновлялся до WordPress 7.0 Armstrong и что из этого вышло» как раз думал.

  • Я тоже обновился до 7.0 в первый же день. Из 20 плагинов проблемы были только с WP Rocket — пришлось обновить до последней версии. А так — норм, летает.

  • Speculative prerendering заметно ускорил сайт. На мобилах особенно чувствуется. Жаль, что трафик жрёт больше — но для блога не критично.

  • А у меня Autoptimize сломал админку после обновления. Пришлось отключать агрегацию CSS в админке. Ты писал про это в статье — спасибо, помогло!

  • Напиши про Abilities API подробнее. Я плагин пишу и хочу добавить свою ability, но документации почти нет.

  • Обновилась до 7.0 автоматом через админку — ни одной проблемы. У меня 5 плагинов и простая тема. Видимо, счастье в простоте.

  • Visual Revisions — топ фича. Наконец-то видно, что именно поменялось, а не просто «было» и «стало». Теперь правки согласовывать намного проще.

  • Работает на 100. А как быть если сервер на Ubuntu 20.04? Про «Как я обновлялся до WordPress 7.0 Armstrong и что из этого вышло» как раз думал.

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *