
Restauracje Olsztyn – ranking restauracji tworzony z opinii gości
Zbudowaliśmy serwis Restauracje Olsztyn – niezależny ranking restauracji w Olsztynie oparty na opiniach gości. W bazie znajduje się 287 lokali w granicach miasta: restauracje, pizzerie, kawiarnie, puby i kebaby. O kolejności decyduje średnia ważona z opinii dodanych w serwisie, a miejsca nie można kupić. Realizacja należy do projektów typu portale internetowe z bazą danych, filtrowaniem i własnymi zasadami oceny.
Baza lokali z otwartych danych
Dane lokali i adresy zaimportowaliśmy z OpenStreetMap (ODbL) oraz Overture Maps (CDLA-Permissive 2.0). Import ograniczyliśmy do granic Olsztyna, z pominięciem sieciówek. Wdrożyliśmy wykrywanie duplikatów między źródłami – podobna nazwa w promieniu 150 m nie tworzy powtórzenia. Każdy lokal ma podstronę z adresem, telefonem, stroną WWW, kuchniami, zdjęciem, opisem i mapą. Przygotowaliśmy 31 kategorii kuchni, m.in. pizza, kawiarnia, pub, kebab, polska, regionalna, sushi i włoska.
Opinie gości i ranking
Opinie można dodać bez zakładania konta. Formularz przyjmuje ocenę od 1 do 5 gwiazdek i tekst o długości co najmniej 20 znaków, działa bez JavaScriptu i ma pułapkę na boty. Każda opinia trafia do moderacji, a jeden adres e-mail może ocenić dany lokal raz. Ranking liczymy metodą bayesowską: do ocen doliczamy trzy wirtualne oceny równe średniej całego serwisu. Ocena z Google jest pokazywana informacyjnie i nie wpływa na kolejność.
Opisy i zdjęcia wspomagane AI
Opisy lokali powstały z pomocą OpenAI wyłącznie na podstawie treści strony WWW lokalu i danych adresowych. Tak samo wspieraliśmy opisy kategorii kuchni oraz artykuły na blogu, po redakcji. Zdjęcia pobraliśmy ze stron lokali z podpisem źródła. Lokale bez zdjęcia mają fotografię poglądową z Pexels z jasnym oznaczeniem.
SEO i widoczność w wyszukiwarkach AI
Wdrożyliśmy elementy przydatne pod pozycjonowanie: dane strukturalne JSON-LD Restaurant z AggregateRating na stronach lokali, ItemList dla pierwszej dziesiątki na stronie głównej i stronach kuchni oraz BreadcrumbList. Każda strona ma jeden H1, unikalny tytuł i opis meta w Yoast SEO, a strona główna zawiera FAQ. Dla wyszukiwarek AI generujemy plik /llms.txt z opisem serwisu, listą kategorii i zasadami cytowania.
WordPress i technologia
Serwis działa na WordPressie z własnym motywem pisanym od zera. Restauracja jest własnym typem wpisu, kuchnia taksonomią, a opinia komentarzem z oceną. Użyliśmy zwykłego CSS bez frameworków i bez kroku budowania, JavaScriptu bez bibliotek oraz kroju pisma hostowanego lokalnie. Lista rankingu ma paginację po 24 lokale, działa bez JavaScriptu, a po jego włączeniu doczytuje kolejne strony jako nieskończone przewijanie. Wdrożyliśmy cache HTML w WP Fastest Cache, optymalizację w Autoptimize oraz dostępność: link „Przejdź do treści”, gwiazdki jako pola radio i stany ARIA.
Zakres prac przy tworzeniu serwisu
- przygotowanie architektury serwisu z bazą lokali,
- programowanie własnego motywu WordPress od zera,
- import danych z OpenStreetMap i Overture Maps,
- wdrożenie wykrywania duplikatów i pomijania sieciówek,
- utworzenie typu wpisu dla restauracji i taksonomii kuchni,
- wykonanie podstron lokali oraz 31 podstron kategorii kuchni,
- wdrożenie formularza opinii z moderacją i ochroną przed botami,
- zaprogramowanie rankingu opartego na średniej bayesowskiej,
- dodanie wyszukiwarki, filtrów, paginacji i nieskończonego przewijania,
- wdrożenie danych strukturalnych JSON-LD i ustawień Yoast SEO,
- przygotowanie pliku /llms.txt dla wyszukiwarek AI,
- konfiguracja cache, optymalizacji zasobów i elementów dostępności.