Редактор темы

Реклама
Реклама
Реклама
Реклама

DLE Links Suite Pro

doz

Команда форума
VIP Кинотрафик v2
Регистрация
10 Окт 2015
Сообщения
1.372
Рейтинг реакций
533
Баллы
113
1/3
Автор темы
DLE Links Suite Pro
Версия 1.3.1 · для DataLife Engine 21​

Links Suite находит на сайте неработающие ссылки, картинки, видео и вложения. Плагин показывает, где именно они стоят, и позволяет исправить их сразу во всех материалах: перед записью видно, что изменится, а любую правку можно откатить.

Это первый модуль пакета Links Suite. Позже в него войдут клоакинг ссылок, UTM-метки и счётчик переходов — с общими настройками в одном разделе.

Где ищет ссылки
  • Краткий и полный текст новостей
  • Дополнительные поля с учётом типа: текст, картинка, галерея, видео, аудио, файл
  • Статические страницы
  • Комментарии (включаются в настройках)
Распознаёт <a>, <img>, <iframe>, <video>, <audio>, а также коды url, img, thumb, media, attachment.

Как проверяет
  • Внутренние ссылки проверяются по базе и файлам, без HTTP-запросов, поэтому сервер не нагружается. Новости, статические страницы, категории, теги и профили сверяются с правилами ЧПУ DLE 21, вложения — с таблицей файлов и диском.
  • Внешние ссылки проверяются через cURL multi, несколько запросов одновременно. Сначала идёт HEAD, при отказе — GET с ограничением объёма. Таймаут и лимит запросов к одному домену настраиваются, чтобы не нагружать чужие сайты.
  • Защита от SSRF. Проверяются только http и https. IP-адрес (IPv4 и IPv6) проверяется на каждом шаге редиректа, а запрос идёт строго на проверенный адрес. Ссылки во внутреннюю сеть и на служебные адреса хостинга не запрашиваются.
  • Без ложных тревог. Таймауты и ошибки 5xx перепроверяются через 3 часа и считаются проблемой только со второго раза.

Статусы
  • Работает
  • Редирект — с конечным адресом
  • Не найдена — 404 или 410
  • Доступ ограничен — 401, 403 или 429
  • Ошибка сервера — 5xx
  • Таймаут
  • Ошибка SSL
  • Домен не существует
  • Нет соединения

Отчёт
  • Карточки сверху: проблемные ссылки, редиректы, очередь, всего ссылок
  • Фильтры по статусу, типу, внутренним и внешним ссылкам, домену, категории, материалу и части адреса
  • У каждой ссылки — список материалов, где она стоит, и кнопка правки материала
  • Экспорт в CSV, открывается в Excel без проблем с кодировкой

Исправление в один клик
  • Заменить адрес во всех новостях, страницах и комментариях
  • Поставить конечный адрес редиректа вместо цепочки переадресаций
  • Убрать ссылку и оставить текст; битые картинки, фреймы и вложения удаляются
  • Игнорировать домен
  • Перепроверить сразу, без очереди
  • Массовые действия над выбранными ссылками
Перед записью показывается предпросмотр «было / стало». Старый текст сохраняется в журнал правок, и любую правку можно откатить. Если материал успели изменить после правки, откат его не тронет и сообщит об этом.

Автоматическая работа
  • Кнопка «Проверить сейчас» — проверка порциями с прогрессом прямо в админке
  • Cron — адрес с секретным ключом есть в настройках
  • Без cron — фоновая проверка при посещениях, запускается уже после отправки страницы посетителю
  • Проверка при сохранении — ссылки новой или изменённой новости сразу попадают в очередь (админка, быстрое редактирование, добавление с сайта)
  • Перепроверка по расписанию — рабочие ссылки раз в 14 дней, проблемные раз в 2 дня (настраивается)
  • Уведомления — сводка о новых проблемах на почту и в Telegram, раз в час, день или неделю

Нагрузка
На обычных страницах сайта плагин читает один маленький файл с временем следующего запуска и не делает запросов к базе. Модуль подключается только тогда, когда пора проверять.

Установка
  1. Админка → «Управление плагинами» → «Загрузить плагин» → LinksSuite.xml
  2. Откройте раздел «Битые ссылки» и нажмите «Проверить сейчас»
  3. По желанию добавьте задание cron на хостинге (адрес есть в настройках)
Плагин вносит в файлы DLE пять вставок по одной строке. Все места вставки сверены с дистрибутивом DLE 21. Удаление плагина убирает таблицы, настройки и служебные файлы.

Скриншоты
1792858592340.png
1792858757265.png

Требования
DataLife Engine 21, PHP 7.4 или новее с расширением cURL.

Скачать
 

Вложения

Последнее редактирование:
Автор темы
DLE Links Suite 1.1.0 — короткие ссылки /go/

Вторая часть пакета Links Suite. Партнёрские и внешние ссылки становятся короткими ссылками вашего сайта: /go/hosting. Адрес назначения меняется в одном месте — во всех новостях сразу.

Возможности
  • Список ссылок: короткое имя, адрес назначения, тип редиректа (301, 302, 307), срок действия, запасной адрес
  • Автозамена на лету: ссылки на указанный адрес или на весь домен меняются на /go/… при выводе страницы. Тексты в базе не меняются. Работает в новостях, доп. полях, статических страницах и комментариях
  • Сохранение пути: beget.com/vps → /go/beget/vps → та же страница с вашим партнёрским кодом
  • Атрибуты rel="sponsored nofollow noopener" и открытие в новой вкладке
  • Правила по стране и устройству: свои адреса для РФ и других стран, для телефонов и компьютеров. Страна определяется штатным GeoIP DLE
  • Передача UTM-меток и subid партнёрки с подстановками {slug}, {country}, {device}, {ref}
  • Запрет индексации: заголовок X-Robots-Tag и кнопка для robots.txt
  • Импорт: внешние домены, найденные проверкой битых ссылок, превращаются в короткие ссылки в два клика
  • Счётчик переходов без роботов
  • Понимает ссылки DLE с «защитой от лича»

Безопасность и скорость
  • Открытого редиректа нет: переход только на адреса из списка, никаких «?url=». Домен назначения всегда берётся из записи
  • Переход обрабатывается в самом начале загрузки DLE — без сессии, шаблона и модулей сайта
  • Автозамена читает карту ссылок из кэша, без запросов к базе, и работает только на страницах с нужными доменами

Установка и обновление
Загрузите LinksSuite.xml в «Управлении плагинами» — можно поверх версии 1.0.0. Правила ЧПУ /go/… плагин добавит сам. Раздел в админке: «Битые ссылки» → «Короткие ссылки».

Архив — в первом посте темы.
 
Автор темы
DLE Links Suite 1.2.0 — UTM-метки и источники посетителей
1792864644092.png
Третья часть пакета Links Suite. Метки ставятся там, где сайт сам рассылает ссылки, а отчёт показывает, какие рассылки, посты и реклама приводят посетителей, регистрации и заказы.

Метки на исходящих ссылках
  • Письма и уведомления DLE: в кампании — вид письма (регистрация, личные сообщения, комментарии)
  • Рассылки DLE: в кампании — тема рассылки
  • RSS и RSS для Дзена
  • Партнёрские ссылки /go/… с подстановкой ID новости и категории
  • Подстановки: {site}, {date}, {channel}, {subject}, {news_id}, {category}, {slug}
  • Метки ставятся только на ссылки, ведущие на ваш сайт, кроме админки и отписки

Источники посетителей
  • Первое касание: откуда посетитель пришёл впервые — по UTM-меткам, рекламным меткам (yclid, gclid, vkclid) или сайту-источнику: поиск, соцсети, другие сайты
  • Отчёт по источнику, каналу и кампании: новые посетители, регистрации, конверсия, заказы из «Стола заказов»
  • График по дням и последние пользователи с источником
  • Роботы не учитываются, на каждого посетителя — одна запись в базу

Конструктор меток
Готовые шаблоны Telegram, ВКонтакте, Дзен, Яндекс Директ, рассылка — и свои. Ссылка собирается на лету и копируется одной кнопкой.

SEO
Метки не создают дублей страниц: DLE указывает в canonical адрес без меток.

Установка и обновление
Загрузите LinksSuite.xml в «Управлении плагинами» — можно поверх 1.0.0 и 1.1.0. Раздел в админке: «Битые ссылки» → «Метки».

Архив — в первом посте темы.
 
Автор темы
DLE Links Suite 1.3.0 — учёт кликов
1792865631031.png1792865653212.png

Четвёртая часть пакета Links Suite. Считает клики по внешним ссылкам, файлам, кнопкам и коротким ссылкам /go/ — не только по рекламе, как штатный DLE. Данные хранятся у вас, без сторонних счётчиков.

Что считается
  • Внешние ссылки и скачивание файлов (по расширению и вложения DLE)
  • Кнопки и ссылки с атрибутом data-track="название" в шаблоне: «Скачать», «Демо», «Поддержать»
  • Переходы по коротким ссылкам /go/ — на сервере, с новостью, откуда был переход

Отчёты
  • По ссылкам и кнопкам, доменам, новостям, источникам посетителей и устройствам
  • CTR новости: клики к просмотрам
  • График по дням, экспорт в CSV

Теги для шаблонов
  • {ls-clicks} — все клики новости
  • {ls-clicks=download} — клики по кнопке с data-track="download": «Скачали N раз»
  • {ls-top-clicks} — топ-10 новостей по кликам за 30 дней

Скорость и честный счёт
  • Скрипт около 1 КБ, клики отправляются через sendBeacon — переход не задерживается
  • Приём клика — в самом начале загрузки DLE, без сессии и шаблона
  • Не считаются роботы, администраторы и повторный клик того же посетителя за N минут; есть лимит на один IP
  • Клик принимается только со страниц вашего сайта и с подписью страницы
  • IP хранится только как хеш с ежедневной солью; подробные клики — 90 дней, суточные итоги — всегда

Установка и обновление
Загрузите LinksSuite.xml в «Управлении плагинами» — можно поверх прошлых версий. Раздел в админке: «Битые ссылки» → «Клики».

Архив — в первом посте темы.
 

LinksSuite​

Идея модуля сильная: это не просто поиск битых ссылок, а целый комплекс управления ссылками, партнёрским трафиком и аналитикой для DLE.

По исходникам в архиве реализованы четыре самостоятельных направления:

ПодсистемаВозможностиПрактическая ценность
Broken Link CheckerПроверка ссылок, изображений, видео, вложений; массовые исправления и откатПоддержка качества контента и SEO
Affiliate Link CloakerКороткие /go/-ссылки, редиректы, партнёрские параметры, геотаргетингМонетизация
UTM ManagerUTM-метки, источники посетителей, регистрации и конверсииМаркетинговая аналитика
Click TrackerКлики по ссылкам, кнопкам, скачиваниям, отчёты и CTRАнализ поведения аудитории
Самое интересное — эти инструменты взаимосвязаны. Например, можно обнаружить нерабочую партнёрскую ссылку, заменить её и затем анализировать переходы.

Но архитектура достаточно сложная: 11 таблиц БД, 13 новых PHP-файлов и 11 VFS-модификаций существующих файлов DLE. Поэтому оценивать его нужно не как небольшой плагин, а как полноценный инфраструктурный модуль.

Что​

Есть важный положительный результат: я сопоставил VFS-модификации с загруженным ядром DLE 21.0.

11/11 точек подключения найдены
PHP-синтаксис корректен
Все 13 новых PHP-файлов и 8 модифицированных файлов ядра прошли проверку php -l. Это хороший показатель качества исходников, хотя он не заменяет испытания работающего сайта.

Проблемы,​

ПриоритетПроблемаПочему важно
P1В XML отсутствуют dleversion и versioncompareНет ограничения установки на проверенную версию DLE 21.0
P1Экспорт CSV делает дополнительные SQL-запросы для каждой ссылкиПри экспорте тысяч записей возможно огромное число запросов к базе
P1core.php, строка 192: при недоступной файловой блокировке сканер продолжает работатьВозможны одновременные фоновые задания и конфликты записи
P2admin.php рекомендует CHMOD 777 для engine/dataИзбыточные права, противоречат безопасной конфигурации хостинга
P2mysqlupgrade повторяет создание таблиц, но не содержит миграций существующих колонокОбновление старых установок требует отдельной проверки схемы
Особенно важно исправить работу SQL и обновлений: это влияет не на внешний вид, а на стабильность сайта и сохранность данных.

Дополнительные​

1. Аналитика допускает подмену источников. Cookie ls_ft хранит сведения о первом касании в Base64 без криптографической подписи. Я проверил, что вручную сформированное значение принимается как корректное. Это позволяет искажать источники трафика и данные атрибуции. Нужна HMAC-подпись и серверная проверка.

2. SSRF-защита требует усиления. Проверка публичных IP реализована, но для собственного домена сделано исключение (checker.php, строки 299–318). При включении HTTP-проверки внутренних адресов необходимо отдельно ограничить допустимые порты и адреса.

3. Автоматические исправления затрагивают контент напрямую. Модуль записывает изменения непосредственно в таблицы новостей, страниц и комментариев. Предпросмотр и откат присутствуют, однако нужно проверить согласованность с поисковым индексом, историей редактирования и другими модулями DLE.

4. Не все внутренние ссылки проверяются достоверно. Неизвестные маршруты в некоторых случаях получают статус «Работает» без фактической проверки (checker.php, строки 105–116). Следовательно, зелёный статус не всегда доказывает доступность страницы.

5. Учёт посетителей требует проверки для ЕС. По умолчанию включены сбор источников, cookie первого касания на 90 дней и Click Tracker. Перед включением на публичном сайте необходимо согласовать их с механизмом управления согласием пользователей и политикой хранения данных.

Что​

Для LinksSuite 1.3.1 я бы в первую очередь устранил блокирующие ошибки, обеспечил безопасные миграции, пакетные SQL-операции, защищённые cookie и корректный жизненный цикл фоновых заданий.

Для SmartSquare отдельно стоит проверить пересечение Click Tracker с LightStat. Собирать одинаковую статистику двумя независимыми механизмами без практической необходимости нецелесообразно.

При этом не стал бы сразу разделять LinksSuite на четыре отдельных плагина. Общая архитектура оправданна, если подсистемы можно независимо отключать и каждая действительно перестаёт выполнять свои запросы, скрипты и фоновые задачи.

Итоговый​

Функциональная концепция

Сильная

Интеграция с ядром DLE 21

Статически подтверждена

Готовность к production

SHIP BLOCKED
Это результат статического аудита; установка, обновление и нагрузка на живом DLE 21.0 ещё не проверялись.

Мой вывод: LinksSuite заслуживает развития. Особенно ценно объединение проверки битых ссылок, безопасного массового исправления и управления партнёрскими переходами. Но текущую версию 1.3.0 я бы не устанавливал на рабочий сайт без устранения обнаруженных проблем.

После исправлений он может стать весьма полезным универсальным инструментом для DLE 21.0, а не просто ещё одним модулем статистики.
 
  • Нравится
Реакции: doz
Автор темы
DLE Links Suite 1.3.1 — исправления

Обновление по итогам аудита кода: стабильность, безопасность и корректность данных. Новых функций нет, ставится поверх 1.3.0.

Стабильность
  • Установка ограничена DLE 21.0 и новее
  • Экспорт CSV идёт пачками по 500 ссылок вместо отдельного запроса к базе на каждую строку; отчёты в админке тоже грузят названия материалов пачкой
  • Фоновая проверка не запускается дважды одновременно, даже если в engine/cache/system нельзя создать файл блокировки: тогда блокировка берётся через базу
  • Обновление схемы: после установки новой версии недостающие таблицы и колонки добавляются автоматически, данные не трогаются

Безопасность
  • Cookie источника посетителя подписана: подделанное значение не принимается ни в отчёте по источникам, ни в кликах
  • Проверка своего сайта по HTTP — только на портах 80, 443 и порту сайта, без админки и служебных папок
  • Сообщение об ошибке записи настроек больше не советует CHMOD 777

Точность отчётов
  • Внутренние адреса, которые не удалось проверить, получают статус «Без проверки», а не «Работает». Старые записи переводятся автоматически
  • Правки ссылок в новостях и статических страницах видны в «Логах действий» DLE, как ручное редактирование

Согласие на cookie
Новая настройка «Только после согласия на cookie»: укажите имя cookie, которое ставит ваш баннер согласия. Пока согласия нет, источники посетителей не записываются, а клики не отправляются. По умолчанию выключено — всё работает как раньше.

Обновление
Загрузите LinksSuite.xml из архива LinksSuite_1.3.1.zip в «Управлении плагинами» поверх прошлой версии. Схема базы обновится сама при первом открытии раздела или первом фоновом запуске.

Архив — в первом посте темы.
 
Можешь взять допилить! @Sardorbek
Но делать из него Яндекс метрику не рекомендую по причине нагрузки!
 
@doz ты что купил подписку Max в OpenAI / Anthropic и решил сжечь её до тла? 😄

@Sardorbek сделай сам, научишься делать промты и разрабатывать модули, ещё и продавать сможешь при желании. К тому же аналоги метрики уже существуют давно их как минимум несколько штук, можно поднять в виде стороннего сервиса и использовать на своих сайтах. А пытаться запихнуть функционал всех возможных сервисов и CMS в любимый DLE, так себе затея. Всё же у каждого продукта своё назначение и свой функционал
 
Автор темы
@doz ты что купил подписку Max в OpenAI / Anthropic и решил сжечь её до тла? 😄

@Sardorbek сделай сам, научишься делать промты и разрабатывать модули, ещё и продавать сможешь при желании. К тому же аналоги метрики уже существуют давно их как минимум несколько штук, можно поднять в виде стороннего сервиса и использовать на своих сайтах. А пытаться запихнуть функционал всех возможных сервисов и CMS в любимый DLE, так себе затея. Всё же у каждого продукта своё назначение и свой функционал
я брал несколько подписок уже
в целом штука удобная
куда лучше поисковиков
а так по теме если, то брал ИИ для составление схем для постройки (из дерева, из железа) и раскроя (дерево, фанера)
 
@Nimad спасибо, зарегистрировал, дду активация аккаунта и разрешение на скачивания.
 

Похожие темы Последние темы Популярные темы

Назад
Сверху