# Struktura pliku importu witryny

> Z czego składa się plik, z którego powstaje cała strona: dane firmy, podstrony z sekcjami, katalog produktów i wersje językowe.

Opublikowano: 2026-08-05 · Aktualizacja: 2026-10-07
Źródło: https://kompasfirm.pl/dokumentacja/struktura-pliku-importu

---
## Do czego to służy

Zamiast klikać sekcję po sekcji, można opisać całą witrynę w jednym pliku i zbudować ją jednym wgraniem. Powstają wtedy naraz: dane firmy, wszystkie podstrony z treścią, katalog produktów, nawigacja i wersje językowe. Przy witrynie na kilkadziesiąt podstron to różnica między jednym popołudniem a kilkoma dniami.

Panel: **Strony → Strona z pliku JSON**. Dostępne w planach Pro i wyższych.

## Trzy tryby pracy

Ten sam ekran obsługuje trzy sytuacje:

- **Utwórz nową stronę.** Plik buduje witrynę od zera.
- **Zaktualizuj moją istniejącą stronę.** Plik dopisuje i nadpisuje podstrony dopasowane po adresie. Podstrony, których w pliku nie ma, zostają nietknięte.
- **Dodaj wersję językową.** Ten sam plik w innym języku dokłada kompletną wersję obcojęzyczną do istniejącej strony.

Aktualizować i rozszerzać można wyłącznie strony, które same powstały z pliku.

## Zawsze najpierw podgląd

Przycisk **Podgląd bez zapisu** sprawdza plik i pokazuje, co z niego powstanie: ile podstron, jakie będą miały adresy i tytuły, ile pozycji trafi do katalogu i jakie dane firmy zostaną ustawione. Nic nie jest zapisywane, dopóki nie klikniesz **Zaimportuj**.

Jeśli plik ma błąd, podgląd wypisze, które pole go zawiera. Import jest wtedy zablokowany: platforma nie zapisze witryny zbudowanej w połowie.

## Co jest w pliku

Plik ma cztery główne części, z czego dwie są obowiązkowe.

**`business`** to dane firmy: nazwa, hasło, telefon, e-mail, obszar działania, adres, godziny pracy, NIP, REGON, KRS, pełna nazwa prawna, profile społecznościowe i typ działalności do danych strukturalnych. Wymagana jest wyłącznie nazwa, reszta na tyle, na ile masz.

**`pages`** to lista podstron. Każda ma typ (strona główna, o nas, usługa, realizacja, kontakt, produkt, kategoria, dokument prawny, wpis bloga), adres, tytuł, pola SEO i listę sekcji. Sekcja to typ bloku i jego treść, dokładnie ta sama, którą normalnie wypełniasz w edytorze.

**`categories` i `products`** to opcjonalny katalog. Każdy produkt staje się osobną podstroną, więc nie trzeba ich wypisywać w `pages`: wystarczy jedna podstrona katalogu, a pozycje wygenerują się same. Nawigacja i rozwijane menu „Oferta" też budują się automatycznie z katalogu.

**`seo`** to opcjonalne ustawienia globalne, na przykład dopisek dodawany do tytułu każdej podstrony.

## Wersje językowe

Jeden plik opisuje jeden język. Wersję domyślną platforma serwuje w korzeniu adresu, a każdą kolejną pod prefiksem języka. Obsługiwane kody to `pl`, `de`, `en`, `sv`, `cs` i `sk`. Odpowiedniki podstron w różnych językach są ze sobą parowane, dzięki czemu przełącznik flag prowadzi do właściwej podstrony, a nie na stronę główną.

## Ograniczenia

- Import wymaga planu Pro lub wyższego, a nowa strona liczy się do limitu stron w Twoim planie. Wersja z żywym sklepem wymaga dodatkowo planu z modułem sklepu.
- Plik nie omija limitów planu: liczba wersji językowych i produktów sklepu jest sprawdzana przed zapisem. Jeśli dokument je przekracza, podgląd powie o ile, a import zostanie odrzucony w całości.
- Import buduje treść, nie projektuje wyglądu. Paleta, szablon i skórka pozostają ustawieniami witryny.
- Po imporcie stroną zarządzasz normalnie w panelu. Ręczne zmiany zostaną nadpisane, jeśli zaimportujesz ten sam adres podstrony jeszcze raz.
- Zdjęcia podaje się adresami. Plik nie przenosi samych obrazów do biblioteki mediów.

## Skąd wziąć plik

Struktura jest opisana kompletem pól i przykładów w dokumentacji technicznej repozytorium (`docs/serwis-json-schema.md`, a dla witryn z żywym sklepem `docs/site-json-schema.md`). Najprościej wygenerować plik modelem językowym na podstawie tego opisu, a potem sprawdzić go podglądem przed zapisem.
