Studium przypadku Strona marketingowa

Strona, którą właśnie czytasz, przeniesiona z Next.js na Rust bez utraty adresu URL

envixo.com jest publikowany w 99 językach. Przepisaliśmy go z Next.js na Rust, przed przełączeniem porównaliśmy każdy adres URL ze starą stroną i naprawiliśmy to, co stara strona robiła źle dla wyszukiwarek, języków pisanych od prawej do lewej i asystentów AI.

Klient
Envixo
Platforma
Web
Branża
Strona marketingowa
Premiera
2026

Wyzwanie

Strona w Next.js działała, ale wymagała serwera Node.js z zarezerwowanymi 512 MB pamięci, wysyłała około 150 KB HTML na stronę i miała luki: brak układu od prawej do lewej oraz dane strukturalne dodawane wyłącznie przez JavaScript.

Przedtem: Serwer Node.js z zarezerwowanymi 512 MB pamięci
Potem: Binarka Rust w kontenerze o rozmiarze około 33 MB, zużywająca około 46 MB pamięci
Przedtem: Około 150 KB HTML na stronę, razem z danymi Reacta
Potem: HTML renderowany na serwerze, ze zwykłym JavaScriptem tylko tam, gdzie jest potrzebny
Przedtem: Dane strukturalne dodawane przez JavaScript po wczytaniu strony
Potem: Przetłumaczone JSON-LD w HTML-u, który wysyła serwer
Przedtem: Arabski, hebrajski, perski i cztery inne języki wyświetlane od lewej do prawej
Potem: Układ od prawej do lewej dla wszystkich siedmiu języków pisanych od prawej do lewej
Przedtem: www.envixo.com odpowiadał błędem, a pliku llms.txt nie było
Potem: www przekierowuje na envixo.com, a /llms.txt opisuje firmę asystentom AI

Co zbudowaliśmy

Serwer w Rust z axum i Askama, który udostępnia te same adresy URL, te same 99 plików tłumaczeń i ten sam projekt graficzny, zbudowany z Tailwind i zwykłym JavaScriptem.

Te same adresy URL i przekierowania

Rozpoznawanie języka, prefiksy języka, ukośniki na końcu adresu i ciasteczko języka działają jak na starej stronie, więc nie zginął żaden link ani pozycja w wynikach.

Najpierw to samo SEO, potem lepsze

Metadane, hreflang, JSON-LD i mapa witryny zgadzają się ze starą stroną, z poprawkami w tagach do udostępniania w mediach społecznościowych i nowym plikiem llms.txt.

Bramka zera różnic

Narzędzie porównało każdy adres URL starej i nowej strony. Przełączenie wymagało zera różnic oraz zrzutów ekranu w trzech szerokościach po angielsku, arabsku i japońsku.

Odkryj w 3D

Prowadzona wycieczka w three.js po całej stronie startowej, ze zwykłą listą, gdy 3D jest niedostępne.

Formularz kontaktowy bez SDK

Sprawdzanie spamu przez Cloudflare Turnstile i e-mail przez Amazon SES, z żądaniami podpisywanymi ręcznie, honeypotem i limitem na odwiedzającego.

Błędy raportowane, klucze bezpieczne

Błędy serwera i przeglądarki trafiają do Honeybadger, a klucz API nigdy nie dociera na stronę.

Wyniki inżynieryjne

Pamięć zmierzona na produkcji w październiku 2026; rozmiar obrazu pochodzi z budowania. Liczbę adresów w mapie witryny sprawdza test automatyczny.

~33 MB
Obraz kontenera dla całej strony
~46 MB
Zużywana pamięć
99
Języki z tych samych plików tłumaczeń
594
Adresy URL w mapie witryny, wszystkie zachowane
  • Wycofanie przez DNS, ze starą stroną utrzymaną przez siedem dni
  • Aktualizacje zależności scalane automatycznie, gdy testy i budowanie obrazu przechodzą
  • Testy i budowania działają na własnych runnerach CI Envixo
  • Publikowane w 99 językach z tych samych plików tłumaczeń co wcześniej

Technologia

  • Rust
  • axum
  • Askama
  • Tailwind CSS
  • three.js
  • Amazon SES
  • Cloudflare Turnstile
  • Kubernetes

Potrzebujesz oprogramowania dopasowanego do Twojej firmy?

Integracje, narzędzia wewnętrzne, aplikacje i platformy tworzone na zamówienie przez doświadczonych inżynierów kierujących agentami AI. Powiedz nam, czego potrzebujesz, a pokażemy Ci, jak byśmy to zbudowali.