Вакансия: WordPress-разработчик (разовый проект + возможна поддержка)
Проект: контентный сайт на WordPress, англоязычный, посещаемость — несколько миллионов визитов в месяц. Мультиязычный: 7 языковых версий с hreflang. Ушёл предыдущий разработчик, нужно принять проект и закрыть накопившийся техдолг.
Что важно понимать сразу: сайт живой и коммерческий. Правок «наживую» без бэкапа и предварительной проверки не будет. Тестовую копию для отладки исполнитель разворачивает самостоятельно — со своей стороны даю доступы, необходимые для снятия копии.
Стек
- WordPress, кастомная (сильно доработанная) тема
- VPS + nginx, PHP-версию сообщу отобранному кандидату
- Плагины: SEO-плагин, кэширование, мультиязычность — конкретный набор сообщу после отбора
- Доступы (админка, FTP/SSH) выдаются после согласования условий, не в переписке
Задачи
1. Обновление WordPress до актуальной версии — без потери функционала
Сейчас: ядро, тема и плагины давно не обновлялись. Есть подозрение, что правки вносились напрямую в файлы темы и/или плагинов, поэтому обновление всё ломает.
Нужно:
- Развернуть тестовую копию, обновить ядро, тему, плагины, PHP до поддерживаемых версий
- Найти все кастомные правки в теме/плагинах и вынести их корректно (child-тема, отдельный плагин, хуки) — так, чтобы будущие обновления их не затирали
- Проверить после обновления: вёрстку на главной и на всех типах страниц, кастомные блоки в редакторе, hreflang, кэш, формы, рекламные вставки
- Выкатить на прод с бэкапом и планом отката
Результат: сайт работает 1:1 как до обновления, а следующее обновление я нажимаю сам без последствий. Плюс краткое описание в текстовом виде — что изменено и где теперь лежит кастомный код.
2. Починить админку
Два бага, оба воспроизводятся не у всех — на одних компьютерах есть, на других нет:
- В редакторе не отображаются кастомные блоки (информационные блоки, которые вставляются в статьи)
- При сохранении статьи выпадает ошибка
Нужно найти реальную причину (JS-конфликт, кэш, ограничения на стороне сервера/WAF, устаревший плагин — не знаю), а не «почистил кэш, вроде работает». Возможно, чинится само после задачи 1 — тогда фиксируем это и закрываем.
Результат: оба бага не воспроизводятся ни на одном рабочем месте, есть внятный ответ, в чём была причина.
3. [ЗАГЛУШКА — ОПИСАТЬ]
Пример формулировки: «Развернуть отдельный раздел на поддомене — отдельная установка или мультисайт, своя тема, общая шапка и меню с основным сайтом, корректные canonical и robots».
4. Возможность переводить «Страницы» (Pages), а не только записи
Сейчас мультиязычность работает для записей. Статические страницы (тип Pages) перевести нельзя.
Нужно: включить/доработать перевод для типа Pages так же, как для записей — свой URL вида /es/slug/, self-canonical на себя (не на английский оригинал), корректный hreflang между всеми языковыми версиями страницы, переключатель языков работает.
Языки: ES, ID, PT-BR, RU, TH, TR, VI.
Условия
- Разовый проект, оценка по каждой задаче отдельно. Задачи берём по очереди — начинаем с 1 и 2
- Тестовая копия обязательна, git приветствуется
- После сдачи возможна регулярная техподдержка на постоянной основе
Что прислать в отклике
- 2–3 примера похожих проектов (обновление легаси-WP, мультиязычные сайты, нагруженные проекты)
- Опыт с мультиязычностью на WP — какие плагины использовали
- Оценка (часы + деньги) по задачам 1, 2, 4. Если по описанию оценить нельзя — напишите, каких данных не хватает
- Как вы обычно откатываете неудачное обновление на живом проекте
Отклики «сделаю всё, пишите в телеграм» не рассматриваю.