Улучшение пользовательского опыта: ConveyThis Внедряет управление URL-адресами

Многие ConveyThis посетители предпочитают, чтобы все URL-адреса их веб-сайтов были правильно переведены, что может оказаться сложной задачей, особенно для обширных сайтов, переведенных на несколько языков.
Отзывы пользователей показали, что некоторые клиенты обнаружили начало своего первоначального перевод веб-сайтов проекты несколько сбивают с толку. Они часто задавались вопросом, почему в списке переводов они могут просматривать только URL-адрес домашней страницы и как создавать переводы своего контента.
Это указывает на потенциальную область для улучшения. Мы увидели возможность облегчить процесс адаптации и повысить эффективность управления проектами. Однако на тот момент у нас не было конкретного решения.
Результатом, как вы могли догадаться, стало внедрение функции управления URL-адресами. Он позволяет пользователям быстро и эффективно сканировать URL-адреса своих веб-сайтов и генерировать переведенный контент с помощью панели управления ConveyThis.
Недавно эта функция была перенесена из списка Перевод на новую, более адаптируемую и мощную страницу управления переводами на основе URL-адресов. Теперь мы считаем, что пришло время раскрыть историю создания этой функции.
Использование Golang: ConveyThis’ Путь к улучшенным Перевод услугам

Начало карантина 2020 года из-за пандемии дало мне возможность наконец выучить язык программирования Golang, который был отложен из-за нехватки времени.
Разработанный Google, Golang или Go в последние годы набирает популярность. Golang — статически компилируемый язык программирования, разработанный для того, чтобы разработчики могли создавать эффективный, надежный и параллельный код. Его простота позволяет писать и поддерживать обширные и сложные программы без ущерба для скорости.
При обдумывании потенциального стороннего проекта по ознакомлению с Golang мне на ум пришел веб-сканер. Он соответствовал указанным критериям и потенциально предлагал решение для ConveyThis пользователей. Веб-сканер или ‘бот’ — это программа, которая посещает веб-сайт для извлечения данных.
Для ConveyThis нашей целью было разработать инструмент, позволяющий пользователям сканировать свой сайт и извлекать все URL-адреса. Кроме того, мы хотели упростить процесс создания переводов. В настоящее время для их создания пользователям необходимо посещать свой веб-сайт на переведенном языке, что становится сложной задачей для крупных многоязычных сайтов.
Хотя первоначальный прототип был простым – программа, которая принимает URL-адрес в качестве входных данных и начинает сканирование сайта – он был быстрым и эффективным. Алекс, ConveyThis’ технический директор, увидел потенциал этого решения и дал добро на исследования и разработки с целью доработки концепции и обдумывания того, как разместить будущую производственную услугу.
Навигация по тренду бессерверных решений с помощью Go и ConveyThis

В процессе завершения разработки бота веб-сканера мы столкнулись с нюансами различных CMS и интеграций. Тогда возник вопрос – как лучше всего представить бота нашим пользователям?
Первоначально мы рассмотрели проверенный подход использования AWS с интерфейсом веб-сервера. Однако возникло несколько потенциальных проблем. У нас была неопределенность относительно нагрузки на сервер, одновременного использования несколькими пользователями и отсутствия опыта хостинга программ Go.
Это побудило нас рассмотреть сценарий бессерверного хостинга. Это обеспечило такие преимущества, как управление инфраструктурой со стороны поставщика и присущая ему масштабируемость, что сделало его идеальным решением для ConveyThis. Это означало, что нам не нужно было беспокоиться о емкости сервера, поскольку каждый запрос будет работать в своем изолированном контейнере.
Однако еще в 2020 году бессерверные вычисления имели ограничение в 5 минут. Это оказалось проблемой для нашего бота, которому потенциально могло потребоваться сканировать большие сайты электронной коммерции с многочисленными страницами. К счастью, в начале 2020 года AWS увеличила лимит до 15 минут, хотя включение этой функции оказалось сложной задачей. В конце концов мы нашли решение, запустив бессерверный код с помощью SQS – службы очереди сообщений AWS.
Путешествие к интерактивному общению с ботами в реальном времени с ConveyThis

Когда мы решили дилемму хостинга, нам пришлось преодолеть еще одно препятствие. Теперь у нас был функциональный бот, размещенный эффективным и масштабируемым образом. Оставшаяся задача заключалась в передаче данных, сгенерированных ботом, нашим пользователям.
Стремясь к максимальной интерактивности, я решил обеспечить связь в режиме реального времени между ботом и панелью управления ConveyThis. Хотя для такой функции не требуется работа в режиме реального времени, я хотел, чтобы наши пользователи получали немедленную обратную связь, как только бот начнет работать.
Для этого мы разработали простой сервер веб-сокетов Node.js, размещенный на экземпляре AWS EC2. Это потребовало некоторых настроек бота для связи с сервером веб-сокетов и автоматизации развертывания. После тщательного тестирования мы были готовы перейти к производству.
То, что начиналось как сторонний проект, в конечном итоге нашло свое место на панели управления. Пройдя испытания, я приобрел знания в Go и отточил свои навыки работы в среде AWS. Я обнаружил, что Go особенно полезен для сетевых задач, кооперативного программирования и бессерверных вычислений, учитывая его малый объем памяти.
У нас есть планы на будущее, поскольку бот открывает новые возможности. Мы стремимся переписать наш инструмент подсчета слов для повышения эффективности и потенциально использовать его для разогрева кэша. Надеюсь, вам понравился этот краткий обзор мира технологий ConveyThis’ так же, как мне понравилось им делиться.
Связанный: Добавление Google Translate на ваш сайт WordPress