PS PrestaShop Średnio zaawansowany

dfsearchconsole: Google Search Console dla PrestaShop

Instalacja, konfiguracja OAuth Google, synchronizacja przez cron i wykorzystanie szans SEO w module dfsearchconsole.

Zaktualizowano Wersja modułu 1.0.0

Prezentacja

dfsearchconsole synchronizuje dane z Google Search Console bezpośrednio do back office PrestaShop 8 i 9: topowe zapytania per adres URL, CTR per strona, średnia pozycja, a przede wszystkim cztery kategorie szans SEO wyliczane automatycznie wraz z kontekstowymi sugestiami optymalizacji.

Moduł dodaje 5 zakładek w menu Ulepszenia, Search Console: Pulpit, Strony, Zapytania, Szanse i Ustawienia. Komunikacja z Google odbywa się przez OAuth2 w trybie tylko do odczytu (zakres webmasters.readonly), bez zależności Composera, wyłącznie natywnym cURL-em.

Instalacja

  1. Pobierz plik ZIP modułu ze swojego konta klienta DataFirefly.
  2. W back office PrestaShop: Moduły, Menedżer modułów, Wgraj moduł.
  3. Wybierz plik ZIP i poczekaj na zakończenie instalacji.
  4. Moduł tworzy 4 tabele SQL (ps_dfgsc_sync, ps_dfgsc_page, ps_dfgsc_query, ps_dfgsc_opportunity) i rejestruje swoje 5 zakładek w menu Ulepszenia.

Wymagania: PrestaShop od 8.0 do 8.2 albo 9.0, PHP minimum 7.4 (zalecane 8.1+), włączone rozszerzenie cURL oraz zweryfikowana usługa w Google Search Console.

Konfiguracja OAuth w Google Cloud

Moduł komunikuje się z API Search Console przez Twoje własne dane uwierzytelniające OAuth2. Ich utworzenie jest bezpłatne i zajmuje około dziesięciu minut.

1. Utwórz projekt i włącz API

  1. Wejdź na console.cloud.google.com i utwórz projekt (albo użyj istniejącego).
  2. W sekcji Interfejsy API i usługi, Biblioteka wyszukaj Google Search Console API i włącz je.

2. Skonfiguruj ekran zgody

  1. Otwórz Interfejsy API i usługi, Ekran zgody OAuth.
  2. Typ użytkownika: Zewnętrzny (albo Wewnętrzny, jeśli korzystasz z Google Workspace).
  3. Podaj nazwę aplikacji, adres e-mail wsparcia i swoją domenę.
  4. Dodaj zakres https://www.googleapis.com/auth/webmasters.readonly.
  5. Dopóki aplikacja nie jest opublikowana, dodaj swój adres Google jako użytkownika testowego.

3. Utwórz identyfikator klienta OAuth

  1. W sekcji Interfejsy API i usługi, Dane logowania kliknij Utwórz dane logowania, Identyfikator klienta OAuth.
  2. Typ aplikacji: Aplikacja internetowa.
  3. W polu Autoryzowane identyfikatory URI przekierowania wklej adres wyświetlony na ekranie Ustawienia modułu (w postaci https://twoj-sklep.pl/module/dfsearchconsole/oauth).
  4. Zapisz Client ID i Client Secret.

4. Połącz moduł

  1. W PrestaShop otwórz Ulepszenia, Search Console, Ustawienia.
  2. Wklej Client ID i Client Secret, a następnie zapisz.
  3. Kliknij Połącz z Google i zatwierdź dostęp.
  4. Po powrocie do back office wybierz z listy rozwijanej usługę Search Console do synchronizacji.

Przycisk Testuj połączenie weryfikuje, czy token działa, i wyświetla liczbę usług dostępnych z podłączonego konta.

Synchronizacja

Synchronizacja ręczna

Przycisk Synchronizuj teraz na ekranie Ustawienia natychmiast uruchamia pełną synchronizację. Licz od kilku sekund przy małym sklepie do 2 albo 3 minut przy witrynie z tysiącami zaindeksowanych stron.

Synchronizacja automatyczna (cron)

Ekran Ustawienia wyświetla adres crona zabezpieczony losowym 32-znakowym tokenem. Dodaj go do crontaba, aby synchronizować dane codziennie:

0 4 * * * curl -s "https://twoj-sklep.pl/module/dfsearchconsole/cron?token=TWOJ_TOKEN" > /dev/null

Google Search Console ma około 2-dniowe opóźnienie na danych. Moduł synchronizuje więc zawsze okno kończące się na dacie dzisiaj minus 2 dni. Jedna synchronizacja dziennie w zupełności wystarcza.

Okres wstecz

Domyślnie moduł pobiera 90 dni danych oraz 90 dni je poprzedzających, aby wyliczyć różnice. Ten okres jest konfigurowalny od 28 do 480 dni w Ustawieniach. Im szersze okno, tym dłuższa synchronizacja.

Pulpit

Pulpit daje widok ogólny: 4 karty KPI (kliknięcia, wyświetlenia, CTR, średnia pozycja) ze zmianami wobec poprzedniego okresu, top 10 stron, top 15 zapytań oraz podgląd priorytetowych szans.

Przy średniej pozycji spadek wartości oznacza poprawę (im niższa liczba, tym wyżej strona jest sklasyfikowana). Pulpit wyświetla więc zieloną strzałkę, gdy pozycja maleje.

Strony i Zapytania

Zakładka Strony

Paginowana i sortowalna lista wszystkich adresów URL zgłoszonych przez Search Console, z kliknięciami, wyświetleniami, CTR, pozycją i różnicą kliknięć. Filtr pozwala zawęzić widok per typ strony (produkt, kategoria, CMS, inne) albo po tekście. Kliknięcie adresu otwiera widok szczegółowy: KPI strony z wartościami poprzedniego okresu, zapytania celujące w ten adres, powiązane szanse oraz bezpośredni link do edycji odpowiadającej encji PrestaShop.

Zakładka Zapytania

Dwa tryby wyświetlania:

  • Widok zgrupowany: jeden wiersz na zapytanie, zagregowany po wszystkich adresach URL. Idealny do wyłapania głównych terminów.
  • Widok szczegółowy: jeden wiersz na parę zapytanie i adres URL. Niezbędny przy analizie kanibalizacji.

Pozycje są oznaczone kodem kolorystycznym: zielony (1-3), niebieski (4-10), żółty (11-20, do podbicia), szary (21+).

Szanse SEO

Po każdej synchronizacji moduł automatycznie przelicza cztery kategorie szans:

  • Pozycje 11-20 do podbicia (striking distance): zapytania na pozycjach od 11 do 20 (progi konfigurowalne) przy minimalnej liczbie wyświetleń. Moduł wylicza potencjalny zysk kliknięć, symulując przejście na pozycję 5.
  • CTR poniżej średniej (pierwsza dziesiątka): strony z top 10, których rzeczywisty CTR jest niższy niż 50 procent CTR oczekiwanego według wbudowanej krzywej referencyjnej (zagregowanej z badań Advanced Web Ranking, Sistrix, Backlinko).
  • Kanibalizacja: to samo zapytanie wypychające 2 albo więcej adresów URL. Moduł wymienia konkurujące adresy.
  • Utrata kliknięć: strony, które straciły ponad 25 procent kliknięć wobec poprzedniego okresu.

Każda szansa pokazuje wynik priorytetu, powiązane metryki oraz sugestie optymalizacji dopasowane do typu strony (karta produktu, kategoria albo strona CMS). Workflow Otwarta, Obsłużona, Zignorowana pozwala śledzić postępy. Przycisk Przelicz odtwarza wszystkie szanse na podstawie danych już zapisanych w bazie, bez ponownego odpytywania API Google.

Ustawianie progów

W Ustawieniach wykrywaniem sterują trzy progi:

  • Minimalna liczba wyświetleń (domyślnie 50): poniżej tej wartości para zapytanie i adres URL jest pomijana przez detektory.
  • Minimalna i maksymalna pozycja striking distance (domyślnie 11 i 20): okno pozycji uznawane za możliwe do podbicia.

Przy małym sklepie z niewielkim ruchem obniż próg wyświetleń do 20 albo 30. Przy dużej witrynie podnieś go do 100 i więcej, aby zgłaszane były wyłącznie istotne prace.

Rozwiązywanie problemów

„Token wygasł” albo błąd 401

Refresh token jest używany automatycznie co godzinę. Jeśli Google cofnął dostęp (zmiana hasła, długa nieaktywność, ręczne cofnięcie zgody), połącz moduł ponownie przyciskiem Połącz z Google na ekranie Ustawienia.

Brak witryn na liście rozwijanej

Podłączone konto Google musi mieć dostęp do co najmniej jednej usługi Search Console (jako właściciel albo użytkownik). Sprawdź to na search.google.com/search-console na tym samym koncie.

Błąd „redirect_uri_mismatch” przy łączeniu

Identyfikator URI przekierowania zadeklarowany w Google Cloud Console musi dokładnie odpowiadać temu wyświetlonemu na ekranie Ustawienia modułu (razem z protokołem https, bez nadmiarowego ukośnika na końcu).

Bardzo długa synchronizacja albo timeout

API paginuje po 25 000 wierszy. Przy dużych witrynach: podnieś memory_limit do 512M, zwiększ max_execution_time i korzystaj z crona, który nie podlega limitowi czasu przeglądarki.

Adresy URL nierozwiązane do encji PrestaShop

Resolver pracuje na link_rewrite (uproszczony slug adresu). Adresy generowane przez zewnętrzne moduły routingu mogą pozostać niepowiązane: pojawiają się z typem „inne”, ale są w pełni analizowane.

Deinstalacja

Deinstalacja usuwa 4 tabele SQL, zakładki administracyjne i wszystkie klucze konfiguracyjne (razem z tokenami OAuth). Jeśli nie zamierzasz już korzystać z modułu, pamiętaj o cofnięciu dostępu aplikacji w ustawieniach zabezpieczeń swojego konta Google.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia