Все выполнено в сроки.
Рекомендую к сотрудничеству!
Мы ищем Frontend (JavaScript) разработчика с опытом Magento 2 для диагностики и исправления ошибки на e-commerce сайте.
Сайт работает на Magento 2, используется кастомная тема и модули Mirasvit.
По данным Microsoft Clarity зафиксировано значительное количество JavaScript ошибок.
Основная ошибка: Cannot read properties of undefined (reading 'match'). Она занимает примерно 35–50% всех JS ошибок, в пиковые моменты доходит до 48–50%, имеет нестабильный характер (резкие скачки) и возникает во время действий пользователя (навигация, просмотр товаров).
Также есть связанная ошибка: undefined is not an object (evaluating '$parent.attr('id').match'). Вероятно, это один и тот же корень проблемы.
Ошибка может влиять на открытие страниц, работу каталога, фильтров и взаимодействие с товарами.
Задача:
проанализировать причину возникновения ошибки,
найти место в коде (Magento 2 frontend),
определить сценарий возникновения,
исправить причину (не просто скрыть ошибку),
проверить, что ошибка больше не возникает через Clarity или console.
При необходимости предоставим доступ к Microsoft Clarity (записи сессий с ошибками).
В ответе просим указать:
есть ли опыт работы с Magento 2 (frontend)?
работали ли с модулями Mirasvit?
как бы вы искали причину этой ошибки?
вашу ставку и ориентировочную оценку по времени?
Бюджет: 5000 UAH Срок: 30 дней
Добрый день! Я не буду рассказывать, что я 10 лет работаю исключительно с Magento. Моя специализация — глубокая техническая диагностика и рефакторинг сложных систем, где стандартные методы поиска ошибок бессильны.
Почему я быстро найду и исправлю этот баг:
Полный анализ Codebase: Я работаю в IDE Cursor. Пока другие разработчики будут вручную отслеживать цепочки вызовов в тысячах файлов Magento, я индексирую всю вашу кодовую базу. Это позволяет мне мгновенно найти каждое место, где используется .match() и $parent.attr('id'), и проанализировать контекст их вызова с помощью ИИ.
Работа с реальными данными: Мне не нужны догадки. Имея доступ к Microsoft Clarity, я сопоставлю стеки ошибок с вашим кодом. Мой метод позволяет получить реальную картину: почему объект становится undefined именно в этот момент навигации.
Опыт с "кривым" кодом: У меня большой опыт «лечения» сайтов на OpenCart и самописных системах, где ошибки накладываются одна на другую. Magento 2 для меня — это просто еще одна большая структура данных, которую я умею эффективно «сканировать» на предмет логических ошибок.
Точный фикс: Благодаря глубокому анализу через Cursor, я делаю не «косметический ремонт», а нахожу первопричину в JS-логике (будь то кастомная тема или конфликт модулей Mirasvit) и внедряю надежное решение.
Мой алгоритм действий:
Этап 1 (Анализ): Индексация кода -> Поиск уязвимых мест -> Сопоставление с сессиями Clarity.
Этап 2 (Локализация): Определение конкретного сценария, который приводит к undefined.
Этап 3 (Фикс): Исправление логики и проверка результата.
Оценка:
Поиск точного места ошибки с помощью моего инструментария обычно занимает от 1 до 3 часов. Финальная стоимость зависит от масштаба проблемы.
Я готов показать результат там, где другие разводят руками. Жду доступа к коду и Clarity для старта.
С уважением, Арсений
Бюджет: 5676 UAH Срок: 2 дня
Здравствуйте!
Готов присоединиться к проекту. Стек Pug + SCSS + Gulp + Babel — знаком, работал с такой сборкой, понимаю структуру подобных проектов (partials, mixins, оптимизация через Gulp pipeline, webp/svg спрайты).
Недавно закончил проект с Magento 2 frontend — диагностика и исправление JS ошибки Cannot read properties of undefined (reading 'match') в кастомной теме с модулями Mirasvit. Нашел корень проблемы, исправил, проверил через Microsoft Clarity.
Есть отзыв от клиента на профиле.
По вашему проекту:
— Работаю с Bitbucket и Git flow, понимаю важность чистых коммитов и не ломать существующий код
— Аккуратная работа с существующей кодовой базой — принципиально, не переписываю под себя то, что уже работает
— Адаптивность, семантика, оптимизация изображений — базовые вещи
План работ: https://www.notion.so/Magento-2-bugfix-341ea80ec59480d0beb7dba02f7e38c2?source=copy_link
Готов начать сразу, у меня есть свободные часы в ближайшие дни. Скиньте пожалуйста макеты и доступ к репозиторию — посмотрю объем и дам более точную оценку по времени на новые страницы.
Бюджет: 1500 UAH Срок: 2 дня
Мой стек (React/Next.js) идеально подходит для реализации современных фронтенд-решений на базе Magento 2.
Напрямую с модулями Mirasvit я еще не сталкивался, но я изучил их документацию и архитектуру.
Ошибка reading 'match' обычно возникает, когда регулярное выражение пытается обработать строку, которой нет ("undefined").
1. Найду на каких именно страницах это происходит (Чаще это PLP)
2. C помощью "Pause on exceptions" определю какой именно файл вызывает метод match().
3. Проверю селектора jQuery.
Скорее всего, в коде темы или модуля Mirasvit есть скрипт, который делает выборку, но из-за использования кастомной темы метод .parent() возвращает не тот элемент или элемент без ID.
$5/час
Бюджет: 10000 UAH Срок: 12 дней
Доверьтесь профессионалу со стажем более 10 лет! Ставка и сроки актуальны!
Буду рад сотрудничеству!
Опыт коммерческой разработки интернет-магазинов на CMS, бизнес-порталов и корпоративных сайтов-11 лет!
+CMS: WordPress(+Woocommerce)PrestaShop/Opencart/Joomla/Bitrix/MODX/DLE/Shopify
php/html/css/js/Mysql, PhotoShop/Figma
Примеры работ ( с нуля под ключ):
https://amari.net.ua/
https://heypretty.gr/
https://spabali.com.ua/
https://thaibalispa.pl/
https://wildandorganic.com/
https://cryptosignals.org/
https://ecnbot.com
https://locs-ua.com/
https://www.grower.com.ua/
https://www.alternativemedicine.com.ua/
https://silkkiss.ua/
https://v12coffee.com.ua/
https://smrtalgo.com/
https://sengero.no/
https://beautybysim.no/
https://sonatagalleri.com/
https://www.solmy-realestate.com/
https://www.emmanuel.com.ua/
https://www.onsitecomputersinc.com/
https://express-tehbud.com/
https://korostenporcelain.com.ua/
https://sladok.com.ua/
https://pricemds.com/
https://picupmedia.com/
https://www.serasar.com/
Бюджет: 3000 UAH Срок: 3 дня
Доброго дня.
У меня есть опыт работы с Magento 2, в частности с фронтенд-частью: кастомные темы, JavaScript-компоненты, Knockout, jQuery виджеты, RequireJS, работа с checkout, каталогом, фильтрами и интеграцией сторонних модулей.
С модулями Mirasvit также работал, в том числе с кастомизацией и диагностикой конфликтов между сторонними расширениями и темой.
Как бы я искал причину этой ошибки:
Сначала проанализировал бы записи и определил точный сценарий, в котором возникает ошибка: какая страница, какой элемент, какое действие пользователя предшествует сбою.
Далее проверил бы console stack trace, source maps, Network и инициализацию JS-компонентов Magento 2, чтобы локализовать файл и конкретный фрагмент кода, где вызывается .match() для undefined.
Отдельно проверил бы кастомную тему, Mirasvit-модули и их взаимодействие, так как ошибка вида $parent.attr('id').match(...) часто возникает, когда код ожидает DOM-элемент или атрибут id, но в определенном сценарии его нет.
После этого воспроизвел бы проблему локально или на staging, исправил бы именно первопричину, а не просто поставил проверку для скрытия ошибки.
Бюджет: 2000 UAH Срок: 1 день
Добрый день. У меня есть опыт более 10 лет разработки в вебе. Я прошел долгий путь от старых Joomla и Bitrix до современных Laravel+Vue+React. Найду и исправлю эту ошибку быстро и качественно.
Если бы я искал ошибку, я бы сделал быстрый поиск по файлам, где именно в файлах вызывается match, также посмотрел бы файлы логов. Если ошибка возникает на каждой странице, то очевидно, эти скрипты вызываются на каждой странице. Не так сложно будет найти эту ошибку на самом деле.
Бюджет: 3200 UAH Срок: 4 дня
Здравствуйте! Готов взяться за диагностику и устранение ошибок в вашем проекте. Имею опыт работы с фронтенд-частью сложных систем и хорошо понимаю архитектуру JavaScript в высоконагруженных e-commerce проектах.
Ответы на ваши вопросы:
Опыт с Magento 2: Да, работал с фронтенд-логикой, понимаю специфику RequireJS и работу с компонентами Knockout.js.
Модули Mirasvit: Знаком с их логикой (в частности Layered Navigation и Search), которые часто становятся причиной конфликтов в DOM-дереве.
Как бы я искал: * Сначала проанализирую стек-трейс в Microsoft Clarity, чтобы найти файл и строку.
Ошибка match на undefined указывает на то, что скрипт пытается обработать атрибут ID элемента, который еще не отрендерился или был удален из DOM (типичная проблема динамических фильтров или пагинации).
Буду использовать Chrome DevTools (точки останова на мутациях DOM) для воспроизведения сценария "нестабильности".
Бюджет: 3000 UAH Срок: 3 дня
Добрый день, предоставьте ссылку на сайт, я посмотрю, что к чему. Обращайтесь.
Не откладывай на завтра то - что можно сделать сегодня.
Разработка архитектуры единой платформы управления флотом WordPress-сайтовКонтекст проекта Есть флот из нескольких десятков WordPress-сайтов, размещённых на одном сервере и обслуживаемых одной командой. Сайты постепенно переводятся на единый стандарт разработки и поддержки — общую дизайн-систему с единой библиотекой блоков (ACF + Gutenberg) и единый стандарт безопасности. Требуется архитектура платформы для централизованного управления этим флотом.Задача Нужна разработка технической архитектуры единой платформы управления флотом WordPress-сайтов. Платформа — это не дашборд метрик, а полноценная система централизованного управления и доступа.Требования к платформе Единый вход для супер-администратора — одна точка входа для управления всеми сайтами флота: обзор состояния, версий, статуса соответствия стандарту. One-click доступ в админку каждого сайта — возможность зайти в wp-admin любого сайта флота из единого интерфейса, без хранения/ввода паролей от каждого сайта отдельно. Требуется продуманный механизм аутентификации (токены с ограниченным временем жизни, привязка к конкретному пользователю, полное логирование доступа). Разграничение ролей: супер-админ видит и управляет всем флотом; администраторы отдельных сайтов имеют доступ только к своим сайтам. Единая дизайн-система с кастомизацией на уровне сайта — общая библиотека блоков (ACF + Gutenberg), дистрибутируемая на все сайты через центральный механизм обновлений, но с возможностью локальной кастомизации блоков под конкретный сайт без потери совместимости с будущими обновлениями библиотеки. Общий дашборд мониторинга и оповещений — состояние сайтов и сервера, алерты о падениях/проблемах, статус обновлений и compliance каждого сайта относительно единого стандарта. Удобное добавление новых сайтов в сеть — платформа должна поддерживать быстрое клонирование/разворачивание нового сайта на основе единого стандарта (Core-плагин, дизайн-система) и подключение его к Hub с минимальным количеством ручных шагов.Архитектурные ограничения (важно) WordPress Multisite не рассматривается и не подходит для этой задачи. Причина не в удобстве интерфейса, а в фундаментальных архитектурных свойствах Multisite: Общая база данных и общее ядро для всех сайтов сети означают единую точку отказа: некорректное обновление плагина или ядра способно одновременно вывести из строя все сайты сети, а не один. Общий пул серверных ресурсов (PHP-воркеры, соединения с БД) означает, что аномальная нагрузка на один сайт (акция, всплеск трафика, атака) деградирует производительность всех остальных сайтов сети, включая никак не связанные с этой нагрузкой. Это системное свойство Multisite, не устраняемое процессом или дисциплиной — поэтому требуется архитектура, где каждый сайт остаётся независимой инсталляцией (собственная БД), а унификация и централизованное управление достигаются другими средствами.Предварительное архитектурное направление На данный момент наиболее перспективным представляется архитектурный подход Hub & Spoke, при котором независимые WordPress-инсталляции ("Spokes"), каждая со своей БД, объединяются: общим дистрибутируемым Core-плагином (библиотека блоков, security baseline, bridge-модуль для связи с Hub); центральным управляющим приложением ("Hub") — реестр сайтов, one-click login, мониторинг, оповещения. Однако данная архитектура не является заранее выбранным решением. Если исполнитель считает, что существует более подходящий архитектурный подход, он может предложить альтернативу при условии её технического и экономического обоснования. Отдельная задача в рамках ТЗ — обоснованный анализ и рекомендация: строить Hub с нуля кастомно, либо взять за основу готовое self-hosted решение (MainWP, InfiniteWP, ManageWP или аналоги) и расширять его под специфичные требования (интеграция с Core-плагином, compliance-отслеживание версий блоков, будущий маркетинговый слой). Нужна сравнительная оценка по срокам, стоимости поддержки, гибкости и ограничениям каждого варианта, с чёткой рекомендацией.Архитектурные требования При проектировании решения необходимо учитывать следующие нефункциональные требования: отказоустойчивость и отсутствие единой точки отказа для флота сайтов; возможность независимого обновления, отката и обслуживания каждого сайта; минимизацию blast radius при сбоях и ошибках обновлений; возможность горизонтального масштабирования при росте количества сайтов; безопасность централизованного управления и делегированного доступа; возможность последующего выделения Hub в отдельную инфраструктуру без изменения архитектурных принципов; расширяемость платформы для добавления новых централизованных сервисов. Кроме того, архитектура должна оставаться жизнеспособной при увеличении количества сайтов с нескольких десятков до 100+ без необходимости принципиального пересмотра выбранного подхода.Долгосрочное развитие платформы Платформа рассматривается как долгосрочная основа цифровой экосистемы компании, а не как инструмент исключительно для администрирования WordPress-сайтов. При проектировании необходимо предусмотреть возможность последующего добавления централизованных сервисов (например, управления маркетинговыми активностями, аналитикой, библиотекой компонентов, интеграциями и других модулей) без необходимости переработки базовой архитектуры.Технологии Конкретный стек не фиксируется заранее — исполнитель самостоятельно предлагает и обосновывает технологии в архитектурном документе (язык/фреймворк для Hub, модель хостинга/деплоя, механизм аутентификации и т.д.), исходя из требований задачи. Обоснованное предложение по технологиям — обязательная часть результата работы, наравне со сравнением custom vs готовое решение для Hub.Что нужно от исполнителя Опыт проектирования multi-site/multi-tenant архитектур на WordPress (принципиально — НЕ на базе Multisite) Практический опыт работы с MainWP/InfiniteWP/ManageWP или аналогичными системами управления флотом WP-сайтов — понимание их возможностей и ограничений на уровне API/расширяемости Опыт разработки WordPress-плагинов уровня production (ACF, Gutenberg block development, REST API) Понимание вопросов безопасности при построении систем централизованного/делегированного доступа (token-based auth, аудит доступа, минимизация blast radius) Умение подготовить архитектурную документацию: диаграммы, API-контракты между Hub и сайтами, схему данныхФормат работы Первый этап — архитектурный документ с обоснованным решением (custom vs готовое решение), схемой взаимодействия компонентов, API-контрактом Hub ↔ Core-плагин, планом поэтапной реализации. Документ должен включать вайрфрейм-схему интерфейса платформы (ключевые экраны: реестр сайтов, доступ в админку, дашборд мониторинга). По итогам согласования архитектуры — возможно продолжение сотрудничества. Важное замечание Ожидается самостоятельная архитектурная проработка, основанная на практическом опыте проектирования и эксплуатации подобных систем. Недостаточно предоставить компиляцию общих рекомендаций или типовых ответов, сгенерированных ИИ. Каждое ключевое архитектурное решение должно сопровождаться техническим обоснованием: почему выбран именно этот подход, какие альтернативы рассматривались, каковы его преимущества, ограничения и потенциальные риски в контексте данного проекта. При необходимости исполнитель должен ссылаться на практический опыт, существующие решения, документацию, open-source проекты или иные источники, подтверждающие жизнеспособность предлагаемых архитектурных решений.
Здравствуйте! Необходимо сделать так, чтобы на соответствующих страницах, ниже основного текста, выводилась ссылка, которая была указана в отдельном поле админки (на этой же странице) и оформлена по CSS.
Необходимо добавить 129 товаров. Есть файл выгрузки с товарами, однако стандартный импорт не подходит, так как перед загрузкой нужно создать структуру каталога: категории, разделы и при необходимости подкатегории. После этого выполнить импорт товаров и проверить, чтобы все карточки корректно распределились по категориям.Если у вас есть опыт выполнения подобных задач, присылайте примеры работ, сроки выполнения и стоимость.
ЧТО НУЖНО СДЕЛАТЬ Работы разбиты на блоки, можно браться за все или за отдельные блоки: Блок 1 — Оптимизация скорости (Mobile-First) Текущая оценка мобильной версии PageSpeed — 51/100. Нужно довести до 80+. Целевые метрики: LCP < 2.5 с (сейчас 7.4 с), FCP < 1.8 с (сейчас 3.9 с), TBT < 200 мс. Работы: критический CSS inline, отложенный JS, WebP/AVIF, lazy load, аудит плагинов. Блок 2 — GTM и аналитика Убрать hardcoded скрипты GA4/Google Ads из header.php. Установить и настроить плагин GTM4WP. Внедрить Google Consent Mode v2 (скрипт или cookie-баннер). Блок 3 — Шаблон карточки товара Единый Mobile-First шаблон Single Product в Elementor. Sticky кнопка "Купить" при скролле на мобильном. Cross-sell блок услуг под кнопкой покупки. Проверка автоматической передачи событий view_item, add_to_cart через GTM4WP. Блок 4 — Товарный фид для Google Merchant Center Установить Product Feed Pro (AdTribes) или CTX Feed. Настроить XML-фид с правильным маппингом полей (id, title, gtin, brand, price, availability). Ежедневное обновление через WP-Cron, автовыключение товаров "нет в наличии". Блок 5 — 6 посадочных страниц (лендингов) в Elementor 3 страницы e-commerce: каталог комплектующих, готовые решения ДБЖ, комплекты СЕС. 3 страницы лидогенерации: монтаж ДБЖ под ключ, СЕС для дома, решения для бизнеса. Есть детальные прототипы со структурой и блоками каждой страницы. Блок 6 — Формы и события dataLayer 6 уникальных событий dataLayer при успешной отправке форм (CF7 и Elementor Pro Forms). Обязательные требования ко всем формам: маска ввода телефона, защита от повторной отправки, reCAPTCHA v3 или Honeypot. --- ТРЕБОВАНИЯ — Практический опыт с Elementor Pro (шаблоны Single Product, кастомные Page Templates) — Понимание WooCommerce dataLayer и работы GTM4WP — Опыт оптимизации скорости WordPress (Critical CSS, WebP, WP Rocket или аналог) — Опыт настройки событий dataLayer для CF7 или Elementor Pro Forms — Портфолио или примеры аналогичных работ — обязательно Знание Google Consent Mode v2 будет преимуществом. --- УСЛОВИЯ РАБОТЫ Сайт на боевом хостинге — все изменения только через staging или тестовый дубль. Любая оптимизация не должна нарушать инициализацию GTM и динамический dataLayer. Детальное ТЗ предоставляется после первого контакта. Оплата поэтапная по блокам, или за весь проект (договоримся) Напишите в отзыве: 1. Ваш опыт с аналогичными задачами (ссылка или короткое описание кейса) 2. Готовы ли выполнять весь проект или отдельные блоки 3. Ориентировочную стоимость и сроки после ознакомления с ТЗ
Описание заказа: Ищем опытного frontend-разработчика/специалиста по OpenCart для оптимизации скорости загрузки сайта (категории и карточки товаров) под требования Google Core Web Vitals. О проекте: * CMS: OpenCart. * Специфика: Сайт работает в режиме каталога (корзины и оформления заказа нет). * Объем: 2900 позиций. * Серверная часть: Уже оптимизирована (работает на OpenLiteSpeed). * Стек: Работа ведется исключительно с кодом шаблона, модификаторами и фронтендом. Без работы с базой данных. Что нужно сделать (Техническое задание): 1. Отложенная загрузка скриптов (Delay JS): * Проблема: Сторонние скрипты аналитики (GTM, Google Tag) блокируют основной поток на мобильных устройствах примерно на 4.3 секунды. * Задача: Настроить отложенный запуск этих скриптов. Скрипты должны активироваться строго по первому действию пользователя (первый скролл, тап по экрану или движение мыши). * Важно: Сбор статистики, аналитика и работа рекламы должны сохраниться в полном объеме. 2. Исправление метрики CLS (Стабильность верстки): * Проблема: Страница «прыгает» и сдвигается во время загрузки картинок. * Задача: В файлах стилей или шаблона темы жестко прописать HTML-атрибуты width и height для всех изображений товаров в каталоге (листингах) и карточках товара. * Цель: Зарезервировать место под изображения в DOM-дереве до их фактической загрузки, чтобы исключить сдвиг контента. Проверить, чтобы адаптивность (CSS) не сломалась. 3. Оптимизация критического пути (LCP): * Задача: Прописать для основного (главного) изображения товара на первом экране тег fetchpriority="high". Это даст браузеру команду загружать главное фото товара в приоритетном порядке. Требования к исполнителю и условия приема: 1. Без лишних модулей: Работа выполняется чистым кодом/модификаторами, без установки дополнительных сторонних или платных плагинов оптимизации. 2. Безопасность и верстка: Вы несете полную ответственность за верстку. После внесения правок визуальное отображение сайта на мобильных и ПК, а также функционал (фильтры, переключение фото в галерее, меню) должны остаться без изменений. 3. Критерий сдачи работы (DoD): Предоставление скриншота и ссылки на живой тест отчета Google PageSpeed Insights (для мобильной версии). Показатель производительности должен быть не ниже 75 баллов, а метрика CLS — не более 0.1 (в зеленой зоне). Правки вносить строго через модификаторы (OCMOD) или копию темы, чтобы не затереть обновления ядра. В отзыве, пожалуйста, укажите: 1. Был ли опыт настройки Delay JS именно для GTM на OpenCart? 2. Срок выполнения задания. 3. Стоимость работы.