Daniel Milewski
Strona głównaProjektyBlogO mnieKontakt
ENPL
Daniel Milewski
Strona głównaProjektyBlogO mnieKontaktPolityka prywatności
Kanał RSS

© 2026 Daniel Milewski

JDG (CEIDG) · NIP 8442338935

  1. Strona główna/
  2. Blog/
  3. Technical SEO w Astro: co realnie pomogło dwóm pracowniom wnętrz

Astro · SEO · Wydajność · Dane strukturalne

Technical SEO w Astro: co realnie pomogło dwóm pracowniom wnętrz

20 sierpnia 2026 · 4 min czytania

Na tej stronie

1. Warstwa SEO w layoucie, nie w podstronach2. Dane strukturalne opisują firmę, nie podstronę3. Podstrony pod intencje wygrywają z jedną „Ofertą”4. Zdjęcie w hero to cały wynik na mobile5. Widoczność w AI to głównie dobrze zrobione podstawyCo okazało się szumemWnioski

W tym roku wdrożyłem dwie strony dla pracowni projektowania wnętrz: DeMāre Studio z Gdańska i Koprowska Studio, działające w Warszawie i Trójmieście. Ta sama branża, ten sam stack (Astro na Cloudflare), bardzo podobne cele: pokazać duże zdjęcia, być widocznym lokalnie i zamieniać odwiedziny w zapytania.

Poniżej to, co dało mierzalną różnicę, i to, co jej nie dało.

1. Warstwa SEO w layoucie, nie w podstronach

Obie strony dostają canonicale, hreflang (PL, EN, x-default), Open Graph i JSON-LD z jednego wspólnego komponentu layoutu. Podstrona przekazuje tylko tytuł, opis i ścieżkę.

Brzmi jak porządki, ale to największy zysk w niezawodności. Na stronie dwujęzycznej najczęstszy błąd SEO to podstrona, która istnieje w obu językach, ale linkuje tylko do jednej wersji. Jeśli hreflang generuje się z routingu, ten błąd po prostu nie może wystąpić.

2. Dane strukturalne opisują firmę, nie podstronę

Dla lokalnej firmy usługowej liczy się graf organizacji:

  • ProfessionalService + LocalBusiness z adresem, NIP-em, rokiem założenia i linkami sameAs,
  • Person dla założycielki, połączony przez founder / worksFor,
  • areaServed z faktycznymi miastami,
  • OfferCatalog (albo osobne wpisy Service) z tym, co pracownia sprzedaje.

Każda podstrona dodaje węzeł WebPage, który wskazuje na organizację przez @id. Jeden graf, wiele punktów wejścia. Wyszukiwarki i asystenci AI dostają z każdego adresu tę samą, spójną odpowiedź na pytanie „kto to jest, gdzie działa, czym się zajmuje”.

3. Podstrony pod intencje wygrywają z jedną „Ofertą”

Na DeMāre Studio największą zmianą po wdrożeniu był podział jednej strony usług na pięć osobnych (projekt mieszkania, projekt domu, apartament inwestycyjny, projekt online, nadzór autorski) oraz dodanie stron lokalnych dla Gdańska, Gdyni i Sopotu. Każda podstrona dobrze odpowiada na jedno zapytanie, zamiast jednej, która słabo odpowiada na pięć.

Zasada, której się trzymam: nowa podstrona ma sens tylko wtedy, gdy ma odrębną intencję wyszukiwania i wystarczająco dużo unikalnej treści, żeby na nią odpowiedzieć. Strony miast z tym samym tekstem i podmienioną nazwą miasta to obciążenie, a nie atut.

4. Zdjęcie w hero to cały wynik na mobile

Na stronach opartych o zdjęcia elementem Largest Contentful Paint prawie zawsze jest zdjęcie w hero. Wyniki laboratoryjne z PageSpeed pokazują to wprost:

| Strona (główna) | Desktop | Mobile | LCP mobile | | --- | --- | --- | --- | | DeMāre Studio | - | 89 | 2,5 s | | Koprowska Studio | 100 | 80 | 5,3 s |

Co pomogło DeMāre zejść z 3,2 s do 2,5 s LCP na mobile:

  • responsywne srcset generowane w czasie budowania, żeby telefon nigdy nie pobierał wersji 2400 px,
  • fetchpriority="high" i loading="eager" tylko na pierwszym slajdzie, lazy loading na pozostałych,
  • brak skryptów blokujących render przed hero.

Na Koprowska Studio kolejne kroki to ciaśniejszy kadr hero na mobile i usunięcie przekierowania: domena bez www przechodzi przez dodatkowy skok, zanim dotrze do właściwego adresu. O przekierowaniach łatwo zapomnieć, bo strona „działa”, ale na wolnym łączu mobilnym każdy skok kosztuje czas przed pierwszym bajtem HTML-a.

5. Widoczność w AI to głównie dobrze zrobione podstawy

llms.txt, otwarty dostęp dla GPTBot, ClaudeBot i PerplexityBot w robots.txt oraz sygnały świeżości (dateModified) są tanie i warto je mieć. Ważniejsza jest jednak sama treść: krótkie definicje, listy i odpowiedzi FAQ, które da się zacytować w oderwaniu od reszty. Asystenci AI cytują fragmenty, a nie całe strony.

Co okazało się szumem

  • Pogoń za 100/100 w każdym narzędziu audytowym. Każde liczy inaczej, a różnica 93 vs 97 rzadko przekłada się na biznes.
  • Dopieszczanie gęstości słów kluczowych. Więcej dały czytelne nagłówki odpowiadające na prawdziwe pytania.
  • Dodawanie typów schema, które nie mają odpowiednika na stronie. Jeśli czegoś nie ma na stronie, nie powinno tego być w JSON-LD.

Wnioski

  • Generuj canonicale, hreflang i JSON-LD z layoutu, żeby nie mogły się rozjechać.
  • Opisz firmę raz jako graf i odwołuj się do niego z każdej podstrony.
  • Buduj podstrony wokół odrębnych intencji wyszukiwania.
  • Na stronach ze zdjęciami najpierw zoptymalizuj hero i usuń przekierowania.

Jeśli prowadzisz firmę usługową i chcesz mieć tak zbudowaną stronę, napisz do mnie.

Powiązane projekty

DeMāre Studio — strona architekta wnętrz nastawiona na SEO

Studio potrzebowało strony premium, która buduje zaufanie, pozyskuje lokalne zapytania z Trójmiasta i jednocześnie działa dobrze pod SEO, AI oraz wydajność mobilną.

Koprowska Studio — dwujęzyczna strona pracowni wnętrz

Pracownia projektująca wnętrza w Warszawie i Trójmieście potrzebowała strony, na której duże, fotograficzne realizacje ładują się szybko, dobrze czytają się po polsku i angielsku, a Google jasno rozumie, czym zajmuje się firma.

Powiązane wpisy

  • paź 2026

    Twój JSON-LD może nie trafiać do HTML-a: pułapka w Next.js App Router

    2 min czytania
Wszystkie wpisy

Szukasz programisty Pythona?

Wyślij mi opis roli albo problemu. Odpowiadam w ciągu kilku dni roboczych, po polsku lub angielsku.

danielmilewski123@gmail.com
LinkedInGitHubXFormularz kontaktowy