Inside ConveyThis Tech: Aufbau unseres Website-Crawlers
Verbesserung der Benutzererfahrung: ConveyThis Führt URL-Management ein
Zahlreiche ConveyThis-Kunden ziehen es vor, alle URLs ihrer Website ordnungsgemäß übersetzen zu lassen, was eine anspruchsvolle Aufgabe sein kann, insbesondere bei umfangreichen Websites, die in mehrere Sprachen übersetzt werden.
Das Feedback der Benutzer hat gezeigt, dass einige Kunden den Beginn ihrer ersten Website-Übersetzungsprojekte als etwas verwirrend empfanden. Sie fragten sich oft, warum sie nur die Homepage-URL in der Übersetzungsliste sehen konnten und wie sie Übersetzungen ihrer Inhalte erstellen konnten.
Dies deutete auf einen potenziellen Bereich für Verbesserungen hin. Wir sahen eine Chance, einen reibungsloseren Onboarding-Prozess und ein effizienteres Projektmanagement zu ermöglichen. Allerdings fehlte uns in diesem Moment eine konkrete Lösung.
Das Ergebnis war, wie Sie vielleicht schon vermutet haben, die Einführung der URL-Verwaltungsfunktion. Sie ermöglicht es Benutzern, die URLs ihrer Website zu scannen und ihre übersetzten Inhalte schnell und effektiv über das ConveyThis-Dashboard zu generieren.
Vor kurzem wurde diese Funktion von der Übersetzungsliste auf eine neue, anpassungsfähigere und leistungsfähigere URL-basierte Übersetzungsverwaltungsseite verschoben. Jetzt ist es unserer Meinung nach an der Zeit, die Geschichte hinter der Entstehung dieser Funktion zu enthüllen.
Golang annehmen: ConveyThis' Reise zu verbesserten Übersetzungsdiensten
Der Beginn des pandemiebedingten Lockdowns 2020 bot mir die Chance, endlich die aus Zeitgründen außer Acht gelassene Programmiersprache Golang zu erlernen.
Golang oder Go wurde von Google entwickelt und erfreut sich in den letzten Jahren immer größerer Beliebtheit. Golang ist eine statisch kompilierte Programmiersprache und wurde entwickelt, um Entwicklern die Erstellung von effizientem, zuverlässigem und gleichzeitigem Code zu ermöglichen. Seine Einfachheit unterstützt das Schreiben und Verwalten umfangreicher und komplizierter Programme ohne Einbußen bei der Geschwindigkeit.
Als ich über ein mögliches Nebenprojekt nachdachte, um mich mit Golang vertraut zu machen, kam mir ein Webcrawler in den Sinn. Er erfüllte die genannten Kriterien und bot möglicherweise eine Lösung für ConveyThis-Benutzer. Ein Webcrawler oder „Bot“ ist ein Programm, das eine Website besucht, um Daten zu extrahieren.
Für ConveyThis bestand unser Ziel darin, ein Tool zu entwickeln, mit dem Benutzer ihre Site scannen und alle URLs abrufen können. Darüber hinaus wollten wir den Prozess der Generierung von Übersetzungen optimieren. Derzeit müssen Benutzer ihre Website in einer übersetzten Sprache aufrufen, um Übersetzungen zu generieren, eine Aufgabe, die bei großen, mehrsprachigen Sites eine gewaltige Herausforderung darstellt.
Obwohl der anfängliche Prototyp unkompliziert war – ein Programm, das eine URL als Eingabe verwendet und mit dem Crawlen der Site beginnt – war er schnell und effektiv. Alex, CTO von ConveyThis', erkannte das Potenzial dieser Lösung und gab grünes Licht für Forschung und Entwicklung, um das Konzept zu verfeinern und darüber nachzudenken, wie der zukünftige Produktionsdienst gehostet werden könnte.
Navigieren Sie durch den Serverless-Trend mit Go und ConveyThis
Bei der Fertigstellung des Webcrawler-Bots mussten wir uns mit den Nuancen verschiedener CMS und Integrationen auseinandersetzen. Dann stellte sich die Frage: Wie können wir unseren Nutzern den Bot am besten präsentieren?
Zunächst haben wir über den bewährten Ansatz nachgedacht, AWS mit einer Webserver-Schnittstelle zu nutzen. Es traten jedoch mehrere potenzielle Probleme auf. Wir hatten Unsicherheiten hinsichtlich der Serverauslastung, der gleichzeitigen Nutzung durch mehrere Benutzer und unserer mangelnden Erfahrung mit dem Go-Programm-Hosting.
Dies veranlasste uns, ein serverloses Hosting-Szenario in Betracht zu ziehen. Dies bot Vorteile wie die Verwaltung der Infrastruktur durch den Anbieter und inhärente Skalierbarkeit, was es zu einer idealen Lösung für ConveyThis machte. Es bedeutete, dass wir uns keine Gedanken über die Serverkapazität machen mussten, da jede Anfrage in einem eigenen isolierten Container ausgeführt wurde.
Allerdings gab es im Jahr 2020 für Serverless Computing ein 5-Minuten-Limit. Dies erwies sich als Problem für unseren Bot, der möglicherweise zum Crawlen großer E-Commerce-Websites mit zahlreichen Seiten erforderlich sein könnte. Glücklicherweise erweiterte AWS Anfang 2020 das Limit auf 15 Minuten, obwohl sich die Aktivierung dieser Funktion als schwierige Aufgabe erwies. Schließlich fanden wir die Lösung, indem wir den serverlosen Code mit SQS – dem AWS Message Queuing Service – auslösten.
Der Weg zur interaktiven Echtzeit-Bot-Kommunikation mit ConveyThis
Als wir das Hosting-Dilemma gelöst hatten, mussten wir eine weitere Hürde überwinden. Wir hatten jetzt einen funktionierenden Bot, der effizient und skalierbar gehostet wurde. Die verbleibende Aufgabe bestand darin, die vom Bot generierten Daten an unsere Benutzer weiterzuleiten.
Um maximale Interaktivität zu erreichen, habe ich mich für Echtzeitkommunikation zwischen dem Bot und dem ConveyThis Dashboard entschieden. Obwohl Echtzeit keine Voraussetzung für eine solche Funktion ist, wollte ich, dass unsere Benutzer sofort Feedback erhalten, sobald der Bot zu arbeiten beginnt.
Um dies zu erreichen, haben wir einen einfachen Node.js-Websocket-Server entwickelt, der auf einer AWS EC2-Instanz gehostet wird. Dies erforderte einige Optimierungen am Bot für die Kommunikation mit dem Websocket-Server und die Automatisierung der Bereitstellung. Nach gründlichen Tests waren wir bereit für den Übergang zur Produktion.
Was als Nebenprojekt begann, fand schließlich seinen Platz im Dashboard. Durch die Herausforderungen habe ich Kenntnisse in Go erworben und meine Fähigkeiten in der AWS-Umgebung verfeinert. Ich fand Go aufgrund seines geringen Speicherbedarfs besonders nützlich für Netzwerkaufgaben, kooperative Programmierung und serverloses Computing.
Wir haben Pläne für die Zukunft, da der Bot neue Möglichkeiten mit sich bringt. Wir möchten unser Tool zur Wortzählung für mehr Effizienz neu schreiben und es möglicherweise zum Cache-Warming verwenden. Ich hoffe, Ihnen hat dieser kleine Einblick in die Tech-Welt von ConveyThis genauso viel Spaß gemacht wie mir, ihn mit Ihnen zu teilen.
Übersetzen ist weit mehr als nur das Erlernen von Sprachen und ein komplexer Prozess.
Wenn Sie unsere Tipps befolgen und ConveyThis verwenden, werden Ihre übersetzten Seiten bei Ihrem Publikum gut ankommen und sich wie in der Zielsprache anfühlen.
Es erfordert zwar Mühe, aber das Ergebnis ist lohnend. Wenn Sie eine Website übersetzen, können Sie mit ConveyThis dank automatisierter maschineller Übersetzung Stunden sparen.
Testen Sie ConveyThis 7 Tage lang kostenlos!