Inside ConveyThis Tech: Aufbau unseres Website-Crawlers

Machen Sie Ihre Website in 5 Minuten mehrsprachig
Übermitteln Sie diese Demo
Übermitteln Sie diese Demo
My Khanh Pham

My Khanh Pham

Verbesserung der Benutzererfahrung: ConveyThis führt URL-Management ein

Zahlreiche ConveyThis- Kunden bevorzugen die ordnungsgemäße Übersetzung aller URLs ihrer Websites, was insbesondere bei umfangreichen Websites, die in mehrere Sprachen übersetzt werden, eine anspruchsvolle Aufgabe sein kann.

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 vermutet haben, die Einführung der URL-Verwaltungsfunktion. Es ermöglicht 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.

921

Golang umarmen: ConveyThis‘ Weg zu verbesserten Übersetzungsdiensten

922

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. Es 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 Website scannen und alle URLs abrufen können. Darüber hinaus wollten wir den Prozess der Erstellung von Übersetzungen rationalisieren. Derzeit müssen Benutzer ihre Website in einer übersetzten Sprache besuchen, um sie zu erstellen, eine Aufgabe, die bei großen, mehrsprachigen Websites zur Herausforderung wird.

Obwohl der ursprüngliche Prototyp unkompliziert war – ein Programm, das eine URL als Eingabe verwendet und mit dem Crawlen der Website 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 mit Go und ConveyThis durch den serverlosen Trend

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 Infrastrukturmanagement durch den Anbieter und inhärente Skalierbarkeit, was es zu einer idealen Lösung für ConveyThis machte. Das 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.

923

Der Weg zur interaktiven Echtzeit-Bot-Kommunikation mit ConveyThis

924

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.

Im Streben nach maximaler Interaktivität habe ich mich für die Echtzeitkommunikation zwischen dem Bot und dem ConveyThis-Dashboard entschieden. Obwohl Echtzeit für eine solche Funktion nicht erforderlich ist, wollte ich, dass unsere Benutzer sofortiges 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. Unser Ziel ist es, unser Tool zur Wortzählung für eine bessere Effizienz neu zu schreiben und es möglicherweise zur Cache-Erwärmung zu verwenden. Ich hoffe, Ihnen hat dieser kleine Einblick in die Technologiewelt von ConveyThis genauso viel Spaß gemacht wie mir das Teilen.

Bereit anzufangen?

Ü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 Anklang finden und sich in der Zielsprache heimisch anfühlen.

Obwohl es Anstrengung erfordert, ist das Ergebnis lohnend. Wenn Sie eine Website übersetzen, kann Ihnen ConveyThis durch automatisierte maschinelle Übersetzung Stunden sparen.

Testen Sie ConveyThis 7 Tage lang kostenlos!

Farbverlauf 2