← Panel klienta

DailyFruits.pl

Raport SEO & Performance — kwiecień 2026

DailyFruits.pl — Raport wewnętrzny

29
Stron HTML
200
Redirectów 301
13
City pages
6
Typów schema

1. Podsumowanie

Strona dailyfruits.pl przeszła kompleksową optymalizację SEO i performance obejmującą 29 stron HTML, 200 redirectów 301, pełne schema markup i 13 dedykowanych city landing pages. Poniżej szczegółowy opis wszystkich działań.

28/29
Stron ze schema JSON-LD (96%)
80
Unikalnych FAQ (pytań + odpowiedzi)
28
URLs w sitemap.xml
~50MB
Usuniętych niepotrzebnych plików

2. SEO techniczny

Redirecty 301 (migracja z WordPress)

Zmapowano 200 redirectów 301 w vercel.json pokrywających pełną strukturę starego serwisu WordPress. Obejmuje to page-sitemap URLs, dated blog URLs (/2023/04/...), warianty z trailing slash i bez, oraz deep links do starych artykułów.

Sitemap.xml + robots.txt

Wygenerowano sitemap.xml z 28 URL-ami pogrupowanymi w sekcje: core pages (4), content pages (3), blog posts (6), city landing pages (13). Dodano lastmod, changefreq i priority. Robots.txt wskazuje na sitemap i zezwala na pełne crawlowanie.

Canonical URLs + meta robots

Każda z 29 stron ma canonical URL, meta robots index/follow, pełny zestaw Open Graph i Twitter Card meta tagów. OG image wskazuje na HORIZONTAL.webp.

Custom 404

Zamiast redirect-all-to-homepage dodano custom 404.html z nawigacją i linkami do kluczowych stron. Zmniejsza bounce rate z nieistniejących URL-i.

HTML semantyczny

Uporządkowano hierarchię nagłówków: jeden H1 per strona, H2 dla sekcji, H3 dla podsekcji. Dodano aria-labels do hamburger menu i przycisków. Formularze mają label + placeholder.

3. Schema markup (structured data)

Wdrożono 6 typów schema JSON-LD na 28 stronach:

LocalBusiness
13 city pages
Service
4 offer pages × 13 miast
OfferCatalog
oferta → 3 sub-services
FAQPage
16 stron × 5 pytań
BreadcrumbList
28 stron
Article
6 wpisów blog

Service schema na stronach ofertowych

Każda z 4 stron ofertowych ma Service schema z: serviceType opisującym usługę (np. "Office Food Delivery", "Event Catering"), listą 13 miast jako areaServed z typem City, oraz provider z pełnymi danymi kontaktowymi BetterWorkplace. Strona /oferta dodatkowo zawiera OfferCatalog z linkami do 3 deep offer pages.

LocalBusiness na city pages

Każda z 13 stron miast ma LocalBusiness schema z addressLocality ustawionym na konkretne miasto, areaServed jako City, oraz parentOrganization linkującą do DailyFruits. To pozwala Google wyświetlać wyniki w local pack.

4. City landing pages (13 miast)

Stworzono 13 dedykowanych stron SEO, każda z unikalnym contentem, zdjęciem, dzielnicami, biurowcami, testimonialem i FAQ:

Warszawa
600+ firm
Kraków
350+ firm
Wrocław
200+ firm
Trójmiasto
180+ firm
Poznań
150+ firm
Łódź
120+ firm
Katowice
100+ firm
Szczecin
80+ firm
Lublin
60+ firm
Bydgoszcz
50+ firm
Rzeszów
45+ firm
Białystok
40+ firm
Kielce
35+ firm

Struktura każdej city page

Hero z unikalnym copy + zdjęcie z Unsplash, offer grid (8 kart z SVG ikonami), sekcja lokalna z dzielnicami i biurowcami, social proof z testimonialem i nazwą firmy (Allegro, Sabre, Nokia...), 3-step "Jak zacząć", FAQ (5 pytań z JSON-LD), CTA z telefonem i formularzem, internal linking do deep offer pages.

Internal linking

City index bar na dole każdej z 28 stron linkuje do wszystkich 13 miast. Każda city page linkuje do 3 deep offer pages (kanapki, catering, programy). Homepage i strony ofertowe linkują do city pages. Pełna dwukierunkowa sieć wewnętrzna.

5. Performance i optymalizacja

Critical rendering path

Usunięto Lenis smooth scroll library (powodował 15s blank screen). Usunięto loader/page transition overlay ze wszystkich stron. Dodano preload hero image z fetchpriority="high" na homepage.

Lazy loading

Wszystkie obrazy poza hero mają loading="lazy". Hero images mają loading="eager" i explicit width/height dla stabilności CLS.

CSS optimization

CSS inline w każdej stronie — zero external render-blocking stylesheets. Zredukowano paddingi sekcji (120px → 80px). Wave dividers zmniejszone (60px → 40px).

Usunięte elementy spowalniające

ElementProblemAkcja
Lenis smooth scroll15s blank screen bugUsunięty
Page transition loaderBlokował renderingUsunięty
Floating CTA badgeDuplikat nav CTAUsunięty
Unused PNG files~50MB bloatuUsunięte
4 filler blog postsThin content, zero SEO valueUsunięte
scroll-behavior: smoothJanky scroll na subpagesUsunięte z 20 stron

6. Content i on-page SEO

Meta tagi

Każda z 29 stron ma unikalny title (do 60 znaków) z keyword + brand, meta description (do 155 znaków) z CTA i lokalizacją, Open Graph title/description/image/url, oraz Twitter Card summary_large_image.

Blog — Article schema

6 wpisów blogowych ma Article JSON-LD z: headline, datePublished, dateModified, author, publisher z logo, oraz image. Rich results z datą i autorem w SERP.

FAQ schema

16 stron ma FAQPage schema (13 city + 3 offer), każda z 5 unikalnymi pytaniami i odpowiedziami. FAQ widoczne na stronie jako accordion i w JSON-LD. 80 unikalnych pytań — podwaja szansę na featured snippet.

Quality fixes

Naprawiono 26 błędów gramatycznych w nagłówkach ("do Warszawie" → "w Warszawie"). Ulepszono testimoniale — dodano nazwy firm (Allegro, Sabre, Nokia, Netguru, Pratt & Whitney). Zamieniono emoji na SVG ikony w offer gridzie dla spójności brandowej.

7. AEO (AI Engine Optimization)

Strona zoptymalizowana pod AI search engines (ChatGPT, Perplexity, Google AI Overview):

Structured data

6 typów schema daje AI modelom jednoznaczne sygnały o typie usługi, lokalizacji i ofercie.

FAQ content

80 unikalnych pytań/odpowiedzi — gotowy materiał do cytowania przez AI.

Entity clarity

"DailyFruits by BetterWorkplace" konsekwentnie jako provider we wszystkich schema.

Local signals

13 miast × dzielnice × biurowce = granularne dane lokalizacyjne.

Service taxonomy

OfferCatalog z 3 sub-services daje AI jasny obraz struktury oferty.

Semantic HTML

Czytelna hierarchia H1→H2→H3, aria-labels, semantic sections.

8. Pełne zestawienie działań

KategoriaDziałanieZakres
SEO techRedirecty 301 z WordPress200 redirectów
SEO techSitemap.xml + robots.txt28 URLs
SEO techCanonical + meta robots29 stron
SEO techCustom 404 page1 strona
SchemaLocalBusiness13 city pages
SchemaService + areaServed4 strony × 13 miast
SchemaOfferCatalogoferta → 3 sub-services
SchemaFAQPage16 stron × 5 pytań
SchemaBreadcrumbList28 stron
SchemaArticle6 wpisów blog
ContentCity landing pages13 stron z unikalnym copy
ContentCity photos (Unsplash)13 hero images
ContentTestimoniale z firmami13 unikalnych (Allegro, Sabre...)
ContentCity index bar28 stron
ContentDeep offer linksKanapki, catering, programy
ContentGramatyka fix26 nagłówków
PerfoKill Lenis smooth scroll29 stron
PerfoKill page loader29 stron
PerfoLazy loading imagesWszystkie img poza hero
PerfoPreload hero imagefetchpriority=high
PerfoCSS inline (zero blocking)29 stron
PerfoKill unused PNGs~50MB
PerfoReduce section padding120px → 80px
PerfoKill scroll-behavior:smooth20 subpages
On-pageMeta titles + descriptions29 unikalnych
On-pageOG + Twitter Cards29 stron
On-pageH1 hierarchy fix1 H1 per strona
On-pageSVG ikony (replace emoji)13 × 8 ikon