[{"data":1,"prerenderedAt":1599},["ShallowReactive",2],{"post:\u002Fblog\u002Fga4-i-claude-code-analityka-www-wsparta-przez-ai":3,"surround:\u002Fblog\u002Fga4-i-claude-code-analityka-www-wsparta-przez-ai":734,"related:\u002Fblog\u002Fga4-i-claude-code-analityka-www-wsparta-przez-ai":740,"categories":775,"tags":843,"post-author:maciej-walczak":1585},{"id":4,"title":5,"author":6,"body":7,"categories":707,"comments":709,"cover":15,"coverAlt":13,"date":710,"description":711,"draft":712,"extension":713,"hidden":712,"meta":714,"navigation":709,"path":715,"readingTime":716,"redirectFrom":717,"seo":718,"sitemap":719,"slug":720,"stem":721,"tags":722,"updated":732,"wpId":732,"__hash__":733},"blog\u002Fblog\u002F2026-10-10-ga4-i-claude-code-analityka-www-wsparta-przez-ai.md","GA4 i Claude Code – analityka www wsparta przez AI","maciej-walczak",{"type":8,"value":9,"toc":690},"minimark",[10,17,21,37,40,45,48,51,55,58,122,133,141,145,148,193,196,200,203,210,214,221,235,238,249,253,256,261,264,278,282,285,297,301,310,322,325,329,332,335,341,379,402,408,456,461,507,522,536,546,556,563,565,569,572,578,584,590,597,601,604,636,639,643,646,672,676,679,686],[11,12],"figure",{"alt":13,"height":14,"src":15,"width":16},"Laptop z panelem Google Analytics 4 obok logo Claude Code i listą korzyści – analiza danych, wnioski, rekomendacje, automatyzacja, lepsze decyzje",1086,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F10\u002Fga4-claude-code-analityka-okladka.png",1448,[18,19,20],"p",{},"Strona bez statystyk to trochę jazda samochodem z zaklejonym licznikiem – jakoś się jedzie, ale nie wiadomo, czy szybko i czy w ogóle w dobrą stronę. Są jednak statystyki gorsze niż ich brak: takie, które pokazują nieprawdziwe liczby. Bo na ich podstawie podejmuje się decyzje, a człowiek czuje się pewnie, choć nie ma ku temu powodu.",[18,22,23,24,31,32,36],{},"Przekonałem się o tym na sklepie ",[25,26,30],"a",{"href":27,"rel":28},"https:\u002F\u002Fflora-art.pl",[29],"nofollow","flora-art.pl"," (kwiaciarnia i pracownia florystyczna), który – jak pisałem w ",[25,33,35],{"href":34},"\u002Fblog\u002Fprogramista-w-czasach-ai","poprzednim wpisie"," – budowałem razem z Claude Code. Przez cały kwartał raport pokazywał przychód, tylko że nie dało się powiedzieć, z jakich produktów się składa. Nic tego nie zgłaszało, nikt nie zauważył. Wyszło dopiero wtedy, gdy zacząłem sprawdzać dane razem z AI.",[18,38,39],{},"W tym wpisie opowiem, jak to wygląda od strony praktycznej: co sklep wysyła do statystyk, na jakie pułapki trafiłem, jak podłączyć do tego Claude Code i co z tego wynika. Starałem się pisać tak, żeby dało się to czytać także bez programistycznego zaplecza – jedyny bardziej techniczny kawałek to instrukcja podłączenia, którą można spokojnie przeskoczyć.",[41,42,44],"h2",{"id":43},"ga4-co-to-jest-i-po-co-go-podłączam","GA4 – co to jest i po co go podłączam",[18,46,47],{},"GA4 to Google Analytics 4, czyli darmowe narzędzie Google do statystyk stron i sklepów. Działa na zasadzie „zdarzeń”: drobnych informacji o tym, co robi odwiedzający – wszedł na stronę, obejrzał produkt, dodał go do koszyka, zapłacił. Z tych klocków GA4 składa raporty: ilu było użytkowników, skąd przyszli, co oglądali i w którym miejscu zrezygnowali.",[18,49,50],{},"Mnie interesuje to z 3 powodów. Po pierwsze, ruch w sklepie jest niewielki, więc każde zamówienie coś znaczy i chcę wiedzieć, skąd się wzięło. Po drugie, dane służą do decyzji o reklamach (Google Ads). Po trzecie – do pracy nad SEO, czyli widocznością w wyszukiwarce. Poza GA4 sklep korzysta jeszcze z kilku innych narzędzi (Hotjar, Meta Pixel, Vercel Analytics, Sentry), ale dziś zostajemy przy GA4. Działa ono dopiero po zgodzie użytkownika na ciasteczka analityczne, którą zbiera CookieYes.",[41,52,54],{"id":53},"jak-sklep-opowiada-o-zakupach","Jak sklep „opowiada” o zakupach",[18,56,57],{},"GA4 ma gotowy standard zdarzeń dla sklepów internetowych i trzymam się go ściśle – dzięki temu dostaję gotowe raporty, a nie muszę ich sam wymyślać. Zdarzenia układają się w kolejność, która dokładnie odwzorowuje drogę klienta:",[59,60,61,70,76,82,92,98,104,110,116],"ol",{},[62,63,64,65,69],"li",{},"klient przegląda listę produktów (",[66,67,68],"code",{},"view_item_list",")",[62,71,72,73,69],{},"klika w konkretny produkt (",[66,74,75],{},"select_item",[62,77,78,79,69],{},"ogląda jego stronę (",[66,80,81],{},"view_item",[62,83,84,85,88,89,69],{},"dodaje do koszyka albo go usuwa (",[66,86,87],{},"add_to_cart",", ",[66,90,91],{},"remove_from_cart",[62,93,94,95,69],{},"zagląda do koszyka (",[66,96,97],{},"view_cart",[62,99,100,101,69],{},"zaczyna zamówienie (",[66,102,103],{},"begin_checkout",[62,105,106,107,69],{},"wybiera dostawę (",[66,108,109],{},"add_shipping_info",[62,111,112,113,69],{},"wybiera płatność (",[66,114,115],{},"add_payment_info",[62,117,118,119,69],{},"płaci (",[66,120,121],{},"purchase",[18,123,124,125,128,129,132],{},"Dzięki temu w GA4 widać lejek – ilu klientów dotarło do każdego kroku i gdzie najwięcej odpada. Osobna historia to strona z ofertą dla firm: tam liczy się zapytanie ofertowe (",[66,126,127],{},"generate_lead",") oraz kliknięcie w telefon albo maila (",[66,130,131],{},"contact_click",") – tego drugiego GA4 w standardzie nie ma, więc to własna nazwa, którą wprowadziłem świadomie.",[18,134,135,136,140],{},"Jest jedna ważna różnica: ostatni krok, czyli zakup, nie jest zgłaszany przez przeglądarkę klienta. Zgłasza go ",[137,138,139],"strong",{},"serwer sklepu",", w momencie gdy bramka płatnicza potwierdzi wpłatę. Dlaczego tak – wyjaśnia pierwsza z pułapek poniżej.",[41,142,144],{"id":143},"pułapki-na-które-trafiłem","Pułapki, na które trafiłem",[18,146,147],{},"Najgorsze w analityce jest to, że nie psuje się głośno. GA4 przyjmie niemal wszystko i niemal niczego nie oprotestuje – wykresy się rysują, liczby rosną i wszystko wygląda w porządku. Oto co mi się przytrafiło:",[149,150,151,157,163,169,175,181,187],"ul",{},[62,152,153,156],{},[137,154,155],{},"Przychód bez produktów."," Przez ok. 90 dni każdy zakup miał w GA4 kwotę, ale zero pozycji. Wiadomo było, ile zarobiliśmy, ale nie z czego. Przyczyną nie było samo zdarzenie, tylko miejsce w sklepie, które nie dociągało listy produktów z zamówienia",[62,158,159,162],{},[137,160,161],{},"Zakup zgłaszany z przeglądarki."," Pierwotnie robiła to przeglądarka klienta po powrocie z bramki płatności. Gubiła klientów, którzy po zapłaceniu zamknęli kartę, pomijała zamówienia opłacone poza bramką, a przy odświeżeniu strony liczyła zakup drugi raz. Dlatego dziś robi to serwer",[62,164,165,168],{},[137,166,167],{},"Zakupy „bez źródła”."," Zakup wysyłany z serwera nie wiedział, w której sesji klient był, więc GA4 wrzucał przychód do kosza „Unassigned”. Raport pokazywał zero przychodu z wyszukiwarki, choć zamówienia z niej były",[62,170,171,174],{},[137,172,173],{},"Jeden bukiet, kilka produktów."," W raportach ten sam bukiet występował pod kilkoma nazwami – inną w wyświetleniach, inną w zakupach, a angielska wersja strony dokładała jeszcze jedną. Bukiet miał wyświetlenia i zero zakupów, a jego warianty odwrotnie",[62,176,177,180],{},[137,178,179],{},"Własny ruch."," Lokalne klikanie po sklepie podczas pracy lądowało w statystykach produkcyjnych – w jednym miesiącu to było ok. 17,5% odsłon. Do tego panele admina: ok. 11% odsłon w jednym miesiącu i ok. 21% w kolejnym (własny ruch jest stały, a klientów mało, więc jego udział rośnie)",[62,182,183,186],{},[137,184,185],{},"Konwersja w Google Ads, której nie było w kodzie."," Jedna z akcji, na której uczą się reklamy, liczyła w praktyce odsłony koszyka, a nie dodanie produktu, i niemal połowa jej wartości pochodziła z mojego własnego ruchu. Kampanie akurat nie chodziły, więc szkody nie było – ale gdyby wróciły, reklamy uczyłyby się na odświeżaniu strony",[62,188,189,192],{},[137,190,191],{},"Cisza w odpowiedzi."," Serwer GA4 potwierdza przyjęcie zdarzenia także wtedy, gdy ma ono błędy, więc zły zakup znika bez śladu. Podobnie ze zgodami: piksel Meta ładował się jeszcze przed kliknięciem w baner z ciasteczkami, a na to nic nie zwracało uwagi, dopóki nie zrobiłem audytu",[18,194,195],{},"Najbardziej niewygodna lekcja jest taka, że dane z okresu, w którym błąd istniał, już się nie naprawią. Poprawka działa od dziś, a nie wstecz – analityka ma swoją „datę ważności” poprawek.",[41,197,199],{"id":198},"dlaczego-ręczna-analiza-w-ga-bywa-trudna","Dlaczego ręczna analiza w GA bywa trudna",[18,201,202],{},"Teoretycznie wszystko to dałoby się wyłapać samemu, klikając po panelu GA4. W praktyce jest z tym kilka kłopotów. Interfejs jest rozbudowany, raportów jest mnóstwo, a nazwy wymiarów i metryk nie zawsze mówią to, czego się spodziewamy. Filtry działają nieintuicyjnie – na przykład filtr danych działa po adresie IP, a nie po adresie strony, więc nie da się po prostu „wyciąć” panelu admina. Raport przefiltrowany po nazwie domeny nie pokaże zakupów wysyłanych z serwera, bo serwer nie wie, na jakiej stronie klient był – i można godzinami szukać błędu, którego nie ma.",[18,204,205,206,209],{},"Największy kłopot jest jednak inny: ",[137,207,208],{},"GA4 nic nie wie o mojej bazie zamówień",". Nie sprawdzi, czy liczba zakupów w statystykach zgadza się z liczbą opłaconych zamówień. Takie porównanie robi się ręcznie, w arkuszu, i trudno oczekiwać, że ktoś będzie to robił co miesiąc.",[41,211,213],{"id":212},"rola-ai-w-interpretacji-danych","Rola AI w interpretacji danych",[18,215,216,217,220],{},"I tu wchodzi Claude Code. Jego przewaga nie polega na tym, że „zna się na analityce” – zna się tyle, ile mu opiszę i pokażę. Przewaga polega na tym, że ma pod ręką ",[137,218,219],{},"jednocześnie kod strony, dane z GA4 i bazę zamówień"," i potrafi je cierpliwie zestawiać:",[149,222,223,226,229,232],{},[62,224,225],{},"czy zdarzenia z kodu odpowiadają temu, co faktycznie widać w raportach",[62,227,228],{},"czy liczba zakupów w GA4 zgadza się z liczbą opłaconych zamówień",[62,230,231],{},"czy produkty występują pod tą samą nazwą we wszystkich zdarzeniach",[62,233,234],{},"czy do statystyk nie wpada ruch deweloperski",[18,236,237],{},"Wiele z opisanych wyżej problemów nie dałoby się znaleźć, patrząc tylko na jedno źródło. Błąd w akcji Google Ads wyszedł dopiero z porównania ustawień z danymi, a brakujące produkty – z zestawienia GA4 z bazą. Sam kod wyglądał dobrze, same raporty też wyglądały dobrze.",[18,239,240,241,244,245,248],{},"Znalezienie błędu to dopiero początek. Pracuję w pętli: znalezisko, poprawka, test pilnujący, żeby błąd nie wrócił, wpis w dokumentacji z datą i sprawdzenie na produkcji po wdrożeniu. Dokumentacja jest tu kluczowa – w pliku ",[66,242,243],{},"CLAUDE.md"," mam krótkie reguły, a szczegóły o analityce siedzą w osobnym dokumencie: co jest wysyłane, jakie były błędy (z datą, dowodem i statusem), jakie ślepe zaułki. Zasada brzmi: ",[137,246,247],{},"dokument aktualizuje się razem ze zmianą",", bo opis zeszłorocznego stanu jest gorszy niż brak opisu. Dzięki temu każda nowa sesja Claude’a zaczyna od wiedzy, a nie od zera.",[41,250,252],{"id":251},"jak-podłączyć-claude-code-do-ga4","Jak podłączyć Claude Code do GA4",[18,254,255],{},"Są 3 drogi i każda ma swoje plusy i minusy.",[257,258,260],"h3",{"id":259},"przez-przeglądarkę","Przez przeglądarkę",[18,262,263],{},"Claude Code może pracować w przeglądarce, w której jestem zalogowany, i klikać w panelu GA4 tak jak człowiek.",[149,265,266,272],{},[62,267,268,271],{},[137,269,270],{},"Plusy:"," zero konfiguracji, widzi wszystko to co ja (także ustawienia i Google Ads), działa nawet tam, gdzie żadnego API nie ma",[62,273,274,277],{},[137,275,276],{},"Minusy:"," wolno, bo każda odpowiedź to seria kliknięć i czytania ekranu; kruche, bo zmiana wyglądu panelu może wszystko popsuć; trudne do powtórzenia; no i działa z moimi pełnymi uprawnieniami, więc teoretycznie mógłby kliknąć coś, czego nie powinien",[257,279,281],{"id":280},"przez-konto-serwisowe","Przez konto serwisowe",[18,283,284],{},"Konto serwisowe to „użytkownik-robot” z własnym kluczem, któremu w GA4 i Search Console nadaję dostęp tylko do odczytu. Claude pisze skrypty, które pytają GA4 o dane przez oficjalne API.",[149,286,287,292],{},[62,288,289,291],{},[137,290,270],{}," dostęp wyłącznie do odczytu, szybko, powtarzalnie (skrypt można odpalić tak samo za pół roku), a wyniki da się porównać z bazą zamówień",[62,293,294,296],{},[137,295,276],{}," jednorazowa konfiguracja w Google Cloud i klucz, którego trzeba pilnować jak hasła",[257,298,300],{"id":299},"przez-eksperymentalne-mcp","Przez eksperymentalne MCP",[18,302,303,304,309],{},"Google udostępnia oficjalny serwer MCP dla GA4 – ",[25,305,308],{"href":306,"rel":307},"https:\u002F\u002Fgithub.com\u002Fgoogleanalytics\u002Fgoogle-analytics-mcp",[29],"google-analytics-mcp",". Jest lokalny, tylko do odczytu i wciąż oznaczony jako eksperymentalny. Pozwala zadawać pytania do danych wprost w języku naturalnym, bez pisania skryptów.",[149,311,312,317],{},[62,313,314,316],{},[137,315,270],{}," gotowe narzędzie od Google, pytania po ludzku, tylko odczyt",[62,318,319,321],{},[137,320,276],{}," eksperyment (może się zmieniać), konfiguracja w Google Cloud podobna jak przy koncie serwisowym, obejmuje tylko GA4, a nie bazę ani Search Console",[18,323,324],{},"Na flora-art.pl używam konta serwisowego. MCP na razie nie jest tam podpięte – jak tylko je sprawdzę w praktyce, opiszę to w osobnym wpisie.",[41,326,328],{"id":327},"instrukcja-konto-serwisowe-w-ga4-i-search-console","Instrukcja: konto serwisowe w GA4 i Search Console",[18,330,331],{},"Tu kończy się część opowieści, a zaczyna ściąga – trochę dla Was, trochę dla mnie na przyszłość 🙂",[333,334],"hr",{},[18,336,337,340],{},[137,338,339],{},"1. Instalujemy gcloud."," To narzędzie Google do zarządzania projektem w chmurze (pakiet nazywa się Google Cloud SDK). Jeśli korzystamy z Homebrew, wystarczą 2 komendy:",[342,343,348],"pre",{"className":344,"code":345,"language":346,"meta":347,"style":347},"language-bash shiki shiki-themes github-light-default github-light-default github-dark-default","brew install --cask google-cloud-sdk\ngcloud --version\n","bash","",[66,349,350,370],{"__ignoreMap":347},[351,352,355,359,363,367],"span",{"class":353,"line":354},"line",1,[351,356,358],{"class":357},"sQJ0q","brew",[351,360,362],{"class":361},"s-BGO"," install",[351,364,366],{"class":365},"sDkKp"," --cask",[351,368,369],{"class":361}," google-cloud-sdk\n",[351,371,373,376],{"class":353,"line":372},2,[351,374,375],{"class":357},"gcloud",[351,377,378],{"class":365}," --version\n",[18,380,381,382,385,386,391,392,397,398,401],{},"Nie każdy ma lub chce mieć Homebrew – w takim razie można pobrać archiwum prosto od Google (osobne dla procesorów Apple Silicon i Intel), rozpakować je i uruchomić skrypt ",[66,383,384],{},"install.sh",". Najlepiej skorzystać z oficjalnej instrukcji: ",[25,387,390],{"href":388,"rel":389},"https:\u002F\u002Fdocs.cloud.google.com\u002Fsdk\u002Fdocs\u002Finstall-sdk",[29],"Install the gcloud CLI",". Dla użytkowników Homebrew jest też ",[25,393,396],{"href":394,"rel":395},"https:\u002F\u002Fdocs.cloud.google.com\u002Fsdk\u002Fdocs\u002Fdownloads-homebrew",[29],"osobna strona",". Na koniec instalacji sprawdzamy, czy narzędzie działa (",[66,399,400],{},"gcloud --version",").",[18,403,404,407],{},[137,405,406],{},"2. Logujemy się i włączamy potrzebne API."," Potrzebny jest projekt w Google Cloud (może być nowy, darmowy). W nim włączamy API, z którego będziemy czytać dane GA4 i Search Console:",[342,409,411],{"className":344,"code":410,"language":346,"meta":347,"style":347},"gcloud auth login\ngcloud config set project NAZWA_PROJEKTU\ngcloud services enable analyticsdata.googleapis.com searchconsole.googleapis.com\n",[66,412,413,423,439],{"__ignoreMap":347},[351,414,415,417,420],{"class":353,"line":354},[351,416,375],{"class":357},[351,418,419],{"class":361}," auth",[351,421,422],{"class":361}," login\n",[351,424,425,427,430,433,436],{"class":353,"line":372},[351,426,375],{"class":357},[351,428,429],{"class":361}," config",[351,431,432],{"class":361}," set",[351,434,435],{"class":361}," project",[351,437,438],{"class":361}," NAZWA_PROJEKTU\n",[351,440,442,444,447,450,453],{"class":353,"line":441},3,[351,443,375],{"class":357},[351,445,446],{"class":361}," services",[351,448,449],{"class":361}," enable",[351,451,452],{"class":361}," analyticsdata.googleapis.com",[351,454,455],{"class":361}," searchconsole.googleapis.com\n",[18,457,458],{},[137,459,460],{},"3. Tworzymy konto serwisowe i klucz.",[342,462,464],{"className":344,"code":463,"language":346,"meta":347,"style":347},"gcloud iam service-accounts create czytelnik-analityki\ngcloud iam service-accounts keys create klucz.json \\\n  --iam-account=czytelnik-analityki@NAZWA_PROJEKTU.iam.gserviceaccount.com\n",[66,465,466,482,502],{"__ignoreMap":347},[351,467,468,470,473,476,479],{"class":353,"line":354},[351,469,375],{"class":357},[351,471,472],{"class":361}," iam",[351,474,475],{"class":361}," service-accounts",[351,477,478],{"class":361}," create",[351,480,481],{"class":361}," czytelnik-analityki\n",[351,483,484,486,488,490,493,495,498],{"class":353,"line":372},[351,485,375],{"class":357},[351,487,472],{"class":361},[351,489,475],{"class":361},[351,491,492],{"class":361}," keys",[351,494,478],{"class":361},[351,496,497],{"class":361}," klucz.json",[351,499,501],{"class":500},"s5nWI"," \\\n",[351,503,504],{"class":353,"line":441},[351,505,506],{"class":365},"  --iam-account=czytelnik-analityki@NAZWA_PROJEKTU.iam.gserviceaccount.com\n",[18,508,509,510,513,514,517,518,521],{},"Plik ",[66,511,512],{},"klucz.json"," przenosimy w bezpieczne miejsce ",[137,515,516],{},"poza repozytorium"," i ustawiamy mu prawa tylko dla nas (",[66,519,520],{},"chmod 600","). To pełnoprawne poświadczenie – samo skasowanie pliku z dysku go nie unieważnia, trzeba usunąć klucz po stronie Google.",[18,523,524,527,528,531,532,535],{},[137,525,526],{},"4. Nadajemy dostęp w GA4."," Wchodzimy do Analytics: Administracja → Zarządzanie dostępem do usługi → dodajemy użytkownika. Wpisujemy adres e-mail konta serwisowego (ten z końcówką ",[66,529,530],{},"iam.gserviceaccount.com",") i nadajemy rolę ",[137,533,534],{},"Czytelnik",". Dostęp nadaje się w samym Analytics, a nie w panelu IAM w Google Cloud – o czym łatwo zapomnieć.",[18,537,538,541,542,545],{},[137,539,540],{},"5. Nadajemy dostęp w Search Console."," Ustawienia → Użytkownicy i uprawnienia → Dodaj użytkownika. Ten sam adres e-mail, uprawnienia ",[137,543,544],{},"Ograniczone",", czyli tylko podgląd. Przy okazji warto połączyć GA4 z Search Console w ustawieniach połączeń usług Google – dane o wyszukiwaniach pojawią się wtedy także w raportach GA4.",[18,547,548,551,552,555],{},[137,549,550],{},"6. Dajemy Claude’owi znać, gdzie leży klucz."," Wskazujemy ścieżkę do pliku w zmiennej środowiskowej ",[66,553,554],{},"GOOGLE_APPLICATION_CREDENTIALS",", a identyfikator usługi GA4 przekazujemy w konfiguracji lokalnej. Reszta to już zwykła rozmowa: prosimy o napisanie skryptu, który zapyta o dane, i o jego uruchomienie.",[18,557,558,559,562],{},"Skoro mamy konto serwisowe, to czemu nie zwykłe logowanie przez ",[66,560,561],{},"gcloud auth application-default login","? Bo z zakresami Analytics ono nie działa – Google blokuje wbudowanego klienta OAuth gcloud przy zakresach spoza Cloud Platform. Konto serwisowe jest po prostu prostsze.",[333,564],{},[41,566,568],{"id":567},"co-dało-konto-serwisowe","Co dało konto serwisowe",[18,570,571],{},"Odkąd Claude ma dostęp do odczytu, zmieniło się kilka rzeczy:",[18,573,574,577],{},[137,575,576],{},"Wykrywanie problemów."," Wszystkie pułapki z początku wpisu wyszły właśnie dzięki porównaniom danych z GA4 z kodem i bazą. Bez dostępu do danych zostałyby dalej niewidoczne.",[18,579,580,583],{},[137,581,582],{},"Naprawa raportowania na stronie."," Na podstawie znalezisk poprawiliśmy mechanizmy: zakup wysyła serwer po potwierdzeniu płatności, razem z identyfikatorem sesji, z pełną listą produktów i z jedną, kanoniczną nazwą każdego bukietu. Dev nie trafia już do statystyk – w kolejnym miesiącu po naprawie lokalnego ruchu nie było ani razu, więc blokada działa. Każda z tych poprawek ma test i wpis w dokumentacji.",[18,585,586,589],{},[137,587,588],{},"SEO."," Dane z Search Console są wejściem do decyzji o treści. Tytuły i opisy kluczowych stron (kwiaciarnia, sklep, „O mnie”) dobrałem do fraz, które faktycznie wpisują ludzie, rozwiązując przy okazji kanibalizację, czyli sytuację, w której dwie strony walczą w wyszukiwarce o tę samą frazę. Do tego Search Console służy do kontroli szybkości strony, błędów 404 i pokrycia wersji językowych (PL, EN, DE) oraz do zgłoszenia sitemapy po przebudowie adresów.",[18,591,592,593,596],{},"Claude ma dostęp ",[137,594,595],{},"tylko do odczytu",". Sam niczego w GA4 ani Google Ads nie zmienia. Część poprawek (filtr ruchu wewnętrznego, akcja konwersji w Ads) wymaga kliknięcia w panelu – wtedy Claude diagnozuje i opisuje, a klikam ja. I tak powinno zostać.",[41,598,600],{"id":599},"o-co-można-zapytać-10-przykładów","O co można zapytać – 10 przykładów",[18,602,603],{},"Najlepiej widać to na pytaniach, które można teraz zadać zwykłym językiem i dostać odpowiedź od ręki:",[59,605,606,609,612,615,618,621,624,627,630,633],{},[62,607,608],{},"Ilu użytkowników odwiedziło sklep w ostatnim miesiącu i jak to wypada na tle poprzedniego?",[62,610,611],{},"Skąd przychodzą klienci – z wyszukiwarki, z social mediów, z reklam, a może wpisują adres ręcznie?",[62,613,614],{},"Które produkty są najczęściej oglądane, a które najczęściej kupowane – i czy to te same?",[62,616,617],{},"Na którym kroku klienci porzucają zakupy: w koszyku, przy wyborze dostawy czy przy płatności?",[62,619,620],{},"Czy liczba zakupów w GA4 zgadza się z liczbą opłaconych zamówień w bazie?",[62,622,623],{},"Jaki odsetek ruchu to mój własny – panel admina, lokalne środowisko, staging?",[62,625,626],{},"Z jakich urządzeń przychodzą klienci – z telefonu czy z komputera?",[62,628,629],{},"Jakie frazy wpisują ludzie w Google, zanim trafią na stronę, i na jakiej pozycji jesteśmy?",[62,631,632],{},"Które podstrony są najczęstszym pierwszym wejściem na stronę?",[62,634,635],{},"Ile osób kliknęło w telefon albo maila na stronie z ofertą dla firm?",[18,637,638],{},"Dodatkowo można pytać o wersje językowe, błędy 404 czy o to, które kanały przynoszą zamówienia, a nie tylko wejścia.",[41,640,642],{"id":641},"plany-na-dalsze-zmiany","Plany na dalsze zmiany",[18,644,645],{},"Lista rzeczy, które chcę jeszcze zrobić:",[149,647,648,654,660,666],{},[62,649,650,653],{},[137,651,652],{},"Skill do wyciągania konkretnych danych."," Dziś wiedza o tym, jak zapytać o zestawienie miesiąca, udział ruchu wewnętrznego czy raport „wyświetlenie → zakup” dla produktu, leży w dokumencie. Chcę ją zamienić na gotowy, wykonywalny skill",[62,655,656,659],{},[137,657,658],{},"Cykliczny audyt."," Raz w miesiącu automatyczne zestawienie GA4 z bazą i alarm, gdy liczby się rozjadą – dziś wykrywa to dopiero kontrola ręczna",[62,661,662,665],{},[137,663,664],{},"Test pilnujący nazw produktów",", żeby żadne nowe zdarzenie nie rozjechało raportów",[62,667,668,671],{},[137,669,670],{},"Porządki w pomiarze:"," filtr ruchu wewnętrznego, poprawa albo usunięcie akcji konwersji w Google Ads przed wznowieniem kampanii, dokładniejszy moment zgłaszania rozpoczęcia zamówienia i uwzględnienie zamówień złożonych telefonicznie",[41,673,675],{"id":674},"podsumowanie","Podsumowanie",[18,677,678],{},"Dla mnie największa zmiana to nie „AI liczy statystyki szybciej”, tylko że w końcu ktoś cierpliwie sprawdza, czy te statystyki są prawdziwe. Kontrola, która wcześniej wymagała klikania po panelu i ręcznych porównań w arkuszu, teraz sprowadza się do jednego pytania. A ponieważ na poprawnych danych można opierać decyzje – o reklamach, o ofercie, o treści strony – to właśnie poprawność jest tu najważniejsza. Ładny wykres z błędnymi liczbami jest gorszy niż brak wykresu.",[18,680,681,682,685],{},"Jeśli prowadzisz sklep albo stronę i Twoja analityka „po prostu działa” – a nikt jej nigdy nie sprawdził – to warto ją przejrzeć. Daj znać w komentarzach, czy któraś z tych pułapek jest Ci znajoma. A jeśli ktoś już korzysta z ",[66,683,684],{},"analytics-mcp",", bardzo chętnie dowiem się, jak mu się z nim pracuje 🙂",[687,688,689],"style",{},"html pre.shiki code .sQJ0q, html code.shiki .sQJ0q{--shiki-light:#953800;--shiki-default:#953800;--shiki-dark:#FFA657}html pre.shiki code .s-BGO, html code.shiki .s-BGO{--shiki-light:#0A3069;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .sDkKp, html code.shiki .sDkKp{--shiki-light:#0550AE;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s5nWI, html code.shiki .s5nWI{--shiki-light:#CF222E;--shiki-default:#CF222E;--shiki-dark:#FF7B72}",{"title":347,"searchDepth":372,"depth":372,"links":691},[692,693,694,695,696,697,702,703,704,705,706],{"id":43,"depth":372,"text":44},{"id":53,"depth":372,"text":54},{"id":143,"depth":372,"text":144},{"id":198,"depth":372,"text":199},{"id":212,"depth":372,"text":213},{"id":251,"depth":372,"text":252,"children":698},[699,700,701],{"id":259,"depth":441,"text":260},{"id":280,"depth":441,"text":281},{"id":299,"depth":441,"text":300},{"id":327,"depth":372,"text":328},{"id":567,"depth":372,"text":568},{"id":599,"depth":372,"text":600},{"id":641,"depth":372,"text":642},{"id":674,"depth":372,"text":675},[708],"artykuly",true,"2026-10-10","Statystyki sklepu potrafią pokazywać liczby, które nie mają nic wspólnego z rzeczywistością. Jak AI pomaga mi to sprawdzać – na przykładzie flora-art.pl.",false,"md",{},"\u002Fblog\u002Fga4-i-claude-code-analityka-www-wsparta-przez-ai",12,[],{"title":5,"description":711},{"loc":715},"ga4-i-claude-code-analityka-www-wsparta-przez-ai","blog\u002F2026-10-10-ga4-i-claude-code-analityka-www-wsparta-przez-ai",[723,724,725,726,727,728,729,730,731],"claude-code","ai","automatyzacja","programowanie","ga4","google-analytics","analityka","mcp","flora-art",null,"sed_HVo5xgJZq7qsNUyGTlEVD2U9_9ysYlypf9JPrNQ",[735,732],{"title":736,"path":737,"stem":738,"description":739,"children":-1},"Tysiące zdjęć i filmów – jak to ogarnąć na własnym serwerze?","\u002Fblog\u002Ftysiace-zdjec-i-filmow-jak-to-ogarnac-na-wlasnym-serwerze","blog\u002F2026-10-03-tysiace-zdjec-i-filmow-jak-to-ogarnac-na-wlasnym-serwerze","Backup zdjęć z telefonów na NAS to dopiero połowa sukcesu. Druga połowa to znaleźć potem cokolwiek w tysiącach plików… U mnie robią to Immich i Stash.",[741,752,762],{"path":34,"title":742,"description":743,"date":744,"categories":745,"tags":746,"readingTime":750,"draft":712,"cover":751},"Programista w czasach AI","Czy AI zabierze nam robotę? Nie sądzę. Ale zmieni ją tak, że za kilka lat sami jej nie poznamy – i mam na to dowód w postaci 543 commitów…","2026-10-01",[708],[726,747,725,748,724,723,749],"kariera-w-it","front-end-developer","saas",13,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F10\u002Fprogramista-w-czasach-ai-okladka.png",{"path":753,"title":754,"description":755,"date":756,"categories":757,"tags":759,"readingTime":716,"draft":712,"cover":761},"\u002Fblog\u002Ftinyjs-natywna-aplikacja-w-kilka-godzin-i-ponizej-10-mb","TinyJS – natywna aplikacja w kilka godzin i poniżej 10 MB","Po południu przeczytałem o TinyJS, wieczorem miałem na Macu natywną aplikację do Florino. Z własnymi widokami, z logowaniem – i poniżej 10 MB…","2026-10-03",[708,758],"osx",[758,724,723,749,760,726],"vue-js","https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002F2026\u002F10\u002Ftinyjs-okladka.png",{"path":763,"title":764,"description":765,"date":766,"categories":767,"tags":769,"readingTime":773,"draft":712,"cover":774},"\u002Fblog\u002Ftuya-czyli-zaprogramuj-sobie-dom","Tuya – czyli zaprogramuj sobie dom","Czasem człowiek długo do czegoś dojrzewa… Inteligentne domy – kto nie słyszał takiego frazesu… Ten temat od dawna chodził mi po głowie, kiedyś zainstalowałem…","2023-03-14",[708,768],"polecane",[725,770,771,772],"inteligentny-dom","smart-home","tuya",5,"https:\u002F\u002F5icqmonbzxnrw2bn.public.blob.vercel-storage.com\u002Fwp\u002F2023\u002F03\u002Ftuya.png",[776,783,790,797,804,811,817,823,830,837],{"id":777,"description":732,"extension":778,"meta":779,"name":780,"slug":708,"stem":781,"__hash__":782},"categories\u002Fcategories\u002Fartykuly.yml","yml",{},"Artykuły","categories\u002Fartykuly","aw37OCuccDz54Q07CDyESiid8VqHzN1nGf8cMOk_mI0",{"id":784,"description":732,"extension":778,"meta":785,"name":786,"slug":787,"stem":788,"__hash__":789},"categories\u002Fcategories\u002Fdostepnosc-cyfrowa.yml",{},"Dostępność cyfrowa","dostepnosc-cyfrowa","categories\u002Fdostepnosc-cyfrowa","6m7Ag8ZZ1EzfdgLuQnAUAMmRcjkgb2tpFM9n1qxANOM",{"id":791,"description":732,"extension":778,"meta":792,"name":793,"slug":794,"stem":795,"__hash__":796},"categories\u002Fcategories\u002Fkonferencje.yml",{},"Konferencje","konferencje","categories\u002Fkonferencje","dQl4MW7163iEG-b7Cv6FJ2gUxLqnpaiMOLixCXvhHTw",{"id":798,"description":732,"extension":778,"meta":799,"name":800,"slug":801,"stem":802,"__hash__":803},"categories\u002Fcategories\u002Fkonfiguracja.yml",{},"Konfiguracja","konfiguracja","categories\u002Fkonfiguracja","ESTOPlJnBPnwuuqgOm7yqGAwgllsRJfSPVk22K_nQe0",{"id":805,"description":732,"extension":778,"meta":806,"name":807,"slug":808,"stem":809,"__hash__":810},"categories\u002Fcategories\u002Fnauka.yml",{},"Nauka","nauka","categories\u002Fnauka","3hQRPpuXqoNblW09Gj46arWFgH-3YfsMcgDyd4xLkN4",{"id":812,"description":732,"extension":778,"meta":813,"name":814,"slug":758,"stem":815,"__hash__":816},"categories\u002Fcategories\u002Fosx.yml",{},"OSX","categories\u002Fosx","WW8-0hUIqcivgAUl8WQuAvJ3-xVLRLjLkmP00PP4eXY",{"id":818,"description":732,"extension":778,"meta":819,"name":820,"slug":768,"stem":821,"__hash__":822},"categories\u002Fcategories\u002Fpolecane.yml",{},"Polecane","categories\u002Fpolecane","ckLXqMEBUHLxZavR7FGvpQjhxc7ycP_sQ7myEw64R9I",{"id":824,"description":732,"extension":778,"meta":825,"name":826,"slug":827,"stem":828,"__hash__":829},"categories\u002Fcategories\u002Fpomoce.yml",{},"Pomoce","pomoce","categories\u002Fpomoce","3oKSrG-VgrihP1nofQwuUItxUsyzVfgEfTMF2vq7EIw",{"id":831,"description":732,"extension":778,"meta":832,"name":833,"slug":834,"stem":835,"__hash__":836},"categories\u002Fcategories\u002Fprezentacje.yml",{},"Prezentacje","prezentacje","categories\u002Fprezentacje","4L5LUH8zxl0qXRvdymYTwtrkuj1tQun8R7yYz_OfndE",{"id":838,"description":732,"extension":778,"meta":839,"name":840,"slug":760,"stem":841,"__hash__":842},"categories\u002Fcategories\u002Fvue-js.yml",{},"Vue.js","categories\u002Fvue-js","wOIuiF3jWQ-Zph8v7hYGNuLdJbCx0VguVg0loyh-Mwk",[844,850,855,860,867,874,881,888,893,900,907,914,920,927,934,941,948,955,962,968,975,982,988,994,1000,1006,1012,1018,1023,1029,1035,1041,1046,1052,1058,1063,1069,1076,1082,1088,1094,1101,1107,1113,1120,1126,1131,1136,1142,1149,1156,1161,1167,1174,1181,1186,1193,1200,1207,1213,1220,1225,1232,1239,1245,1252,1258,1264,1271,1277,1284,1290,1296,1301,1307,1314,1320,1327,1333,1339,1346,1353,1360,1365,1372,1378,1384,1391,1397,1404,1410,1416,1423,1430,1437,1443,1450,1456,1463,1470,1476,1482,1488,1495,1500,1506,1513,1520,1527,1533,1539,1545,1551,1557,1564,1571,1578],{"id":845,"extension":778,"meta":846,"name":847,"slug":847,"stem":848,"__hash__":849},"tags\u002Ftags\u002Faccessibility.yml",{},"accessibility","tags\u002Faccessibility","luflFOwd8bzxVK2qeBv80Pzxhje6x-hbJYaDUihuwOk",{"id":851,"extension":778,"meta":852,"name":724,"slug":724,"stem":853,"__hash__":854},"tags\u002Ftags\u002Fai.yml",{},"tags\u002Fai","dps1QD2_kN7ri7PVTP0uaeL-lYhL69nCwndkqEqLLhU",{"id":856,"extension":778,"meta":857,"name":729,"slug":729,"stem":858,"__hash__":859},"tags\u002Ftags\u002Fanalityka.yml",{},"tags\u002Fanalityka","OazPvU9cHqo-nX1NPUamjhpZH7roEImTsqB55m-1Ewg",{"id":861,"extension":778,"meta":862,"name":863,"slug":864,"stem":865,"__hash__":866},"tags\u002Ftags\u002Fangular.yml",{},"Angular","angular","tags\u002Fangular","z6SH0xA8FvB2X9kVmW-gtOdfx__mVrgIuA7HVCzfLjo",{"id":868,"extension":778,"meta":869,"name":870,"slug":871,"stem":872,"__hash__":873},"tags\u002Ftags\u002Fapache2.yml",{},"Apache2","apache2","tags\u002Fapache2","unCvGoDYof2-UiVE0lnN8eq5ru5roRg5_2mAo4TdEHk",{"id":875,"extension":778,"meta":876,"name":877,"slug":878,"stem":879,"__hash__":880},"tags\u002Ftags\u002Faplikacje-i-uslugi-internetowe.yml",{},"aplikacje i usługi internetowe","aplikacje-i-uslugi-internetowe","tags\u002Faplikacje-i-uslugi-internetowe","G2Vojqp3Zd7QgL3zFleglcNCFkjzkAAeDQCScU6P8bc",{"id":882,"extension":778,"meta":883,"name":884,"slug":885,"stem":886,"__hash__":887},"tags\u002Ftags\u002Fasynchronicznosc.yml",{},"asynchroniczność","asynchronicznosc","tags\u002Fasynchronicznosc","9RMRbHed9wQxDzVpEjO6Ay9zxWDCI0e4hE8F4zqGgj0",{"id":889,"extension":778,"meta":890,"name":725,"slug":725,"stem":891,"__hash__":892},"tags\u002Ftags\u002Fautomatyzacja.yml",{},"tags\u002Fautomatyzacja","vfUpLN8opVGvKUQgjGwEYxKfsZsLo3jxneMF9YMMVD0",{"id":894,"extension":778,"meta":895,"name":896,"slug":897,"stem":898,"__hash__":899},"tags\u002Ftags\u002Fblokowanie-reklam.yml",{},"blokowanie reklam","blokowanie-reklam","tags\u002Fblokowanie-reklam","lq-tfiZ_uB_SerIlaIQFMOXvGIF3QoVVVyPxjwrEsR4",{"id":901,"extension":778,"meta":902,"name":903,"slug":904,"stem":905,"__hash__":906},"tags\u002Ftags\u002Fblue-media.yml",{},"Blue Media","blue-media","tags\u002Fblue-media","z8G577CxZ7uSy-oNOkWtn3XgbsbjeKhuNby5Q6BCRuM",{"id":908,"extension":778,"meta":909,"name":910,"slug":911,"stem":912,"__hash__":913},"tags\u002Ftags\u002Fchrome-extensions.yml",{},"chrome extensions","chrome-extensions","tags\u002Fchrome-extensions","Ip0fOTD9TMJiHcbXwgvAB2mFf_D1rlP5ZfkJG3GbCL0",{"id":915,"extension":778,"meta":916,"name":917,"slug":723,"stem":918,"__hash__":919},"tags\u002Ftags\u002Fclaude-code.yml",{},"claude code","tags\u002Fclaude-code","wJZCEyRD6Cq9w7YKW0WDw94B_K-Y-nbkt1sLGN2RgEw",{"id":921,"extension":778,"meta":922,"name":923,"slug":924,"stem":925,"__hash__":926},"tags\u002Ftags\u002Fcmr.yml",{},"CMR","cmr","tags\u002Fcmr","eNv_ncSDXVsAFBCM8A4uJqAJItqSOP29I1Kabpm-l3Y",{"id":928,"extension":778,"meta":929,"name":930,"slug":931,"stem":932,"__hash__":933},"tags\u002Ftags\u002Fcodersday.yml",{},"CodersDay","codersday","tags\u002Fcodersday","jLWUVGvGvi2irKFpFs0Ea6hkW71mLoiroOaGDcv1KWw",{"id":935,"extension":778,"meta":936,"name":937,"slug":938,"stem":939,"__hash__":940},"tags\u002Ftags\u002Fcoderslab.yml",{},"CodersLab","coderslab","tags\u002Fcoderslab","NQEy1mD_tk9h71yZtjSoC4LhXGE54DGYaYgj3JOoUqY",{"id":942,"extension":778,"meta":943,"name":944,"slug":945,"stem":946,"__hash__":947},"tags\u002Ftags\u002Fcolor-contrast-analyzer.yml",{},"Color Contrast Analyzer","color-contrast-analyzer","tags\u002Fcolor-contrast-analyzer","hGu3gO_owf9Tn4p5-FssJGVt4ToSsRfgjMjWdX2YgEI",{"id":949,"extension":778,"meta":950,"name":951,"slug":952,"stem":953,"__hash__":954},"tags\u002Ftags\u002Fcolor-contrast-checker.yml",{},"Color Contrast Checker","color-contrast-checker","tags\u002Fcolor-contrast-checker","w8QKUWUH691wTFtUWDJMjbCvC6zlFZo6j4UDDSg1NDY",{"id":956,"extension":778,"meta":957,"name":958,"slug":959,"stem":960,"__hash__":961},"tags\u002Ftags\u002Fconfrontjs.yml",{},"ConFrontJS","confrontjs","tags\u002Fconfrontjs","G4ePmrCbuLVA_ccxs7rcKSveQ3Kvn7y6-Ie9-H_5gpc",{"id":963,"extension":778,"meta":964,"name":965,"slug":965,"stem":966,"__hash__":967},"tags\u002Ftags\u002Fcss3.yml",{},"css3","tags\u002Fcss3","f5Gtp9yzvmyMSZ-IN--19c7OR-v5LXzdvhNaEmiOsuw",{"id":969,"extension":778,"meta":970,"name":971,"slug":972,"stem":973,"__hash__":974},"tags\u002Ftags\u002Fdesi-2020.yml",{},"DESI 2020","desi-2020","tags\u002Fdesi-2020","KeSFSj6VcXN0OciAUSTR8C1kiGUE3nLzGR1Pi5h_USE",{"id":976,"extension":778,"meta":977,"name":978,"slug":979,"stem":980,"__hash__":981},"tags\u002Ftags\u002Fdns.yml",{},"DNS","dns","tags\u002Fdns","_TzsfpRL_ROm8MT5opDE1gg4GnuukbCyKY87W-IFl68",{"id":983,"extension":778,"meta":984,"name":985,"slug":787,"stem":986,"__hash__":987},"tags\u002Ftags\u002Fdostepnosc-cyfrowa.yml",{},"dostępność cyfrowa","tags\u002Fdostepnosc-cyfrowa","8xZ6WRsys1qnr-vWH_Y4Ne8ac2RBONWyLrrm31u00xI",{"id":989,"extension":778,"meta":990,"name":991,"slug":991,"stem":992,"__hash__":993},"tags\u002Ftags\u002Febook.yml",{},"ebook","tags\u002Febook","2Eqjl28-mK0fxpryAfGFMCel8MSByJVuQRsvy_S_cgY",{"id":995,"extension":778,"meta":996,"name":997,"slug":997,"stem":998,"__hash__":999},"tags\u002Ftags\u002Felgato.yml",{},"elgato","tags\u002Felgato","ys3dC5VhSFe1JP_z6vIBB8W8WSJmrbB2C3gwTjSkINM",{"id":1001,"extension":778,"meta":1002,"name":1003,"slug":1003,"stem":1004,"__hash__":1005},"tags\u002Ftags\u002Fevent.yml",{},"event","tags\u002Fevent","xcUCN7zoFrW8LCakRgx4s2r8YTGvycTdYQEyx_Yg7Fk",{"id":1007,"extension":778,"meta":1008,"name":1009,"slug":1009,"stem":1010,"__hash__":1011},"tags\u002Ftags\u002Ffacebook.yml",{},"facebook","tags\u002Ffacebook","xk1FSKdOP155PdsTUy6lbefdoi6pOrwzZtVO8B52vMo",{"id":1013,"extension":778,"meta":1014,"name":1015,"slug":1015,"stem":1016,"__hash__":1017},"tags\u002Ftags\u002Ffanpage.yml",{},"fanpage","tags\u002Ffanpage","RoMU1ceix1opnNG2LPoGzfOjVZE128Gmk12ZtDAQxrM",{"id":1019,"extension":778,"meta":1020,"name":731,"slug":731,"stem":1021,"__hash__":1022},"tags\u002Ftags\u002Fflora-art.yml",{},"tags\u002Fflora-art","EZJoljjwcgycvXhzhoZltu8jVe2P_rSd_t7-DmugrCs",{"id":1024,"extension":778,"meta":1025,"name":1026,"slug":1026,"stem":1027,"__hash__":1028},"tags\u002Ftags\u002Ffront-end.yml",{},"front-end","tags\u002Ffront-end","xKzeWb2B7yr2l4WBGtpyUzD1T_sBK5i-sb21-MEDOWw",{"id":1030,"extension":778,"meta":1031,"name":1032,"slug":748,"stem":1033,"__hash__":1034},"tags\u002Ftags\u002Ffront-end-developer.yml",{},"front-end developer","tags\u002Ffront-end-developer","rHwMfWcbpd8wXqIVD1HzPWxBheHq8V_9TdHCHkz4Sp8",{"id":1036,"extension":778,"meta":1037,"name":1038,"slug":1038,"stem":1039,"__hash__":1040},"tags\u002Ftags\u002Ffrontend.yml",{},"frontend","tags\u002Ffrontend","CxnBlT8roa7DydGYGxgRVXKKTvJrkjMMQrvHZQMxukA",{"id":1042,"extension":778,"meta":1043,"name":727,"slug":727,"stem":1044,"__hash__":1045},"tags\u002Ftags\u002Fga4.yml",{},"tags\u002Fga4","rRvTzxNn5DJ4Sf5NYfC7bdlPytNph9v_BV9e-9z8mng",{"id":1047,"extension":778,"meta":1048,"name":1049,"slug":1049,"stem":1050,"__hash__":1051},"tags\u002Ftags\u002Fgamepad.yml",{},"gamepad","tags\u002Fgamepad","Gsi3HzAfw68AJR6qCt8qeuS7Euw22ZMSpnaKNw0QV-A",{"id":1053,"extension":778,"meta":1054,"name":1055,"slug":1055,"stem":1056,"__hash__":1057},"tags\u002Ftags\u002Fgoalkicker.yml",{},"goalkicker","tags\u002Fgoalkicker","L_zNfxJfO6lZOUiLaE5m_ggQUX0komBXXth0SrszFUk",{"id":1059,"extension":778,"meta":1060,"name":728,"slug":728,"stem":1061,"__hash__":1062},"tags\u002Ftags\u002Fgoogle-analytics.yml",{},"tags\u002Fgoogle-analytics","04tt2kepradezfP_kRSWsq1w1BDQ6kJaoVd5RB3wCT4",{"id":1064,"extension":778,"meta":1065,"name":1066,"slug":1066,"stem":1067,"__hash__":1068},"tags\u002Ftags\u002Fhandbook.yml",{},"handbook","tags\u002Fhandbook","D0-VmrV-_WQQnlVvaePXWciWrJ8zuWNJoJULW_rOpmI",{"id":1070,"extension":778,"meta":1071,"name":1072,"slug":1073,"stem":1074,"__hash__":1075},"tags\u002Ftags\u002Fhtml-api.yml",{},"HTML API","html-api","tags\u002Fhtml-api","DBZv8DJ2hZR64GhJALF_-YzUG4mZWG9m2VZE76eM_wY",{"id":1077,"extension":778,"meta":1078,"name":1079,"slug":1079,"stem":1080,"__hash__":1081},"tags\u002Ftags\u002Fhtml5.yml",{},"html5","tags\u002Fhtml5","fcqPnoul30jPoEk6tO8K9WWwU8XyFz3N7-GAse2uwsQ",{"id":1083,"extension":778,"meta":1084,"name":1085,"slug":1085,"stem":1086,"__hash__":1087},"tags\u002Ftags\u002Fimmich.yml",{},"immich","tags\u002Fimmich","yRqxfTgoJptMOBpcKUS-JAmsUYKQZe4N5gyGFXSxoyU",{"id":1089,"extension":778,"meta":1090,"name":1091,"slug":770,"stem":1092,"__hash__":1093},"tags\u002Ftags\u002Finteligentny-dom.yml",{},"inteligentny dom","tags\u002Finteligentny-dom","LwWCH_MYDfKSgfl9wyRWrWegvCgb2hAnXMlON3OQ0dk",{"id":1095,"extension":778,"meta":1096,"name":1097,"slug":1098,"stem":1099,"__hash__":1100},"tags\u002Ftags\u002Fjaws.yml",{},"Jaws","jaws","tags\u002Fjaws","aklZIj6z2_fzRQ_h9RtAfvXgDhHH9v02f224m6u8B7s",{"id":1102,"extension":778,"meta":1103,"name":1104,"slug":1104,"stem":1105,"__hash__":1106},"tags\u002Ftags\u002Fjunior.yml",{},"junior","tags\u002Fjunior","ega8Cjq-Z5swNxexQG-ROW8hvi0eaDCJj-l4ILDW-4U",{"id":1108,"extension":778,"meta":1109,"name":1110,"slug":747,"stem":1111,"__hash__":1112},"tags\u002Ftags\u002Fkariera-w-it.yml",{},"kariera w IT","tags\u002Fkariera-w-it","tyqsMUw9eQaVgTnsZy9DZAHFQXZNe0sDZavdgJ0KTcA",{"id":1114,"extension":778,"meta":1115,"name":1116,"slug":1117,"stem":1118,"__hash__":1119},"tags\u002Ftags\u002Fkobiety-w-it.yml",{},"kobiety w IT","kobiety-w-it","tags\u002Fkobiety-w-it","Gm0D6QX7IUT1CDThH6LuhQtWOOWFop09QiDZwX_Tm7c",{"id":1121,"extension":778,"meta":1122,"name":1123,"slug":1123,"stem":1124,"__hash__":1125},"tags\u002Ftags\u002Fkonferencja.yml",{},"konferencja","tags\u002Fkonferencja","-n95F1XvVC7rR9O9sOxyxnKIJBm4i5o3Md_Q-Z72occ",{"id":1127,"extension":778,"meta":1128,"name":794,"slug":794,"stem":1129,"__hash__":1130},"tags\u002Ftags\u002Fkonferencje.yml",{},"tags\u002Fkonferencje","Qf_9S1xyR0mqWi1CzdU_iGIwcU8Z0ET_3JBEIOWhaxA",{"id":1132,"extension":778,"meta":1133,"name":801,"slug":801,"stem":1134,"__hash__":1135},"tags\u002Ftags\u002Fkonfiguracja.yml",{},"tags\u002Fkonfiguracja","r2NNwL_ZY7xvPy0pUN2IPK8U6qBXSfay_MZbt1FpC2I",{"id":1137,"extension":778,"meta":1138,"name":1139,"slug":1139,"stem":1140,"__hash__":1141},"tags\u002Ftags\u002Fkoronawirus.yml",{},"koronawirus","tags\u002Fkoronawirus","8DgCLCZ1uSF_kl0dmgiEVVM-KkZFxGpXJus3fmMH4sE",{"id":1143,"extension":778,"meta":1144,"name":1145,"slug":1146,"stem":1147,"__hash__":1148},"tags\u002Ftags\u002Fksiazki-programistyczne.yml",{},"książki programistyczne","ksiazki-programistyczne","tags\u002Fksiazki-programistyczne","DF1l0MrjODlaeQ0evw8JedIJJb3v4MpesV0Fi6HpViQ",{"id":1150,"extension":778,"meta":1151,"name":1152,"slug":1153,"stem":1154,"__hash__":1155},"tags\u002Ftags\u002Flenovo-m710q.yml",{},"lenovo m710q","lenovo-m710q","tags\u002Flenovo-m710q","H2DSlpm_FUSkpZXj5AZxrXjTzdGXcfWhIFXE8MAjoJw",{"id":1157,"extension":778,"meta":1158,"name":730,"slug":730,"stem":1159,"__hash__":1160},"tags\u002Ftags\u002Fmcp.yml",{},"tags\u002Fmcp","3PkWXTczUl4idUlqZVtwyAQ2kQ3-wsGGRK8B5IciLZI",{"id":1162,"extension":778,"meta":1163,"name":1164,"slug":1164,"stem":1165,"__hash__":1166},"tags\u002Ftags\u002Fmid.yml",{},"mid","tags\u002Fmid","61US_hzDYC5fw5yPUWya7ZNjc9fOddRUJyOJU3oVKaM",{"id":1168,"extension":778,"meta":1169,"name":1170,"slug":1171,"stem":1172,"__hash__":1173},"tags\u002Ftags\u002Fmini-pc.yml",{},"mini pc","mini-pc","tags\u002Fmini-pc","zCEZkcdMTwLbaNGmGiT8qGCtnECxEafkiJ-glDrozw0",{"id":1175,"extension":778,"meta":1176,"name":1177,"slug":1178,"stem":1179,"__hash__":1180},"tags\u002Ftags\u002Fnas.yml",{},"NAS","nas","tags\u002Fnas","RsN64SVV6BmbaR7e4pVVvGgbxQ0q8ihj5J4b_1oPH2k",{"id":1182,"extension":778,"meta":1183,"name":808,"slug":808,"stem":1184,"__hash__":1185},"tags\u002Ftags\u002Fnauka.yml",{},"tags\u002Fnauka","bMIyGRMcT5SRj0bxdrER6sibTNLAHr1enmElQI67jTo",{"id":1187,"extension":778,"meta":1188,"name":1189,"slug":1190,"stem":1191,"__hash__":1192},"tags\u002Ftags\u002Fnauka-programowania.yml",{},"nauka programowania","nauka-programowania","tags\u002Fnauka-programowania","M04c5RtH0Fu4ikOuW9fLy2-g2YBIAX0Yj9SHKEwOuUg",{"id":1194,"extension":778,"meta":1195,"name":1196,"slug":1197,"stem":1198,"__hash__":1199},"tags\u002Ftags\u002Fnvda.yml",{},"NVDA","nvda","tags\u002Fnvda","AS3XsW73sA9-MAI4JVv4y7luo2oGkpXrGptc51MKLQY",{"id":1201,"extension":778,"meta":1202,"name":1203,"slug":1204,"stem":1205,"__hash__":1206},"tags\u002Ftags\u002Fochrona-rodzicielska.yml",{},"ochrona rodzicielska","ochrona-rodzicielska","tags\u002Fochrona-rodzicielska","DZHsS1aBzb6OmeQFhCXy3Qu3QUMHsrbbN62bXmyBB0Q",{"id":1208,"extension":778,"meta":1209,"name":1210,"slug":1210,"stem":1211,"__hash__":1212},"tags\u002Ftags\u002Foptimization.yml",{},"optimization","tags\u002Foptimization","fJedkuv-GIoYXYs-z7AFgjvCxunavWHOWZDesN1EgFU",{"id":1214,"extension":778,"meta":1215,"name":1216,"slug":1217,"stem":1218,"__hash__":1219},"tags\u002Ftags\u002Forganizacja-pracy.yml",{},"organizacja pracy","organizacja-pracy","tags\u002Forganizacja-pracy","IJWHAuqRIlzOIgQbp6B0dYJLpApXOyvDii-k8n_CUCQ",{"id":1221,"extension":778,"meta":1222,"name":814,"slug":758,"stem":1223,"__hash__":1224},"tags\u002Ftags\u002Fosx.yml",{},"tags\u002Fosx","QymfouNjzTcNrsPkrZeaPTZdKpMsdYilpn7HRI1FxQQ",{"id":1226,"extension":778,"meta":1227,"name":1228,"slug":1229,"stem":1230,"__hash__":1231},"tags\u002Ftags\u002Fpanel-macro.yml",{},"panel macro","panel-macro","tags\u002Fpanel-macro","WrhWywY5PTfhm7n_TuxTZEWwebeWKfYiQf6n6nh19t4",{"id":1233,"extension":778,"meta":1234,"name":1235,"slug":1236,"stem":1237,"__hash__":1238},"tags\u002Ftags\u002Fpassword-manager.yml",{},"password manager","password-manager","tags\u002Fpassword-manager","viAfKlsGbzjczJJrb8pwaB4tInjCfLzynbSm-GRQz4Y",{"id":1240,"extension":778,"meta":1241,"name":1242,"slug":1242,"stem":1243,"__hash__":1244},"tags\u002Ftags\u002Fpdf.yml",{},"pdf","tags\u002Fpdf","UTB02hK82S5LzDB9kqZWrDRFb8SYzHfFRgCsqFwdBcE",{"id":1246,"extension":778,"meta":1247,"name":1248,"slug":1249,"stem":1250,"__hash__":1251},"tags\u002Ftags\u002Fphp.yml",{},"PHP","php","tags\u002Fphp","Id59psmnOEw6xZ04LGSXqaCSXElgAZVfZdIWk4TTMmU",{"id":1253,"extension":778,"meta":1254,"name":1255,"slug":1255,"stem":1256,"__hash__":1257},"tags\u002Ftags\u002Fpi-hole.yml",{},"pi-hole","tags\u002Fpi-hole","1YJ1tr1Tr23ItFg6rYXw6iKjvPJCdYb2MB_5W1FdZNw",{"id":1259,"extension":778,"meta":1260,"name":1261,"slug":1261,"stem":1262,"__hash__":1263},"tags\u002Ftags\u002Fpixel-mania.yml",{},"pixel-mania","tags\u002Fpixel-mania","N9WX_K8mFmAndjRdRzZX1PonLHyneP4XCJe9kQlGOpY",{"id":1265,"extension":778,"meta":1266,"name":1267,"slug":1268,"stem":1269,"__hash__":1270},"tags\u002Ftags\u002Fplaywright.yml",{},"PlayWright","playwright","tags\u002Fplaywright","fZAbd5k3k85yeGire7iJzvnRk00Wfww8OTu1h6rEuZM",{"id":1272,"extension":778,"meta":1273,"name":1274,"slug":1274,"stem":1275,"__hash__":1276},"tags\u002Ftags\u002Fpraca.yml",{},"praca","tags\u002Fpraca","ra3_bHnZqDrux1PiJ_pW6eqfX7l-uIFUPUhPqaq5cf4",{"id":1278,"extension":778,"meta":1279,"name":1280,"slug":1281,"stem":1282,"__hash__":1283},"tags\u002Ftags\u002Fpraca-zdalna.yml",{},"praca zdalna","praca-zdalna","tags\u002Fpraca-zdalna","HD5EOgzs-b3t5KIBRxlWQr0FuQVJ4N7eLQJV77YWcqc",{"id":1285,"extension":778,"meta":1286,"name":1287,"slug":1287,"stem":1288,"__hash__":1289},"tags\u002Ftags\u002Fprezentacja.yml",{},"prezentacja","tags\u002Fprezentacja","eiP5x-l400TtOy-gxO3TyOqYwcD4LP65jJ--7H-jyng",{"id":1291,"extension":778,"meta":1292,"name":1293,"slug":1293,"stem":1294,"__hash__":1295},"tags\u002Ftags\u002Fprivacy.yml",{},"privacy","tags\u002Fprivacy","Ln1AAZQ3fPOzuMJB0BWwUsjwaWTI7cFtzI6TaPrvKXc",{"id":1297,"extension":778,"meta":1298,"name":726,"slug":726,"stem":1299,"__hash__":1300},"tags\u002Ftags\u002Fprogramowanie.yml",{},"tags\u002Fprogramowanie","EUO8owu6V8cJivzRtVvD12KgW4ojOCp-N7aI4euHEa0",{"id":1302,"extension":778,"meta":1303,"name":1304,"slug":1304,"stem":1305,"__hash__":1306},"tags\u002Ftags\u002Fproxmox.yml",{},"proxmox","tags\u002Fproxmox","2AZfZmPZffxT3YuTVGHbsGvqKzpNRfot-OjFS6kkSYs",{"id":1308,"extension":778,"meta":1309,"name":1310,"slug":1311,"stem":1312,"__hash__":1313},"tags\u002Ftags\u002Fprywatny-dns.yml",{},"prywatny DNS","prywatny-dns","tags\u002Fprywatny-dns","kq-27-SNzP2YitFANg5iLgu0kdzyufoiOCLYApAehUc",{"id":1315,"extension":778,"meta":1316,"name":1317,"slug":1317,"stem":1318,"__hash__":1319},"tags\u002Ftags\u002Fprzekwalifikowanie.yml",{},"przekwalifikowanie","tags\u002Fprzekwalifikowanie","TqQNM6H8dfkRMTjNT8ZWyzynSMGeFjxseCt7-fZq0nA",{"id":1321,"extension":778,"meta":1322,"name":1323,"slug":1324,"stem":1325,"__hash__":1326},"tags\u002Ftags\u002Freact.yml",{},"React","react","tags\u002Freact","nXIcvF19iFz3UIXk2jbbJKRrr1_S9NLNYH3PUX_a2C4",{"id":1328,"extension":778,"meta":1329,"name":1330,"slug":1330,"stem":1331,"__hash__":1332},"tags\u002Ftags\u002Fredux.yml",{},"redux","tags\u002Fredux","CYtiFQKJae6MZE4Z_2qWwt7OGctPAutMzfD9f35a6-A",{"id":1334,"extension":778,"meta":1335,"name":1336,"slug":1336,"stem":1337,"__hash__":1338},"tags\u002Ftags\u002Fretro.yml",{},"retro","tags\u002Fretro","5AjMkMU44tDn8TV2FSTzbrvxoE7rplMmkLej7E-RIYM",{"id":1340,"extension":778,"meta":1341,"name":1342,"slug":1343,"stem":1344,"__hash__":1345},"tags\u002Ftags\u002Fretropi.yml",{},"RetroPi","retropi","tags\u002Fretropi","v_z0VjrAHiqYkzENB2DRMmo-V9VwE-8D2V_pRT-EBxw",{"id":1347,"extension":778,"meta":1348,"name":1349,"slug":1350,"stem":1351,"__hash__":1352},"tags\u002Ftags\u002Frozwoj.yml",{},"rozwój","rozwoj","tags\u002Frozwoj","RkL4It2FQnfcyHt1gNPjQ7cLqxrpgMy9ewFnPkF5sms",{"id":1354,"extension":778,"meta":1355,"name":1356,"slug":1357,"stem":1358,"__hash__":1359},"tags\u002Ftags\u002Frzemieslnik.yml",{},"rzemieślnik","rzemieslnik","tags\u002Frzemieslnik","fLVgsq47mga12X6gNKQ6QM5tpWdwICnLJwfSDwk1xEE",{"id":1361,"extension":778,"meta":1362,"name":749,"slug":749,"stem":1363,"__hash__":1364},"tags\u002Ftags\u002Fsaas.yml",{},"tags\u002Fsaas","IJK35nx0P9hIm-I-szhYuII4LVixyUi2zgQINNh0irc",{"id":1366,"extension":778,"meta":1367,"name":1368,"slug":1369,"stem":1370,"__hash__":1371},"tags\u002Ftags\u002Fsamodzielnosc.yml",{},"samodzielność","samodzielnosc","tags\u002Fsamodzielnosc","mu6DqJVN-dhRiXCnV4A5ewTRx_ndkWH_pu7Fdf7n6XI",{"id":1373,"extension":778,"meta":1374,"name":1375,"slug":1375,"stem":1376,"__hash__":1377},"tags\u002Ftags\u002Fselfhosting.yml",{},"selfhosting","tags\u002Fselfhosting","ScAMu2i5h-QpOOGEuIvBN9fQn0ZmfyYfvD-561cUzKs",{"id":1379,"extension":778,"meta":1380,"name":1381,"slug":1381,"stem":1382,"__hash__":1383},"tags\u002Ftags\u002Fsenior.yml",{},"senior","tags\u002Fsenior","DFUFihqxLSI2g34_DFYLVSXQnP79966itG8NnBs44TE",{"id":1385,"extension":778,"meta":1386,"name":1387,"slug":1388,"stem":1389,"__hash__":1390},"tags\u002Ftags\u002Fsieci-komputerowe.yml",{},"sieci komputerowe","sieci-komputerowe","tags\u002Fsieci-komputerowe","lziU51DXijHvzSYVgbK5r_aRCBS9KLdgU5FWjE3pD4s",{"id":1392,"extension":778,"meta":1393,"name":1394,"slug":771,"stem":1395,"__hash__":1396},"tags\u002Ftags\u002Fsmart-home.yml",{},"smart home","tags\u002Fsmart-home","wjGS16vdTWjBvPIfyZ7Jjv2rSAUfgKxYQTfVmfE_oNc",{"id":1398,"extension":778,"meta":1399,"name":1400,"slug":1401,"stem":1402,"__hash__":1403},"tags\u002Ftags\u002Fsmr.yml",{},"SMR","smr","tags\u002Fsmr","hd_86HRNRQ5vp9GFDgvFR3iXcRs57XNvESz05e-vh-o",{"id":1405,"extension":778,"meta":1406,"name":1407,"slug":1407,"stem":1408,"__hash__":1409},"tags\u002Ftags\u002Fspotkanie.yml",{},"spotkanie","tags\u002Fspotkanie","G-4xZsmDWDaZnA1t7fWrsGY0CvA2PWBRch_ISxgV3eY",{"id":1411,"extension":778,"meta":1412,"name":1413,"slug":1413,"stem":1414,"__hash__":1415},"tags\u002Ftags\u002Fstash.yml",{},"stash","tags\u002Fstash","x-cfxrcr_me1q-Ea4BqtRl041a1CjwZbFM76VlobkVE",{"id":1417,"extension":778,"meta":1418,"name":1419,"slug":1420,"stem":1421,"__hash__":1422},"tags\u002Ftags\u002Fstore-management.yml",{},"store management","store-management","tags\u002Fstore-management","BDlb8jliEvzP4ByR_nwh5YcPAphegyjsvxnwheppvwM",{"id":1424,"extension":778,"meta":1425,"name":1426,"slug":1427,"stem":1428,"__hash__":1429},"tags\u002Ftags\u002Fstream-deck.yml",{},"stream deck","stream-deck","tags\u002Fstream-deck","ETKaTcPMSGRXiF8fX9HaCChrkWvjK1Qhc8DCtKNRLFo",{"id":1431,"extension":778,"meta":1432,"name":1433,"slug":1434,"stem":1435,"__hash__":1436},"tags\u002Ftags\u002Fstudia-podyplomowe.yml",{},"studia podyplomowe","studia-podyplomowe","tags\u002Fstudia-podyplomowe","CllbIMrpHwk7nHpdgNS5EJlfoY37AYtu6D28xcL7B8Y",{"id":1438,"extension":778,"meta":1439,"name":1440,"slug":1440,"stem":1441,"__hash__":1442},"tags\u002Ftags\u002Fswitch.yml",{},"switch","tags\u002Fswitch","PqeuQm8ai89DcVFTdIBBYnrs6IVq0oystkF3JdV2cbQ",{"id":1444,"extension":778,"meta":1445,"name":1446,"slug":1447,"stem":1448,"__hash__":1449},"tags\u002Ftags\u002Fszafa-rack.yml",{},"szafa rack","szafa-rack","tags\u002Fszafa-rack","Tdq-0TqjtHfOvyhnHIwrDsPzQYMI6Rkb3iJBoqgudAc",{"id":1451,"extension":778,"meta":1452,"name":1453,"slug":1453,"stem":1454,"__hash__":1455},"tags\u002Ftags\u002Fszkolenia.yml",{},"szkolenia","tags\u002Fszkolenia","Ty9KLofCdboQngGvYkJOH1YZpBX-E3_Y1SLrdGucptY",{"id":1457,"extension":778,"meta":1458,"name":1459,"slug":1460,"stem":1461,"__hash__":1462},"tags\u002Ftags\u002Fszkolenie-front-end.yml",{},"szkolenie front-end","szkolenie-front-end","tags\u002Fszkolenie-front-end","yv2XwBbhwF8m1vceHXglBt_lax32HDj4iqYS8ymfIpM",{"id":1464,"extension":778,"meta":1465,"name":1466,"slug":1467,"stem":1468,"__hash__":1469},"tags\u002Ftags\u002Fszkolnictwo-zawodowe.yml",{},"szkolnictwo zawodowe","szkolnictwo-zawodowe","tags\u002Fszkolnictwo-zawodowe","wHy70cvPzW-iXNTesa8dnmsUN3GZ6RQ_08rvp2jcr-o",{"id":1471,"extension":778,"meta":1472,"name":1473,"slug":1473,"stem":1474,"__hash__":1475},"tags\u002Ftags\u002Ftech3camp.yml",{},"tech3camp","tags\u002Ftech3camp","2xN4prsqldeVcTsCibyLj-T84k_q27SekfsQ9H3ml6w",{"id":1477,"extension":778,"meta":1478,"name":1479,"slug":1479,"stem":1480,"__hash__":1481},"tags\u002Ftags\u002Ftestowanie.yml",{},"testowanie","tags\u002Ftestowanie","bQ7J7HLrZe6c9Me3bn_3VCbshav5tsqNTBIwd0xkRaQ",{"id":1483,"extension":778,"meta":1484,"name":1485,"slug":1485,"stem":1486,"__hash__":1487},"tags\u002Ftags\u002Ftesty.yml",{},"testy","tags\u002Ftesty","JDNtVkIDLY5e-th779qHOQFRrQ6Ywoq8us2HXlBz9PY",{"id":1489,"extension":778,"meta":1490,"name":1491,"slug":1492,"stem":1493,"__hash__":1494},"tags\u002Ftags\u002Ftruenas.yml",{},"TrueNas","truenas","tags\u002Ftruenas","jGviBDrcOLcc4LIDAMUINs_clt6cqQIbnmCsGjlBoEU",{"id":1496,"extension":778,"meta":1497,"name":772,"slug":772,"stem":1498,"__hash__":1499},"tags\u002Ftags\u002Ftuya.yml",{},"tags\u002Ftuya","MwpPoYlxeAiebaRVNdxytmFq9k0BpiTEbiEvwh4pfq4",{"id":1501,"extension":778,"meta":1502,"name":1503,"slug":1503,"stem":1504,"__hash__":1505},"tags\u002Ftags\u002Fublock.yml",{},"ublock","tags\u002Fublock","EPnKEvKkfWB2hbpkolTIytNQ9c12jSrnctf8CWEVbUM",{"id":1507,"extension":778,"meta":1508,"name":1509,"slug":1510,"stem":1511,"__hash__":1512},"tags\u002Ftags\u002Fvirtual-host.yml",{},"virtual host","virtual-host","tags\u002Fvirtual-host","Ru2r4wU7txKcWDbL3hq2QGx7v8gKwTJE25BItrzjqCQ",{"id":1514,"extension":778,"meta":1515,"name":1516,"slug":1517,"stem":1518,"__hash__":1519},"tags\u002Ftags\u002Fvoiceover.yml",{},"VoiceOver","voiceover","tags\u002Fvoiceover","7_jZqkfOk163vezQCATCpkIhdxmxfXe5dsLjgORGRWc",{"id":1521,"extension":778,"meta":1522,"name":1523,"slug":1524,"stem":1525,"__hash__":1526},"tags\u002Ftags\u002Fvue.yml",{},"Vue","vue","tags\u002Fvue","9ztytvQnoFLSGIXCwVz0HDl1yEBgdxBtwfIb4xxED8w",{"id":1528,"extension":778,"meta":1529,"name":1530,"slug":760,"stem":1531,"__hash__":1532},"tags\u002Ftags\u002Fvue-js.yml",{},"vue.js","tags\u002Fvue-js","ZEglZJ4b32MxGRUCWg3ij0_Sz-YkJDI60yOFUG3Dip8",{"id":1534,"extension":778,"meta":1535,"name":1536,"slug":1536,"stem":1537,"__hash__":1538},"tags\u002Ftags\u002Fvuejs.yml",{},"vuejs","tags\u002Fvuejs","Qz3030ujqXE_33tL5hbF8n1MGIh1jpRtdzXVrQT79jA",{"id":1540,"extension":778,"meta":1541,"name":1542,"slug":1542,"stem":1543,"__hash__":1544},"tags\u002Ftags\u002Fvuenews.yml",{},"vuenews","tags\u002Fvuenews","5I7T-cG9aZzeR62I-tWYDruQvjkSbRxtAeDI9otWrR8",{"id":1546,"extension":778,"meta":1547,"name":1548,"slug":1548,"stem":1549,"__hash__":1550},"tags\u002Ftags\u002Fvuetoolbox.yml",{},"vuetoolbox","tags\u002Fvuetoolbox","y5NXiZfQviI16DIkNjTxSwnLQIyrXs7OBZjVY1IyNmk",{"id":1552,"extension":778,"meta":1553,"name":1554,"slug":1554,"stem":1555,"__hash__":1556},"tags\u002Ftags\u002Fvuex.yml",{},"vuex","tags\u002Fvuex","ksF82HLoN49mJn2cJ0DhYz_Dt6mlrJDT82Ufu6QKmKQ",{"id":1558,"extension":778,"meta":1559,"name":1560,"slug":1561,"stem":1562,"__hash__":1563},"tags\u002Ftags\u002Fweb-development.yml",{},"web development","web-development","tags\u002Fweb-development","144N0DLmtEIX98zdSuOWIsCZYMHyxStp8_ZksWK2M7E",{"id":1565,"extension":778,"meta":1566,"name":1567,"slug":1568,"stem":1569,"__hash__":1570},"tags\u002Ftags\u002Fwladyslawowo.yml",{},"Władysławowo","wladyslawowo","tags\u002Fwladyslawowo","LgrtfAzosbyNoEeZ6_GWMrueP29fN7fPL3N5Kp5Wm4w",{"id":1572,"extension":778,"meta":1573,"name":1574,"slug":1575,"stem":1576,"__hash__":1577},"tags\u002Ftags\u002Fwork-life-balance.yml",{},"work-life balance","work-life-balance","tags\u002Fwork-life-balance","hXw9EMtMUVm71LSUBz1o6Ttz7xlyrsnMo-VOEfMJwr0",{"id":1579,"extension":778,"meta":1580,"name":1581,"slug":1582,"stem":1583,"__hash__":1584},"tags\u002Ftags\u002Fxbox.yml",{},"XBOX","xbox","tags\u002Fxbox","tDsqBFEx88ZSQxV8Q78dFlkSdjNdQOwFU4jn0D2wcYQ",{"id":1586,"avatar":1587,"bio":1588,"extension":778,"intro":1589,"links":1590,"meta":1595,"name":1596,"slug":6,"stem":1597,"__hash__":1598},"authors\u002Fauthors\u002Fmaciej-walczak.yml","\u002Fmaciej.png","Senior Front-End Developer, właściciel MacWebcoder.","Cześć! Nazywam się Maciej i programuję zawodowo od ponad 20 lat – zaczynałem od PHP, a od wielu lat specjalizuję się we frontendzie. Prowadzę własną działalność MacWebcoder i na co dzień współpracuję z Grupą Autopay jako Senior Front-End Developer. Przez kilka lat uczyłem też programowania – na kursach dla początkujących i na studiach podyplomowych. Na blogu piszę o frontendzie, moim homelabie i o tym, co myślę o pracy programisty.",[1591],{"label":1592,"url":1593,"icon":1594},"YouTube","https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCMG_PvHPcSe0TCmnIXvzB1Q","i-lucide-youtube",{},"Maciej Walczak","authors\u002Fmaciej-walczak","H6ocdci2dcMuReMxMUAmRigqeWsj129ukqYgxQoEthU",1791633946266]