Audyt SEO: jakubowaizba.pl
Kompleksowa analiza optymalizacji pod wyszukiwarki
Ocena ogólna: 4 / 10
Strona ma solidne fundamenty techniczne (szybki serwer, cache, HTTPS), ale zawiera krytyczne błędy on-page SEO, które drastycznie ograniczają potencjał rankingowy. Problemy z nagłówkami H1, tytułami stron, brak schema oraz niezdany test Core Web Vitals (CLS 0.39, Performance 65/100 mobile) wymagają natychmiastowej interwencji.
Top 6 najważniejszych problemów
- Wiele tagów H1 na każdej stronie (5-12 H1 na stronę) Krytyczny
- Tytuł strony głównej „O nas” zamiast kluczowej frazy Krytyczny
- Core Web Vitals: FAILED – CLS 0.39 (50% użytkowników!), LCP lab 8.6s Wysoki
- Brak schematu Restaurant / LocalBusiness Wysoki
- 17 obrazów bez alt text na samej stronie głównej Wysoki
- Zbędny tag UA obok działającego GA4 – marnuje 117 KiB JS Średni
Crawlability i indeksacja
robots.txt OK
https://jakubowaizba.pl/sitemap_index.xmlXML Sitemap Średni
Wykryte problemy
- Sitemap dostępny po whitelistingu IP (WAF blokował) – upewnić się, że Googlebot również ma dostęp
- Sitemap index zawiera 2 sub-sitemapy:
page-sitemap.xml(10 URLi) icategory-sitemap.xml(1 URL) - Stare daty
lastmod– większość stron z datami 2021, najnowsza 2023-03 (/menu/) - Strona
/category/bez-kategorii/w sitemapie – pusta domyślna kategoria WP, nie powinna być indeksowana - Strona
/funduszeue/ma meta description „Testowe fundusze” – testowa treść na produkcji!
Rekomendacje
- Usunąć
/category/bez-kategorii/z sitemapy (ustawićnoindex) - Poprawić meta description
/funduszeue/ - Zaktualizować daty
lastmodw sitemapie - Sprawdzić w Google Search Console, czy sitemap jest prawidłowo przetwarzany
Struktura strony OK
Wersja www vs non-www OK
http://jakubowaizba.pl → 301 → https://jakubowaizba.pl/https://www.jakubowaizba.pl → 301 → https://jakubowaizba.pl//menu → 301 → /menu/Kanoniczne URLe OK
link rel="canonical"Meta robots OK
index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1Fundamenty techniczne
HTTPS OK
PageSpeed Insights – Mobile Wysoki
Core Web Vitals: FAILED
Ocena Core Web Vitals na podstawie danych rzeczywistych użytkowników (Chrome UX Report, ostatnie 28 dni) – nie zdaje testu. Główny problem: CLS (przesunięcia układu).
Dane polowe (Real Users – mobile)
| Metryka | Wartość (p75) | Próg | Ocena |
|---|---|---|---|
| LCP (Largest Contentful Paint) | 2.4 s | ≤ 2.5 s | OK (graniczne) |
| INP (Interaction to Next Paint) | 112 ms | ≤ 200 ms | OK |
| CLS (Cumulative Layout Shift) | 0.39 | ≤ 0.1 | POOR |
| FCP (First Contentful Paint) | 1.7 s | ≤ 1.8 s | OK (graniczne) |
| TTFB (Time to First Byte) | 1.3 s | ≤ 0.8 s | Średni |
CLS 0.39 – 50% użytkowników doświadcza złego CLS!
Przesunięcia układu dotyczą połowy wszystkich wizyt. Główna przyczyna: obrazy bez zdefiniowanych wymiarów (width / height) oraz slider, który zmienia układ strony po załadowaniu.
Wyniki Lighthouse (lab – mobile, symulacja Slow 4G)
| Kategoria | Wynik | Ocena |
|---|---|---|
| Performance | 65 / 100 | Średni |
| Accessibility | 88 / 100 | Średni |
| Best Practices | 96 / 100 | OK |
| SEO | 92 / 100 | OK |
Metryki lab (mobile)
| Metryka | Wartość | Ocena |
|---|---|---|
| First Contentful Paint | 2.9 s | Średni |
| Largest Contentful Paint | 8.6 s | POOR |
| Total Blocking Time | 120 ms | OK |
| Cumulative Layout Shift | 0 | OK |
| Speed Index | 5.8 s | Średni |
LCP 8.6s – element LCP to slider!
Elementem LCP jest slajd slidera (<div id="slide-59-7" class="ct-slide">). Rozbicie czasu LCP:
- TTFB: 0 ms – OK (cache)
- Resource load delay: 720 ms – zasób nie jest wykrywany natychmiast
- Resource load duration: 60 ms – OK
- Element render delay: 1 930 ms – to główny problem!
Brak fetchpriority="high" na obrazie LCP. Obraz nie ma priorytetu ładowania.
Główne problemy wydajności
Render-blocking resources
17 plików CSS/JS blokuje renderowanie strony. Szacowane oszczędności: 240 ms. Obejmuje m.in.: universal.css, jquery.min.js, 8 plików CSS Oxygen, style.min.css, block-library/style.min.css, AOS, Unslider.
Nieużywany JavaScript – 148 KiB do zaoszczędzenia
Google Tag Manager ładuje niepotrzebne skrypty: gtag.js dla GA4 (137 KiB) i stary UA (117 KiB). Facebook Pixel (fbevents.js) również zawiera dużo nieużywanego kodu (93 KiB).
Obrazy bez wymiarów (width/height)
Wiele elementów <img> nie ma jawnie zdefiniowanych atrybutów width i height, co powoduje przesunięcia układu (CLS) podczas ładowania. Dotyczy: jakubowa-izba.jpg, jakubowa-3.jpg, jakubowa-4.jpg, plansza UE, logo, ikony SVG i inne.
Obrazy przewymiarowane
nagroda.jpg: wyświetlane 79×88 px, źródło 1429×1600 px – 18x za duże! Oszczędność: ~43 KiB. Inne obrazy (jakubowa-izba.jpg, jakubowa-4.jpg) również wymagają responsive images.
Brak preconnect
Strona nie wykonuje preconnect do żadnych zewnętrznych originów. Google Fonts (gstatic.com, googleapis.com) ładują fonty z opóźnieniem. Brak ustawienia font-display: swap lub optional.
Nieużywany CSS – 14 KiB do zaoszczędzenia
Wtyczki WordPress ładują arkusze stylów, które nie są używane na stronie. Dotyczy głównie block-library/style.min.css (14.4 KiB).
Accessibility (88/100)
- Średni Niewystarczający kontrast kolorów tła i tekstu
- Średni Linki bez rozpoznawalnej nazwy (brak tekstu w linkach)
- Niski Skip links nie są focusowalne
- Niski Elementy z
tabindex > 0
Bezpieczeństwo (Best Practices)
- Średni Brak nagłówka HSTS
- Niski Brak CSP (Content Security Policy)
- Niski Brak COOP (Cross-Origin Opener Policy)
- Niski Brak X-Frame-Options / CSP frame-ancestors
Rekomendacje PageSpeed (priorytet)
- Dodać wymiary width/height do wszystkich obrazów – naprawi CLS (0.39 → <0.1)
- Dodać
fetchpriority="high"do obrazu slidera (element LCP) - Przeskalować nagroda.jpg do rzeczywistych wymiarów wyświetlania (79×88 zamiast 1429×1600)
- Usunąć stary tag UA (UA-115394387-1) – GA4 już działa, to zbędne 117 KiB
- Odroczyć ładowanie niekrytycznych JS/CSS (defer, async)
- Dodać preconnect do fonts.googleapis.com i fonts.gstatic.com
- Ustawić font-display: swap w Google Fonts
Szybkość serwera OK
Uwaga o TTFB
TTFB w labie wynosi ~47ms (z cache), ale dane rzeczywistych użytkowników pokazują 1.3s (p75). To sugeruje, że cache LiteSpeed nie obsługuje wszystkich żądań (cold cache, warianty urządzeń, query strings). Warto sprawdzić konfigurację cache – reguły wykluczające, TTL, warminng.
WordPress – uwagi bezpieczeństwa Niski
wp-json/ dostępny (z noindex – OK)xmlrpc.php zablokowany przez WAF (dobrze)Rekomendacja
Usunąć meta generator tag, by nie ujawniać wersji WordPress.
Zasoby Niski
preconnect do fonts.googleapis.com NiskiLazy loading Średni
Problem
Brak atrybutów loading="lazy" na obrazkach. WordPress 6.9 powinien dodawać to automatycznie, ale Oxygen Builder prawdopodobnie omija ten mechanizm.
Rekomendacja
Dodać loading="lazy" do wszystkich obrazów poniżej „the fold” – ręcznie w Oxygen lub za pomocą wtyczki (np. LiteSpeed Cache ma taką opcję).
Analytics – zbędny tag UA Średni
Podwójny tracking: UA + GA4
Strona ładuje oba tagi jednocześnie:
UA-115394387-1– Universal Analytics (wygaszony od lipca 2023, nie zbiera danych)G-JYYRBMHWB2– Google Analytics 4 (aktywny, działa poprawnie)
Stary tag UA ładuje zbędne 117 KiB JavaScript, spowalniając stronę bez żadnych korzyści.
Rekomendacja
- Usunąć tag UA-115394387-1 – GA4 już działa, UA jest zbędny i marnuje zasoby
- W Google Tag Manager lub w kodzie strony: usunąć linię
gtag('config', 'UA-115394387-1')i powiązany skrypt - Oszczędność: ~117 KiB JS + 1 żądanie sieciowe mniej
- Facebook Pixel jest aktywny – OK, nie wymaga zmian
On-page SEO
Title tags Krytyczny
| Strona | Title | Długość | Ocena |
|---|---|---|---|
/ |
„O nas - Jakubowa Izba” | 22 zn. | Krytyczny |
/menu/ |
„Menu - Jakubowa Izba” | 21 zn. | Średni |
/pokoje/ |
„Pokoje - Jakubowa Izba” | 23 zn. | Średni |
/kontakt/ |
„Kontakt - Jakubowa Izba” | 24 zn. | OK |
/galeria/ |
„Galeria - Jakubowa Izba” | 24 zn. | OK |
/przyjecia/ |
„Przyjęcia - Jakubowa Izba” | 26 zn. | Średni |
Główny problem
Title strony głównej to „O nas” – nie zawiera żadnej frazy kluczowej! To najważniejsza strona witryny i jej tytuł powinien komunikować, czym jest biznes.
Rekomendowane tytuły
/→ „Jakubowa Izba - Restauracja Ryki | Kuchnia polska przy S17”/menu/→ „Menu - Kuchnia polska i regionalna | Jakubowa Izba Ryki”/pokoje/→ „Pokoje gościnne przy S17 Ryki | Jakubowa Izba”/przyjecia/→ „Wesela, komunie, catering Ryki | Jakubowa Izba”/biznes/→ „Spotkania firmowe i konferencje Ryki | Jakubowa Izba”
Meta descriptions Średni
Problemy
/funduszeue/ma meta description „Testowe fundusze” Średni/polityka-prywatnosci/– brak meta description Niski/category/bez-kategorii/– brak meta description, pusta strona kategorii Średni
Nagłówki H1 – krytyczny problem Krytyczny
Problem
Każda strona witryny posiada wiele tagów <h1> (od 5 do 12). Google oczekuje dokładnie jednego H1 na stronę. Wiele H1 rozmywa sygnał tematyczny strony i utrudnia ranking.
| Strona | Liczba H1 | Problem |
|---|---|---|
/ |
11 | Slider + sekcje treści |
/menu/ |
6 | Kategorie menu jako H1 |
/pokoje/ |
8 | Każda sekcja ma H1 |
/kontakt/ |
7 | Slider H1 + sekcje |
/galeria/ |
7 | Slider H1 + sekcje |
/przyjecia/ |
12 | Najgorszy przypadek |
/biznes/ |
5 | Slider + sekcje |
/praca/ |
7 | Slider + sekcje |
Przyczyna problemu
Oxygen Builder używa tagów H1 zarówno w sliderze (osobny H1 na każdym slajdzie), jak i w sekcjach treści. Każdy slajd i każda sekcja strony zaczyna się od H1, co powoduje multiplikację nagłówków.
Instrukcja naprawy
- Slajdy slidera: zmienić z
<h1>na<span>lub<div>z odpowiednią klasą CSS (zachowując wygląd wizualny) - Sekcje treści: pierwszy nagłówek = H1, wszystkie pozostałe = H2 lub H3
- Przykład dla strony głównej:
- H1 = „Jakubowa Izba – restauracja z tradycją”
- „Udogodnienia”, „Oryginalna architektura” itp. = H2
- Powtórzyć proces na wszystkich 8 podstronach
Obrazy – brakujące atrybuty alt Wysoki
Problem
Na samej stronie głównej wykryto 17 obrazów z pustym atrybutem alt="". Brakujące teksty alternatywne to stracona szansa na ranking w Google Images oraz problem z dostępnością (accessibility).
Przykłady z rekomendowanymi poprawkami:
| Plik | Obecny alt | Rekomendowany alt |
|---|---|---|
jakubowa-izba.jpg |
alt="" |
„Jakubowa Izba – restauracja w stylu góralskim” |
jakubowa-4.jpg |
alt="" |
„Wnętrze Jakubowej Izby – nagrody” |
nagroda.jpg |
alt="" |
„Nagroda Poland 100 Best Restaurants” |
ogrod-letni.svg |
alt="" |
Ikona dekoracyjna – OK, ale lepiej: „Ogród letni” |
taras.svg |
alt="" |
Ikona dekoracyjna – OK, ale lepiej: „Taras” |
Obrazy z poprawnym alt (OK)
logo.svg→alt="Jakubowa Izba logo"jakubowa-3.jpg→alt="Jakubowa Izba wnętrza"
Linkowanie wewnętrzne OK
JI_karta_2026.pdf – lepiej byłoby mieć menu jako podstronę HTMLSchema / Structured Data
Obecne dane strukturalne (Yoast SEO) OK
google-site-verification – obecnyBrakujące dane strukturalne Wysoki
Brak schematu Restaurant / LocalBusiness
Dla restauracji to kluczowe dane strukturalne, które pomagają Google wyświetlać wizytówkę w wynikach wyszukiwania, w tym adres, godziny otwarcia, zakres cenowy i typ kuchni.
1. Schema Restaurant – rekomendowany JSON-LD:
{ "@context": "https://schema.org", "@type": "Restaurant", "name": "Jakubowa Izba", "address": { "@type": "PostalAddress", "streetAddress": "Niwa Babicka 91", "addressLocality": "Ryki", "postalCode": "08-500", "addressCountry": "PL" }, "telephone": "+48507181570", "servesCuisine": "Polska", "priceRange": "$$", "menu": "https://jakubowaizba.pl/menu/" }
2. LocalBusiness
Dodać pełny schemat LocalBusiness z adresem, godzinami otwarcia (openingHoursSpecification), numerem telefonu i współrzędnymi GPS.
3. LodgingBusiness
Dla podstrony /pokoje/ – dodać schemat LodgingBusiness z informacjami o pokojach gościnnych.
4. Review / AggregateRating
Jeśli restauracja zbiera opinie – dodać schemat AggregateRating na podstawie ocen z Google lub Tripadvisor.
Implementacja
Schemat Restaurant i LocalBusiness można dodać poprzez Yoast SEO (ustawienia → typ organizacji → restauracja) lub dedykowaną wtyczkę schema markup. JSON-LD należy umieścić w sekcji <head> strony głównej.
Gotowe snippety JSON-LD
Przygotowaliśmy gotowe do wklejenia snippety schema markup dla wszystkich typów danych: Schema Markup – gotowe snippety JSON-LD →
Treść i E-E-A-T
Elementy pozytywne OK
Obszary do poprawy Średni
Wykryte problemy
- Treść nie była aktualizowana od 2021 (
dateModifiedw schema) Średni - Brak bloga / aktualności – zero nowych treści od lat Średni
- Menu jako PDF zamiast HTML – Google nie indeksuje efektywnie PDF Średni
- Brak dedykowanej strony „O nas” (strona główna pełni tę rolę, ale title mówi „O nas”)
- Brak opinii na stronie (wspomniane w Tripadvisor, ale brak embed)
- Informacja o nagrodzie „NAJLEPSZA KARCZMA W POLSCE 2022” – można dodać nowsze osiągnięcia
Rekomendacje
- Założyć sekcję blog/aktualności z regularnymi wpisami (wydarzenia, menu sezonowe, przepisy)
- Stworzyć menu jako podstronę HTML (oprócz wersji PDF do pobrania)
- Embedować opinie z Google Business lub Tripadvisor
- Zaktualizować treści i daty
dateModified
Open Graph / Social
Elementy pozytywne OK
Obszary do poprawy Niski
Problemy
- Wszystkie strony używają tego samego OG image Niski
- Brak
twitter:image(tylkocard,title,description) Niski
Rekomendacja
Przygotować unikalne grafiki OG (1200×630px) dla każdej kluczowej podstrony, szczególnie: Menu, Pokoje, Przyjęcia. Dodać tag twitter:image.
Lokalne SEO
Dane NAP (Name, Address, Phone)
- Nazwa
- Jakubowa Izba
- Adres
- Niwa Babicka 91, 08-500 Ryki (trasa S17 MOP)
- Telefon
- +48 507 181 570
- [email protected]
Obszary do poprawy Wysoki
Problemy
- Brak schematu
LocalBusiness/Restaurant(jak opisano w sekcji 4) Wysoki - Brak informacji o Google Business Profile na stronie Średni
- Brak embedowanej mapy Google Średni
- Brak stron z lokalnymi frazami kluczowymi Średni
Rekomendacje
- Dodać mapę Google na stronie
/kontakt/ - Stworzyć podstrony targetujące lokalne frazy, np. „restauracja Ryki”, „wesela Lubelszczyzna”, „noclegi przy S17”
- Zoptymalizować i uzupełnić profil Google Business
- Dodać widget z opiniami Google na stronie
Audyt automatyczny – Squirrelscan
O narzędziu
Squirrelscan to automat audytowy analizujący strony według 230+ reguł w 17 kategoriach. Poniżej wyniki skanowania surface (100 stron) z dnia 26.02.2026.
Wynik ogólny Health Score
Przeskanowano 100 stron. Znaleziono 55 błędów i 282 ostrzeżenia (938 reguł przeszło pomyślnie). Główne czynniki obniżające wynik: brak danych strukturalnych (0/100), problemy z obrazami (58/100) i wydajnością (67/100).
Wyniki według kategorii
Analytics
Internationalization
Local SEO
Mobile
Social Media
URL Structure
Crawlability
Content
Accessibility
Core SEO
E-E-A-T
Links
Security
Legal Compliance
Performance
Images
Structured Data
Problemy krytyczne (errors)
Core SEO – 2 błędy, 25 ostrzeżeń
| Reguła | Problem | Dotyczy |
|---|---|---|
core/meta-description |
Brakujące lub za krótkie meta description | 7 stron: /funduszeue, /galeria, /kontakt, /polityka-prywatnosci, /praca, /przyjecia (69–115 znaków) |
core/meta-title |
Tytuły za krótkie (21–25 znaków) | 9 stron: /, /biznes, /kontakt, /pokoje, /przyjecia i inne |
core/h1 |
Wiele tagów H1 na stronie (5–11 na stronę) | 11 stron – wszystkie przeskanowane |
Structured Data – 11 błędów
| Reguła | Problem | Dotyczy |
|---|---|---|
schema/json-ld-valid |
Nieprawidłowa składnia JSON-LD: Organization.logo musi być stringiem, nie obiektem |
Wszystkie 11 stron – błąd w globalnym szablonie |
Images – 11 błędów, 45 ostrzeżeń
| Reguła | Problem | Dotyczy |
|---|---|---|
images/image-file-size |
74 obrazy przekraczają 200 KB (do 907 KB!) | logo.svg (225 KB), ji_zespol.jpg (907 KB), plakat EFRR (789 KB) i inne |
images/alt-text |
120 obrazów bez atrybutu alt | Wszystkie strony – w tym FB pixel, zdjęcia, ikony SVG |
images/dimensions |
127 obrazów bez width/height (powoduje CLS) | ue_znak.jpg, logo.svg, jakubowa-izba.jpg i wiele innych |
images/offscreen-lazy |
36 obrazów below-fold bez lazy loading | jakubowa-izba.jpg, jakubowa-3.jpg, ogrod-letni.svg i inne |
Accessibility – 22 błędy, 47 ostrzeżeń
| Reguła | Problem | Dotyczy |
|---|---|---|
a11y/aria-command-name |
Elementy interaktywne bez dostępnych nazw (ARIA) | Linki do Facebook, Instagram, Google, TripAdvisor, Poland Best Restaurants |
a11y/link-text |
Linki bez dostępnego tekstu (puste lub svg-no-name) | 11 linków na każdej stronie (ikony social media) |
a11y/landmark-one-main |
Brak elementu <main> na stronie |
Wszystkie strony – Oxygen Builder nie generuje landmarku main |
a11y/color-contrast |
Potencjalne problemy z kontrastem kolorów | Biały tekst i bardzo jasne kolory na wielu stronach |
Performance – 9 błędów, 91 ostrzeżeń
| Reguła | Problem | Dotyczy |
|---|---|---|
perf/total-byte-weight |
Łączna waga zasobów: 26 826 KB (bardzo ciężka) | Cała witryna |
perf/cls-hints |
132 obrazy bez width/height powodują przesunięcia layoutu (CLS) | Wszystkie strony |
perf/lcp-hints |
Obrazy LCP bez <link rel="preload"> |
logo.svg, ue_znak.jpg |
perf/critical-request-chains |
Łańcuchy blokujących żądań (5+ CSS w head) | fonts.googleapis.com, oxygen.css, block-library, cookie-notice, pojo-accessibility |
perf/inp-hints |
7 blokujących skryptów na każdej stronie | Wszystkie strony |
perf/unminified-js |
2 pliki JS niezminifikowane (jquery.event.move/swipe.js) | ~7.3 KB do zaoszczędzenia |
perf/cache-headers |
Brak nagłówków cache na stronach HTML | Wszystkie strony |
perf/font-loading |
Google Fonts bez preconnect |
Wszystkie strony |
Links – 0 błędów, 37 ostrzeżeń
| Reguła | Problem | Dotyczy |
|---|---|---|
links/redirect-chains |
10 stron z przekierowaniami 301 (brak trailing slash) | /biznes, /kontakt, /pokoje, /przyjecia, /polityka-prywatnosci i inne |
links/anchor-text |
103 linki z pustym anchor text | Ikony social media (FB, IG, Google, TripAdvisor, Poland Best Restaurants) |
links/orphan-pages |
3 strony osierocone (<2 linki wewnętrzne) | /polityka-prywatnosci, /funduszeue, /category/bez-kategorii |
links/invalid-links |
1 nieprawidłowy link: http:// |
Pusty URL http:// występuje na wszystkich stronach |
links/internal-links |
Za dużo linków wewnętrznych (111, maks. 100) | /galeria |
Security – 0 błędów, 15 ostrzeżeń
| Reguła | Problem | Dotyczy |
|---|---|---|
security/csp |
Brak nagłówka Content-Security-Policy | Cała witryna |
security/hsts |
Brak nagłówka Strict-Transport-Security | Cała witryna |
security/x-frame-options |
Brak ochrony przed clickjackingiem | Cała witryna |
security/http-to-https |
11 URL-i HTTP przekierowuje na HTTPS (301) | http://jakubowaizba.pl/* → https://jakubowaizba.pl/* |
Content – 0 błędów, 9 ostrzeżeń
| Reguła | Problem | Dotyczy |
|---|---|---|
content/word-count |
Thin content: za mało słów na stronie (<300) | 9 stron: / (295), /polityka-prywatnosci (201), /biznes (193), /kontakt (209), /pokoje (189) i inne |
E-E-A-T & Legal – 3 ostrzeżenia
| Reguła | Problem | Dotyczy |
|---|---|---|
eeat/about-page |
Brak dedykowanej strony „O nas” | Cała witryna – strona główna pełni rolę „O nas”, ale nie jest rozpoznawana |
eeat/privacy-policy |
Polityka prywatności linkowana z 0% stron | Brak linku w stopce/nawigacji |
legal/privacy-policy |
Brak linku do polityki prywatności na całej witrynie | Cała witryna |
Kategorie bez problemów (100/100)
Analytics, Internationalization, Local SEO, Mobile, Social Media, URL Structure – te obszary są w pełni poprawne i nie wymagają zmian.
Następne kroki
Po wdrożeniu poprawek z planu działań zalecamy ponowne uruchomienie audytu Squirrelscan w trybie full (500 stron) w celu weryfikacji. Docelowy wynik: 85+ (Grade B).
squirrel audit https://jakubowaizba.pl -C full --format llm --refresh
Plan działań (priorytetyzowany)
Interaktywna wersja planu
Otwórz Interaktywny Plan Działań → – checklistę z możliwością odznaczania zadań, śledzenia postępu i eksportu wyników.
Krytyczne — natychmiast
-
1
Naprawić nagłówki H1 – dokładnie 1 H1 na stronę, reszta H2/H3. Dotyczy wszystkich 8 podstron. Slajdy slidera zmienić na
<span>lub<div>. - 2 Zmienić title strony głównej z „O nas - Jakubowa Izba” na „Jakubowa Izba - Restauracja Ryki | Kuchnia polska przy S17”.
- 3 Upewnić się, że Googlebot ma dostęp do sitemap – sprawdzić reguły WAF, przetestować w Google Search Console.
-
4
Usunąć
/category/bez-kategorii/z indeksu (ustawić noindex) i poprawić testowy opis/funduszeue/.
Wysoki priorytet
- 5 Dodać schema Restaurant + LocalBusiness w Yoast SEO lub dedykowanej wtyczce schema.
- 6 Uzupełnić alt text na wszystkich obrazkach – 17+ pustych na samej stronie głównej.
- 7 Usunąć stary tag Universal Analytics (UA-115394387-1) – GA4 (G-JYYRBMHWB2) już działa. UA jest zbędny i ładuje 117 KiB niepotrzebnego JS.
- 8 Zoptymalizować title tags na wszystkich podstronach zgodnie z rekomendacjami z sekcji 3.
-
9
Naprawić CLS (0.39) – dodać atrybuty
widthiheightdo WSZYSTKICH elementów<img>. Core Web Vitals: FAILED z powodu CLS. -
10
Zoptymalizować LCP slidera – dodać
fetchpriority="high"do obrazu slidera, przeskalować nagroda.jpg (1429×1600 → ~160×176 px). LCP lab: 8.6s!
Średni priorytet
-
11
Dodać lazy loading na obrazkach (
loading="lazy"). - 12 Stworzyć menu jako podstronę HTML zamiast / oprócz PDF.
- 13 Dodać unikalne OG images per strona.
- 14 Dodać HSTS header w konfiguracji serwera.
- 15 Usunąć meta generator (WordPress version exposure).
-
16
Dodać preconnect do
fonts.googleapis.comifonts.gstatic.com. Ustawićfont-display: swap. - 17 Odroczyć niekrytyczne JS/CSS – 17 render-blocking zasobów blokuje renderowanie (oszczędność ~240 ms).
Długoterminowe
- 18 Założyć blog / aktualności z regularnymi wpisami (wydarzenia, menu sezonowe, przepisy regionalne).
- 19 Stworzyć podstrony pod lokalne frazy („restauracja Ryki”, „wesela Lubelszczyzna”, „noclegi przy S17”).
- 20 Embedować opinie z Google Business / Tripadvisor na stronie.
- 21 Zaktualizować daty treści i odświeżyć opisy na wszystkich podstronach.
Weryfikacja po wdrożeniu
Po wdrożeniu poprawek z planu działań należy przeprowadzić następujące testy:
- Sprawdzić indeksację: wyszukać
site:jakubowaizba.plw Google - Sprawdzić dostępność sitemap: wejść na
https://jakubowaizba.pl/sitemap_index.xmli zweryfikować w Google Search Console - Przetestować schema: Google Rich Results Test
- Sprawdzić nagłówki H1: po dokładnie 1 na każdej stronie (inspekcja elementów w przeglądarce lub rozszerzenie SEO)
- Sprawdzić PageSpeed Insights score: pagespeed.web.dev
- Zweryfikować GA4: sprawdzić raport „Realtime” w Google Analytics po odwiedzeniu strony
- Sprawdzić Google Search Console po 2-4 tygodniach od wdrożenia – obserwować pokrycie indeksu i błędy
Harmonogram monitoringu
- Tydzień 1-2: Wdrożenie poprawek krytycznych i o wysokim priorytecie (punkty 1-8)
- Tydzień 3-4: Wdrożenie poprawek o średnim priorytecie (punkty 9-14)
- Miesiąc 2-3: Rozpoczęcie działań długoterminowych (punkty 15-18)
- Miesiąc 3: Ponowny przegląd SEO w celu oceny postępów