Dokumentacja

Napisz tytuł i opis meta

Napisz tytuł i opis meta

Tytuł strony to niebieski link w Google, nazwa karty w przeglądarce i domyślny tekst, gdy ktoś dodaje stronę do zakładek lub ją udostępnia. Opis meta to szary tekst pod linkiem. Razem są reklamą strony w wynikach wyszukiwania: decydują, czy ktoś kliknie Twój wynik, czy następny.

Bez tytułu Google wymyśla go z treści strony. Bez opisu bierze zdanie ze strony, często komunikat o plikach cookie albo menu. Za długi tytuł jest ucinany "…", zwykle tuż przed tym, co było ważne. Lista kontrolna strony sprawdza oba na stronie głównej i na zakładce Lista kontrolna pokazuje, jak wyglądają w Google.

Czego oczekuje lista kontrolna

Pozycja OK Sprawdź Popraw
<title> do 60 znaków dłuższy niż 60 znaków (Google go utnie) brak tytułu
<meta name="description"> od 50 do 160 znaków krótszy niż 50 lub dłuższy niż 160 brak opisu

Google mierzy szerokość w pikselach, nie znaki, więc 60 i 160 to dobra wskazówka, a nie sztywna granica.

Co sprawia, że są dobre

Tytuł: najważniejsze słowa na początku, marka na końcu.

  • Dobrze: Naprawa dachów w Krakowie – Example Roofing (43 znaki)
  • Za długi: Example Roofing Sp. z o.o. | Strona główna | Witamy na naszej stronie, oferujemy naprawy dachów, nowe dachy i rynny (115)
  • Każda strona ma własny: nie Strona główna i nie ten sam tytuł na każdej stronie.

Opis: jedno lub dwa zdania, które odpowiadają na pytanie "dlaczego kliknąć?". Powiedz, co oferuje strona, i coś konkretnego: miejsce, cenę, termin, liczbę.

  • Dobrze: Naprawa dachów i nowe dachy w Krakowie i okolicach. Bezpłatne oględziny w 48 godzin, 10 lat gwarancji na każdą pracę. (117 znaków)
  • Nie: lista słów kluczowych, ten sam opis na każdej stronie ani pierwszy akapit ucięty w połowie zdania.

Uwaga: Google przepisuje tytuły i opisy, gdy uzna, że inny tekst lepiej odpowiada na wyszukiwanie, zwłaszcza opisy. Dobry opis i tak jest tym, który wybiera najczęściej, i tym, który widać, gdy ktoś udostępnia link.

Sprawdź sam

Zamiast example.com wpisz swoją stronę:

curl -sL https://example.com | grep -io '<title>[^<]*</title>'
curl -sL https://example.com | grep -ioE '<meta[^>]+name="?description"?[^>]*>'

Pierwsze wypisuje tytuł, drugie znacznik opisu. Każdy powinien pojawić się raz, z tekstem o długości jak wyżej.

Jak to naprawić

WordPress

WordPress buduje tytuł z nazwy strony i nazwy witryny (Settings → General → Site Title), ale sam nie ma opisu meta. Wtyczka SEO dodaje oba:

  • Yoast SEO: edytuj stronę; w polu Yoast SEO Search appearance pokazuje pola SEO title i Meta description, z podglądem i paskiem długości. Szablony dla całych typów treści są w Yoast SEO → Settings → Content types.
  • Rank Math: edytuj stronę, otwórz panel Rank Math i kliknij Edit Snippet dla Title i Description. Szablony są w Rank Math SEO → Titles & Meta.

Strona główna: jeśli to strona statyczna (Settings → Reading → Your homepage displays → A static page), edytuj tę stronę. Jeśli pokazuje najnowsze wpisy, ustaw tytuł i opis strony głównej w ustawieniach wtyczki (Yoast: Settings → Content types → Homepage; Rank Math: Titles & Meta → Homepage).

Jeśli tytuł pojawia się dwa razy lub motyw wypisuje własny <title>, motyw jest stary: wtyczka potrzebuje motywu obsługującego title-tag. Po zmianie wyczyść pamięć podręczną strony.

Node.js i Next.js

W Next.js App Router ustaw wartość domyślną i szablon w głównym layoucie, a tytuł i opis na każdej stronie:

// app/layout.js
export const metadata = {
    title: { default: 'Example Roofing', template: '%s – Example Roofing' },
    description: 'Naprawa dachów i nowe dachy w Krakowie i okolicach.',
};

// app/services/page.js
export const metadata = {
    title: 'Naprawa dachów w Krakowie',
    description: 'Bezpłatne oględziny w 48 godzin, 10 lat gwarancji na każdą pracę.',
};

Dla stron budowanych z danych zwróć te same pola z generateMetadata. W Pages Router umieść <title> i <meta name="description"> w next/head na każdej stronie.

Laravel

Niech każdy widok ustawia własne wartości, z wartością domyślną w szablonie:

<title>@yield('title', config('app.name'))</title>
@hasSection('description')
    <meta name="description" content="@yield('description')">
@endif
@section('title', 'Naprawa dachów w Krakowie – Example Roofing')
@section('description', 'Bezpłatne oględziny w 48 godzin, 10 lat gwarancji na każdą pracę.')

@hasSection sprawia, że szablon nie wypisze pustego content="" na stronach, które nie mają jeszcze opisu. Z komponentami Blade przekaż te same wartości jako propsy do komponentu layoutu.

Statyczny HTML

W <head> każdej strony:

<title>Naprawa dachów w Krakowie – Example Roofing</title>
<meta name="description" content="Bezpłatne oględziny w 48 godzin, 10 lat gwarancji na każdą pracę.">

Jeden <title> i jeden opis na stronę, każdy inny.

Shopify

  • Strona główna: Online Store → Preferences, Homepage title i Homepage meta description.
  • Produkty, kolekcje, strony, wpisy na blogu: otwórz element, przewiń do Search engine listing i kliknij Edit. Shopify pokazuje podgląd i liczbę znaków.

Gdy pola są puste, Shopify używa nazwy elementu i początku jego opisu.

Wix

W edytorze otwórz ustawienia strony, SEO basics, i wypełnij Title tag oraz Meta description. Dla wielu stron jednego typu (produkty, wpisy na blogu) ustaw wzorzec w ustawieniach SEO w panelu zamiast strona po stronie. Po zmianie opublikuj stronę.

Webflow

Otwórz Pages, kliknij koło zębate obok strony i w SEO settings wypełnij Title tag i Meta description. Na stronach kolekcji CMS możesz wstawić pola z elementu kolekcji, żeby każdy element miał własne. Po zmianie kliknij Publish.

Squarespace

Otwórz Pages, kliknij koło zębate obok strony i na zakładce SEO wypełnij tytuł i opis SEO. Format tytułu dla całej witryny i opis strony głównej są w ustawieniach SEO witryny. Wpisy na blogu i produkty mają te same pola we własnych ustawieniach.

Jeden tytuł na stronę

Lista kontrolna czyta stronę główną, ale te same zasady dotyczą każdej strony, która ma być znaleziona: każda z własnym tytułem i opisem, napisanym dla niej. Powielone tytuły na wielu stronach to jedno z najczęstszych ustaleń w Search Console i najłatwiej ich uniknąć szablonem, który stawia nazwę strony na początku.

Potwierdź poprawkę

Uruchom ponownie oba polecenia curl z sekcji Sprawdź sam, potem otwórz cel w PulseKeeper i kliknij Sprawdź teraz na zakładce Lista kontrolna. Pozycja zmieni się na OK w ciągu kilku minut, a podgląd Google na zakładce pokaże nowy tekst. Samo Google pokaże go po następnej wizycie, co może potrwać kilka dni.