nordabiz/templates/education/google_reviews_guide.html
Maciej Pienczyn 47db6a2b14
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
fix: add Polish diacritics to Google Reviews guide
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:21:00 +01:00

648 lines
23 KiB
HTML

{% extends "base.html" %}
{% block title %}Opinie Google - Poradnik | Norda Biznes Partner{% endblock %}
{% block extra_css %}
<style>
.guide-header {
margin-bottom: var(--spacing-xl);
}
.guide-header h1 {
font-size: var(--font-size-3xl);
color: var(--text-primary);
margin-bottom: var(--spacing-sm);
}
.guide-header .breadcrumb {
color: var(--text-muted);
font-size: var(--font-size-sm);
margin-bottom: var(--spacing-md);
}
.guide-header .breadcrumb a {
color: var(--primary);
text-decoration: none;
}
.guide-header .breadcrumb a:hover {
text-decoration: underline;
}
.guide-layout {
display: grid;
grid-template-columns: 1fr 320px;
gap: var(--spacing-xl);
align-items: start;
}
@media (max-width: 768px) {
.guide-layout {
grid-template-columns: 1fr;
}
}
.guide-content {
background: white;
border-radius: var(--radius-lg);
border: 1px solid var(--border-color);
box-shadow: var(--shadow);
padding: var(--spacing-xl);
}
.guide-content h2 {
font-size: var(--font-size-xl);
color: var(--text-primary);
margin-top: var(--spacing-xl);
margin-bottom: var(--spacing-md);
padding-bottom: var(--spacing-sm);
border-bottom: 2px solid #e5e7eb;
}
.guide-content h2:first-child {
margin-top: 0;
}
.guide-content h3 {
font-size: var(--font-size-lg);
color: var(--text-primary);
margin-top: var(--spacing-lg);
margin-bottom: var(--spacing-sm);
}
.guide-content p {
color: var(--text-secondary);
line-height: 1.7;
margin-bottom: var(--spacing-md);
}
.guide-content ul, .guide-content ol {
color: var(--text-secondary);
line-height: 1.7;
margin-bottom: var(--spacing-md);
padding-left: var(--spacing-lg);
}
.guide-content li {
margin-bottom: var(--spacing-xs);
}
.tip-box {
background: linear-gradient(135deg, #dbeafe 0%, #eff6ff 100%);
border: 1px solid #93c5fd;
border-radius: var(--radius);
padding: var(--spacing-md);
margin: var(--spacing-md) 0;
}
.tip-box strong {
color: #1e40af;
}
.tip-box p {
color: #1e3a5f;
margin-bottom: 0;
}
.warning-box {
background: linear-gradient(135deg, #fef3c7 0%, #fffbeb 100%);
border: 1px solid #fbbf24;
border-radius: var(--radius);
padding: var(--spacing-md);
margin: var(--spacing-md) 0;
}
.warning-box strong {
color: #92400e;
}
.warning-box p {
color: #78350f;
margin-bottom: 0;
}
.example-box {
background: #f0fdf4;
border: 1px solid #86efac;
border-radius: var(--radius);
padding: var(--spacing-md);
margin: var(--spacing-md) 0;
}
.example-box strong {
color: #166534;
}
.example-box p, .example-box em {
color: #15803d;
margin-bottom: 0;
}
.bad-example-box {
background: #fef2f2;
border: 1px solid #fca5a5;
border-radius: var(--radius);
padding: var(--spacing-md);
margin: var(--spacing-md) 0;
}
.bad-example-box strong {
color: #991b1b;
}
.bad-example-box p, .bad-example-box em {
color: #b91c1c;
margin-bottom: 0;
}
/* Sidebar */
.guide-sidebar {
position: sticky;
top: 80px;
}
.company-gbp-card {
background: white;
border-radius: var(--radius-lg);
border: 1px solid var(--border-color);
box-shadow: var(--shadow);
padding: var(--spacing-lg);
margin-bottom: var(--spacing-lg);
}
.company-gbp-card h3 {
font-size: var(--font-size-md);
color: var(--text-primary);
margin-bottom: var(--spacing-md);
display: flex;
align-items: center;
gap: var(--spacing-sm);
}
.gbp-stat {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--spacing-sm) 0;
border-bottom: 1px solid #f3f4f6;
}
.gbp-stat:last-child {
border-bottom: none;
}
.gbp-stat-label {
color: var(--text-muted);
font-size: var(--font-size-sm);
}
.gbp-stat-value {
font-weight: 600;
color: var(--text-primary);
}
.gbp-stars {
color: #f59e0b;
font-size: var(--font-size-lg);
}
.gbp-actions {
margin-top: var(--spacing-md);
display: flex;
flex-direction: column;
gap: var(--spacing-sm);
}
.gbp-action-btn {
display: flex;
align-items: center;
gap: var(--spacing-sm);
padding: 10px var(--spacing-md);
border-radius: var(--radius);
text-decoration: none;
font-size: var(--font-size-sm);
font-weight: 500;
transition: all 0.2s;
}
.gbp-action-btn.primary {
background: #4285f4;
color: white;
}
.gbp-action-btn.primary:hover {
background: #3367d6;
}
.gbp-action-btn.secondary {
background: #f3f4f6;
color: var(--text-primary);
}
.gbp-action-btn.secondary:hover {
background: #e5e7eb;
}
.gbp-action-btn svg {
width: 16px;
height: 16px;
flex-shrink: 0;
}
.toc-card {
background: white;
border-radius: var(--radius-lg);
border: 1px solid var(--border-color);
box-shadow: var(--shadow);
padding: var(--spacing-lg);
}
.toc-card h3 {
font-size: var(--font-size-md);
color: var(--text-primary);
margin-bottom: var(--spacing-md);
}
.toc-card a {
display: block;
color: var(--text-secondary);
text-decoration: none;
font-size: var(--font-size-sm);
padding: 6px 0;
border-bottom: 1px solid #f9fafb;
}
.toc-card a:hover {
color: var(--primary);
}
.no-gbp-card {
background: linear-gradient(135deg, #fef3c7 0%, #fffbeb 100%);
border: 1px solid #fbbf24;
border-radius: var(--radius-lg);
padding: var(--spacing-lg);
margin-bottom: var(--spacing-lg);
}
.no-gbp-card h3 {
color: #92400e;
margin-bottom: var(--spacing-sm);
}
.no-gbp-card p {
color: #78350f;
font-size: var(--font-size-sm);
margin-bottom: 0;
}
.review-checklist {
list-style: none;
padding: 0;
}
.review-checklist li {
padding: var(--spacing-sm) 0;
padding-left: 28px;
position: relative;
}
.review-checklist li::before {
content: '\2713';
position: absolute;
left: 0;
color: #22c55e;
font-weight: 700;
}
</style>
{% endblock %}
{% block content %}
<div class="guide-header">
<div class="breadcrumb">
<a href="{{ url_for('education.education_index') }}">Platforma Edukacyjna</a> &raquo; Opinie Google
</div>
<h1>Opinie Google &mdash; jak budować reputację firmy</h1>
</div>
<div class="guide-layout">
<div class="guide-content">
<h2 id="dlaczego">Dlaczego opinie są ważne?</h2>
<p>
Opinie w Google to jeden z najważniejszych czynników, które wpływają na to, czy potencjalny klient
wybierze Twoją firmę. <strong>93% konsumentów</strong> czyta opinie online przed podjęciem decyzji zakupowej,
a firmy z oceną powyżej 4.0 generują nawet <strong>270% więcej zapytań</strong> niż te z niższą notą.
</p>
<p>
Dla członków Izby Norda Biznes opinie są szczególnie ważne &mdash; budują zaufanie nie tylko wśród klientów
indywidualnych, ale także wśród potencjalnych partnerów biznesowych szukających wykonawców i podwykonawców
w regionie.
</p>
<div class="tip-box">
<strong>Czy wiesz?</strong>
<p>
Google bierze pod uwagę opinie przy ustalaniu pozycji w wynikach wyszukiwania.
Firmy z większą liczbą pozytywnych opinii pojawiają się wyżej w Mapach Google
i w tzw. &bdquo;local pack&rdquo; (3 wyniki z mapą na górze strony wyszukiwania).
</p>
</div>
<h2 id="jak-zbierac">Jak zachęcać klientów do wystawiania opinii?</h2>
<h3>1. Po prostu poproś &mdash; po zakończeniu usługi</h3>
<p>
Najlepszy moment na prośbę o opinię to chwila, gdy klient jest zadowolony z usługi.
Wyślij krótką wiadomość SMS lub e-mail z bezpośrednim linkiem do wystawienia opinii.
</p>
{% if gbp_data and gbp_data.write_review_url %}
<div class="tip-box">
<strong>Twój link do zbierania opinii:</strong>
<p style="margin-top: 8px;">
<a href="{{ gbp_data.write_review_url }}" target="_blank" rel="noopener"
style="color: #2563eb; word-break: break-all;">{{ gbp_data.write_review_url }}</a>
</p>
<p style="margin-top: 8px;">
Skopiuj ten link i wyślij klientom po zakończeniu usługi. Kliknięcie przeniesie ich
bezpośrednio do formularza wystawiania opinii.
</p>
</div>
{% endif %}
<h3>2. Ułatw proces</h3>
<p>
Im mniej kroków, tym więcej opinii. Kilka sprawdzonych sposobów:
</p>
<ul>
<li><strong>Link na stronie www</strong> &mdash; dodaj przycisk &bdquo;Wystaw opinię&rdquo; na swojej stronie</li>
<li><strong>Kod QR</strong> &mdash; wydrukuj kod QR z linkiem i umieść go w recepcji, na paragonie lub wizytówce</li>
<li><strong>Podpis e-mail</strong> &mdash; dodaj link do opinii w stopce swoich maili</li>
<li><strong>Media społecznościowe</strong> &mdash; udostępnij link na Facebooku lub Instagramie</li>
</ul>
<h3>3. Nie kupuj opinii</h3>
<div class="warning-box">
<strong>Uwaga!</strong>
<p>
Google aktywnie wykrywa i usuwa fałszywe opinie. Za kupowanie opinii Twoja wizytówka może zostać
zablokowana lub usunięta z wyników. Opinie powinny pochodzić od prawdziwych klientów, którzy
naprawdę skorzystali z Twoich usług.
</p>
</div>
<h2 id="dobra-opinia">Jak wygląda dobra opinia?</h2>
<p>
Nie każda opinia ma taką samą wartość. Google i potencjalni klienci szczególnie cenią opinie, które:
</p>
<ul class="review-checklist">
<li>Są napisane własnymi słowami (nie skopiowane)</li>
<li>Opisują konkretne doświadczenie (&bdquo;Pan Kowalski naprawił dach w 3 dni&rdquo;)</li>
<li>Zawierają zdjęcia wykonanej pracy lub produktu</li>
<li>Wymieniają imię osoby, która obsługiwała (jeżeli to stosowne)</li>
<li>Są aktualne &mdash; Google premiuje świeższe opinie</li>
</ul>
<div class="example-box">
<strong>Dobry przykład opinii:</strong>
<p style="margin-top: 8px;"><em>
&bdquo;Zleciliśmy firmie XYZ remont dachu na budynku biurowym. Pan Marek i jego ekipa pracowali
sprawnie, dotrzymali terminu i dokładnie posprzątali po zakończeniu pracy. Cena zgodna z ofertą,
bez niespodzianek. Polecam każdemu, kto szuka rzetelnego wykonawcy w regionie.&rdquo;
</em></p>
</div>
<div class="bad-example-box">
<strong>Słaby przykład opinii:</strong>
<p style="margin-top: 8px;"><em>&bdquo;Polecam&rdquo;</em> (zbyt krótka, nie wnosi informacji)</p>
</div>
<h2 id="odpowiadanie">Jak odpowiadać na opinie?</h2>
<p>
Odpowiadanie na opinie to równie ważne jak ich zbieranie. Pokazuje, że cenisz zdanie klientów
i aktywnie zarządzasz swoją reputacją.
</p>
<h3>Odpowiedź na pozytywną opinię</h3>
<ul>
<li>Podziękuj z użyciem imienia klienta</li>
<li>Nawiąż do konkretnego elementu opinii</li>
<li>Zachęć do ponownego skorzystania z usług</li>
</ul>
<div class="example-box">
<strong>Przykład odpowiedzi:</strong>
<p style="margin-top: 8px;"><em>
&bdquo;Dziękuję za miłe słowa, Panie Andrzeju! Cieszę się, że remont dachu przebiegł
sprawnie. W razie potrzeby zapraszamy ponownie. Pozdrawiam &mdash; Marek, XYZ Dachy&rdquo;
</em></p>
</div>
<h3>Odpowiedź na negatywną opinię</h3>
<ul>
<li><strong>Zachowaj spokój</strong> &mdash; nigdy nie odpowiadaj emocjonalnie</li>
<li><strong>Przeproś</strong> za złe doświadczenie (nawet jeżeli się nie zgadzasz)</li>
<li><strong>Zaproponuj rozwiązanie</strong> &mdash; przenieś rozmowę offline (telefon, e-mail)</li>
<li><strong>Odpowiedz szybko</strong> &mdash; najlepiej w ciągu 24-48 godzin</li>
</ul>
<div class="warning-box">
<strong>Czego nie robić:</strong>
<p>
Nie atakuj autora opinii, nie ujawniaj danych osobowych, nie oferuj rabatów za zmianę opinii.
Profesjonalna, spokojna odpowiedź buduje więcej zaufania niż sam fakt negatywnej recenzji.
</p>
</div>
{% if gbp_data and gbp_data.reviews_url %}
<div class="tip-box">
<strong>Sprawdź i odpowiedz na opinie swojej firmy:</strong>
<p style="margin-top: 8px;">
<a href="{{ gbp_data.reviews_url }}" target="_blank" rel="noopener"
style="color: #2563eb;">Przejdź do opinii {{ gbp_data.google_name or gbp_data.company_name }}</a>
</p>
</div>
{% endif %}
<h2 id="zdjecia">Zdjęcia w profilu Google</h2>
<p>
Firmy ze zdjęciami otrzymują <strong>42% więcej zapytań o trasę</strong> w Mapach Google
i <strong>35% więcej kliknięć</strong> w stronę internetową. Warto zadbać o:
</p>
<ul>
<li><strong>Zdjęcie profilowe</strong> &mdash; logo firmy w dobrej jakości</li>
<li><strong>Zdjęcie w tle</strong> &mdash; siedziba, front budynku, zespół</li>
<li><strong>Zdjęcia usług/produktów</strong> &mdash; efekty pracy, realizacje</li>
<li><strong>Zdjęcia wnętrza</strong> &mdash; biuro, zakład, salon (jeżeli przyjmujesz klientów)</li>
</ul>
<div class="tip-box">
<strong>Wskazówka:</strong>
<p>
Regularnie dodawaj nowe zdjęcia (np. raz w miesiącu). Google premiuje aktywne profile.
Klienci też mogą dodawać zdjęcia &mdash; warto ich do tego zachęcać.
</p>
</div>
{% if gbp_data and gbp_data.photos_url %}
<div class="tip-box">
<strong>Zarządzaj zdjęciami swojej firmy:</strong>
<p style="margin-top: 8px;">
<a href="{{ gbp_data.photos_url }}" target="_blank" rel="noopener"
style="color: #2563eb;">Przejdź do zdjęć {{ gbp_data.google_name or gbp_data.company_name }}</a>
</p>
</div>
{% endif %}
<h2 id="local-guide">Program Google Local Guides</h2>
<p>
Google Local Guides to program lojalnościowy Google. Każdy użytkownik Google może zostać
Local Guide &mdash; wystarczy wystawiać opinie, dodawać zdjęcia i uzupełniać informacje o miejscach.
</p>
<p>Za aktywność zbierasz punkty i awansujesz na kolejne poziomy (1-10):</p>
<ul>
<li><strong>Opinia</strong> &mdash; 10 pkt (z tekstem ponad 200 znaków: 20 pkt)</li>
<li><strong>Ocena (same gwiazdki)</strong> &mdash; 1 pkt</li>
<li><strong>Zdjęcie</strong> &mdash; 5 pkt</li>
<li><strong>Film</strong> &mdash; 7 pkt</li>
<li><strong>Odpowiedź na pytanie</strong> &mdash; 3 pkt</li>
</ul>
<div class="tip-box">
<strong>Dlaczego to ważne dla Twojej firmy?</strong>
<p>
Opinie od Local Guides z wyższym poziomem mają większą wiarygodność w algorytmie Google.
Zachęcaj swoich stałych klientów do założenia konta Local Guide &mdash; ich opinie będą ważniejsze.
</p>
</div>
<h2 id="zasady-google">Zasady Google dotyczące opinii</h2>
<p>
Google ma jasne zasady dotyczące tego, jakie opinie są dozwolone. Znajomość tych zasad
pomoże Ci zarówno zbierać opinie legalnie, jak i zgłaszać te fałszywe.
</p>
<h3>Zabronione treści</h3>
<ul>
<li>Spam i fałszywe opinie (kupione, wymuszone, od pracowników)</li>
<li>Treści obraźliwe, nienawistne lub dyskryminujące</li>
<li>Reklamy i promocje w opiniach</li>
<li>Opinie dotyczące konkurencji (a nie miejsca, które się ocenia)</li>
<li>Konflikty interesów (opinie od właścicieli i pracowników)</li>
</ul>
<h3>Jak zgłosić fałszywą opinię?</h3>
<ol>
<li>Wejdź na swój profil firmy w Google</li>
<li>Znajdź opinię, którą chcesz zgłosić</li>
<li>Kliknij trzy kropki (&hellip;) obok opinii</li>
<li>Wybierz &bdquo;Zgłoś jako nieodpowiednią&rdquo;</li>
<li>Wypełnij formularz zgłoszenia</li>
</ol>
<p>
Google rozpatruje zgłoszenia w ciągu kilku dni. Nie wszystkie zgłoszenia skutkują usunięciem
&mdash; Google usunie opinię tylko jeżeli naruszy zasady.
</p>
<h2 id="podsumowanie">Podsumowanie &mdash; plan działania</h2>
<ol>
<li>Sprawdź swój profil firmy w Google (link w panelu po prawej)</li>
<li>Odpowiedz na wszystkie opinie, na które jeszcze nie odpowiedziałeś</li>
<li>Dodaj aktualne zdjęcia firmy, usług i realizacji</li>
<li>Przygotuj link do wystawiania opinii i zacznij go wysyłać klientom</li>
<li>Wyznacz osobę odpowiedzialną za monitorowanie opinii (np. raz w tygodniu)</li>
</ol>
</div>
<div class="guide-sidebar">
{% if gbp_data %}
<div class="company-gbp-card">
<h3>
<svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" style="color: #4285f4;">
<path d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"/>
<path d="M15 11a3 3 0 11-6 0 3 3 0 016 0z"/>
</svg>
{{ gbp_data.google_name or gbp_data.company_name }}
</h3>
{% if gbp_data.rating %}
<div class="gbp-stat">
<span class="gbp-stat-label">Ocena</span>
<span class="gbp-stat-value">
<span class="gbp-stars">{{ '★' * (gbp_data.rating | int) }}{{ '☆' * (5 - gbp_data.rating | int) }}</span>
{{ gbp_data.rating }}
</span>
</div>
{% endif %}
<div class="gbp-stat">
<span class="gbp-stat-label">Liczba opinii</span>
<span class="gbp-stat-value">{{ gbp_data.reviews_count }}</span>
</div>
<div class="gbp-stat">
<span class="gbp-stat-label">Zdjęcia</span>
<span class="gbp-stat-value">{{ gbp_data.photos_count }}</span>
</div>
<div class="gbp-actions">
{% if gbp_data.write_review_url %}
<a href="{{ gbp_data.write_review_url }}" target="_blank" rel="noopener" class="gbp-action-btn primary">
<svg fill="currentColor" viewBox="0 0 24 24"><path d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/></svg>
Wystaw opinię
</a>
{% endif %}
{% if gbp_data.place_url %}
<a href="{{ gbp_data.place_url }}" target="_blank" rel="noopener" class="gbp-action-btn secondary">
<svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"/></svg>
Zobacz profil w Google
</a>
{% endif %}
{% if gbp_data.reviews_url %}
<a href="{{ gbp_data.reviews_url }}" target="_blank" rel="noopener" class="gbp-action-btn secondary">
<svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"/></svg>
Przeczytaj opinie
</a>
{% endif %}
{% if gbp_data.google_maps_url %}
<a href="{{ gbp_data.google_maps_url }}" target="_blank" rel="noopener" class="gbp-action-btn secondary">
<svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l5.447 2.724A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7"/></svg>
Otwórz w Mapach
</a>
{% endif %}
</div>
</div>
{% else %}
<div class="no-gbp-card">
<h3>Brak danych z Google</h3>
<p>
{% if company %}
Nie znaleźliśmy wizytówki Google Business Profile dla firmy {{ company.name }}.
Jeżeli Twoja firma ma profil w Google, skontaktuj się z administratorem portalu.
{% else %}
Nie jesteś przypisany do żadnej firmy. Skontaktuj się z administratorem portalu,
aby przypisać Ci firmę.
{% endif %}
</p>
</div>
{% endif %}
<div class="toc-card">
<h3>Spis treści</h3>
<a href="#dlaczego">Dlaczego opinie są ważne?</a>
<a href="#jak-zbierac">Jak zachęcać do opinii?</a>
<a href="#dobra-opinia">Jak wygląda dobra opinia?</a>
<a href="#odpowiadanie">Jak odpowiadać na opinie?</a>
<a href="#zdjecia">Zdjęcia w profilu Google</a>
<a href="#local-guide">Program Local Guides</a>
<a href="#zasady-google">Zasady Google</a>
<a href="#podsumowanie">Plan działania</a>
</div>
</div>
</div>
{% endblock %}