Как сделать свой сокращатель ссылок
Сокращаем ссылки без жира (F3)
Короткие ссылки — это прикольно. Напишем сократитель с использованием Fat-Free Framework.
Итак, пятый бутстрап, обезжиренный фреймворк и частичка души.
Фреймворк, не так ли?
Конечно не Laravel и тому подобные — сегодня обойдёмся 65-ю килобайтами FatFreeFramework. Если Вы знакомы с Python Flask, то возникнет ощущение, что где-то это уже было:
Здесь все предельно просто — в папке ui у нас Views, а если по простому — ХТМЛ шаблоны, которые будем показывать пользователю при переходе на определенный URL.
Вот каркас нашего «приложения»:
Приступим. Для разработки я использовал локальный XAMPP на Windows и VS Code.
Homepage
Начнем с главной страницы, панели управления
Теперь нужно этот шаблон написать. Для простоты я использовал бутстрап v5 alpfa.
Cоздават шаблоны нужно в папке ui, иначе они не будут видны фреймворку.
Вот и все, у нас уже работает главная страница. Форма отправляет POST-запросом ссылку, которую нужно сократить.
Работа с БД
Создадим MySQL БД. Если у Вас установлен PhpMyAdmin, то создайте новую БД «shortener«, а потом выполните этот SQL:
У нас будет 3 поля у каждой ссылки:
Кратко расскажу принцип работы с БД, без жира.
Обработка новой ссылки
Создаем новую view в index’e, которая будет обрабатывать запрос из формы на главной странице.
Сначала создадим новый, но очень похожий на первый (home.htm) шаблон — «newLink.htm«.
Там мы будем выводить уже сокращенную ссылку и количество переходов по ней (чтобы снова увидеть эту «статистику» нужно снова сократить эту ссылку — адрес останется тот же).
Для вывода воспользуемся трюком с «переходом переменных»:
А вот и листинг newLink.html:
Перенаправление
Дело осталось за малым:
Продолжаем писать код после прошлого Роута.
Вы могли заметить, что в и в роуте newLink, и в роуте выше определятся одно и тоже — ведь code может совпасть с «newLink» (не может, в генераторе только буквы верхнего регистра), но так как сначала определен он, то он и выполнится первым.
$f3→run()!
Спасибо за прочтение!
Я буду рад, если Вы напишете комментарий, и поправите если что не так.
Вот, что стоило бы сделать:
Настоятельно рекомендую даже в таком маленьком деле делать валидацию ввода и на стороне сервера, с выводом соответствующих ошибок, не стоит полагаться на добавление аттрибута required и типа type=«url» к полю ввода
RedComrade
Создаем многопоточную сокращалку ссылок на своем домене.
Иногда возникает необходимость сделать быстрый ShortLink на своем домене.Облачные общедоступные сокращалки крадут траф, поэтому лучше иметь свою личную.
Скажу сразу, если у вас уже есть домен с хостингом и не возникает лишних вопросов на тему: как и куда заливать файлы на хост — мотайте вниз, ссылка на скрипт в конце, после 10 пункта.
Вообще настоятельно рекомендую брать хостинг с наличием Файлового менеджера, это значительно упростит задачу.
В статье мы рассматривали покупку домена на Gandi.net по скидке + настройку переадресации, я решил, что настраивать «сокращалку» будем там же, домен у нас уже есть.
1) Переходим на страницу «Simple Hosting» в меню слева и жмем «Create»
2) Далее выбираем «как на скрине» ниже и оформляем покупку.
По скидке хостинг будет стоить 214 руб/мес.
3) Хостинг зарегистрировался (5 минут), значит переходим в настройки (жмем на стрелочку).
4) Жмем «Start» для того, чтобы развернуть наш сайт.
5) Далее двигаемся по-пунктам от Gandi, жмем «create» и вводим название своего домена
6) Обновите DNS ( C gandi это сделать автоматически, если нажмете чуть ниже) и включите Free SSL-сертификат (как нажмете на подтверждение — проверьте почту, туда ссылка придет для подтверждения)
Придется подождать некоторое время, пока встанут DNS сервера.
Говорят, что это может занять до 24 часов, обычно все встает за 6-9.
Далее не забудьте указать пароль для доступа к админке:
логин цифры — пароль устанавливаем сами
7) Жмем Sites в верхнем меню и выбираем наш домен, жмем стрелку для перехода в настройки. После этого переходим в раздел Security, там необходимо создать пароль и взять SSH Keys для загрузки скрипта.
8 )Так как FTP клиента у Gandi не оказалось (поправьте меня если нашли) я скачал FileZilla и с помощью его залил скрипт на хост.
Разархивируйте скачанный архив и в текстовике admin/config.php логин и пасс замените на свои.
9) В FileZilla найдите корневую папку и закиньте разахивированную папку urlshorter:
Если грузите именно на Gandi, путь в FileZilla будет выглядеть так (только замените мой домен на свой).
10) Когда все загрузится сервис будет лежать по адресу вашдомен.ком/admin
Настоятельно не рекомендую устанавливать на хостинг от Gandi, я проклял все пока собирал статью конкретно под него.
Проще купить хостинг от TimeWeb , самого дешевого хватит, указать DNS от него у домена (подождать 5-9 часов привязки домена) и через файловый менеджер на сайте загрузить за пару минут прям не распаковывая 🙂
Скачать архив с ОБНОВЛЕННЫМ скриптом — https://yadi.sk/d/xuHGFSN2XynonA
ВНИМАНИЕ! Я гарантирую чистоту скрипта только в случае, если вы скачивали его по ссылке из этого мануала.
Исходная ссылка — куда будет переадресовывать сокращалка (обязательно с https://)
Количество — сколько штук ссылок нужно (сколько раз сократит)
Длина сокращенной ссылки — сколько символов будет сокращенная линка (количество символов после «/» ); если указываете свои короткие имена, то можно не писать длину
Короткие имена для ссылок — можно указать свои имена, которые будут в линке после /
Сокращенные ссылки — готовые линки
пример заполнения
Вариант создания ссылок без указания короткого имени так же все еще работает. Просто укажите куда редиректить, сколько нужно ссылок и длину после /:
Статистика:
В статистике видна исходная ссылка — куда редиректит; сокращенная ссылка — готовая к использованию; хиты — неуникальные клики; хосты — уникальные посещения;
Надеюсь, скрипт будет полезен для вас и вы не столкнетесь со сложностями.
Не забывайте подписаться на канал и вступить в чат:
Больше годноты на канале — Довольный Арбитражник
Обсудить и задать вопросы в чате — Арбитраж трафика | Довольный
ТАКЖЕ МОЖЕТ БЫТЬ ИНТЕРЕСНО:
Поделиться ссылкой:
1 комментарий на “ Создаем многопоточную сокращалку ссылок на своем домене. ”
Вдруг будет полезно кому-то.
Есть тоже бесплатный скрипт сокращатель ссылок YOURLS (your own url shortener). Там можно самому выбирать название короткой ссылки, но если нужно несколько сразу, то такой функции в нем нет.
Использую для своего проекта — удобно и есть аналитика по кликам (гео, источник и прочее)
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Собственный сервис сокращения ссылок
Всем привет, с вами Денис Чернятинский. Сегодня я затрону тему создания коротких ссылок на своем сайте. Я полагаю, что вы частенько попадали на сервис сокращения ссылок, который из длинных ссылок, состоящих из нескольких сотен символов, делает короткие, состоящие их нескольких символов.
Для чего нужен сервис сокращения ссылок?
Например, для того, чтоб вы могли сокращать ваши партнерские ссылки, не боясь о том, что могут обрезать её партнерский «хвост». Такие сервисы сокращают ссылку и партнерский идентификатор уже не будет обрезан.
Еще один пример, очень удобно передать такую короткую ссылку посредством СМС, чем состоящую из нескольких сотен символов, и при этом получателю будет удобней ввести вручную несколько символов, чем несколько сотен.
Вариантов использования таких сервисов очень много, если хорошенько подумать, вы сами придумаете для чего и как использовать подобные возможности.
В интернете существует довольно много сервисов сокращения ссылок, но, думаю, вы бы хотели сделать такой сервис на своем домене. Чтобы вместо названия стороннего сайта выводилось название вашего сайта, например, blogden.ru/partner.
Как сделать сервис сокращения ссылок своем хостинге?
Как реализовать такой сервис на вашем домене, в этой статье мы рассмотрим этот вопрос. В этом нам поможет специальный скрипт, который называется YOURLS. Скачиваем его с официального сайта прямо с главной страницы, проматываем вниз страницы и нажимаем «Download YOURLS».
Скрипт постоянно развивается и совершенствуется, на момент написания статьи последней версией является 1.7. Нажимаем по ссылочке закачки архива в формате zip.
Распаковываем скачанный архив к себе на компьютер, получаем папку YOURLS-1.7 с файлами скрипта. Соединяемся со своим доменом для загрузки этих файлов на хостинг. Если не в курсе как это сделать, прочитайте эту статью.
Этот скрип работает не только с основным доменом, но также с под доменами и с любой директорией домена. Вы сами должны прикинуть, как вам будет более удобно и какого вида ссылку вы хотите увидеть в итоге.
Для примера я сделаю папку внутри своего домена на сервере, и ссылка будет выглядеть вот так: «сайт.ру/папка/ссылка». Чтоб ссылка выглядела коротко назовем папку «url» и загружаем в неё все файлы распакованного скрипта.
Тем временем, пока файлы скрипта загружаются в папку на сервер, мы создадим базу данных. В ней он будет хранить исходные ссылки и сокращенные. Заходим в панель управления вашим хостингом, управление базами MySQL и создаем базу данных для нашего YOURLS скрипта. Придумываете значения логина и пароля по усмотрению, желательно, чтобы они не были слишком простыми, нажимаете создать.
Всё, базу данных мы создали, в нашем примере это «blogurl», у вас названия могут отличаться. Как раз файлы скрипта уже залились на хостинг, и мы можем перейти к настройке нашего скрипта.
На хостинге заходим в папку «url», далее в папку «user», там вы увидите файл «config-sample.php», который нужно переименовать в «config.php». Открываем его для редактирования и внесем необходимые изменения:
Настройки базы
У вас эти значения будут кардинально отличаться, так как я демонстрирую работу скрипта на своем локальном сервере.
Настройки url ссылок
Настройки скрипта
Варианты сокращения ссылок:
Стоп-слова
- Этот параметр содержит список стоп-слов, которые не позволяют генерировать ссылки с указанными значениями. Там указаны определенные слова, можете добавить еще свои.
Отлично, с настройками все, сохраняем его и загружаем уже отредактированный файл обратно на сервер в соответствующую директорию.
Проверка работы скрипта
Запускаем браузер и прописываем адрес скрипта на нашем домене, например, «blog.ru/url/admin/», далее нажимаем ввод, затем «Install YOURLS».
Появится уведомление, что все таблицы в базе данных созданы и предложение перехода на административную страницу скрипта, нажимаем на ссылочку перехода к админке. Вот прямая ссылка на всякий случай «https://blog.ru/url/admin/index.php».
Вводим логин и пароль, указанные при редактировании файла «config», нажимаем «login». При первом входе в админку появится уведомление, что ваш пароль хранится в незашифрованном виде просто в файле «config» и предложение его зашифровать. Нажимаем на предложенную ссылочку для шифрования. Откроется специальная страница, генерирующая hash из нашего пароля, необходимый для его шифрования.
Вводим пароль в соответствующее поле и нажимаем отправить, ваш пароль превратится в hash, копируем его значение и вставляем в файл настроек «config.php» на сервере вместо вашего пароля. Сохраняем и обновляем файл на сервере.
Если мы в административном разделе обновим страницу, то предупреждающее сообщение уже исчезнет, значит все сделано правильно. Теперь можно приступить к полноценной работе с нашим собственным сервисом коротких ссылок.
В новых версиях скрипта, начиная с версии 1.7, уже реализовано автоматическое шифрование пароля в config файле. Вышеописанные манипуляции шифрования делать не обязательно.
Примеры использования ссылок
В качестве примера будут указаны несколько ссылок, их можно удалить, нажав на кнопочку удаления. Этим действием мы немного освободим нашу базу данных и начнем создание ссылок с чистого листа. Например, введем какую-то длинную ссылку и зададим ей сокращение вручную, например, «do», нажимаем на кнопочку сократить. Наша длинная ссылка сократилась до «blog.ru/url/do», если скопируем и перейдем по ней, то попадем на изначальную страницу с длинной ссылкой.
Если не ввести ручное сокращение ссылки, то ссылка сократится произвольным образом. Для партнерских ссылок название какого-то курса лучше делать вручную, так более наглядно и красиво, например, «blog.ru/url/videokurs». Пользователь, нажимающий на такую ссылку, будет понимать, что в дальнейшем произойдет, на какую страницу он попадет.
По мере создания ссылок у вас будет отображаться их список, где вы можете видеть количество кликов по каждой ссылке, а также более подробную информацию по каждой ссылке. Можете редактировать, делиться ими в социальных сетях и многое другое.
Локализация скрипта
Как вы заметили, он не имеет русского языка, но мы можем локализовать его вручную. Мы русифицируем наш скрипт, чтоб с ним было удобно и приятно работать. Для этого я прилагаю специальные файлы русификации, добавляющие великий и могучий русский язык.
Установки русского языка
Теперь вы научились устанавливать и использовать сервис коротких ссылок у себя на сайте. Надеюсь, информация была для вас полезной.
Мысль статьи
Желаю всем успешного создания коротких ссылок у себя на сайте. Увидимся в интересных статьях моего блога. Спасибо за внимание, пока!
Сокращатель ссылок на своем домене: пошаговая установка YOURLS
Автор: Игорь Кантор · Опубликовано 27 апреля, 2021 · Обновлено 27 апреля, 2021
Главная > Инструменты > Сокращатель ссылок на своем домене: пошаговая установка YOURLS
Для большинства из нас (вебмастеров и арбитражников) сокращатель ссылок — это необходимый инструмент в повседневной работе. В этой статье я расскажу, как поднять свой собственный бесплатный сокращатель ссылок на своем хостинге со своим доменным именем. Поговорим о преимуществах такого подхода и подробно разберем процесс установки сокращателя и дополнительных плагинов к нему.
Зачем сокращать ссылки
Вопрос о том, зачем нам нужно сокращать и редиректить ссылки я уже неоднократно поднимал (здесь и здесь). Еще раз напомню, зачем это нужно в нашей профессии:
Многие задаются вопросом, как сделать чтобы ВК не блокировал ссылку. Применение подобных инструментов как раз и решает такую проблему.
Зачем делать свой сокращатель ссылок
При наличии большого кол-ва готовых онлайн-сокращалок логичным будет вопрос зачем изобретать велосипед. Вот перечень сокращателей ссылок, которые я иногда применяю в своей практике:
Все это отлично подходит для задач, когда вам нужно получить более красивую ссылку для размещения, например, в постах соцсетей. Никаких нареканий в этом плане, но для задач, связанных с арбитражем трафика этого недостаточно.
Недостатки готовых решений
Фильтры
Главный недостаток публичных сокращателей ссылок — низкий уровень траста со стороны соц.платформ. Использовать в записи или в посте такую ссылку можно без проблем, но при рассылке спама такие ссылки будут очень быстро отходить в бан.
Также, насколько я знаю, ссылки, полученные через публичные сокращатели ссылок не получится использовать в рекламных объявлениях
Доверие и бренд
Тут все предельно понятно. Если хотите чтобы ссылки вызывали доверие потенциального клиента, они должны содержать в наименовании имя вашего бренда. За ссылкой https://bit.ly/3dPN3Gn может стоять все, что угодно. Делая собственный сокращатель ссылок вы используете именно тот домен, который нужен вам.
Проблемы уникализации
Еще один маленький недостаток публичных сокращателей ссылок — в бесплатных тарифах проблемно сгенерировать пул уникализированных ссылок, ведущих на одну страницу. Рандомизация ссылок — один из главных факторов, влияющих на снижение банов аккаунтов при рассылках в соцсетях. В своем блоге я уже достаточно много говорил про важность рандомизации.
Чтобы получить множество уникальных ссылок, придется вставлять исходную ссылку, генерировать одну сокращенную. Потом, снова копировать исходную, сокращать ее и т.д. Конечно, можно автоматизировать процесс зеннопостером, кликерманом или написать свой скрипт на Selenium, но это уже совсем хардкор).
Аналитика
В ряде случаев стандартные сокращатели дают весьма скудную статистику по переходам, если вообще дают. Это тоже минус. Наверное, лечится приобретением подписки.
Бесплатный сокращатель ссылок: YOURLS
YOURLS — это OpenSource проект, что означает, что он полностью бесплатен и все исходные коды открыты. Устанавливается эта штука на ваш хостинг. После установки и настройки вы получите админ-панель, через которую сможете создавать свои ссылки и мониторить статистику переходов:
В принципе, все устанавливается достаточно просто, конечно, если вас не пугает создание базы данных и ручная правка конфигов))) Ниже привожу подробную инструкцию, как все безболезненно поставить буквально за 10 мин.
Скачивание
Загрузить архив с программой можно по ссылке на официальном сайте проекта. Ссылка ведет на гитхаб, где, собственно, можно получить желаемый архив:
Скачиваем ZIP архив на свой ПК. Дальнейшие действия зависят от вашего хостинга. Я пользуюсь Timeweb, поэтому, мне удобнее сразу загрузить архив на хостинг, там распаковать его и поправить конфиги. Если у вас другой хостинг/сервер, то можете изменить порядок действий: сначала распаковать все на ПК и выполнить настройки в файле конфигурации, а уже потом все залить на хостинг, например с помощью Filezilla.
Загрузка на хостинг
Перед тем, как загрузить архив на хостинг, я создал новый сайт и привязал к нему один из доменов, который у меня уже был. Вы можете приобрести новый домен, который нравится. Я создал в Таймвеб каталог yourls и привязал завалявшийся домен:
YOURLS версии 1.8.1 требует наличия на сервере PHP версии не ниже 7.2. Проверьте, что для вашего сайта выбрана самая свежая версия PHP, иначе софт работать не будет. У меня сначала не заработало, т.к.Таймвеб по умолчанию устанавливал для новых сайтов PHP 7.1
Далее все просто: заходите в каталог public_html нового сайта, удаляете все содержимое и загружаете туда ZIP архив, скаченный на предыдущем шаге:
Теперь распаковываете архив в текущий каталог. Сам файл архива можно будет удалить:
Если после извлечения архива в каталоге оказалась папка YOURLS, то нужно переместить файлы, чтобы получилось, как на скрине выше
Создание базы данных
Далее, заходим в раздел управления базами данных. Создаем новую базу:
Записываем куда-нибудь логин и пароль от новой БД.
Настройка YOURLS
Осталось совсем немного. Возвращаемся в каталог с распакованным архивом. Заходим в папку user и переименовываем файл user/config-sample.php на user/config.php :
Открываем файл user/config.php на редактирование с помощью встроенного в Таймвеб редактора кода. Повторюсь, можно все это сделать у себя на ПК, а уже потом загружать на хостинг.
Отредактировать нужно следующие параметры:
В моем случае получилось, как на картинке ниже (подчеркнул параметры, которые нужно поменять на свои):
Сохраняем изменения в файле и вводем в адресную строку браузера адрес hhtp://ваш_домен.ru/admin
Должен открыться сокращатель ссылок на вашем домене и предложить выполнить установку:
Жете кнопку Install YOURLS. После установки должны увидеть, что все компоненты установлены успешно. Осталось выполнить вход в админ-панель с логином и паролем по умолчанию:
Откроется главное окно сокращатель ссылок. Поздравляю! Установка завершена. Теперь у вас есть свой собственный сервис по сокращению ссылок на своем домене:
Введите адрес, который хотите сократить/редиректить, задайте произвольную короткую ссылку и нажмите кнопку Shorten the URL.
Решаем проблему множественных ссылок
Если вы успели заметить, YOURLS не дает создавать несколько разных ссылок, ссылающихся на одну исходную. Для нас это принципиальный момент, т.к. мы хотим делать 100-200 уникальных ссылок, ведущих на один и тот же адрес (например, на партнерский товар в CPA-сети). Решается данная проблема установкой одного параметра в конфигах. Снова открываем на редактирование файл user/config.php и устанавливаем параметр YOURLS_UNIQUE_URLS в значение false:
Теперь можете создавать сколько угодно ссылок на один адрес.
Плагины
К счастью, YOURLS разработали так, чтобы была возможность подключать плагины. На гитхаб есть целая страница с возможными расширениями. Настоятельно рекомендую ознакомиться: https://github.com/YOURLS/awesome-yourls
Ссылки как в bitly (генератор URL)
Каждый раз вводить имя сокращенной ссылки неудобно. Если его не указывать, то сокращатель будет подставлять порядковые номера: 1, 2, 3 и т.д. Это не очень красиво. Хочется, как в bit.ly, чтобы генерировался рандомный набор букв.
К счастью, YOURLS из коробки поставляется с необходимым нам плагином. Чтобы его активировать, необходимо зайти в раздел Manage Plugins и активировать плагин Random ShortURLs:
Теперь вашим ссылкам будет присваиваться рандомное сочетание букв.
У плагина предусмотрены настройки, где можно установить длину генерируемых ссылок. По умолчанию установлена длина 5 символов
Массовый импорт ссылок из файла
Сделать сотню-другую ссылок вручную можно, но это не очень удобно. На помощь приходит плагин: Bulk Import and Shorten. Он позволяет импортировать ссылки из CSV-файла. Это именно то, что я использую.
Для установки, необходимо скачать исходники с официального репозитория на github:
После загрузки необходимо на хостинге в каталоге нашего сайта в папке user/plugins создать новый каталог с именем bulk-import-and-shorten. В этот каталог необходимо загрузить содержимое скаченного архива.
Если все сделали правильно, то в админ-панели увидите новый плагин. Необходимо его активировать:
Проверим, как это работает. Создадим пустой файл CSV (создаете новый файл Excel, жмете сохранить как, выбирате формат CSV). Впишем первый столбец нашу исходную ссылку, которую мы хотим сократить/размножить/редиректить (выбери свое):
Я хочу получить 40 новых ссылок на свой сайт через свежий домен. Для этого я вписал в первый столбец 40 одинаковых строк с исходной ссылкой. Сохраняем файл. Осталось загрузить его в наш сокращатель ссылок.
После загрузки CSV будет создано 40 новых сокращенных ссылок с рандомным именем. И все они ведут на один и тот же адрес. Так можно сделать сколько угодно ссылок. Ну не красота ли?)
Обратите внимание, как хорошо сработали 2 плагина: Bulk Import and Shorten и Random ShortURLs. Первый позволил загрузить сразу много ссылок из внешнего файла, а второй, избавил от необходимости придумывать уникальные URL.
Аналитика переходов
Пару слов про статистику переходов. Функционал незамысловат, но при этом достаточен. Для каждой ссылки можно посмотреть следующую информацию:
В интерфейсе админ-панели это выглядит так:
Итоги
YOURLS — отличный инструмент для своих задач. Радует, что есть сообщество единомышленников, поддерживающих проект и вносящих в него свой вклад. Благодаря этому мы имеем возможность пользоваться гибким бесплатным инструментом. Если вам чего-то не хватает, посмотрите на обилие плагинов — наверняка какой-то из них поможет решить вашу задачу.
Еще у инструмента есть API. Создавайте свои приложения, а вопрос генерации ссылок можно доверить YOURLS. Может соберусь написать бота Телеграм, который будет это делать)
С вами был Игорь Кантор. Надеюсь, статья вам понравилась и вдохновила на подвиги (ну, или, хотя бы вспомнить, как создается БД на хостинге) Для тех, кому нравится контент я сделал две кнопочки внизу. Всем добра и профита!