Wszystkie wpisy

Nowa strona – jak jest zbudowana

Opublikowano · 2 min czytania

  • Astro
  • SEO
  • Apache
  • Bezpieczeństwo

Ta strona to jednocześnie wizytówka i projekt. Chciałem strony, która szybko się ładuje, dobrze się wyszukuje, nie zbiera danych o odwiedzających – i którą w całości utrzymuję sam. Oto jak jest zbudowana.

Statycznie zamiast dynamicznie

Strona powstaje w Astro. Astro podczas budowania generuje gotowe pliki HTML – na serwerze nie działa więc żadna aplikacja, baza danych ani CMS, który można by zaatakować. Serwer WWW tylko wysyła pliki. To szybkie, bezpieczne i proste w utrzymaniu.

Treści, takie jak projekty i wpisy na blogu, to pliki Markdown w repozytorium Git. Nowy wpis to nowy plik – resztą zajmuje się build.

Trzy języki, poprawnie powiązane

Strona jest dostępna po niemiecku, angielsku i polsku. Niemiecki to język główny, bez prefiksu w adresie; angielski i polski są pod /en/ i /pl/ – z przetłumaczonymi adresami, np. /praktikum/, /en/internship/ i /pl/praktyka/.

Ważne dla wyszukiwarek: każda strona wskazuje swoje tłumaczenia przez hreflang, a mapa strony (sitemap) też zawiera te powiązania. Automatycznego przekierowania według języka przeglądarki celowo nie ma – każdy adres zawsze pokazuje ten sam język. Zamiast tego pojawia się dyskretna podpowiedź, jeśli strona istnieje też w Twoim języku.

Prywatność wbudowana w technikę

  • Bez cookies i śledzenia: nie ma niczego, co wymagałoby banera cookies.
  • Bez obcych serwerów: czcionki, skrypty i obrazy są na moim serwerze. Bez CDN, bez Google Fonts.
  • Content Security Policy: przeglądarka wykonuje tylko skrypty, których suma kontrolna została ustalona podczas budowania.

Na własnym serwerze

Strona działa na moim serwerze z Debianem i Apache, z HTTPS od Let’s Encrypt i DNS na własnych serwerach nazw. Skrypt buduje stronę i przenosi ją z właściwymi uprawnieniami: pliki należą do mojego użytkownika, serwer WWW może je tylko czytać.

Nowe wersje trafiają najpierw na podgląd chroniony hasłem, którego wyszukiwarki nie indeksują. Dopiero gdy tam wszystko się zgadza, wersja idzie na produkcję.

Kafel „Status serwera” na stronie głównej działa zresztą na żywo: skrypt na serwerze co pięć minut zapisuje czas działania, ważność certyfikatu TLS i stan WWW, poczty i DNS do małego pliku, który wyświetla strona główna.

Podsumowanie

Strona statyczna to nie krok wstecz – dla wizytówki to dokładnie właściwy wybór: szybka, bezpieczna, prosta w utrzymaniu. A jej budowa nauczyła mnie więcej o SEO, wielojęzyczności i nagłówkach bezpieczeństwa niż niejeden tutorial.