Установка
MevvBridge требует WordPress 6.0 или новее и PHP 8.1 или новее. Он полностью бесплатен, редакции Pro нет — ни одна возможность не заблокирована.
Устанавливайте его, пока Elementor ещё активен. Замороженная полоса снимается с собственной отрисовки Elementor; запустите перехват при выключенном Elementor — и получите пустой результат.
- Загрузите и активируйте плагин. Elementor пока не удаляйте.
- Откройте MevvBridge в левом меню админки и прочитайте отчёт.
- Нажмите Перехватить. Ничего не удаляется и ни одна страница не редактируется — фиксируется только внешний вид замороженных элементов.
- Отключите Elementor и пройдитесь по своим страницам.
- Если всё на месте, Elementor можно удалить.
- При желании нажмите Преобразовать в блоки. После этого шага содержимое становится нативным WordPress, и сам MevvBridge тоже можно удалить.
Если после шага 4 что-то выглядит не так, включите Elementor снова: MevvBridge сам отойдёт в сторону.
Как это работает
MevvBridge читает мета-поле записи _elementor_data — ваши исходные данные, которые он никогда не удаляет, — и распределяет каждый элемент по одной из двух полос.
- Живая полоса
- Распознанные элементы пересобираются из ваших данных при каждом запросе — и разметка, и CSS. Они остаются редактируемыми и остаются адаптивными.
- Замороженная полоса
- Всё остальное снимается один раз, пока Elementor ещё установлен: отрисованный HTML элемента плюс только те правила CSS, которые к нему обращаются. Он выводится обратно ровно таким, каким был, — не редактируемым, но и не сломанным.
Правило — это белый список, а не чёрный. Ошибочное «я это распознаю» ломает страницу; ошибочное «я это не распознаю» стоит лишь редактируемости. Сторонние виджеты намеренно оставлены вне белого списка, потому что схемы их настроек для нас закрыты.
Пока вы не преобразуете содержимое в блоки, ваш post_content вообще не трогается. MevvBridge подключается на the_content и формирует страницу на лету. Он делает это только пока не активен ни один исходный конструктор страниц — установите Elementor заново, и мост отступает.
Отчёт — прочитайте его до того, как уйти
У MevvBridge один экран в админке — пункт MevvBridge в левом меню. Он требует прав администратора. Всё происходит там.
Сканирование ищет опубликованное содержимое с данными Elementor, независимо от типа записи. Это важно: шапки, подвалы и библиотеки шаблонов хранятся как собственные типы записей, и сканирование, ограниченное страницами и записями, их теряет.
- Сводка
- Сколько страниц, сколько элементов и сколько из них заморозится.
- Таблица
- По одной строке на каждый материал: Содержимое · Тип · Активные · Будет заморожено · Что будет заморожено. В последнем столбце перечислены типы виджетов, которые будут заморожены, и сколько их каждого вида.
- Предупреждение о динамическом содержимом
- Отмечено ⚠. Содержимое, которое меняется при каждом запросе, — сетка товаров, список записей. В замороженном виде оно закрепляется на том, что показывало в момент снятия.
- Содержимое, которое нельзя преобразовать
- Отмечено ⛔. Элементы, которые перестали бы работать в заморозке, — формы оформления заказа, контактные формы, вход, слайдеры. Страницы с ними преобразование в блоки отклоняет и оставляет на Elementor.
Две разные задачи, намеренно разделённые: динамическое означает, что оно устаревает, опасное — что оно перестаёт работать.
Индикатор состояния вверху показывает Активно, когда MevvBridge выдаёт ваши страницы, и Исходный плагин активен, пока исходный конструктор страниц ещё включён.
Шаг 1 — Перехватить
Этот шаг не удаляет Elementor и не редактирует ни одной страницы. Он снимает.
- Отрисованный HTML каждого замораживаемого элемента, взятый из собственной фронтенд-отрисовки Elementor.
- Только те правила CSS, которые обращаются к этому элементу, со снятым префиксом области страницы, чтобы правила продолжали действовать после переключения.
- SVG элементов icon и icon-box — сами они остаются в живой полосе, но их иконка существует только в отрисованном выводе. Если SVG отсутствует, ничего не выводится; выдуманная иконка была бы хуже.
- Таблицы стилей, которые исходные плагины действительно выводили на фронтенде, — копируются в вашу папку uploads и подключаются заново.
- Глобальные цвета и типографика Elementor из активного набора — выдаются заново как те же CSS-переменные, на которые уже ссылаются ваши страницы.
- Встроенный CSS, который ваша тема выводит только при активном Elementor.
Снятые элементы хранятся в собственной таблице, а не в мета-полях записей, поэтому не загружаются при каждом запросе.
Весь сайт снимается за один запрос. На очень большом сайте это может упереться в лимит времени PHP — это известное ограничение, а не молчаливый сбой: уведомление о результате сообщает, сколько элементов снято, и перечисляет первые ошибки.
Шаг 2 — Преобразовать в блоки
Необязательный шаг, открывается только после выполнения шага 1. Он записывает стандартную блочную разметку в post_content, поэтому содержимое становится родным для WordPress, а MevvBridge можно удалить.
- Распознанные элементы становятся блоками
mevvsoft/*— блоками MevvBlocks. - Замороженные элементы становятся блоком
core/htmlсо встроенным внутрь CSS, поэтому они переживают даже удаление всех плагинов. - Исходный
post_contentсохраняется в мета-поле записи_mevvbridge_onceki_icerikдо того, как что-либо будет записано.
Преобразование работает по принципу «всё или ничего» для каждой страницы. Если у замороженного элемента нет снятого снимка, страница пропускается, а не записывается наполовину — половина страницы хуже, чем ничего. Страницы с элементом, который перестал бы работать, тоже пропускаются, и уведомление их называет.
После этого шага для редактирования таких страниц нужен MevvBlocks. Для просмотра — нет: разметка стандартная, а замороженные части — это блоки HTML из ядра.
Почему не блоки ядра? Потому что вплоть до WordPress 7.1 у атрибутов блоков ядра до сих пор нет понятия брейкпоинта. На эталонной главной странице 23 из 35 живых элементов несли значения для планшета или мобильного; запись их как core/group отбросила бы либо адаптивность, либо точность до пикселя.
Что остаётся редактируемым
Эти типы элементов Elementor пересобираются из ваших данных и остаются в живой полосе:
Шорткоды выполняются вживую, а не замораживаются — заморозка шорткода закрепила бы его вывод на моменте снятия.
У трёх сторонних виджетов есть родной эквивалент, поэтому они сопоставляются, а не замораживаются:
- uael-woo-products
- Становится блоком товаров и переносит количество элементов, число колонок для десктопа/планшета/мобильного, сортировку и фильтр по категории.
- uael-woo-categories
- Становится блоком категорий товаров и переносит макет, колонки, положение заголовка и правило фильтра.
- wpforms
- Становится блоком шорткода, содержащим шорткод WPForms. Это не наш движок форм — виджет только вызывал WPForms, то же делает и шорткод.
Распознанный тип, у которого нет блочного эквивалента, замораживается, а не имитируется. Приблизительное сопоставление — это молчаливая поломка.
Что на самом деле означает заморозка
Замороженный элемент выглядит идентично и продолжает работать как разметка, но:
- его нельзя редактировать ни в MevvBridge, ни в блочном редакторе иначе как в виде чистого HTML;
- если он показывал динамическое содержимое, теперь он показывает то, что показывал в день снятия;
- если ему нужен был JavaScript — слайдер, карусель, аккордеон, — замороженная копия выводит своё содержимое стопкой, потому что скрипта, делавшего его интерактивным, больше нет.
Именно поэтому слайдеры и карусели в списке опасных: MevvBridge не преобразует содержащие их страницы. Переносить скрипт исходного плагина мы отказались — он зависит от собственной фронтенд-среды конструктора и его настроек для каждой страницы.
Чтобы вернуть замороженный элемент под свой контроль, либо установите исходный плагин заново, либо удалите элемент и соберите его заново блоком.
Шаблоны шапки и подвала
Миграция, которая переносит только тело страницы, незаметно теряет подвал. MevvBridge выводит исходные шаблоны шапки и подвала на их местах, читая их из собственных настроек Header Footer Elementor.
Рецепты тем есть для Astra, GeneratePress и Storefront. Если для вашей темы рецепта нет, не выводится вообще ничего — прикрутить шапку к теме, которую мы не умеем снимать, значит гарантированно получить две шапки. Если у MevvBlocks уже есть подходящий шаблон, MevvBridge уступает ему.
Исходные имена классов воспроизводятся, поэтому CSS, унаследованный от прежней настройки, продолжает действовать.
Возврат назад
Ничего не удаляется ни на одном этапе. Ваш _elementor_data остаётся ровно там, где был; MevvBridge читает его и никогда в него не пишет.
- До преобразования в блоки
- Включите Elementor снова. MevvBridge это обнаруживает и отступает от фильтра содержимого, хранилища стилей, глобальных значений и перехвата шапки и подвала. Отменять нечего.
- После преобразования в блоки
- Исходное содержимое лежит в мета-поле записи
_mevvbridge_onceki_icerikкаждой преобразованной страницы. Кнопки для этого нет; восстановите его через WP-CLI.
У восстановления есть одна ловушка: wp_update_post() ожидает данные с экранирующими слешами и сам их снимает. Запишите резервную копию обратно без wp_slash() — и escape-последовательности внутри атрибутов блоков потеряют обратный слеш, а SVG появятся на экране буквально как u003csvg.
wp eval '
foreach ( get_posts(["post_type"=>"any","numberposts"=>-1]) as $p ) {
$y = get_post_meta( $p->ID, "_mevvbridge_onceki_icerik", true );
if ( $y ) wp_update_post([ "ID"=>$p->ID, "post_content"=>wp_slash($y) ]);
}'
После этого очистите кеш страниц. В LiteSpeed: wp litespeed-purge all.
Free и Pro
Здесь нечего разделять. MevvBridge полностью бесплатен, включая шаг преобразования. Ни одна возможность не закрыта, лицензионного ключа нет, редакции Pro нет.
Это осознанная позиция: этот плагин существует, чтобы вывести вас из подписки. Брать плату за выход было бы той же ловушкой другого цвета.
Когда что-то не работает
- Отчёт пуст
- Ни в одном опубликованном материале нет данных Elementor. Черновики не сканируются.
- Перехват ничего не дал
- Elementor уже был отключён. Включите его снова, запустите перехват заново, затем отключите.
- «Преобразовать в блоки» неактивна
- Шаг 1 ещё не выполнен. Условие — что перехват был запущен, а не то, заморозилось ли что-нибудь: сайт с нулём замороженных элементов — это лучший случай, и его нельзя запирать.
- Часть страниц преобразование пропустило
- Либо у замороженного элемента не было снимка, либо на странице есть элемент, который перестал бы работать в заморозке. Уведомление их считает; таблица отчёта помечает их знаком ⛔.
- После отключения Elementor сместились типографика или отступы
- Запустите перехват ещё раз при активном Elementor. Снятие стилей измеряет то, что ваш сайт действительно выводил на фронтенде, поэтому оно должно выполняться на фронтенд-запросе, а не из админки.
- Страница по-прежнему выглядит как старая версия
- Полностраничный кеш отдаёт устаревший HTML. Очистите его — в LiteSpeed это
wp litespeed-purge all. Добавьте к адресу случайную строку запроса, чтобы посмотреть некешированную страницу. - Появились два подвала
- Для вашей темы нет рецепта, или одновременно активен шаблон подвала MevvBlocks. Проверьте, что подвал формирует только один из них.
- Перехват или преобразование прервались по таймауту
- Оба выполняются за один запрос. На большом сайте увеличьте лимит времени PHP для этого запроса или запустите их на менее нагруженной машине.
Ограничения
Список ниже — это честность продукта о самом себе. Ничто из этого не является ошибкой.
- Только Elementor. Beaver Builder распознаётся как исходный плагин, чтобы мост мог отойти в сторону, но чтения Beaver в этой версии нет.
- Сторонние виджеты всегда замораживаются. Воспроизведение закрытой схемы настроек было проверено и провалилось во всех испытанных случаях; заморозка — честный итог.
- Замороженные элементы не редактируются и сами по себе редактируемыми не становятся. Перевод их в живую полосу — задача на будущее.
- Динамическое содержимое закреплено на моменте снятия. Замороженная сетка товаров за вашим каталогом не следует.
- Страницы с формами, оформлением заказа, входом, слайдерами или каруселями не преобразуются вовсе — они остаются на Elementor.
- Переносятся только шаблоны шапки и подвала. Одиночные записи, архивы и всплывающие окна конструктора тем Elementor Pro — нет.
- Своего движка форм нет. Сопоставление с WPForms переносит вызов; форму по-прежнему выводит WPForms.
- Интерфейса редактирования нет. MevvBridge отрисовывает; редактирование преобразованных страниц — задача MevvBlocks.
- Перехват шапки и подвала ограничен тремя рецептами тем и собственными настройками Header Footer Elementor.
- Снятые снимки живут в собственной таблице, поэтому экспорт WordPress WXR их не переносит. Восстановление всё равно безопасно: установите исходный плагин заново и снимите ещё раз, ведь ваши исходные данные никогда не удалялись.
- Обе операции выполняются за один запрос, без разбиения на части.