вт, 12/09/2025 - 09:15 By seoroad

Ошибки АСПРО SmartSEO после обновления платформы 1С-Битрикс

Обновления платформы 1С-Битрикс — это важная часть работы с сайтом, которая позволяет улучшать его функциональность, безопасность и производительность. Однако, с обновлениями могут возникать различные ошибки, особенно если вы используете сторонние решения, такие как Aspro SmartSEO.

Обновление платформы 1С-Битрикс — это процесс, включающий в себя установку новых версий программного обеспечения, которое управляет вашим сайтом. Обновления могут содержать:

  • Исправления ошибок
  • Новые функции
  • Улучшения безопасности
  • Оптимизацию производительности

Однако, несмотря на все преимущества, обновления могут привести к различным проблемам, особенно если ваш сайт использует сложные модули или кастомные решения.

Ошибки в модуле Aspro SmartSEO

Модуль АСПРО SmartSEO, который используется для оптимизации под поисковые системы, также может вызывать ошибки после обновления. Это может быть связано с изменениями в функционале модуля или его конфигурации.

Например:

После обновления платформы 1С-Битрикс до последней версии возникла серьёзная ошибка, приводящая к остановке работы сайта: 

Суть проблемы

Недавние обновления ядра Битрикс затронули базовый класс

Bitrix\Main\ORM\Data\DataManager.

В частности, в метод getRowById() был добавлен второй необязательный параметр $parameters. В модуле АСПРО SmartSEO используются свои классы-наследники этого метода, которые не учитывают новое объявление с дополнительным параметром. Из-за этого возникает конфликт (declaration mismatch), что приводит к сбоям и падению сайта.

Инструкция по устранению ошибки

Если у вас отсутствует активный договор на техническую поддержку модулей АСПРО или нет возможности сразу установить официальное обновление, проблему можно решить самостоятельно, внеся изменения в несколько файлов.

  1. Подключитесь к серверу с помощью FTP-клиента или воспользуйтесь файловым менеджером хостинга. Найдите файл, на который ссылается сообщение об ошибке, например:/bitrix/modules/aspro.smartseo/lib/models/smartseofilterrule.php.

  2. Откройте этот файл в удобном текстовом редакторе с поддержкой кода, например, Notepad++ или Visual Studio Code.

  3. Внутри файла найдите строку, где объявлена вызывающая ошибку функция. Она будет выглядеть примерно так: public static function getRowById($id)

  4. Следуйте этим шагам, чтобы внести необходимые исправления в код.

Задача по изменению сигнатуры метода

Необходимо модифицировать объявление функции getRowById, добавив второй аргумент. Новый параметр должен называться $parameters, иметь тип Array и по умолчанию принимать пустой массив. Итоговая сигнатура метода должна выглядеть так:

public static function getRowById($id, array $parameters = [])

Обратите внимание, что параметр $parameters обязателен именно как массив и инициализируется значением по умолчанию — пустым массивом. Это связано с новыми требованиями ядра Битрикс.

Дальнейшие действия по исправлению ошибки

  1. Сохраните внесённые корректировки и закройте файл.

Проверьте работу сайта — ошибка должна исчезнуть.

Рекомендуемые файлы для проверки

Проблема может затрагивать не один, а несколько классов внутри модуля. Чтобы избежать повторного возникновения ошибки, советуем сразу проверить и& при необходимости исправить следующие файлы, расположенные в директории: /bitrix/modules/aspro.smartseo/lib/models/

Инструкция по обновлению метода getRowById

В каждом из перечисленных файлов:

  1. smartseofilterrule.php
  2. smartseofiltertag.php
  3. smartseonoindexconditiontable.php
  4. smartseonoindexruletable.php
  5. smartseoseotexttable.php

необходимо найти функцию getRowByIdи заменить её согласно указанному шаблону.

Рекомендации после внесённых изменений

После корректировки кода обязательно выполните комплексное тестирование SEO-фильтра.

Проверьте работу разделов каталога, убедитесь в корректном применении фильтров, а также в правильном формировании ЧПУ-адресов и мета-тегов (title, description).

Обновления платформы 1С-Битрикс — это необходимая мера для поддержания работоспособности и безопасности вашего сайта. Однако, как мы увидели, они могут вызывать различные ошибки, начиная от проблем с совместимостью модулей и заканчивая сбоями в работе функций, таких как getRowById($id) и фильтра АСПРО SmartSEO. Для успешного устранения этих ошибок важно проводить тщательную проверку перед обновлением и быть готовыми к возможным изменениям.

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
CAPTCHA