Join our community of websites already using SEOJuice to automate the boring SEO work.
See what our customers say and learn about sustainable SEO that drives long-term growth.
Explore the blog →TL;DR: Najczęstsze „wygrane” SEO w theme.liquid polegają na kasowaniu zbędnego kodu globalnego, a nie na dodawaniu kolejnego snippetu. Uniwersalne sygnały SEO trzymaj w layout-cie, przenieś prace specyficzne dla danej strony do szablonów lub sekcji i spraw, aby HTML przekazywany Google był szybki, przejrzysty i jak najmniej zależny od skryptów aplikacji.
theme.liquid jak wtyczkę SEOKiedyś najpierw szukałem brakującego tagu. Zły nawyk. W mindnow sklepy Shopify z największymi problemami SEO rzadko potrzebowały kolejnego snippetu w theme.liquid; potrzebowały usunięcia pięciu starych, które obciążały każdą stronę i Google, i klientów.
W jednym sklepie winą za „kiepskie SEO Shopify” obarczono motyw. Faktyczny problem to sześć snippetów aplikacji, dwa zdublowane bloki schematu i feed ofertowy produktu wklejony do layoutu. Ten sam wzorzec na vadimkravcenko.com i seojuice.io: sekcja <head> ma opisywać stronę — nie prowadzić całego biznesu.
„Liquid to otwarty język szablonów stworzony przez Shopify i napisany w Ruby. Stanowi fundament motywów Shopify i służy do ładowania dynamicznej treści w witrynach.”
To firmowe wyjaśnienie jest kluczowe, bo właściwie lokuje winę. Liquid nie jest winowajcą. Nieostrożna praca w plikach globalnych – już tak.
theme.liquidtheme.liquid to główny wrapper layoutu dla większości stron sklepu Shopify (otoczka wokół szablonów i sekcji). Zwykle zawiera <head>, content_for_header, odwołania do CSS, osadzenia aplikacji, tagi śledzące, snippet schematu, wskazówki preload i początkowy markup layoutu.
Właśnie dlatego ten plik powinien pozostać nudny. Jeśli błąd tkwi w sekcji produktu, szkodzi tylko stronom produktowym. Jeśli siedzi w theme.liquid, trafia wszędzie.
Najwyższe wyniki wyszukiwania częściowo to tłumaczą. Dokumentacja wydajności Shopify daje solidną bazę techniczną. Ogólny poradnik SEO Shopify wyjaśnia strukturę, metadane i dane uporządkowane. Speed Boostr zbliża się do praktycznych prac nad prędkością, które odczuwają sprzedawcy.
Czego zwykle nie dają, to governance: co należy do layoutu, co do szablonów, a czego nigdy nie powinno się instalować globalnie.
Taka jest zasada reszty artykułu. Elementy site-wide mogą żyć w theme.liquid. Logika produktu, kolekcji, artykułu, FAQ czy okruszków powinna mieszkać bliżej szablonu, który ją posiada.
theme.liquidNie chodzi o „usuń wszystko”. Shopify potrzebuje globalnego outputu w head. Sklep potrzebuje zasobów site-wide. Twoja analityka może wymagać ładowania z uwzględnieniem zgód na całej stronie. Zadanie to utrzymać layout w ryzach.
Należy do theme.liquid |
Zwykle nie należy |
|---|---|
Podstawowe ustawienie języka <html> |
Schema produktu zakodowane globalnie |
content_for_header |
Tekst lub metadane specyficzne dla kolekcji |
| Globalny CSS i krytyczne wskazówki preload | Każdy skrypt aplikacji na każdym szablonie |
| Site-wide Organization lub WebSite JSON-LD | Zduplikowane JSON-LD dla recenzji, ofert i breadcrumbs |
| Śledzenie z uwzględnieniem zgód | Logika szablonu z kosztownymi pętlami |
Layout może bezpiecznie trzymać sygnały opisujące cały biznes: język, viewport, wymagany output Shopify w head, framework zgód, bazowy CSS, ewentualnie schema Organization i WebSite z SearchAction, jeśli URL wyszukiwarki jest stabilny.
To także miejsce na część wskazówek preload. Jeden globalny preload fontu lub krytycznego CSS ma sens. Pięć konkurujących preloadów obrazów dostępnych tylko w jednym szablonie — nie.
Schema produktu powinna być razem z danymi produktu. Schema artykułu przy artykułach. Schema FAQPage wyłącznie na stronach, gdzie tekst FAQ jest widoczny dla użytkownika. Schema breadcrumbs w snippencie breadcrumbs lub sekcji świadomej szablonu.
Tu wiele projektów structured data dla e-commerce wykoleja się. Kupiec prosi o „schema w Shopify”, ktoś wkleja JSON-LD do theme.liquid i nagle każda kolekcja, artykuł i landing udają produkt.
head Shopifycontent_for_header nie jest opcjonalne. To tag, przez który Shopify podłącza skrypty platformy, zachowanie aplikacji, analitykę i funkcje storefrontu. Nie usuwaj go tylko dlatego, że waterfall wygląda chaotycznie.
Audytuj jednak to, co przez niego trafia. App embeds, theme app extensions i stary kod aplikacji mogą wciąż dodawać wagę. Receptą jest właścicielstwo, nie panika.
Nie edytuj motywu na żywo w czasie szczytu ruchu. Banał, a jednak zdanie, które oszczędza najwięcej pieniędzy.
layout/theme.liquid.
Skopiuj layout do dokumentu roboczego i oznacz go jak miejsce zbrodni. Jeden sklep zgłosił się, bo kolekcje były wolne, a test rozbudowanych wyników Google pokazywał ostrzeżenia produktowe. Naprawa zajęła poniżej dwóch godzin: schema Offer produktu na stronach kolekcji, dwie porzucone biblioteki A/B testów i snippet recenzji po odinstalowanej aplikacji.
Winą obarczono motyw (standard). Plik layoutu tylko nosił duchy.
| Znalezisko | Dlaczego szkodzi SEO | Bezpieczniejsze rozwiązanie |
|---|---|---|
| Product JSON-LD na stronach kolekcji | Miesza parsery danych uporządkowanych | Przenieś do szablonu produktu |
| Trzy aplikacje recenzji generują schema | Powiela lub konfliktuje markup produktu | Wybierz jedno źródło |
| Widget czatu ładuje się wszędzie | Dodaje JS zanim pojawi się intencja zakupu | Ładuj po interakcji lub tylko na wybranych szablonach |
| Obraz hero ładowany lazy | Może opóźnić LCP | Ładuj media above-the-fold eager |
| Sortowanie w pętlach Liquid | Marnuje pracę renderowania | Sortuj przed pętlą |
Nieznany nie znaczy zły. Znaczy: bez właściciela. Jeśli nikt nie wie, po co snippet siedzi w theme.liquid, wyłącz go w kopii motywu i przetestuj przepływy: menu, wyszukiwarkę, formularz produktu, koszyk, przekazanie do checkoutu, recenzje, śledzenie i zgody.
Tu audyt techniczny SEO bije checklistę. Rzadko chodzi o jedną złą linię. Raczej o pięć przyzwoitych narzędzi, z których każde zakłada globalny priorytet.
„JavaScript nie powinien być wymagany do podstawowego działania motywu, np. znalezienia lub zakupu produktu.”
To zdanie Shopify jest standardem. Jeśli menu, formularz produktu, wybór wariantu, wyszukiwarka lub koszyk zależą od blokującego skryptu, który może nie zadziałać, masz nie tylko problem SEO, ale i problem storefrontu.
„Liquid storefronts are very fast”
Sia Karamalegos napisała to na blogu performance Shopify, a implikacja jest niewygodna. Wolne sklepy Shopify są często wolne, bo sprzedawcy dodają globalny kod na każdej trasie. Aplikacje zostawiają kod po odinstalowaniu — czasem latami — a plik layoutu wciąż go serwuje.
Widgety recenzji, czaty, skrypty A/B, heatmapy, programy lojalnościowe, bundling, personalizacja, popupy kochają layout. Niektóre potrzebują dostępu globalnego. Wiele nie.
Zacznij od app embeds w edytorze motywu, potem przejrzyj content_for_header, potem przeszukaj motyw pod kątem includes odnoszących się do starych nazw aplikacji. Jeśli aplikacja wpływa tylko na strony produktowe, jej kod nie powinien odpalać się na artykułach i kolekcjach.
Odkładanie skryptów może pomóc. Może też zepsuć wybór wariantu, śledzenie zgód, atrybucję analityki, selektory walut i render recenzji. Testuj w podglądzie przed publikacją.
Bezpieczny wzorzec jest nudny: najpierw usuń martwy kod, opóźnij widżety marketingowe do interakcji, deferuj skrypty niekrytyczne po testach i tam, gdzie się da, umożliwiaj odkrywanie produktów bez JavaScript (w 2026 to już nie opcja).
JavaScript może poprawić doświadczenie, nie powinien być jedyną drogą do przychodu. Linki do produktów muszą być crawl-owalne. Strony wyszukiwania powinny zwracać wyniki. Dodawanie do koszyka ma działać degradacyjnie. URL-e wariantów i wybrane opcje nie mogą znikać dla crawlerów ani klientów.
Jeśli walczysz z kosztami hydracji lub renderowaniem treści produktu po stronie klienta, przeczytaj przewodnik JavaScript SEO zanim obarczysz winą Liquid. Problem renderowania może leżeć w warstwie aplikacji, nie w języku motywu.
„PageSpeed to NIE jest dobry sposób na mierzenie prędkości sklepu.”
Kurt Elster jest tu dosadny z powodu. Wysoki wynik, który psuje tracking, recenzje lub warianty, nie jest wygraną — niski, który wskazuje realne opóźnienie LCP, jest użyteczny. Wynik to trop, nie KPI.
„Aktualnie preferujemy markup JSON-LD. Większość nowych typów danych uporządkowanych najpierw pojawia się w JSON-LD, więc to preferujemy.”
Słowa Johna Muellera kończą debatę o formacie dla większości sklepów Shopify. Używaj JSON-LD. Trudniejsze pytanie to właścicielstwo.
Wiele postów o SEO Shopify mówi „dodaj schema”. To niepełna rada. Jeśli motyw, aplikacja recenzji, feed produktowy i aplikacja SEO wszystkie wypuszczają schema Product, problemem nie jest już format.
Wybierz jednego właściciela dla każdego typu schema. Usuń lub wyłącz resztę.
| Typ schema | Najlepsze miejsce |
|---|---|
| Organization | theme.liquid lub globalny snippet |
| WebSite z SearchAction | theme.liquid, jeśli wyszukiwarka jest stabilna |
| Product | Szablon produktu lub sekcja produktu |
| BreadcrumbList | Szablon lub snippet breadcrumbs |
| Article | Szablon artykułu blogowego |
| CollectionPage | Szablon kolekcji |
| FAQPage | Tylko strony z widoczną treścią FAQ |
Schema produktu potrzebuje bieżącego tytułu, obrazu, opisu, SKU, ceny, dostępności, wariantów, marki, ofert, a czasem danych recenzji. Ten kontekst nie istnieje na każdej stronie.
Aplikacje recenzji zasługują na szczególną podejrzliwość. Często wstrzykują markup Product, AggregateRating, Offer i Review. Jeśli motyw również wypuszcza te pola, narzędzia rich result mogą pokazać konflikty, nawet gdy strona wygląda dobrze.
Użyj Rich Results Test, aby sprawdzić kwalifikację do funkcji Google. Użyj Schema Markup Validator, aby ocenić poprawność danych uporządkowanych w szerszym zakresie. Testuj renderowaną stronę, nie wklejony fragment z pliku motywu.
„Jeśli chcesz posortować produkty w kolekcji po cenie, zrób to przed pętlą, a nie w jej trakcie.”
Wskazówka Shopify brzmi drobno. Nie jest. Problemy wydajności Liquid często ukrywają się w snippetach wołanych przez theme.liquid: headerze, mega menu, pasku ogłoszeń, selektorze języka, rekomendacjach czy globalnym karuzelu kolekcji.
Plik layoutu może wyglądać czysto, a snippety wewnątrz wykonują kosztowną pracę. Mega menu może przechodzić po kolekcjach na każdej stronie. Header może pobierać dane produktów, których nikt nie widzi. Selektor języka może powtarzać logikę, którą wystarczyłoby przypisać raz.
Obserwuj all_products, duże menu, liczne odwołania do metafieldów i zagnieżdżone pętle. Problem rzadko leży w jednej pętli, raczej w powtarzaniu jej na każdej trasie.
Sortuj przed pętlą. Filtruj przed pętlą. Przypisuj powtarzane wartości raz, gdy poprawia to czytelność. Ogranicz pętle, gdy potrzebujesz czterech elementów.
Zła praktyka: iterujesz po każdym produkcie, a decyzję, które się liczą, podejmujesz wewnątrz pętli. Lepsza: przygotuj najpierw właściwy zbiór, potem pętluj po małym zestawie.
Mega menu to częsty podatek wydajności SEO. Wygląda jak nawigacja; zachowuje się jak zapytanie site-wide o dane.
Niech header będzie przewidywalny. Jeśli menu potrzebuje bogatych kart promocyjnych, zrób je ustawieniami, a nie dynamicznym pobieraniem danych z całego katalogu.
„Cokolwiek pojawia się above the fold, nie powinno być lazy-loadowane.”
Ta linia Shopify powinna zabić wiele złych porad. Hurtowe lazy loading wydaje się sprytne, dopóki obraz hero, media produktu lub baner kolekcji (kandydat LCP) czeka zbyt długo.
Nie lazy-loaduj prawdopodobnego obrazu LCP. Podaj Shopify odpowiednią szerokość i wysokość, by zapobiec przesunięciu layoutu. Używaj responsywnego outputu obrazów przez filtry i tagi obrazów Shopify zamiast jednego przewymiarowanego pliku.
Preloaduj tylko prawdziwy priorytetowy obraz, nie pięć konkurujących assetów. Preload to obietnica dla przeglądarki. Nadużywana tworzy wąskie gardło.
Wiele aplikacji obrazów stosuje jedną regułę wszędzie. Właściwa decyzja zależy od szablonu i pozycji. Miniaturka galerii produktu poniżej zagięcia może czekać. Pierwszy obraz produktu zwykle nie.
Połącz to z theme.liquid: globalne wskazówki zasobów i skrypty lazy load często siedzą tam, ale właściwa decyzja należy bliżej sekcji renderującej obraz.
Klasyczne tagi SEO wciąż są ważne. Stają się ryzykowne, gdy layout próbuje kontrolować każdy szablon jedną wielką drabinką warunków.
Korzystaj z wbudowanego outputu canonical Shopify, gdy tylko się da. Nie hardkoduj jednego wzorca canonical dla wszystkich szablonów. Sortowanie kolekcji, paginacja, filtry i URL-e produktów wymagają obsługi świadomej szablonu.
Dyrektywy robots powinny być rzadkie i oczywiste. Zduplikowany tag canonical — ten, który cicho konfliktuje z wbudowanym Shopify — może tkwić niezauważony miesiącami. Pojedyncze noindex w warunku potrafi narobić więcej szkód w jednej publikacji niż wolny skrypt aplikacji.
Sam kiedyś wypuściłem taki długi łańcuch warunków (i rozplątałem po aktualizacji aplikacji). Niektóre warunki są w porządku. Layout udający CMS to sygnał ostrzegawczy.
Nie ufaj samemu „view source”. Sprawdź renderowany HTML (URL po wykonaniu w przeglądarce) i potwierdź tytuł, opis, canonical, robots, hreflang (jeśli używasz) i dane uporządkowane.
Jeśli aplikacja nadpisuje tagi po załadowaniu, Google może je zobaczyć, ale zrobiłeś z prostego sygnału zależność od czasu po stronie klienta. Unikaj tego, chyba że nie ma czystszego rozwiązania.
theme.liquid pomogły SEOTesty powinny porównywać te same szablony przed i po. Sukces na stronie głównej nie dowodzi sukcesu na stronach produktowych. Wygrana na produkcie nie dowodzi, że czyste pozostały artykuły.
| Test | Co pokazuje |
|---|---|
| Podgląd renderowanego HTML | Czy Google widzi finalne tagi i treść |
| Inspekcja URL Google | Czy Google zaindeksował to, co myślisz |
| Rich Results Test | Czy dane uporządkowane kwalifikują się do rich results |
| WebPageTest | Waterfalle, kandydat LCP i blokujące pliki |
| Chrome Performance | Długie zadania i koszt skryptów |
| Core Web Vitals w Search Console | Dane z pola |
| Podgląd motywu Shopify | Bezpieczne porównanie przed publikacją |
Przetestuj home, produkt, kolekcję, page, article i search. Złap renderowany HTML, kandydata LCP, CLS, długie zadania, canonical, robots i output schematu.
Na seojuice.io mniej mnie obchodzi perfekcyjny lab score, a bardziej to, czy HTML jest czysty, canonical stabilny, a strona nie każe Google czekać na kod klienta, by ją zrozumieć.
„Dobry i szybki site nie zaszkodzi. Wolny nie pomoże. Nie uważam, by to było wszystko, za co się je bierze.”
Ujęcie Kurta Elstera jest zdroworozsądkowe. Szybkość wspiera SEO. Nie zastępuje treści, linków, popytu ani merchandisingu.
Po publikacji obserwuj indeksację, ulepszenia, listingi merchant, snippet produktowy i Core Web Vitals dla e-commerce. Dane z pola mają opóźnienie. Narzędzia labowe reagują dziś; Search Console potrzebuje czasu.
theme.liquidcontent_for_header.theme.liquid trzymaj tylko prawdziwie site-wide schema.Celem nie jest sprytny theme.liquid. Celem jest nudny plik layoutu, który pozwala każdemu szablonowi wykonywać swoją robotę.
theme.liquid wpływa na SEO Shopify?Tak. Może wpływać na klarowność crawl, dane uporządkowane, koszt renderu, Core Web Vitals, canonicale, tagi robots i wagę skryptów. Zagrożenie polega na tym, że jeden błąd w layoutcie dotyka większości stron storefrontu.
theme.liquid?Tylko jeśli kod jest naprawdę site-wide. Schema Organization, WebSite, ustawienie języka i wymagany output head Shopify mogą tam być. Logika produktu, artykułu, FAQ, breadcrumbs i kolekcji zwykle należy gdzie indziej.
content_for_header dla prędkości?Nie. Zostaw. Audytuj, co aplikacje i embed-y dodają przez niego, ale nie usuwaj wymaganego outputu Shopify.
Najczęstsza przyczyna to wielu właścicieli. Twój motyw, aplikacja recenzji, aplikacja SEO czy feed mogą wypuszczać markup Product, Offer, Review lub AggregateRating. Wybierz jedno źródło i wyłącz pozostałe, gdzie się da.
Nie. Traktuj to jako jedno źródło diagnostyczne (nie tylko wynik). Testuj też renderowany HTML, Inspekcję URL, Rich Results Test, WebPageTest, Chrome Performance i dane polowe w Search Console.
SEOJuice może pomóc w audycie konfiguracji SEO Liquid w Shopify, wskazać, co powinno zostać globalne, co przenieść do szablonów, a co usunąć bezpiecznie. Jeśli theme.liquid twojego sklepu stał się cmentarzyskiem aplikacji, zacznij od layoutu, zanim dodasz kolejny snippet SEO.
no credit card required
No related articles found.