Pozycjonowanie wizualne w Google Lens i Google Images.

·

Pozycjonowanie wizualne w Google Lens i Google Images.

Czy wiesz, że coraz więcej użytkowników zamiast wpisywać zapytania w pasek wyszukiwarki, po prostu… robi zdjęcie? To rewolucja, która dzieje się na naszych oczach, a jej epicentrum stanowią Google Lens i dynamicznie rozwijająca się wyszukiwarka Google Grafika. Ignorowanie tego trendu to jak prowadzenie sklepu z zamkniętymi drzwiami w godzinach szczytu. Pozycjonowanie wizualne nie jest już futurystyczną ciekawostką, a realnym, mierzalnym kanałem pozyskiwania ruchu i klientów.

Wyszukiwanie wizualne zmienia fundamentalne zasady gry w SEO. Użytkownicy nie szukają już tylko „czerwonej sukienki w kwiaty”, ale skanują obiektywem zdjęcie sukienki zobaczonej na ulicy, w magazynie czy u influencerki. Google, wykorzystując zaawansowaną sztuczną inteligencję, potrafi nie tylko zidentyfikować ten produkt, ale także wskazać sklepy, w których można go kupić, znaleźć podobne modele i dostarczyć wszelkich powiązanych informacji. W tym artykule przeprowadzimy Cię krok po kroku przez meandry optymalizacji pod wyszukiwarki wizualne, pokazując, jak przekuć obrazy w Twoim serwisie w potężne narzędzie generujące wartościowy ruch.

Spis treści (6)

Czym jest pozycjonowanie wizualne i dlaczego jest tak istotne?

Tradycyjne SEO koncentruje się na słowach kluczowych. Pozycjonowanie wizualne to jego naturalna ewolucja, w której zapytaniem staje się sam obraz. To strategia optymalizacji grafik, zdjęć i innych materiałów wizualnych w taki sposób, aby były one nie tylko widoczne, ale i poprawnie interpretowane przez algorytmy wyszukiwarek takich jak Google Images i Google Lens. Celem jest dotarcie do użytkownika, który poszukuje informacji, inspiracji lub produktów, używając obrazu jako punktu wyjścia.

Różnica jest subtelna, ale zasadnicza:

  • Wyszukiwanie w Google Grafika (tradycyjne): Użytkownik wpisuje tekst, np. „nowoczesna lampa podłogowa”, i otrzymuje siatkę obrazów pasujących do tego opisu.
  • Wyszukiwanie wizualne (Google Lens): Użytkownik robi zdjęcie lampy w domu znajomego, a Google identyfikuje jej model, markę i pokazuje, gdzie można ją kupić online.

Wzrost znaczenia tej formy wyszukiwania napędzany jest przez wszechobecność smartfonów z wysokiej jakości aparatami oraz rozwój technologii rozpoznawania obrazu. Użytkownicy oczekują natychmiastowych, precyzyjnych odpowiedzi, a obraz często jest w stanie przekazać więcej niż tysiąc słów (i zapytań tekstowych). Dla firm, zwłaszcza z branży e-commerce, mody, wystroju wnętrz, turystyki czy gastronomii, jest to ogromna szansa na dotarcie do klienta w momencie, gdy jego intencja zakupowa jest najwyższa.

Google Lens i Google Images – dwaj giganci wyszukiwania obrazem

Aby skutecznie prowadzić działania z zakresu SEO obrazów, musimy zrozumieć, jak działają i czym różnią się dwa kluczowe narzędzia od Google.

Google Images, czyli klasyka w nowym wydaniu

Google Grafika to coś znacznie więcej niż tylko galeria zdjęć. Dzisiejsze wyniki wyszukiwania obrazem są interaktywne i bogate w kontekst. Po kliknięciu w obrazek użytkownik widzi nie tylko jego większą wersję, ale także tytuł strony, na której się znajduje, powiązane produkty (często z ceną i dostępnością) oraz podobne grafiki. To potężne narzędzie do generowania ruchu, zwłaszcza jeśli sprzedajesz produkty, które klienci „kupują oczami”.

Nowoczesne pozycjonowanie w Google Grafika wymaga dostarczenia Google jak najwięcej kontekstowych informacji o obrazie, aby mógł on zostać wyświetlony w odpowiednich kategoriach, np. jako produkt do kupienia. To właśnie tutaj kluczową rolę odgrywają dane strukturalne, o których opowiemy w dalszej części.

Google Lens, czyli wyszukiwarka w twoim aparacie

Google Lens to prawdziwa rewolucja. Aplikacja ta, zintegrowana z aparatem w telefonach z Androidem, wyszukiwarką Google i przeglądarką Chrome, pozwala na interakcję ze światem rzeczywistym. Wystarczy skierować obiektyw na:

  • Produkt: Lens znajdzie go w sklepach internetowych lub pokaże podobne.
  • Ubranie: Zidentyfikuje markę i zaproponuje, jak skompletować stylizację.
  • Zabytek lub budynek: Pokaże jego historię i ciekawostki.
  • Zwierzę lub roślinę: Pomoże zidentyfikować gatunek.
  • Tekst: Przetłumaczy go w czasie rzeczywistym, pozwoli skopiować lub wyszukać zaznaczone frazy.

Z perspektywy SEO, optymalizacja pod Google Lens oznacza, że Twoje zdjęcia produktów, lokalizacji czy potraw muszą być na tyle wyraźne, unikalne i dobrze opisane (zarówno dla użytkownika, jak i dla robotów), aby algorytm mógł bezbłędnie połączyć obraz ze świata rzeczywistego z Twoją ofertą w internecie.

Optymalizacja zdjęć – fundament SEO obrazów

Zanim przejdziemy do zaawansowanych technik, musimy zadbać o solidne podstawy. Poniższe elementy to absolutny fundament, bez którego nawet najlepsze strategie nie przyniosą oczekiwanych rezultatów. To tutaj zaczyna się skuteczne SEO obrazów.

Nazwa pliku i atrybut alt

Algorytmy Google, choć coraz inteligentniejsze, wciąż w dużej mierze polegają na informacjach tekstowych, aby zrozumieć, co przedstawia obraz. Dlatego tak ważne są dwa elementy:

  1. Opisowa nazwa pliku: Zamiast `IMG_8432.jpg` lub `zdjecie1.png`, nazwij plik w sposób, który opisuje jego zawartość. Używaj małych liter, a słowa oddzielaj myślnikami.
    • Źle: `DSC00123.jpg`
    • Dobrze: `damskie-skorzane-botki-na-obcasie-brazowe.jpg`
  2. Atrybut `alt` (tekst alternatywny): To krótki opis zawartości obrazka, który wyświetla się, gdy grafika nie może zostać załadowana. Jego głównym celem jest dostępność (dla osób niewidomych korzystających z czytników ekranu), ale dla SEO jest to jeden z najważniejszych sygnałów kontekstowych.
    • Źle: `alt=”botki”`
    • Dobrze: `alt=”Brązowe damskie botki ze skóry licowej na słupkowym obcasie”`

Pamiętaj, aby tekst alternatywny był naturalny i precyzyjnie opisywał to, co znajduje się na zdjęciu, jednocześnie zawierając docelowe słowo kluczowe, jeśli pasuje to do kontekstu.

Kontekst i otoczenie obrazu

Google nie analizuje obrazów w próżni. Ocenia je w kontekście całej podstrony, na której się znajdują. Obraz przedstawiający wspomniane botki zyska na wartości w oczach wyszukiwarki, jeśli zostanie umieszczony na stronie, której:

  • Tytuł (``) i nagłówek H1 to np. „Damskie Botki Skórzane”.</li> <li>Nagłówki H2 i H3 w treści dotyczą materiałów, stylów czy pielęgnacji obuwia.</li> <li>Otaczający go tekst szczegółowo opisuje produkt, jego cechy i zalety.</li> <li>Podpis pod obrazkiem (`<br /> <caption>`) dodatkowo go precyzuje.</li> </ul> <blockquote> <p><em>„Treść i obraz muszą tworzyć spójną narrację. Google chce mieć pewność, że grafika jest integralną częścią strony, a nie tylko ozdobnikiem. Jeśli piszesz artykuł o pielęgnacji zamszu, a zdjęcie przedstawia narzędzia do jego czyszczenia, algorytm połączy te kropki. To właśnie ta synergia treści i wizualizacji buduje autorytet tematyczny i wzmacnia sygnały rankingowe.”</em></p> <p><strong>– Justyna Zienkiewicz, ekspert od contentu</strong></p> </blockquote> <h3 id="jakosc-i-unikalnosc-obrazow">Jakość i unikalność obrazów</h3> <p>W dobie wyszukiwania wizualnego, jakość obrazu ma pierwszorzędne znaczenie. Zdjęcia powinny być:</p> <ul> <li><strong>Wysokiej rozdzielczości:</strong> Ostre, wyraźne, pozwalające na przyjrzenie się detalom produktu.</li> <li><strong>Unikalne:</strong> Unikaj zdjęć stockowych, zwłaszcza w przypadku kluczowych produktów czy usług. Google premiuje oryginalne treści, a dotyczy to również grafik. Inwestycja w profesjonalną sesję zdjęciową zwraca się wielokrotnie, także w kontekście SEO.</li> <li><strong>Dobrze skomponowane:</strong> Produkt powinien być głównym bohaterem zdjęcia, dobrze oświetlony i przedstawiony na neutralnym tle (w przypadku zdjęć produktowych) lub w atrakcyjnym kontekście (w przypadku zdjęć aranżacyjnych).</li> </ul> <h3 id="kompresja-i-formaty-plikow">Kompresja i formaty plików</h3> <p>Wysoka jakość nie może iść w parze z ogromnym rozmiarem pliku. Szybkość ładowania strony (<a class="cg-link-slownik" href="https://cluegroup.pl/slownik/core-web-vitals/">Core Web Vitals</a>) jest jednym z kluczowych czynników rankingowych. Ciężkie, niezoptymalizowane zdjęcia to najczęstszy powód wolnego działania witryn.</p> <ul> <li><strong>Kompresja:</strong> Używaj narzędzi do kompresji obrazów (np. TinyPNG, Squoosh, wtyczki do WordPressa takie jak Smush czy Imagify), aby zmniejszyć ich wagę bez widocznej utraty jakości.</li> <li><strong>Formaty nowej generacji:</strong> Zamiast tradycyjnych formatów .jpg i .png, rozważ użycie formatu <strong>WebP</strong>. Oferuje on znacznie lepszy stopień kompresji przy zachowaniu tej samej lub lepszej jakości wizualnej i jest wspierany przez wszystkie nowoczesne przeglądarki.</li> </ul> <h3 id="responsywnosc-i-leniwe-ladowanie-lazy-loading">Responsywność i leniwe ładowanie (lazy loading)</h3> <p>Większość wyszukiwań wizualnych odbywa się na urządzeniach mobilnych. Twoje obrazy muszą się poprawnie wyświetlać na każdym ekranie. Upewnij się, że Twoja strona używa responsywnych obrazów (np. za pomocą atrybutu `srcset`), które dostosowują swój rozmiar do rozdzielczości urządzenia.</p> <p>Warto również wdrożyć <em>lazy loading</em> (leniwe ładowanie). To technika, dzięki której obrazy znajdujące się poza widocznym obszarem ekranu (poniżej tzw. „linii zgięcia”) ładują się dopiero wtedy, gdy użytkownik przewinie do nich stronę. Znacząco przyspiesza to początkowe ładowanie witryny i poprawia wskaźniki Core Web Vitals.</p> <h2 id="dane-strukturalne-jak-rozmawiac-z-robotami-google-w-ich-jezyku">Dane strukturalne – jak rozmawiać z robotami Google w ich języku</h2> <p>Dane strukturalne (Schema.org) to specjalny kod, który dodajesz do swojej strony, aby pomóc wyszukiwarkom lepiej zrozumieć jej zawartość. To jak etykietowanie informacji, dzięki czemu robot Google nie musi niczego „domyślać się” z kontekstu, ale otrzymuje precyzyjne dane. W kontekście <strong>pozycjonowania w Google Grafika</strong> i <strong>Google Lens</strong>, jest to absolutnie niezbędne.</p> <blockquote> <p><em>„Implementacja danych strukturalnych to techniczny fundament, na którym opiera się nowoczesne SEO obrazów. To dzięki nim Google wie, że dany obrazek przedstawia produkt, a nie losową grafikę, i może wyświetlić jego cenę, dostępność i opinie bezpośrednio w wynikach wyszukiwania grafiki. Bez Schema.org tracimy szansę na wyróżnienie się i dotarcie do klienta z intencją zakupową.”</em></p> <p><strong>– Magdalena Bród, ekspert od technicznego SEO</strong></p> </blockquote> <h3 id="najwazniejsze-typy-danych-strukturalnych-dla-obrazow">Najważniejsze typy danych strukturalnych dla obrazów</h3> <p>Dla optymalizacji wizualnej najważniejsze są następujące typy schematów:</p> <ul> <li><strong>`Product` (Produkt):</strong> Najważniejszy dla e-commerce. Pozwala oznaczyć nazwę produktu, markę, opis, a co najważniejsze – jego zdjęcie (`image`), cenę (`price`), walutę (`priceCurrency`) i dostępność (`availability`). Dzięki temu Twoje produkty mogą pojawić się w Google Grafika z charakterystyczną etykietą „Produkt”, co znacząco zwiększa ich klikalność.</li> <li><strong>`Recipe` (Przepis):</strong> Jeśli prowadzisz bloga kulinarnego, ten schemat pozwala oznaczyć czas przygotowania, składniki, instrukcje i oczywiście apetyczne zdjęcie potrawy (`image`).</li> <li><strong>`VideoObject` (Wideo):</strong> Umożliwia oznaczenie miniatury wideo (`thumbnailUrl`), czasu trwania czy daty publikacji.</li> <li><strong>`Article` (Artykuł):</strong> Pomaga wskazać, które zdjęcie jest głównym obrazem wyróżniającym dla danego artykułu.</li> </ul> <p>Prawidłowo wdrożone dane strukturalne to potężny sygnał dla Google, który przekłada się na lepszą widoczność i tzw. <em>rich results</em> (wyniki rozszerzone) zarówno w standardowych wynikach wyszukiwania, jak i w wyszukiwarce grafiki.</p> <h2 id="trendy-w-wyszukiwaniu-wizualnym-co-przyniesie-przyszlosc">Trendy w wyszukiwaniu wizualnym – co przyniesie przyszłość?</h2> <p>Pozycjonowanie wizualne to jedna z najszybciej rozwijających się gałęzi SEO. Warto obserwować nadchodzące trendy, aby być o krok przed konkurencją.</p> <h3 id="zakupy-przez-obiektyw-shoppable-content">Zakupy przez obiektyw (Shoppable content)</h3> <p>To już się dzieje. Użytkownicy coraz częściej używają <strong>Google Lens</strong> i podobnych narzędzi (np. Pinterest Lens) do natychmiastowego znajdowania i kupowania produktów, które widzą w świecie offline. Oznacza to, że każde zdjęcie Twojego produktu w internecie – na stronie, blogu, w mediach społecznościowych – staje się potencjalnym wejściem do Twojego sklepu. Kluczowe staje się posiadanie wysokiej jakości, unikalnych zdjęć produktowych i poprawnie wdrożonych danych strukturalnych.</p> <h3 id="wyszukiwanie-multisensoryczne-i-google-multisearch">Wyszukiwanie multisensoryczne i Google Multisearch</h3> <p>Google wprowadziło funkcję Multisearch, która pozwala łączyć zapytanie wizualne z tekstowym. Użytkownik może zrobić zdjęcie np. niebieskiej koszuli i dopisać „w zielonym kolorze”. Google, rozumiejąc fason i styl ze zdjęcia, poszuka podobnych koszul, ale w kolorze wskazanym w zapytaniu tekstowym. To kolejny krok w kierunku bardziej intuicyjnego i naturalnego sposobu wyszukiwania, który wymaga od nas jeszcze dokładniejszego opisywania produktów (atrybuty, kolory, materiały).</p> <h3 id="rozszerzona-rzeczywistosc-ar-w-serp">Rozszerzona rzeczywistość (AR) w SERP</h3> <p>Google coraz chętniej eksperymentuje z AR bezpośrednio w wynikach wyszukiwania. Umożliwia to np. „umieszczenie” wirtualnego modelu sofy w naszym salonie za pomocą aparatu w telefonie, aby sprawdzić, czy pasuje do wnętrza. Dla firm z branży meblarskiej, motoryzacyjnej czy nawet modowej, tworzenie modeli 3D swoich produktów i oznaczanie ich odpowiednimi danymi strukturalnymi stanie się wkrótce standardem.</p> <h2 id="podsumowanie-jak-zaczac-pozycjonowanie-wizualne">Podsumowanie – jak zacząć pozycjonowanie wizualne?</h2> <p>Pozycjonowanie wizualne w Google Lens i Google Images to złożony proces, ale jego efekty mogą znacząco wpłynąć na widoczność Twojej marki w sieci. Jeśli chcesz skutecznie zawalczyć o klienta w erze wyszukiwania obrazem, zacznij od wdrożenia poniższych kroków:</p> <ul> <li><strong>Przeprowadź audyt obrazów:</strong> Sprawdź, czy Twoje zdjęcia są wysokiej jakości, unikalne i zoptymalizowane pod kątem rozmiaru.</li> <li><strong>Zadbaj o podstawy SEO obrazów:</strong> Upewnij się, że wszystkie grafiki mają opisowe nazwy plików i szczegółowe atrybuty `alt`.</li> <li><strong>Analizuj kontekst:</strong> Umieszczaj obrazy w otoczeniu relevantnego tekstu, nagłówków i podpisów.</li> <li><strong>Wdróż dane strukturalne:</strong> Oznacz swoje produkty, przepisy czy artykuły za pomocą odpowiednich schematów Schema.org. To krok, który da Ci przewagę nad konkurencją.</li> <li><strong>Myśl mobilnie:</strong> Upewnij się, że Twoje grafiki są responsywne i szybko się ładują dzięki technikom takim jak lazy loading i formatom nowej generacji (WebP).</li> <li><strong>Monitoruj wyniki:</strong> Sprawdzaj raporty skuteczności w <a class="cg-link-slownik" href="https://cluegroup.pl/slownik/google-search-console/">Google Search Console</a>, filtrując wyniki według typu wyszukiwania „Grafika”, aby analizować, które obrazy generują najwięcej kliknięć i wyświetleń.</li> </ul> <p>Era dominacji tekstu w wyszukiwarkach powoli dobiega końca. Przyszłość należy do obrazu, wideo i interaktywnych doświadczeń. Inwestycja w profesjonalne <strong>SEO obrazów</strong> to nie tylko sposób na zdobycie wyższych pozycji w Google Grafika, ale strategiczne przygotowanie Twojego biznesu na nową rzeczywistość, w której aparat smartfona jest oknem do świata informacji i zakupów.</p> <aside class="cg-author-box cg-author-box--prosty"><div class="cg-author-text"><p class="cg-author-kicker">Opracowanie</p><p class="cg-author-name">Redakcja</p><p class="cg-author-role">Tekst powstał dla agencji SEO Cluegroup z Wrocławia.</p></div></aside> <aside class="cg-podobne" aria-labelledby="cg-podobne-tytul"> <h2 class="cg-podobne__tytul" id="cg-podobne-tytul">Podobne artykuły</h2> <div class="cg-podobne__siatka"> <a class="cg-podobne__kafel" href="https://cluegroup.pl/e-commerce/inna-cena-w-google-niz-w-sklepie-sprawdz-skad-ten-balagan/"> <img class="cg-podobne__foto" src="https://cluegroup.pl/wp-content/uploads/2026/10/okladka-inna-cena-w-google-niz-w-sklepie-sprawdz-skad-ten-balagan-768x512.png" alt="" loading="lazy" decoding="async" width="600" height="400" /> <span class="cg-podobne__kicker">E-commerce</span> <span class="cg-podobne__nazwa">Inna cena w Google niż w sklepie? Sprawdź, skąd ten bałagan</span> </a> <a class="cg-podobne__kafel" href="https://cluegroup.pl/e-commerce/sprzedaz-subskrypcyjna-modele-abonamentowe-a-seo/"> <img class="cg-podobne__foto" src="https://cluegroup.pl/wp-content/uploads/2026/10/okladka-sprzedaz-subskrypcyjna-modele-abonamentowe-a-seo-1-768x512.png" alt="" loading="lazy" decoding="async" width="600" height="400" /> <span class="cg-podobne__kicker">E-commerce</span> <span class="cg-podobne__nazwa">Sprzedaż subskrypcyjna (modele abonamentowe) a SEO</span> </a> <a class="cg-podobne__kafel" href="https://cluegroup.pl/e-commerce/jak-wykorzystac-recenzje-wideo-od-klientow-na-stronach-produktowych/"> <img class="cg-podobne__foto" src="https://cluegroup.pl/wp-content/uploads/2026/09/okladka-jak-wykorzystac-recenzje-wideo-od-klientow-na-stronach-produkt-1-768x512.png" alt="" loading="lazy" decoding="async" width="600" height="400" /> <span class="cg-podobne__kicker">E-commerce</span> <span class="cg-podobne__nazwa">Jak wykorzystać recenzje wideo od klientów na stronach produktowych?</span> </a> </div> </aside> <aside class="cg-toc" aria-label="Spis treści"><p class="cg-toc__tytul">Spis treści</p><nav><ol class="cg-toc__lista"><li><a href="#czym-jest-pozycjonowanie-wizualne-i-dlaczego-jest-tak-istotne">Czym jest pozycjonowanie wizualne i dlaczego jest tak istotne?</a></li><li><a href="#google-lens-i-google-images-dwaj-giganci-wyszukiwania-obrazem">Google Lens i Google Images – dwaj giganci wyszukiwania obrazem</a><ol><li class="cg-toc__pod"><a href="#google-images-czyli-klasyka-w-nowym-wydaniu">Google Images, czyli klasyka w nowym wydaniu</a></li><li class="cg-toc__pod"><a href="#google-lens-czyli-wyszukiwarka-w-twoim-aparacie">Google Lens, czyli wyszukiwarka w twoim aparacie</a></li></ol></li><li><a href="#optymalizacja-zdjec-fundament-seo-obrazow">Optymalizacja zdjęć – fundament SEO obrazów</a><ol><li class="cg-toc__pod"><a href="#nazwa-pliku-i-atrybut-alt">Nazwa pliku i atrybut alt</a></li><li class="cg-toc__pod"><a href="#kontekst-i-otoczenie-obrazu">Kontekst i otoczenie obrazu</a></li><li class="cg-toc__pod"><a href="#jakosc-i-unikalnosc-obrazow">Jakość i unikalność obrazów</a></li><li class="cg-toc__pod"><a href="#kompresja-i-formaty-plikow">Kompresja i formaty plików</a></li><li class="cg-toc__pod"><a href="#responsywnosc-i-leniwe-ladowanie-lazy-loading">Responsywność i leniwe ładowanie (lazy loading)</a></li></ol></li><li><a href="#dane-strukturalne-jak-rozmawiac-z-robotami-google-w-ich-jezyku">Dane strukturalne – jak rozmawiać z robotami Google w ich języku</a><ol><li class="cg-toc__pod"><a href="#najwazniejsze-typy-danych-strukturalnych-dla-obrazow">Najważniejsze typy danych strukturalnych dla obrazów</a></li></ol></li><li><a href="#trendy-w-wyszukiwaniu-wizualnym-co-przyniesie-przyszlosc">Trendy w wyszukiwaniu wizualnym – co przyniesie przyszłość?</a><ol><li class="cg-toc__pod"><a href="#zakupy-przez-obiektyw-shoppable-content">Zakupy przez obiektyw (Shoppable content)</a></li><li class="cg-toc__pod"><a href="#wyszukiwanie-multisensoryczne-i-google-multisearch">Wyszukiwanie multisensoryczne i Google Multisearch</a></li><li class="cg-toc__pod"><a href="#rozszerzona-rzeczywistosc-ar-w-serp">Rozszerzona rzeczywistość (AR) w SERP</a></li></ol></li><li><a href="#podsumowanie-jak-zaczac-pozycjonowanie-wizualne">Podsumowanie – jak zacząć pozycjonowanie wizualne?</a></li></ol></nav></aside></div> <div class="wp-block-group is-content-justification-space-between is-layout-flex wp-container-core-group-is-layout-0843c26a wp-block-group-is-layout-flex" style="border-top-color:var(--wp--preset--color--gray-200);border-top-style:solid;border-top-width:1px;border-bottom-color:var(--wp--preset--color--gray-200);border-bottom-style:solid;border-bottom-width:1px;margin-top:var(--wp--preset--spacing--50)"> <div class="post-navigation-link-previous wp-block-post-navigation-link"><a href="https://cluegroup.pl/e-commerce/blog-w-sklepie-internetowym-czy-warto-i-jak-go-prowadzic/" rel="prev">← Poprzedni wpis</a></div> <div class="post-navigation-link-next wp-block-post-navigation-link"><a href="https://cluegroup.pl/e-commerce/marketplace-allegro-amazon-a-wlasny-sklep-jak-pogodzic-te-dwa-kanaly-w-seo/" rel="next">Następny wpis →</a></div> </div> <div class="wp-block-comments" style="margin-top:var(--wp--preset--spacing--50)"> <div id="respond" class="comment-respond wp-block-post-comments-form"> <h3 id="reply-title" class="comment-reply-title">Dodaj komentarz <small><a rel="nofollow" id="cancel-comment-reply-link" href="/e-commerce/pozycjonowanie-wizualne-w-google-lens-i-google-images/#respond" style="display:none;">Anuluj pisanie odpowiedzi</a></small></h3><form action="https://cluegroup.pl/wp-comments-post.php" method="post" id="commentform" class="comment-form"><div class="cg-kom-pulapka" aria-hidden="true"><label for="cg_adres_www">Tego pola nie wypełniaj</label><input type="text" name="cg_adres_www" id="cg_adres_www" value="" autocomplete="off" tabindex="-1"></div><input type="hidden" name="cg_czas" value=""><script>(function(){var w=Date.now();function p(){var l=document.getElementsByName("cg_czas");for(var i=0;i<l.length;i++){(function(c){var f=c.form;if(!f||f.getAttribute("data-cg-czas")){return;}f.setAttribute("data-cg-czas","1");f.addEventListener("submit",function(){c.value=String(Date.now()-w);});})(l[i]);}}if("loading"===document.readyState){document.addEventListener("DOMContentLoaded",p);}else{p();}})();</script><p class="comment-notes"><span id="email-notes">Twój adres email nie zostanie opublikowany.</span> <span class="required-field-message">Wymagane pola są oznaczone <span class="required">*</span></span></p><p class="comment-form-comment"><label for="comment">Komentarz <span class="required">*</span></label> <textarea autocomplete="new-password" id="ec2bd475a6" name="ec2bd475a6" cols="45" rows="8" maxlength="65525" required></textarea><textarea id="comment" aria-label="hp-comment" aria-hidden="true" name="comment" autocomplete="new-password" style="padding:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;position:absolute !important;white-space:nowrap !important;height:1px !important;width:1px !important;overflow:hidden !important;" tabindex="-1"></textarea><script data-noptimize>document.getElementById("comment").setAttribute( "id", "a4e0617c03ede294e0f9f294b37e2a12" );document.getElementById("ec2bd475a6").setAttribute( "id", "comment" );</script></p><p class="comment-form-author"><label for="author">Nazwa <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required /></p> <p class="comment-form-email"><label for="email">Adres email <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required /></p> <p class="comment-form-url"><label for="url">Witryna internetowa</label> <input id="url" name="url" type="url" value="" size="30" maxlength="200" autocomplete="url" /></p> <p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">Zapamiętaj moje dane w tej przeglądarce podczas pisania kolejnych komentarzy.</label></p> <p class="form-submit wp-block-button"><input name="submit" type="submit" id="submit" class="wp-block-button__link wp-element-button" value="Dodaj komentarz" /> <input type='hidden' name='comment_post_ID' value='229650' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p></form> </div><!-- #respond --> </div> </main> <footer class="wp-block-template-part"><section class="cg-pasek-kontaktu" aria-labelledby="cg-pasek-kontaktu-tytul"> <div class="cg-pasek-kontaktu__wnetrze"> <div class="cg-pasek-kontaktu__tekst"> <p class="cg-kicker">Twój kolejny krok</p> <h2 class="cg-pasek-kontaktu__tytul" id="cg-pasek-kontaktu-tytul">Porozmawiajmy<br /><strong>o Twojej widoczności.</strong></h2> <p class="cg-pasek-kontaktu__opis">Zostaw adres strony albo zadzwoń. Odpowiadamy osobiście, zwykle tego samego dnia roboczego.</p> </p></div> <div class="cg-pasek-kontaktu__akcje"> <a class="cg-pasek-kontaktu__tel" href="tel:+48500043628">+48 500 043 628</a></p> <p class="cg-pasek-kontaktu__dopisek">Bezpłatna wycena, bez zobowiązań.</p> <div class="cg-pasek-kontaktu__przyciski"> <a class="cg-pasek-kontaktu__btn" href="/kontakt/">Bezpłatna wycena</a><br /> <a class="cg-pasek-kontaktu__mail" href="mailto:kontakt@cluegroup.pl">kontakt@cluegroup.pl</a> </div> </p></div> </p></div> </section> <footer class="wp-block-group alignfull cg-stopka has-contrast-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-962bef00 wp-block-group-is-layout-constrained" style="padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--40)"> <div class="wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-cc2e4ea6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <a class="cg-stopka__logo" href="/" aria-label="Cluegroup, strona główna"><img src="/wp-content/themes/cluegroup/assets/logo/cluegroup-na-ciemnym-tle.svg" width="150" height="30" alt="cluegroup" loading="lazy" decoding="async"></a> <p class="has-gray-600-color has-text-color wp-block-paragraph" style="font-size:var(--wp--preset--font-size--small)">Kameralna agencja SEO i GEO z Wrocławia. Działamy od 2013 roku, w SEO pracujemy od 2008.</p> <p class="has-gray-600-color has-text-color wp-block-paragraph" style="font-size:var(--wp--preset--font-size--small)">Cluegroup s.c.<br>Al. Armii Krajowej 53, lok. 404<br>50-541 <a href="/pozycjonowanie-lokalne/wroclaw/">Wrocław</a><br>NIP: 8992846418</p> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:20%"> <h3 class="wp-block-heading" style="font-size:var(--wp--preset--font-size--small);font-weight:600;letter-spacing:0.12em;text-transform:uppercase">Nawigacja</h3> <ul style="font-size:var(--wp--preset--font-size--small)" class="wp-block-list is-style-default"> <li><a href="/o-nas/">O nas</a></li> <li><a href="/zaufali-nam/">Zaufali nam</a></li> <li><a href="/blog/">Blog</a></li> <li><a href="/kontakt/">Kontakt</a></li> </ul> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:20%"> <h3 class="wp-block-heading" style="font-size:var(--wp--preset--font-size--small);font-weight:600;letter-spacing:0.12em;text-transform:uppercase">Usługi</h3> <ul style="font-size:var(--wp--preset--font-size--small)" class="wp-block-list"> <li><a href="/pozycjonowanie-stron/">Pozycjonowanie stron</a></li> <li><a href="/pozycjonowanie-stron-cennik/">Cennik pozycjonowania</a></li> <li><a href="/pozycjonowanie-ai-aiseo/">Pozycjonowanie w AI</a></li> <li><a href="/pozycjonowanie-sklepu-internetowego/">Pozycjonowanie sklepów</a></li> <li><a href="/google-ads/">Google Ads</a></li> <li><a href="/audyt-seo/">Audyt SEO</a></li> <li><a href="/content-marketing/">Content marketing</a></li> <li><a href="/konsultacje/">Konsultacje</a></li> </ul> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:20%"> <h3 class="wp-block-heading" style="font-size:var(--wp--preset--font-size--small);font-weight:600;letter-spacing:0.12em;text-transform:uppercase">Kontakt</h3> <p class="wp-block-paragraph" style="font-size:var(--wp--preset--font-size--small)"><a href="tel:+48500043628">+48 500 043 628</a><br><a href="mailto:kontakt@cluegroup.pl">kontakt@cluegroup.pl</a></p> <ul class="wp-block-social-links has-icon-color is-style-logos-only is-layout-flex wp-container-core-social-links-is-layout-5ee2bacf wp-block-social-links-is-layout-flex"> <li style="color:#FFFFFF" class="wp-social-link wp-social-link-facebook has-base-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.facebook.com/ClueGroupPL" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Facebook</span></a></li> <li style="color:#FFFFFF" class="wp-social-link wp-social-link-instagram has-base-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.instagram.com/cluegrouppl/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Instagram</span></a></li> <li style="color:#FFFFFF" class="wp-social-link wp-social-link-youtube has-base-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.youtube.com/@cluegroup9327" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li> <li style="color:#FFFFFF" class="wp-social-link wp-social-link-linkedin has-base-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/company/cluegroup/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li> <li style="color:#FFFFFF" class="wp-social-link wp-social-link-spotify has-base-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://open.spotify.com/show/4H9Gdl1I2iPWClWCyjAfS8" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,5.523,4.477,10,10,10c5.523,0,10-4.477,10-10C22,6.477,17.523,2,12,2 M16.586,16.424 c-0.18,0.295-0.563,0.387-0.857,0.207c-2.348-1.435-5.304-1.76-8.785-0.964c-0.335,0.077-0.67-0.133-0.746-0.469 c-0.077-0.335,0.132-0.67,0.469-0.746c3.809-0.871,7.077-0.496,9.713,1.115C16.673,15.746,16.766,16.13,16.586,16.424 M17.81,13.7 c-0.226,0.367-0.706,0.482-1.072,0.257c-2.687-1.652-6.785-2.131-9.965-1.166C6.36,12.917,5.925,12.684,5.8,12.273 C5.675,11.86,5.908,11.425,6.32,11.3c3.632-1.102,8.147-0.568,11.234,1.328C17.92,12.854,18.035,13.335,17.81,13.7 M17.915,10.865 c-3.223-1.914-8.54-2.09-11.618-1.156C5.804,9.859,5.281,9.58,5.131,9.086C4.982,8.591,5.26,8.069,5.755,7.919 c3.532-1.072,9.404-0.865,13.115,1.338c0.445,0.264,0.59,0.838,0.327,1.282C18.933,10.983,18.359,11.129,17.915,10.865"></path></svg><span class="wp-block-social-link-label screen-reader-text">Spotify</span></a></li> </ul> </div> </div> <div class="wp-block-group alignwide cg-stopka__dol is-content-justification-space-between is-layout-flex wp-container-core-group-is-layout-667575c4 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--30)"> <p class="has-gray-600-color has-text-color wp-block-paragraph" style="font-size:0.8125rem">© 2013–2026 Cluegroup. Wszystkie prawa zastrzeżone.</p> <p class="has-gray-600-color has-text-color wp-block-paragraph" style="font-size:0.8125rem"><a href="/polityka-prywatnosci/">Polityka prywatności i cookies</a> · <a href="#zgody-cookies">Zgody na cookies</a></p> </div> </footer> </footer> </div> <script>(function(){var n=document.querySelector(".wp-block-template-part:has(> .cg-header)");if(!n){return;}function u(){document.documentElement.style.setProperty("--cg-naglowek",Math.round(n.getBoundingClientRect().height)+"px");}u();if(window.ResizeObserver){new ResizeObserver(u).observe(n);}else{window.addEventListener("resize",u);}})();</script> <div class="cg-zgoda" id="zgody-cookies" data-cg-zgoda data-stan="null" data-wersja="4" data-ga4="G-Y9627ZQL5X" > <div class="cg-zgoda__box" role="dialog" aria-modal="false" aria-labelledby="cg-zgoda-tytul" aria-describedby="cg-zgoda-opis"> <p class="cg-zgoda__tytul" id="cg-zgoda-tytul">Cookies: Twój wybór</p> <p class="cg-zgoda__opis" id="cg-zgoda-opis"> Używamy plików cookie niezbędnych do działania strony. Dodatkowo chcielibyśmy włączyć statystyki i treści osadzone, ale tylko za Twoją zgodą. Możesz ją wycofać w każdej chwili. <a href="https://cluegroup.pl/polityka-prywatnosci/">Polityka prywatności</a>. </p> <div class="cg-zgoda__opcje" hidden> <label class="cg-zgoda__opcja cg-zgoda__opcja--stala"> <input type="checkbox" checked disabled /> <span> <span class="cg-zgoda__opcja-nazwa">Niezbędne</span> <span class="cg-zgoda__opcja-opis">Utrzymanie sesji, bezpieczeństwo formularzy i zapamiętanie tego wyboru. Bez nich strona nie zadziała, więc nie pytamy o zgodę.</span> </span> </label> <label class="cg-zgoda__opcja"> <input type="checkbox" data-cg-kat="analityka" /> <span> <span class="cg-zgoda__opcja-nazwa">Statystyki</span> <span class="cg-zgoda__opcja-opis">Google Analytics zapisze w Twojej przeglądarce identyfikator, dzięki któremu rozpoznamy powracającą wizytę. Bez zgody nic nie zapisujemy, Google dostaje wtedy wyłącznie anonimowy sygnał o odsłonie, bez plików cookie i bez identyfikatorów.</span> </span> </label> <label class="cg-zgoda__opcja"> <input type="checkbox" data-cg-kat="marketing" /> <span> <span class="cg-zgoda__opcja-nazwa">Reklamy</span> <span class="cg-zgoda__opcja-opis">Google Ads, Meta (Facebook, Instagram) i OpenAI (reklamy w ChatGPT) rozpoznają, że byłeś już na tej stronie, i będziemy mogli pokazać Ci reklamę w innym miejscu w sieci. Pozwoli nam to też sprawdzić, czy reklama przyniosła zgłoszenie. Bez zgody piksele Meta i OpenAI w ogóle się nie wczytują, a Google dostaje sygnał pozbawiony identyfikatorów i nie użyje go do remarketingu.</span> </span> </label> <label class="cg-zgoda__opcja"> <input type="checkbox" data-cg-kat="osadzenia" /> <span> <span class="cg-zgoda__opcja-nazwa">Treści osadzone</span> <span class="cg-zgoda__opcja-opis">Filmy z YouTube i podobne materiały wstawione w treść. Po włączeniu ich dostawcy mogą zapisać własne pliki cookie.</span> </span> </label> </div> <div class="cg-zgoda__akcje"> <button type="button" class="cg-zgoda__btn cg-zgoda__btn--tak" data-cg-akcja="wszystko">Akceptuję wszystkie</button> <button type="button" class="cg-zgoda__btn cg-zgoda__btn--nie" data-cg-akcja="nic">Tylko niezbędne</button> <button type="button" class="cg-zgoda__btn cg-zgoda__btn--wybor" data-cg-akcja="panel">Ustawienia</button> <button type="button" class="cg-zgoda__btn cg-zgoda__btn--zapisz" data-cg-akcja="zapisz" hidden>Zapisz wybór</button> </div> </div> </div> <script id="cg-zgoda-js"> (function () { var root = document.querySelector('[data-cg-zgoda]'); if (!root) { return; } var NAZWA = "cg_zgoda"; var WERSJA = parseInt(root.dataset.wersja, 10); var GA4 = root.dataset.ga4 || ''; var KATEGORIE = ["analityka","marketing","osadzenia"]; var NAZWA_RE = NAZWA.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); /* Czytamy PRAWDZIWE ciasteczko, nie stan wstrzyknięty w HTML. Ten sam dokument potrafi być nieaktualny: przy cache'owaniu stron serwer oddaje wersję sprzed decyzji, a przy kilku otwartych kartach decyzja zapada w innej. */ function czytaj() { var m = document.cookie.match(new RegExp('(?:^|;\\s*)' + NAZWA_RE + '=([^;]*)')); if (m) { try { var d = JSON.parse(decodeURIComponent(m[1])); if (d && parseInt(d.v, 10) === WERSJA) { return d; } } catch (e) { /* uszkodzone ciasteczko traktujemy jak brak decyzji */ } } try { return JSON.parse(root.dataset.stan); } catch (e) { return null; } } function zapisz(stan) { var dane = { v: WERSJA }; KATEGORIE.forEach(function (k) { dane[k] = !!stan[k]; }); var rok = 60 * 60 * 24 * 365; document.cookie = NAZWA + '=' + encodeURIComponent(JSON.stringify(dane)) + ';path=/;max-age=' + rok + ';SameSite=Lax' + (location.protocol === 'https:' ? ';Secure' : ''); root.dataset.stan = JSON.stringify(dane); zastosuj(dane); schowaj(); } /* GA jest już w dokumencie w trybie „denied" - tu tylko podnosimy lub cofamy zgodę. */ function analityka(zgoda) { if (typeof window.gtag !== 'function') { return; } window.gtag('consent', 'update', { analytics_storage: zgoda ? 'granted' : 'denied' }); } /* To samo dla remarketingu Google Ads. Cofnięcie zgody wraca też do redakcji danych, więc wyłączenie przełącznika naprawdę zatrzymuje zbieranie list odbiorców. */ function marketing(zgoda) { /* Piksel Meta (includes/meta-piksel.php): po zgodzie ładuje się od razu, bez przeładowania, a po jej wycofaniu przestaje wysyłać dane. */ if (zgoda && typeof window.cgMetaPiksel === 'function') { window.cgMetaPiksel(); } if (!zgoda && typeof window.cgMetaPikselStop === 'function') { window.cgMetaPikselStop(); } /* Piksel OpenAI (includes/openai-piksel.php): to samo. */ if (zgoda && typeof window.cgOaiPiksel === 'function') { window.cgOaiPiksel(); } if (!zgoda && typeof window.cgOaiPikselStop === 'function') { window.cgOaiPikselStop(); } if (typeof window.gtag !== 'function') { return; } window.gtag('consent', 'update', { ad_storage: zgoda ? 'granted' : 'denied', ad_user_data: zgoda ? 'granted' : 'denied', ad_personalization: zgoda ? 'granted' : 'denied' }); window.gtag('set', 'ads_data_redaction', !zgoda); } function osadzenia() { document.querySelectorAll('[data-cg-osadzenie]').forEach(function (b) { odblokuj(b); }); } function odblokuj(blok, klik) { var src = blok.getAttribute('data-cg-osadzenie'); if (!src) { return; } // Kliknięty plakat filmu: od razu odtwarzamy, bez drugiego kliknięcia w odtwarzacz. if (klik && blok.classList.contains('cg-blokada--wideo')) { src += (src.indexOf('?') === -1 ? '?' : '&') + 'autoplay=1'; } var ramka = document.createElement('iframe'); ramka.src = src; ramka.loading = klik ? 'eager' : 'lazy'; ramka.allow = 'autoplay; encrypted-media; picture-in-picture; fullscreen'; ramka.setAttribute('allowfullscreen', ''); ramka.setAttribute('title', 'Materiał osadzony'); ramka.className = 'cg-blokada__ramka'; blok.replaceWith(ramka); } function zastosuj(stan) { if (!stan) { return; } analityka(!!stan.analityka); marketing(!!stan.marketing); if (stan.osadzenia) { osadzenia(); } } function pokaz() { root.removeAttribute('hidden'); } function schowaj() { root.setAttribute('hidden', ''); } function panel(otwarty) { root.querySelector('.cg-zgoda__opcje').hidden = !otwarty; root.querySelector('[data-cg-akcja="panel"]').hidden = otwarty; root.querySelector('[data-cg-akcja="zapisz"]').hidden = !otwarty; var stan = czytaj() || {}; root.querySelectorAll('[data-cg-kat]').forEach(function (i) { i.checked = !!stan[i.dataset.cgKat]; }); } root.addEventListener('click', function (e) { var btn = e.target.closest('[data-cg-akcja]'); if (!btn) { return; } var akcja = btn.dataset.cgAkcja; if (akcja === 'panel') { panel(true); return; } if (akcja === 'wszystko') { var tak = {}; KATEGORIE.forEach(function (k) { tak[k] = true; }); zapisz(tak); return; } if (akcja === 'nic') { zapisz({}); return; } if (akcja === 'zapisz') { var wybor = {}; root.querySelectorAll('[data-cg-kat]').forEach(function (i) { wybor[i.dataset.cgKat] = i.checked; }); zapisz(wybor); } }); /* Pojedyncze osadzenie można wczytać bez zmiany zgody na stałe. */ document.addEventListener('click', function (e) { var btn = e.target.closest('.cg-blokada__btn'); if (btn) { odblokuj(btn.closest('[data-cg-osadzenie]'), true); return; } var link = e.target.closest('a[href="#zgody-cookies"], a[href$="#zgody-cookies"]'); if (link) { e.preventDefault(); pokaz(); panel(true); } }); var start = czytaj(); if (start) { schowaj(); } else { pokaz(); } zastosuj(start); })(); </script> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/cluegroup/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script data-wp-router-options="{"loadOnClientNavigation":true}" fetchpriority="low" id="@wordpress/block-library/navigation/view-js-module" src="https://cluegroup.pl/wp-includes/js/dist/script-modules/block-library/navigation/view.min.js?ver=1bf28ded04f9f188bdcb" type="module"></script> <script async data-wp-strategy="async" fetchpriority="low" id="comment-reply-js" src="https://cluegroup.pl/wp-includes/js/comment-reply.min.js?ver=c3d981ef"></script> <script data-wp-strategy="defer" defer id="cluegroup-menu-mobilne-js" src="https://cluegroup.pl/wp-content/themes/cluegroup/assets/js/menu-mobilne.js?ver=1.57.1"></script> <script id="cluegroup-konwersje-js-before"> window.cgKonwersje = {"sendTo":"AW-10775169652\/A5BeCK2n-f4cEPSUgJIo"}; //# sourceURL=cluegroup-konwersje-js-before </script> <script data-wp-strategy="defer" defer id="cluegroup-konwersje-js" src="https://cluegroup.pl/wp-content/themes/cluegroup/assets/js/konwersje.js?ver=1.57.1"></script> <script id="cluegroup-kontakt-klik-js-before"> window.cgKontaktKlik = {"emailSendTo":"AW-10775169652\/lLXXCKLKs4sdEPSUgJIo"}; //# sourceURL=cluegroup-kontakt-klik-js-before </script> <script data-wp-strategy="defer" defer id="cluegroup-kontakt-klik-js" src="https://cluegroup.pl/wp-content/themes/cluegroup/assets/js/kontakt-klik.js?ver=1.57.1"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-Y9627ZQL5X"></script> <script> (function () { var b = document.querySelectorAll('.cg-ruch'); if (!b.length) { return; } var h = document.documentElement; function pokaz() { var stop = h.classList.contains('cg-bez-ruchu'); b.forEach(function (x) { x.setAttribute('aria-pressed', stop ? 'true' : 'false'); var t = x.querySelector('.cg-ruch__tekst'); if (t) { t.textContent = stop ? 'Włącz animacje' : 'Wyłącz wszystkie animacje'; } }); } b.forEach(function (x) { x.addEventListener('click', function () { var stop = h.classList.toggle('cg-bez-ruchu'); try { sessionStorage.setItem('cg-ruch', stop ? 'stop' : 'ruch'); } catch (e) {} pokaz(); }); }); pokaz(); })(); </script> <script> (function () { var a = document.querySelector('.cg-toc'); var tresc = document.querySelector('.wp-block-post-content'); if (!a || !tresc) { return; } var box = a.querySelector('nav'); var linki = [].slice.call(a.querySelectorAll('a')); var cele = linki.map(function (l) { return document.getElementById(decodeURIComponent(l.hash.slice(1))); }); var akt = -2; // Szerokie elementy (okładka wpisu, obrazy i tabele „szeroko”, podobne artykuły) // wchodzą w pas, w którym stoi spis. Gdy któryś się z nim pokrywa, spis znika, // zamiast na nim leżeć (zgłoszenie Magdy ze zrzutu, 20.10.2026). var szerokie = [].slice.call(document.querySelectorAll('main .wp-block-post-featured-image, main .alignwide, main .alignfull, main .cg-podobne, main table, main figure')) .filter(function (el) { return !a.contains(el) && !el.contains(a); }); // bez samej treści wpisu (alignfull) i jej przodków var pierwszy = cele[0]; function zaslania() { var s = a.getBoundingClientRect(); for (var i = 0; i < szerokie.length; i++) { var e = szerokie[i].getBoundingClientRect(); if (e.width && e.left < s.right && e.right > s.left && e.top < s.bottom && e.bottom > s.top) { return true; } } return false; } function ustaw() { var r = tresc.getBoundingClientRect(), h = window.innerHeight; var start = pierwszy ? pierwszy.getBoundingClientRect().top < h * 0.85 : r.top < h * 0.5; a.classList.toggle('jest', start && r.bottom > h * 0.5 && !zaslania()); var nowy = -1; cele.forEach(function (c, i) { if (c && c.getBoundingClientRect().top < h * 0.3) { nowy = i; } }); if (nowy === akt) { return; } akt = nowy; linki.forEach(function (l, i) { if (i === akt) { l.setAttribute('aria-current', 'true'); var t = l.offsetTop; if (t < box.scrollTop + 20 || t > box.scrollTop + box.clientHeight - 60) { box.scrollTop = t - box.clientHeight / 3; } } else { l.removeAttribute('aria-current'); } }); } window.addEventListener('scroll', function () { window.requestAnimationFrame(ustaw); }, { passive: true }); window.addEventListener('resize', ustaw); ustaw(); })(); </script> </body> </html>