Back to Main Site

Модуль MTShorter: высокопроизводительные перенаправления коротких ссылок

Last updated on Jun 24, 2026 00:44

Оптимизируйте обмен ссылками и отслеживание маркетинга. MTShorter — это высокопроизводительный модуль сокращения URL-адресов, разработанный для PolyCMS Repository для управления перенаправлением внутренних и внешних ссылок в едином пространстве коротких имен. Бекэнд построен на базе Laravel и является полностью открытым исходным кодом на GitHub.

Основные функции

Управляйте и проверяйте записи перенаправления через Короткие ссылки в панели администратора:

1. Генератор случайных слизней в стиле YouTube

Автоматически генерирует короткие случайные защищенные фрагменты, содержащие буквенно-цифровые символы (например, https://polycms.org/yqDlOmno) для быстрого обмена. Длину генерируемого слага можно настроить (по умолчанию 8 символов).

2. Проверка пользовательского пути и зарезервированного маршрута

Определите собственные короткие ссылки (например, создание настраиваемого пути к короткой ссылке, например https://polycms.org/yqDlOmno, указывающего на целевой URL https://polycms.org/blog). Система автоматически проверяет пользовательские входные данные, чтобы предотвратить дублирование или конфликты с путями базовой системы, такими как admin, api, login или предопределенные префиксы URL.

3. Многоуровневое глубокое кэширование

Разработан для высокого трафика. Контроллер перенаправления объединяет кэширование запросов, общие кэши, кэширование отрицательных запросов и логику блокировки для предотвращения перегрузки сервера:

  • Positive Cache TTL: Кэширование разрешенных коротких ссылок для обхода запросов к базе данных при последующих обращениях.
  • Negative Cache TTL: Кэширование несуществующих слагов (например, 60 секунд) для снижения нагрузки на базу данных при частых некорректных запросах.
  • Cache Lock: Временная блокировка для одновременных запросов для предотвращения эффекта лавины кэша (thundering herd) при промахах.
  • Cache Jitter: Добавление случайного времени к TTL для предотвращения одновременного истечения срока действия кэша на множестве ссылок.

4. Бессерверные и внешние целевые перенаправления

Динамически связывайте короткие ссылки с внутренними ресурсами (такими как отдельные публикации, страницы или продукты) с помощью разрешения по ID (это значит, что если слаг ресурса изменится, короткая ссылка останется рабочей) или настраивайте прямые пути на любые внешние URL-адреса.

5. Буферизованное отслеживание кликов

Отслеживание посещений коротких ссылок с использованием буферизованного сброса счетчиков. Количество кликов накапливается в кэше и записывается в базу данных пачками при достижении определенного порога (например, 20 кликов), что предотвращает частые блокировки таблиц при высоком параллельном трафике.

6. Геолокация и подробная аналитика

Регистрируйте и анализируйте события кликов для отслеживания эффективности. Модуль собирает:

  • Геолокация по IP: Определение местоположения посетителя (страна, город, ASN) с помощью таких сервисов, как GeoLite2, ip-api.com, ipapi.co, или ipinfo.io.
  • Определение устройства: Анализ User Agent для классификации браузера, операционной системы и типа устройства (компьютер, мобильный телефон, планшет или бот).
  • Источники трафика: Классификация рефереров по категориям (социальные сети, поиск, внутренний, внешний или прямой переход).

7. Панель управления и шаблоны (Presets)

Настраивайте шаблоны обмена с предустановленными переменными и наборами эмодзи-токенов для быстрого копирования текста. Просматривайте графики кликов и подробные логи переходов прямо в панели администратора. Узнайте больше на polycms.org.