Как написать cms: Как я написал свою CMS, и почему не рекомендую вам делать то же самое / Хабр

Содержание

Рождение одного проекта или как написать свою CMS

Приветствую вас, уважаемые Хабравчане. Я очень долго шел к тому чтобы написать статью здесь о себе и своем проекте. В этой статье я хотел бы рассказать Вам мою историю зарождения идеи проекта. А также написать свою историю развития взглядов на разработку ПО в целом. Возможно даже, мне удастся передать часть знаний основанных на моем многолетнем опыте работы программистом. Поехали!

Oбо мне


Расскажу немного о себе. Меня зовут Александр, я работаю программистом более 10 лет. Мне приходилось решать задачи в разных областях бизнеса, таких как банковское дело, электронная коммерция, проекты структурирования данных, парсеры и прочие задачи «энтерпрайз» сектора.

Цель данной статьи показать одну из граней мира разработки ПО и возможно открыть новую дверь возможностей для других программистов. Что я имею ввиду под этим заявлением?

Этапы развития программиста


Наверняка ранее Вы уже читали статьи про этапы развития программистов. По моим убеждениям каждый программист проходит этапы развития в своей профессиональной карьере.

Я определил этот путь развития программиста в 5 этапов:

  • Первый этап это когда ты студент или ты еще новичок в программировании. Тебе нравится просто видеть результат того что ты запрограммировал, будь это окно с кнопочкой «Hello» или парсер данных который анализирует и структурирует.
  • Второй этап это когда ты уже пишешь сложные интеграции и используешь продвинутые фреймворки. И ты получаешь удовольствие от того что освоил очередной инструмент.
  • Третий этап это когда ты начинаешь разбираться как лучше структурно спроектировать приложение. И просто сходишь с ума от того что ты разделил правильно логику на компоненты.
  • Четвертый этап это этап бога разработки ПО. Ты понимаешь все предыдущие этапы и тебе нравится построить систему сборки и доставки всех модулей приложения в единый удобный автоматизированный установщик.
  • Пятый этап это самый грустный этап. Ты понимаешь что твоё любимое дело уже не приносит той былой эйфории и просто делаешь всё на автомате. Вот тогда наступает тот момент когда тебя распирает просто сделать свой продукт и вывести его на рынок тем самым решив чью-то проблему или просто улучшив какой-то рабочий процесс.

Рождение и смерть идеи


Как вы уже наверняка поняли, что эти этапы основаны на моем личном опыте. Поэтому возможно у кого-то будет совсем другой опыт развития. И я не заявляю что так и никак по другому. Дальше речь пойдет о том самом 5-ом этапе развития и что с этим делать дальше.

Однажды в мою голову упала одна очень интересная идея. Перед этим конечно я ходил неделю и думал какой бы сервис «запилить». Причем серьезно и обдуманно я решил делать что-то грандиозное.

Идея была такова, создать некую платформу, по сути веб-сайт, который позволит каждому желающему рассказать другим о своих умениях в чем-то где он преуспел относительно других. Например, заядлый рыбак, хочет поделится своим опытом как ловить правильно окуня или карпа. Он создает некое событие на этой платформе с датой проведения семинара и размещает промо-ролик или просто описание своего семинара. Остальные пользователи голосуют интересно или не интересно, при сборе какого-то количества голосов, событие утверждается платформой или отклоняется из-за недостатка голосов в поддержку. Причем человек разместивший это событие имеет возможность установить сумму за посещение данного семинара. От владельца этой платформы требовалась полная организация этого мероприятия. Соответственно взяв небольшую комиссию с продажи билетов. Вот уже готовая монетизация.

Я уже слышу в Ваших мыслях, — «да это уже есть, зачем делать снова велосипед». А вот есть смысл, я еще вернусь к этому утверждению. Конечно в итоге идея резко трансформировалась кардинально в другую, но без основной задачи я бы не увидел эту проблему.

Всего лишь CMS


Дальше встал вопрос на какой технологии это всё делать. Я недолго думая, начал смотреть существующие CMS и прочие платформы для быстрой сборки такого рода проекта. Решение было такое, что я возьму какой-то движок для работы с данными и просто буду делать веб-морду доставая эти данные по REST. Я не собирался закопаться в полноценную разработку. В итоге всё же пришлось.

Мой взгляд на разработку ПО


Для каждой задачи, свой инструмент. Я всегда стараюсь придерживаться этого правила в разработке ПО. Еще один из важных факторов это разделение логики на технологические области ответственности. Для меня важны четкие границы интеграции между разными технологиями. Другими словами мне нравится когда «фронтэнд» отделен от «бекэнда» например. То есть от слова «совсем». Или существуют выделенные структурно модули, интеграции, и все это работает независимо. Сейчас это называется микро-сервисы.

Я считаю что так легче организовать работу над проектом, разделив разработчиков на команды по их компетенции.

Все! Решаю сделать космолет


Исходя из опыта я думал что нужен такой инструмент который поможет из готовых блоков формировать дизайн страниц и связывать его с данными и сервисами этой платформы прямо из браузера. Основной критерий был это никакого узко-специализированного программирования под каждую задачу. Всё должно быть абстрактно и как конструктор.

Потратив 2 недели на поиск чего-то подобного и испытав при этом две бесплатных CMS — Drupal и WordPress (я попытался использовать их в качестве движка управления данными и интеграцией по REST API). Но ни одна из них не удовлетворила мои требования. Поэтому мною было решено написать свою CMS с «блекджеком и шлюхами».

Технологии


Следующий вопрос который предстояло решить это выбор стека технологий для реализации. Особо долго не раздумывая, я конечно же предпочел сделать все на Java. Нужно было только решить какие фреймворки взять. Критерий в выборе фреймворков был таким — не брать лишнего и использовать только нужные части инструмента (в дальнейшем немного пожалел о выборе). Для построения интерфейса администраторской панели, мною был выбран один малоизвестный AJAX-фреймворк из Тайваня — ZK Framework. Мне в нем нравится подход MVVM, и его AJAX-составляющая (сейчас я уже считаю это минусом). Так как не нужно писать тонны JS чтобы следить за актуальностью состояния интерфейса пользователя на странице (на данный момент я нашел лучшую альтернативу).

Что же за стек технологий я по итогу получил:

  • ZK Framework (MVVM)
  • Java (EJB)
  • JAX-RS
  • MongoDB
  • WildFly

Ну что, вперед!


И я ушел с головой в этот проект, параллельно работая на проектах за зарплату. Время на свой проект было в основном по вечерам и выходным, иногда где-то удавалось урвать время на основной работе, работал и там. В процессе работы над проектом менялся принцип реализации несколько раз. Модель данных также претерпела множество модификаций. Параллельно я рассказывал друзьям программистам над чем работаю, предлагал влиться в проект и начать совместную работу. Но к сожалению я продолжал делать этот проект в одиночку. В итоге я потратил 3 года чтобы получить рабочую версию того функционала что был задуман.

Один в поле не воин, или…


Дальше мне хотелось всё же создать команду. Я начал регистрацию своего продукта в качестве стартапа в одном из бизнес-акселераторов. Но так и не закончив свою заявку, остановившись на этапе «Ваша команда».

Я много и часто рассказывал своим друзьям кто работал в близкой к сфере IT (информационных технологий) или в сфере IT.

В конце концов мне удалось найти такого же сумасшедшего потенциального клиента на мой продукт. Он также как и я, решил делать свой продукт, но он не программист. И ему нужна была платформа для его продукта. Я решил, вот оно! Мне даже не пришлось предлагать самому использовать мою CMS, мне было предложено на ней сделать сайт. Бесплатно конечно. Это был мой шанс испытать на реальной разработке мою CMS. И знаете что, я был приятно удивлен, но моя CMS справилась с этой задачей на все 100%. Да, конечно я много чего в процессе сборки дорабатывал, улучшал, и просто «фиксил» баги. Но в итоге я смог гибко натягивать любые дизайны и шаблоны на страницы, подключать и интегрировать данные и сервисы из сторонних источников.

И швец, и жнец, и на дуде игрец


С этого момента я понял что нужно развивать свои знания в области маркетинга, и читать книги о построении своего бизнеса. В процессе я участвовал с этим продуктом в хакатоне от MongoDB, получил частично реакцию аудитории на этот продукт. В соц. сетях откликнулись и даже поделились моим сообщением о том что я сделал CMS. По результатам хакатона, я конечно не получил ни единой награды, но я остался доволен тем что я участвовал.

Пока я ждал результаты хакатона я еще сделал две попытки «запитчить» мой продукт на мероприятиях по привлечению инвестиций. После чего уже увидел живую реакцию слушателей. Что принесло мне огромный опыт.

Результат


Что на данный момент я имею:

  1. Некий MVP(Minimal Viable Product) покрывающий функционал:
    • гибкой шаблонизации
    • файлового хранилища
    • модификации модели данных налету
    • интеграцию с REST сервисами
    • управление ролями и пользователями в MongoDB

  2. Опыт презентации IT-продукта и реакцию зала.
  3. Партнеров в работе над IT-продуктами, мотивированных решать задачи лишь за идею.
  4. И большой «роадмап» дальнейшего развития продукта. На данный момент по стеку технологий я задумал колоссальную переработку, и почти полную смену этого стека технологий. Плюс расширения функционала.
  5. Идеологию в реализации оставляю такую же.

Заключение


А теперь я вернусь с чего начинал. Смысл делать свой продукт есть всегда, даже если все вокруг говорят «да это уже есть, это всё сделали до тебя». Я называю таких людей английским словом Naysayer, однажды я услышал это слово от Арнольда Шварценеггера в одной из его мотивационных речей.

Несколько возможных путей развития продукта:

  • Отдать его в open source
  • Объединиться с похожими продуктами
  • Собрать сообщество таких же сумасшедших как я, кто создает свои продукты и пытается их продвинуть на рынок

Вот официальный промо-ролик:

Вот официальный демо-сайт CMS:

MastermindCMS

P.S.: Я хотел бы извиниться за частые использования «американизмов» в тексте. Сленг разработчика очень наполнен ими. Если бы я все перефразировал на русские синонимы, я бы потерял стиль повествования понятный и атмосферный для коллег по цеху.

Я надеюсь, мой рассказ вам понравился, и кому-то он будет полезен. Всем хорошего продуктивного дня!

Переход с OpenSource CMS на коробочную UMI.CMS глазами разработчика

Переход с OpenSource CMS на коробочную UMI.CMS глазами разработчика

+7 (812) 309-03-15
Все контакты

0

Разделы сайта

Кейсы

О продуктеЧто новогоВозможностиМодулиВнедренияОтзывыКейсыИстория версийUMI.CMS в рейтингах

Закажите сайт по телефону 8-800-5555-864

Холивар

Безусловно, каждый разработчик будет хвалить именно ту систему управления, тот язык программирования и ту операционную систему, к которой он привык. Я нисколько не претендую на то, чтобы мое мнение считалось единственным верным. У каждого есть своя точка зрения, но я хотел бы рассказать, почему в итоге я выбрал UMI. CMS в качестве основной системы для разработки сайтов.

 

Длительный путь

Я имею достаточно богатый опыт разработки бизнес-логики для всякого рода систем управления. Так уж получается, что в большинстве случаев веб-студии испытывают явный недостаток специалистов, которые могут разбираться в короткие сроки с тем, с чем они раньше не сталкивались. Всегда можно написать некоторый код напрямую в обход API и вообще архитектуры системы. Однако, лично я такой подход не приемлю, и, как показывает практика, время и трудоемкость, которые будут потрачены потом на обновление и доработку такого рода систем, возрастают в разы.

Отсюда мне пришлось поковыряться в совершенно разном коде разных CMS, начиная от OpenSource-решений, типа Joomla, WordPress, и самописных движках. Безусловно, также в разработке мне пришлось столкнуться с UMI.CMS и 1С-Битрикс.

 

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

И что бесплатно?!…

В самом начале своего пути в направлении создания сайтов и разработки функционала, я предлагал клиентам использовать бесплатные системы управления, причем я честно был уверен в том, что коробочные решения — это пустая трата денег клиента. И, естественно, доволен был и клиент, так как он реально экономил. Также важным аргументом был тот факт, что для Opensource-решений разрабатывается большое количество платных и бесплатных модулей, которые можно использовать в рамках своих проектов. Для меня лично и в дальнейшем для нашей компании это тоже было удобно, так как не нужно тратить время на разработку каких-то решений, практически уже все есть в сети.

Однако, спустя какое-то время начали возникать всяческого рода трудности (например, где-то посыпались эксепшены, которые ничем не ловятся, или стали наблюдаться явные проблемы производительности), о возникновении которых я даже не мог подозревать. В итоге силами разработчиков приходилось копаться в коде модулей и самой системы управления и устранять баги. Иногда проблемы решались обновлением, а иногда, наоборот, это приводило к возникновению новых багов.

 

Первое знакомство

И, возможно, так было бы и дальше, стали возникать мысли о написании своей системы управления, которая не будет многофункциональной, а будет направлена для решения конкретных задач. Но пришлось столкнуться с крупным проектом, для которого было разработано много уникального функционала, и работает он под управлением UMI.CMS. В рамках данного проекта требовалась разработка нового функционала и доработки по старому. Так я и познакомился с миром UMI.CMS.

Признаюсь честно, было потрачено достаточно времени, чтобы понять для себя, как писать код под UMI. Однако, я считаю, это время не было потрачено зря. Я остался доволен тем, как подошли к делу разработчики ЮМИ, и мне нравится то, что у них получилось.

Сейчас мы практически полностью отказались от использования OpenSource для разработки Интернет-проектов. И смещаем акцент с 1С-Битрикс в сторону UMI.

А теперь больше конкретики, почему именно UMI.CMS. Я хочу затронуть весь спектр преимуществ с точки зрения разработчика и с точки зрения заказчика.

 

Архитектура данных

При работе с API UMI.CMS мы абстрагируемся от понятия базы данных, ее структуры, нативных sql-запросов, хотя реально это все используется, но скрыто в глубинах API. Разработчик, в терминах UMI, работает с объектами. Вся модель построена на взаимодействии объектов. Для получения объектов из внешнего хранилища используется понятие фильтра-селектора, который строится добавлением вызовов методов фильтрации. Объекты могут быть связаны между собой иерархически.

Чтобы получить список красных машин, мы просто указываем селектору тип объектов — машины, а также его характеристику — красный цвет и все. Селектор внутри своей реализации в стороне от разработчика строит sql-запрос, исходя из своей модели, и не требует от него знаний в архитектуре хранения данных и обращения к ним.

Реальная сериализация всех UMI-объектов происходит в одних и тех же таблицах. Рефлексия, или отражение, атрибутов объектов и его типа происходит по служебным полям таблиц, соединяя все представление объекта по ключам строк таблиц.

Объектно-ориентированная архитектура базы данных позволяет решать задачи проще и быстрее и обеспечивает высокую преемственность проектов между разработчиками.

 

Достоинства модели объектов UMI.CMS

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

Большинство известных мне систем управления имеют упрощенную модель хранения данных, которая подразумевает отображение каждого типа объектов на свою таблицу в БД. Такое построение позволяет составлять более эффективные с точки зрения производительности и сложности нативные sql-запросы, но менее гибко и более трудоемко для разработчика для реализации, требуя от него знаний по созданию таблиц, их организации, оптимизации. Также для каждого объекта нужно писать свои алгоритмы и операции по сериализации и десериализации, что требует дополнительных усилий и времени для тестирования и отладки.

Возникает вопрос, почему же для меня не имеют значение эти столь серьезные недостатки в организации данных в хранилище. Отвечу так: для корпоративных сайтов, интернет-магазинов, информационных порталов и социальных сетей, угрозы производительности не будет. Большинство проектов имеют не гигантский масштаб по нагрузкам и объему данных, а поэтому вариант с UMI.CMS позволит решать при достаточном уровне производительности подобные задачи. А для разработки крупных систем под высокими нагрузками я вообще бы не стал использовать PHP и MySQL, в такой ситуации я бы выбрал связку Java + Oracle. Но зато для разработки сайтов это удобная модель, так как позволяет значительно упростить работу. Наверняка некоторым программистам такое представление данных покажется неудобным, однако сразу скажут, что это предельно просто и удобно. За счет этого даже пользователь имеет возможность создать любой объект прямо через админку. Для этого ему не придется лезть в БД и создавать там новую таблицу, и разбираться, как и что там делать.

 

В процессе разработки

Существует достаточно полная документация по API, на сегодняшний момент есть определенные недостатки примеров, но такая ситуация есть у всех. Могу в защиту сказать, что ребята из «Юмисофт» постоянно работают над улучшением документации, также развивают свои источники информации: блог, вики и вики-дев. Также наличие «Службы Заботы» позволяет разрешать затыки и сложности в процессе разработки.

Видно, что UMI заинтересованы в своих партнёрах и клиентах, всегда идут им на встречу и помогают всеми возможными путями. Могу сказать, что это здорово, так как, возвращаясь например к Joomla, спрашивать не с кого, необходимо самостоятельно разбираться с возникшими трудностями, а вся серьезная документация, в частности по API, на английском языке, причем она очень часто меняется, что крайне неудобно.

Поддержка и гарантии производителя: постоянное развитие источников информации, поддержка Службой Заботы, устранение багов.

 

Кодинг

Вряд ли разработчик сможет сходу уверенно писать код под UMI, если начнет с ней работать впервые. Но по себе скажу, что чем глубже погружаешься, тем больше начинает нравиться процесс разработки на основе их API. Отмечу, что UMI думает о разработчиках и всячески пытается упростить процесс разработки, например, в версии 2.8 появился класс Selector, который позволяет предельно просто генерить выборки различной сложности.

Интеграция дизайна

UMI.CMS, в отличие от например той же Joomla, позволяет максимально просто внедрять дизайн, а также использовать на выбор два шаблонизатора tpl и xslt. В случае xslt вообще можно избежать написания кастомных макросов для сайта за счет того, что любой объект системы можно представить в виде xml.

 

Наиболее важная часть для клиента — это удобство управления своим сайтом.

Глазами клиента

Если провести аналогию, например, с Joomla и 1С-Битрикс, можно с уверенностью сказать, что UMI.CMS фаворит в плане управления сайтом. Видно, что UMI думает о юзабилити, так как все интуитивно удобно. Cейчас у меня есть отзывы клиентов, которые ушли от Joomla и перешли на UMI и довольны удобством ее интерфейса. OpenSource-решения, на мой взгляд, разрабатываются скорей для самих разработчиков и веб-мастеров, чем для потенциальных пользователей.

Для клиента в большинстве совершенно все равно, на чем будет работать его сайт, главное, что он хочет иметь возможность максимально просто им управлять. Я считаю, что UMI справилась с этим успешно.

 

«

В итоге всего выше сказанного, лично я для себя сделал выбор. На основе применения UMI.CMS можно строить и развивать надежный бизнес с уверенностью в качестве и высокой скорости разработки. Я надеюсь, что Вы тоже сделаете для себя определенные выводы после прочтения этого материала


»

Роман Синцов,

руководитель проектного отдела студии MainSource

5 Советы по написанию текстовых сообщений для вызывающих отклик SMS

SMS — один из лучших каналов связи для установления контактов с потенциальными и потенциальными клиентами — он прямой, знакомый, быстрый и недорогой. Но ваша SMS-стратегия может потерпеть неудачу, если вы отправите плохо написанный текст или не будете следовать базовому этикету обмена текстовыми сообщениями.

Вот что вам нужно знать, чтобы лучше писать текстовые сообщения и повышать эффективность ваших кампаний.

Рамка для профессиональных текстовых сообщений

Прежде чем мы объясним, что нужно для написания отличного профессионального текстового сообщения, которое найдет отклик у ваших подписчиков, давайте рассмотрим основы. Независимо от того, какой тип SMS-кампании вы создаете, обязательно следуйте этим золотым правилам…

  • Всегда получайте разрешение — если вы отправляете маркетинговые SMS-кампании, вам необходимо получить прямое письменное согласие. от подписчиков в первую очередь. Это требование закона в большинстве стран.

  • Разрешить отказ – еще одно юридическое требование (когда речь идет о текстовом маркетинге) заключается в том, чтобы включить метод отказа от будущих текстовых сообщений в вашем SMS-контенте. Вы можете сделать это с помощью ссылки для отказа от подписки или попросив получателя ввести ключевое слово, например «СТОП», чтобы отказаться.

  • Учитывайте время – рекомендуется отправлять деловые текстовые сообщения в рабочее время. Не отправляйте сообщения до 8 утра и после 9 вечера (это часы «не звонить», предусмотренные законодательством США).

  • Не переусердствуйте с частотой – бомбардировка клиентов текстовыми сообщениями приведет только к жалобам и отказам. Проверьте количество сообщений в неделю или месяц, которые ваши подписчики будут терпеть — начните с одного или двух в неделю и внимательно следите за уровнем отказов.

  • Текстовые сообщения должны быть короткими — если ваше текстовое сообщение превышает лимит символов — обычно 160 символов — оно будет считаться двумя или более текстами. Чтобы сократить расходы, будьте лаконичны в формулировках и используйте пространство, доступное в одном текстовом сообщении. (Необходимо отправлять более длинные тексты, чем в среднем? Узнайте о составных SMS.)

  • Вычитка перед отправкой – звучит очевидно, но вы будете удивлены, узнав, сколько текстов заканчиваются опечатками и полностью меняют смысл сообщения!

Советы, которые помогут вам лучше писать текстовые сообщения

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

1. Персонализируйте свое сообщение

91% потребителей с большей вероятностью будут использовать бренды, которые предоставляют соответствующие рекомендации и предложения. Поэтому сосредоточьтесь на релевантности. Используйте информацию о клиентах, чтобы сегментировать свой список подписчиков и отправлять целевые персонализированные текстовые сообщения. (Не забудьте обратиться к получателю по имени!)

Избегайте этого:

Эй! Сэкономьте на канцелярских товарах, одежде и технике на распродаже в нашем магазине! Купить сейчас: [URL]

Вместо этого выберите:

Эй, Эмили, надеюсь, тебе нравится твой кожаный журнал пуль! Наши обложки для журналов в настоящее время продаются, если вы хотите защитить обложку. Купить сейчас: [URL]

2. Используйте простой и понятный язык

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

Не пишите это:

Эй, АДАМ! Вы что-то оставили в корзине!!! Действуйте БЫСТРО и ПРОВЕРЬТЕ B4 это слишком L8! [URL]

Вместо этого напишите:

Адам, вы что-то оставили в корзине! Еще не поздно оформить заказ; щелкните здесь, чтобы завершить покупку: [URL]

3. Напишите привлекательный текст

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

Не пишите это:

Привет Аня! С 28 по 30 июля у нас проходит распродажа! Успейте купить — просмотрите распродажу здесь: [URL]

Напишите это:

Аня, мы снижаем цены! Получите скидку 30–50% на всю летнюю одежду и сандалии с 28 по 30 июля. Просмотрите распродажу — спешите, пока есть в наличии! [URL]

4. Включите четкий призыв к действию

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

Избегайте расплывчатых сообщений вроде этого:

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

Вместо этого напишите информативный текст:

Привет, Рамеш, нам нужна копия ваших водительских прав, чтобы мы могли обработать вашу заявку на кредит. Загрузите его сюда: [URL]

5. Включите контактную информацию

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

Не делайте этого:

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

Сделайте это:

Привет Элисон, это Салли из Bridal Beauty – мы встретили Сэт на свадебной ярмарке. Пожалуйста, пришлите фото с примерами свадебного макияжа, и я пришлю предложение. [email protected]

Связано: 13 шаблонов подписей для деловых сообщений.

Пишите более качественные текстовые сообщения для успеха кампании

Качество и структура содержания ваших сообщений имеют решающее значение, если вы хотите привлечь внимание подписчиков и повысить эффективность своих SMS-кампаний. Написание текстов, вызывающих резонанс, становится достаточно простым, как только вы усвоите упомянутые здесь золотые правила и советы.

Дополнительные советы и рекомендации по созданию эффективных SMS-кампаний можно найти в нашем блоге. Еще не зарегистрировались в Messente? Зарегистрируйте бесплатную учетную запись сегодня и отправьте свое первое текстовое сообщение.

Как написать SMS-сообщение, которое соединяет

Поделиться статьей:

  • Facebook
  • Твиттер
  • Линкедин
  • Электронная почта

СМС 101

3 минуты чтения

декабрь 2021 г.

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

Несмотря на то, что мы знакомы с массовыми сообщениями, многие предприятия все еще ошибаются. А теперь, когда у клиентов есть возможность блокировать сообщения, даже малейшая ошибка может дорого обойтись. Поэтому, когда кто-то доверил вам свой номер телефона, лучше всего сделать так, чтобы оно того стоило.

Вот восемь золотых правил, которые помогут вам написать сообщение, которое снова и снова находит отклик у клиентов.

1. Уточнить цель

Деловые текстовые сообщения — отличный способ установить личный уровень общения с клиентом. Лучше всего четко понимать, почему вы связываетесь с ними и что то, что вы продвигаете, представляет для них интерес. Текстовое сообщение считается более личным и срочным, чем электронное письмо, и люди будут более чувствительны ко всему, что они считают спамом.

2. Учитывайте время

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

ПОЛЕЗНЫЙ СОВЕТ: Оптимальное время для отправки деловых сообщений, как правило, с середины до позднего вечера в будние дни.

3. Не используйте текстовый диалог

Отправляйте профессиональные текстовые сообщения, используя настоящие слова и правильную грамматику. Если это не соответствует тону голоса вашего бренда, избегайте использования текстового сленга, чтобы быть «смешным» или сэкономить место. Написание «ур», а не «твой» или «2», а не «тоже» в вашем маркетинговом тексте, может оттолкнуть часть вашей аудитории. Точно так же вы можете также избегать сокращений, таких как ICYMI (на случай, если вы пропустили это).

4. Будьте проще

Избегайте жаргона в большинстве маркетинговых сообщений, но особенно в маркетинговых SMS-кампаниях. У вас будет 160 символов на сообщение, чтобы донести свою точку зрения, поэтому лучше всего следовать этому формату написания SMS: представиться, четко обозначить цель и включить четкий призыв к действию. Конечно, для некоторых бизнес-сообщений может потребоваться дополнительная информация в зависимости от варианта использования, поэтому ключевым моментом является поиск баланса.

5. Укажите важную информацию

Дайте полные и четкие инструкции о том, что ваш получатель должен делать с SMS-сообщением. Если им нужно держаться за это, скажите им! Если им нужно ответить Y или N, чтобы подтвердить встречу, сообщите об этом. Использование и загрузка настраиваемых полей в электронную таблицу позволит вам включать важные и релевантные данные для каждого контакта, такие как #Имя#, #ДеньМесяц# и #Сумма#. Например:

Здравствуйте, #FirstName#, у вас назначена встреча в [COMPANY] #Date# в #Time#. Пожалуйста, ответьте Y для подтверждения или позвоните нам в течение 24 часов, чтобы перенести встречу.

6. Будьте фамильярны и индивидуальны

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

7. Используйте привлекающий внимание язык

Для эффективного маркетинга текстовых сообщений используйте язык, который читается как рекламный заголовок. Вы хотите, чтобы ваш клиент отреагировал на ваше сообщение, как только он откроет и прочитает его. Используйте четкие, привлекающие внимание термины, такие как ПРЕДЛОЖЕНИЕ или СКИДКА, и четкий следующий шаг. Например:

VIP ПРЕДЛОЖЕНИЕ! Получите 10% СКИДКУ на наш фитнес-центр в MM Fitness! Используйте код: GYM10. Истекает через 48 часов. Магазин: nxt.to/123. Отправьте текстовое сообщение «СТОП», чтобы отказаться.

8. Проверять, тестировать, изменять, повторять

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

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