{% extends "base.html" %} {% block title %}{{ company.name }} - Norda Biznes Hub{% endblock %} {% block extra_css %} {% endblock %} {% block content %} Powrót do katalogu
{{ company.name }}
{% if company.category %} {{ company.category.name }} {% endif %} {% if quality_data %} ✓ Zweryfikowano {{ quality_data.verification_count }}x | Jakość: {{ quality_data.quality_score }}% {% else %} ⏳ Niezweryfikowana {% endif %}

{{ company.name }}

{% if company.description_short %}

{{ company.description_short }}

{% endif %}
{% set sm_bar = {} %} {% if social_media %} {% for sm in social_media %} {% if sm.is_valid != false %} {% set _ = sm_bar.update({sm.platform: sm}) %} {% endif %} {% endfor %} {% endif %}
{% if company.website %} WWW {% else %} Brak WWW {% endif %} {% if company.email %} Email {% else %} Brak email {% endif %} {% if company.phone %} Telefon {% else %} Brak telefonu {% endif %} {% if company.address_city %} {{ company.address_city }} {% else %} Brak lokalizacji {% endif %} {% if sm_bar.get('facebook') %} Facebook {% endif %} {% if sm_bar.get('instagram') %} Instagram {% endif %} {% if sm_bar.get('linkedin') %} LinkedIn {% endif %} {% if sm_bar.get('youtube') %} YouTube {% endif %} {% if sm_bar.get('twitter') %} X {% endif %} {% if sm_bar.get('tiktok') %} TikTok {% endif %} {# GBP Audit link - visible to admins (all profiles) or regular users (own company only) #} {% if current_user.is_authenticated %} {% if current_user.is_admin or (current_user.company_id and current_user.company_id == company.id) %} Audyt GBP {% endif %} {% endif %} {# SEO Audit link - visible to admins (all profiles) or regular users (own company only) #} {% if current_user.is_authenticated %} {% if current_user.is_admin or (current_user.company_id and current_user.company_id == company.id) %} Audyt SEO {% endif %} {% endif %} {# Social Media Audit link - visible to admins (all profiles) or regular users (own company only) #} {% if current_user.is_authenticated %} {% if current_user.is_admin or (current_user.company_id and current_user.company_id == company.id) %} Audyt Social {% endif %} {% endif %} {# IT Infrastructure Audit link - visible to admins (all profiles) or regular users (own company only) #} {% if current_user.is_authenticated %} {% if current_user.is_admin or (current_user.company_id and current_user.company_id == company.id) %} Audyt IT {% endif %} {% endif %}
{% set about_description = company.description_full or (ai_insights.business_summary if ai_insights else none) or (website_analysis.content_summary if website_analysis else none) %} {% if about_description %}

O firmie

{{ about_description }}
{% endif %} {# Collect all services from all sources #} {% set all_services = [] %} {% if website_analysis and website_analysis.services_extracted %} {% for s in website_analysis.services_extracted %}{% set _ = all_services.append(s) %}{% endfor %} {% endif %} {% if ai_insights and ai_insights.services_list %} {% for s in ai_insights.services_list %} {% if s not in all_services %}{% set _ = all_services.append(s) %}{% endif %} {% endfor %} {% endif %} {# Add keywords/tags #} {% set all_keywords = [] %} {% if website_analysis and website_analysis.main_keywords %} {% for t in website_analysis.main_keywords %}{% set _ = all_keywords.append(t) %}{% endfor %} {% endif %} {% if ai_insights and ai_insights.industry_tags %} {% for t in ai_insights.industry_tags %} {% if t not in all_keywords %}{% set _ = all_keywords.append(t) %}{% endif %} {% endfor %} {% endif %} {% if all_services or all_keywords or company.services or company.competencies %}

Usługi i kompetencje

{# Services from AI/website analysis #} {% if all_services %}

Oferta

{% for service in all_services %} {{ service }} {% endfor %}
{% endif %} {# Company services from database #} {% if company.services %}

Usługi

{% for cs in company.services %} {% if cs.service %} {{ cs.service.name }} {% endif %} {% endfor %}
{% endif %} {# Company competencies from database #} {% if company.competencies %}

Kompetencje

{% for cc in company.competencies %} {% if cc.competency %} {{ cc.competency.name }} {% endif %} {% endfor %}
{% endif %} {# Keywords/tags #} {% if all_keywords %}

Słowa kluczowe

{% for tag in all_keywords %} {{ tag }} {% endfor %}
{% endif %}
{% endif %} {% if website_analysis or ai_insights %} {# Category & Target Market Cards Grid #} {% if ai_insights and (ai_insights.target_market or ai_insights.suggested_category) %}
{% if ai_insights.suggested_category %}
Kategoria
{{ ai_insights.suggested_category }}
{% if ai_insights.category_confidence %}
Pewność: {{ (ai_insights.category_confidence * 100)|round(1) }}%
{% endif %}
{% endif %} {% if ai_insights.target_market %}
Rynek docelowy
{{ ai_insights.target_market }}
{% endif %}
{% endif %} {# Wyróżniki - Combined USPs and Values #} {% if ai_insights and (ai_insights.unique_selling_points or ai_insights.company_values) %}

Wyróżniki

{# Unique Selling Points #} {% if ai_insights.unique_selling_points %}
{% for usp in ai_insights.unique_selling_points %}
{{ usp }}
{% endfor %}
{% endif %} {# Company Values as tags #} {% if ai_insights.company_values %}
Wartości
{% for value in ai_insights.company_values %} {{ value }} {% endfor %}
{% endif %}
{% endif %} {# Certifications Card #} {% if ai_insights and ai_insights.certifications %}

Certyfikaty i uprawnienia

{% for cert in ai_insights.certifications %} 🏆 {{ cert }} {% endfor %}
{% endif %} {# Data source info card #} {% if website_content or ai_insights %}
{% if website_content and website_content.url %}
Źródło: {{ website_content.url|replace('https://', '')|replace('http://', '') }}
{% endif %} {% if website_content and website_content.scraped_at %}
Analiza: {{ website_content.scraped_at.strftime('%d.%m.%Y') }}
{% endif %} {% if ai_insights and ai_insights.ai_confidence_score %}
Pewność AI: {{ (ai_insights.ai_confidence_score * 100)|round(1) }}%
{% endif %}
{% endif %} {% endif %}

Dane kontaktowe

{% set source_names = {'website': 'Strona WWW', 'krs': 'Rejestr KRS', 'google_business': 'Google Business', 'facebook': 'Facebook', 'manual': 'Wprowadzono ręcznie', 'brave_search': 'Wyszukiwarka', 'ceidg': 'CEIDG', 'norda_biznes': 'Norda Biznes', 'website_scrape': 'Strona WWW (auto)'} %} {% set source_colors = {'website': '#3b82f6', 'krs': '#10b981', 'google_business': '#f59e0b', 'facebook': '#1877f2', 'manual': '#6366f1', 'brave_search': '#ef4444', 'ceidg': '#10b981', 'norda_biznes': '#667eea', 'website_scrape': '#06b6d4'} %} {# Collect all known phones for deduplication #} {% set known_phones = [] %} {% set phones_from_contacts = contacts|selectattr('contact_type', 'equalto', 'phone')|list if contacts else [] %} {% for c in phones_from_contacts %}{% set _ = known_phones.append(c.value|replace(' ', '')|replace('+48', '')|replace('-', '')) %}{% endfor %} {% if company.phone %}{% set _ = known_phones.append(company.phone|replace(' ', '')|replace('+48', '')|replace('-', '')) %}{% endif %} {# Collect all known emails for deduplication #} {% set known_emails = [] %} {% set emails_from_contacts = contacts|selectattr('contact_type', 'equalto', 'email')|list if contacts else [] %} {% for c in emails_from_contacts %}{% set _ = known_emails.append(c.value|lower) %}{% endfor %} {% if company.email %}{% set _ = known_emails.append(company.email|lower) %}{% endif %}
{% set phones = contacts|selectattr('contact_type', 'equalto', 'phone')|list if contacts else [] %} {% if phones %} {% for contact in phones %}
Telefon{% if contact.purpose %} - {{ contact.purpose }}{% endif %}
{{ contact.value }}
{% if contact.is_primary %} GŁÓWNY {% endif %}
{% if contact.source %}
Źródło: {{ source_names.get(contact.source, contact.source) }} {% if contact.source_date %} ({{ contact.source_date.strftime('%d.%m.%Y') }}) {% endif %}
{% endif %}
{% endfor %} {% endif %} {% if website_content and website_content.phone_numbers %} {% for phone in website_content.phone_numbers %} {% set phone_normalized = phone|replace(' ', '')|replace('+48', '')|replace('-', '') %} {% if phone_normalized not in known_phones %}
Telefon
{{ phone }}
Źródło: Strona WWW (auto) {% if website_content.scraped_at %} ({{ website_content.scraped_at.strftime('%d.%m.%Y') }}) {% endif %}
{% endif %} {% endfor %} {% endif %} {% if company.phone %} {% set phone_normalized = company.phone|replace(' ', '')|replace('+48', '')|replace('-', '') %} {% set phone_in_contacts = phones_from_contacts|selectattr('value', 'search', phone_normalized)|list|length > 0 if phones_from_contacts else false %} {% if not phone_in_contacts %}
Telefon
{{ company.phone }}
GŁÓWNY
Źródło: Dane firmy
{% endif %} {% endif %} {% set emails = contacts|selectattr('contact_type', 'equalto', 'email')|list if contacts else [] %} {% if emails %} {% for contact in emails %}
Email{% if contact.purpose %} - {{ contact.purpose }}{% endif %}
{{ contact.value }}
{% if contact.is_primary %} GŁÓWNY {% endif %}
{% if contact.source %}
Źródło: {{ source_names.get(contact.source, contact.source) }} {% if contact.source_date %} ({{ contact.source_date.strftime('%d.%m.%Y') }}) {% endif %}
{% endif %}
{% endfor %} {% endif %} {% if website_content and website_content.email_addresses %} {% for email in website_content.email_addresses %} {% if email|lower not in known_emails %}
Email
{{ email }}
Źródło: Strona WWW (auto) {% if website_content.scraped_at %} ({{ website_content.scraped_at.strftime('%d.%m.%Y') }}) {% endif %}
{% endif %} {% endfor %} {% endif %} {% if company.email %} {% set email_in_contacts = emails_from_contacts|selectattr('value', 'equalto', company.email)|list|length > 0 if emails_from_contacts else false %} {% if not email_in_contacts %}
Email
{{ company.email }}
GŁÓWNY
Źródło: Dane firmy
{% endif %} {% endif %} {% if company.address_full or company.address_street %}
Adres siedziby
{% if company.address_full %} {{ company.address_full }} {% else %} {{ company.address_street }}, {{ company.address_postal }} {{ company.address_city }} {% endif %}
Źródło: Rejestr KRS
{% endif %}

Informacje prawne i biznesowe

{% if company.legal_name %}
Pełna nazwa prawna
{{ company.legal_name }}
Źródło: Rejestr KRS
{% endif %} {# Determine legal form from database or infer from name/KRS #} {% set legal_form = company.legal_form %} {% if not legal_form %} {% if 'sp. z o.o' in company.name|lower or 'spółka z ograniczoną odpowiedzialnością' in company.name|lower %} {% set legal_form = 'Spółka z ograniczoną odpowiedzialnością (sp. z o.o.)' %} {% elif 's.a.' in company.name|lower or 'spółka akcyjna' in company.name|lower %} {% set legal_form = 'Spółka akcyjna (S.A.)' %} {% elif 'sp.j.' in company.name|lower or 'spółka jawna' in company.name|lower %} {% set legal_form = 'Spółka jawna (sp.j.)' %} {% elif 'sp.k.' in company.name|lower or 'spółka komandytowa' in company.name|lower %} {% set legal_form = 'Spółka komandytowa (sp.k.)' %} {% elif 'sp.p.' in company.name|lower or 'spółka partnerska' in company.name|lower %} {% set legal_form = 'Spółka partnerska (sp.p.)' %} {% elif company.krs %} {% set legal_form = 'Spółka prawa handlowego' %} {% else %} {% set legal_form = 'Jednoosobowa działalność gospodarcza (JDG)' %} {% endif %} {% endif %}
Forma prawna
{{ legal_form }}
{% if company.legal_form %} Źródło: Dane zweryfikowane {% elif company.krs %} Źródło: Ustalono z KRS/nazwy {% else %} Źródło: Ustalono automatycznie {% endif %}
{% if company.nip %}
NIP
{{ company.nip[:3] }}-{{ company.nip[3:6] }}-{{ company.nip[6:8] }}-{{ company.nip[8:] }}
Źródło: Rejestr KRS
{% endif %} {% if company.regon %}
REGON
{{ company.regon }}
Źródło: GUS REGON
{% endif %} {% if company.krs %}
KRS
{{ company.krs }}
Sprawdź w rejestr.io
Źródło: Krajowy Rejestr Sądowy
{% else %}
Szukaj w rejestrach
Firma bez KRS - wyszukaj po NIP
Szukaj w rejestr.io
{% endif %} {% if company.year_established %}
Rok założenia
{{ company.year_established }}
{{ 2025 - company.year_established }} lat na rynku
Źródło: Rejestr KRS
{% endif %} {% if company.employees_count or company.employee_count_range %}
Liczba pracowników
{% if company.employees_count %}{{ company.employees_count }}{% else %}{{ company.employee_count_range }}{% endif %}
Źródło: Dane deklarowane
{% endif %} {% if company.capital_amount %}
Kapitał zakładowy
{{ '{:,.2f}'.format(company.capital_amount).replace(',', ' ') }} PLN
Źródło: Rejestr KRS
{% endif %}
{% if people %}

Zarząd i Wspólnicy

{% set role_colors = {'zarzad': '#e74c3c', 'wspolnik': '#2ecc71', 'prokurent': '#f39c12', 'wlasciciel_jdg': '#9b59b6'} %} {% set role_icons = {'zarzad': 'briefcase', 'wspolnik': 'users', 'prokurent': 'file-signature', 'wlasciciel_jdg': 'user-tie'} %} {% set role_names = {'zarzad': 'Zarząd', 'wspolnik': 'Wspólnicy', 'prokurent': 'Prokurenci', 'wlasciciel_jdg': 'Właściciel JDG'} %} {# Group people by role_category #} {% set grouped = {} %} {% for cp in people %} {% if cp.role_category not in grouped %} {% set _ = grouped.update({cp.role_category: []}) %} {% endif %} {% set _ = grouped[cp.role_category].append(cp) %} {% endfor %}
{% for category in ['zarzad', 'wspolnik', 'prokurent', 'wlasciciel_jdg'] %} {% if category in grouped %}

{% if category == 'zarzad' %} {% elif category == 'wspolnik' %} {% elif category == 'prokurent' %} {% else %} {% endif %} {{ role_names[category] }}

{% for cp in grouped[category] %}
{{ cp.person.imiona }} {{ cp.person.nazwisko }}
{{ cp.role }} {% if cp.shares_percent %} {{ '{:.2f}'.format(cp.shares_percent) }}% udziałów {% endif %}
{% endfor %} {# Source attribution for this category #} {% set first_cp = grouped[category][0] %} {% if first_cp.source %}
Źródło: {% if 'ekrs' in first_cp.source %}ekrs.ms.gov.pl (KRS){% elif 'dane.biznes' in first_cp.source %}dane.biznes.gov.pl (CEIDG){% else %}{{ first_cp.source }}{% endif %} {% if first_cp.fetched_at %} · Pobrano: {{ first_cp.fetched_at.strftime('%Y-%m-%d') }} {% endif %}
{% endif %}
{% endif %} {% endfor %}
{% endif %}

Social Media

{% set platforms = ['facebook', 'instagram', 'youtube', 'linkedin', 'tiktok', 'twitter'] %} {% set platform_names = {'facebook': 'Facebook', 'instagram': 'Instagram', 'youtube': 'YouTube', 'linkedin': 'LinkedIn', 'tiktok': 'TikTok', 'twitter': 'X (Twitter)'} %} {% set platform_colors = {'facebook': '#1877f2', 'instagram': '#E4405F', 'youtube': '#ff0000', 'linkedin': '#0a66c2', 'tiktok': '#000000', 'twitter': '#000000'} %} {% set sm_dict = {} %} {% if social_media %} {% for sm in social_media %} {% set _ = sm_dict.update({sm.platform: sm}) %} {% endfor %} {% endif %}
{% for platform in platforms %} {% set sm = sm_dict.get(platform) %}
{% if platform == 'facebook' %} {% elif platform == 'instagram' %} {% elif platform == 'youtube' %} {% elif platform == 'linkedin' %} {% elif platform == 'tiktok' %} {% elif platform == 'twitter' %} {% endif %}
{{ platform_names[platform] }}
{% if sm %}
Aktywny profil
{% else %}
Brak profilu
{% endif %}
{% if sm %}
{% if sm.page_name %}
Nazwa profilu:
{{ sm.page_name }}
{% endif %}
Link:
{% if sm.followers_count %}
{{ sm.followers_count|default(0) }}
{% if platform == 'youtube' %}Subskrybentów{% else %}Obserwujących{% endif %}
{% if sm.total_posts %}
{{ sm.total_posts }}
{% if platform == 'youtube' %}Filmów{% else %}Postów{% endif %}
{% endif %}
{% endif %}
Odwiedź profil {% else %}
Firma nie posiada profilu na {{ platform_names[platform] }}
{% endif %}
{% endfor %}

⭐ REKOMENDACJE {% if recommendations %}({{ recommendations|length }} rekomendacji){% endif %}

{% if current_user.is_authenticated %}
Dodaj rekomendację
{% endif %} {% if recommendations %}
{% for rec in recommendations %}
{{ rec.user.first_name[0] if rec.user.first_name else rec.user.email[0].upper() }}
{{ rec.user.first_name }} {{ rec.user.last_name }}
{% if rec.user.company %} {{ rec.user.company.name }} {% endif %}
{{ rec.created_at.strftime('%d.%m.%Y') }}
{% if rec.service_category %}
{{ rec.service_category }}
{% endif %}
{{ rec.recommendation_text }}
{% if rec.show_contact %}
Kontakt z rekomendującym:
{% if rec.user.email %} {% endif %} {% if rec.user.phone %} {% endif %}
{% endif %} {% if current_user.is_authenticated and current_user.id == rec.user_id %}
{% endif %}
{% endfor %}
{% else %}
Brak rekomendacji. Bądź pierwszy!
{% if current_user.is_authenticated %} Dodaj pierwszą rekomendację {% endif %}
{% endif %}
{% if company.website and website_analysis %}

Strona WWW

Adres strony
{{ company.website|replace('https://', '')|replace('http://', '')|replace('www.', '') }}
Odwiedź stronę
Certyfikat SSL
{% if website_analysis.has_ssl %}
Aktywny
{% else %}
Brak
{% endif %}
{% if website_analysis.has_ssl %}
{% if website_analysis.ssl_issuer %}
Wystawca: {{ website_analysis.ssl_issuer }}
{% endif %} {% if website_analysis.ssl_expires_at %}
Ważny do {{ website_analysis.ssl_expires_at.strftime('%d.%m.%Y') }}
{% endif %}
{% endif %}
Wersja mobilna
{% if website_analysis.is_mobile_friendly %}
Responsywna
{% else %}
Brak
{% endif %}
Czas ładowania
{% if website_analysis.load_time_ms %}
{{ (website_analysis.load_time_ms / 1000)|round(2) }}s
{% else %}
Brak danych
{% endif %}
{% if website_analysis.load_time_ms %}
{% if website_analysis.load_time_ms < 500 %} Doskonały - błyskawicznie {% elif website_analysis.load_time_ms < 1000 %} Bardzo dobry - poniżej 1s {% elif website_analysis.load_time_ms < 2000 %} Dobry - akceptowalny {% elif website_analysis.load_time_ms < 3000 %} Przeciętny - do poprawy {% elif website_analysis.load_time_ms < 4000 %} Wolny - wymaga optymalizacji {% else %} Bardzo wolny - krytyczny {% endif %}
{% endif %}
Technologia / CMS
{% if website_analysis.cms_detected %}
{{ website_analysis.cms_detected }}
{% else %}
Nieznany
{% endif %}
Hosting
{% if website_analysis.hosting_provider %}
{{ website_analysis.hosting_provider }}
{% else %}
Nieznany
{% endif %}
Serwer
{% if website_analysis.server_software %}
{{ website_analysis.server_software }}
{% else %}
Nieznany
{% endif %}
Wykonawca strony
{% if website_analysis.site_author %}
{{ website_analysis.site_author }}
{% else %}
Nieznany
{% endif %}
{% if website_analysis.site_author %} {# Extract domain from site_author - look for word containing .pl/.com/.eu #} {% set author_text = website_analysis.site_author %} {% set extracted_domain = namespace(value='') %} {% for word in author_text.replace('/', ' ').replace('–', ' ').replace('-', ' ').replace(',', ' ').split() %} {% set word_lower = word|lower|trim %} {% if extracted_domain.value == '' and (word_lower.endswith('.pl') or word_lower.endswith('.com') or word_lower.endswith('.eu') or word_lower.endswith('.net') or word_lower.endswith('.org')) %} {% set extracted_domain.value = word_lower %} {% endif %} {% endfor %} {% if extracted_domain.value %} {% set author_url = 'https://' ~ extracted_domain.value %} Odwiedź {% endif %} {% endif %}
{% if website_analysis.google_rating %}
Ocena Google
{{ website_analysis.google_rating }}/5 {% if website_analysis.google_reviews_count %}({{ website_analysis.google_reviews_count }} opinii){% endif %}
{% endif %}
{% if website_analysis.has_blog or website_analysis.has_portfolio or website_analysis.has_contact_form or website_analysis.has_live_chat or website_analysis.has_google_analytics %}

Funkcje strony

{% if website_analysis.has_blog %} Blog {% endif %} {% if website_analysis.has_portfolio %} Portfolio {% endif %} {% if website_analysis.has_contact_form %} Formularz kontaktowy {% endif %} {% if website_analysis.has_live_chat %} Live Chat {% endif %} {% if website_analysis.has_google_analytics %} Google Analytics {% endif %}
{% endif %} {% if website_analysis.last_modified_at %}
Ostatnia modyfikacja: {{ website_analysis.last_modified_at.strftime('%d.%m.%Y %H:%M') }}
{% endif %}
{% elif company.website %}

Strona WWW

Adres strony
{{ company.website|replace('https://', '')|replace('http://', '')|replace('www.', '') }}
Odwiedź stronę
{% else %}

Strona WWW

Brak strony internetowej
Ta firma nie posiada jeszcze strony internetowej lub jej adres nie jest znany. {% if company.phone or company.email %} Skontaktuj się bezpośrednio używając danych kontaktowych podanych powyżej. {% endif %}
Jeśli znasz adres strony tej firmy, poinformuj nas przez formularz kontaktowy.
{% endif %} {% if website_analysis and website_analysis.seo_audited_at %}

Analiza SEO ({{ website_analysis.seo_audited_at.strftime('%d.%m.%Y') }})

{% set overall_score = website_analysis.seo_overall_score or website_analysis.pagespeed_seo_score %} {% if overall_score is not none %}
{{ overall_score }}
{% if overall_score >= 90 %}Doskonały wynik SEO{% elif overall_score >= 75 %}Dobry wynik SEO{% elif overall_score >= 50 %}Przeciętny wynik SEO{% else %}Wynik SEO wymaga poprawy{% endif %}
{% if overall_score >= 90 %}Strona jest bardzo dobrze zoptymalizowana pod kątem wyszukiwarek{% elif overall_score >= 75 %}Strona jest dobrze zoptymalizowana, ale jest miejsce na ulepszenia{% elif overall_score >= 50 %}Strona wymaga optymalizacji w kilku obszarach{% else %}Strona wymaga znacznej optymalizacji SEO{% endif %}
{% endif %}
{% if website_analysis.pagespeed_seo_score is not none %}{{ website_analysis.pagespeed_seo_score }}{% else %}-{% endif %}
SEO
{% if website_analysis.pagespeed_performance_score is not none %}{{ website_analysis.pagespeed_performance_score }}{% else %}-{% endif %}
Wydajność
{% if website_analysis.pagespeed_accessibility_score is not none %}{{ website_analysis.pagespeed_accessibility_score }}{% else %}-{% endif %}
Dostępność
{% if website_analysis.pagespeed_best_practices_score is not none %}{{ website_analysis.pagespeed_best_practices_score }}{% else %}-{% endif %}
Best Practices

SEO On-Page

Meta Title {% if website_analysis.meta_title %} OK {% else %} Brak {% endif %}
Meta Description {% if website_analysis.meta_description %} OK {% else %} Brak {% endif %}
Nagłówki H1 {% if website_analysis.h1_count is not none %} {{ website_analysis.h1_count }}{% if website_analysis.h1_count == 1 %} (OK){% elif website_analysis.h1_count == 0 %} (Brak){% else %} (Za dużo){% endif %} {% else %} - {% endif %}
Obrazy bez Alt {% if website_analysis.images_without_alt is not none %} {{ website_analysis.images_without_alt }}{% if website_analysis.images_without_alt == 0 %} (OK){% endif %} {% else %} - {% endif %}
Linki wewnętrzne {% if website_analysis.internal_links_count is not none %} {{ website_analysis.internal_links_count }} {% else %} - {% endif %}
Linki zewnętrzne {% if website_analysis.external_links_count is not none %} {{ website_analysis.external_links_count }} {% else %} - {% endif %}

SEO Techniczny

Canonical URL {% if website_analysis.has_canonical %} OK {% else %} Brak {% endif %}
Indeksowanie {% if website_analysis.is_indexable or website_analysis.is_indexable is none %} Dozwolone {% else %} Zablokowane {% endif %}
Dane strukturalne {% if website_analysis.has_structured_data %} OK {% else %} Brak {% endif %}
Open Graph {% if website_analysis.has_og_tags %} OK {% else %} Brak {% endif %}
Viewport (mobile) {% if website_analysis.viewport_configured %} OK {% else %} Brak {% endif %}
Język strony {% if website_analysis.html_lang %} {{ website_analysis.html_lang }} {% else %} Brak {% endif %}
{% if website_analysis.largest_contentful_paint_ms or website_analysis.cumulative_layout_shift is not none %}

Core Web Vitals

LCP
{% if website_analysis.largest_contentful_paint_ms is not none %}{{ (website_analysis.largest_contentful_paint_ms / 1000)|round(1) }}s{% else %}-{% endif %}
Largest Contentful Paint
FID
{% if website_analysis.first_input_delay_ms is not none %}{{ website_analysis.first_input_delay_ms }}ms{% else %}-{% endif %}
First Input Delay
CLS
{% if website_analysis.cumulative_layout_shift is not none %}{{ website_analysis.cumulative_layout_shift|round(3) }}{% else %}-{% endif %}
Cumulative Layout Shift
{% endif %} {% if website_analysis.structured_data_types and website_analysis.structured_data_types|length > 0 %}

Wykryte dane strukturalne (Schema.org)

{% for schema_type in website_analysis.structured_data_types %} {{ schema_type }} {% endfor %}
{% endif %}
Legenda: 90-100 (dobry) 50-89 (średni) 0-49 (słaby)
{% endif %} {% if gbp_audit and gbp_audit.completeness_score is not none %}

Audyt Google Business Profile ({{ gbp_audit.audit_date.strftime('%d.%m.%Y') }})

{{ gbp_audit.completeness_score }}
{% if gbp_audit.completeness_score >= 90 %}Doskonały profil GBP{% elif gbp_audit.completeness_score >= 70 %}Dobry profil GBP{% elif gbp_audit.completeness_score >= 50 %}Przeciętny profil GBP{% else %}Profil GBP wymaga uzupełnienia{% endif %}
{% if gbp_audit.completeness_score >= 90 %}Profil Google Business jest kompletny i dobrze zoptymalizowany{% elif gbp_audit.completeness_score >= 70 %}Profil jest dobrze uzupełniony, ale można go jeszcze ulepszyć{% elif gbp_audit.completeness_score >= 50 %}Profil wymaga uzupełnienia kilku ważnych informacji{% else %}Profil wymaga uzupełnienia podstawowych danych{% endif %}
{% if gbp_audit.review_count is not none %}{{ gbp_audit.review_count }}{% else %}-{% endif %}
Opinii
{% if gbp_audit.average_rating is not none %}{{ gbp_audit.average_rating|round(1) }}{% else %}-{% endif %}
Średnia ocen
{% if gbp_audit.photo_count is not none %}{{ gbp_audit.photo_count }}{% else %}-{% endif %}
Zdjęć
{{ gbp_audit.completeness_score }}%
Kompletność

Informacje podstawowe

Nazwa firmy {% if gbp_audit.has_name %} OK {% else %} Brak {% endif %}
Adres {% if gbp_audit.has_address %} OK {% else %} Brak {% endif %}
Telefon {% if gbp_audit.has_phone %} OK {% else %} Brak {% endif %}
Strona www {% if gbp_audit.has_website %} OK {% else %} Brak {% endif %}
Godziny otwarcia {% if gbp_audit.has_hours %} OK {% else %} Brak {% endif %}

Treści i zaangażowanie

Opis firmy {% if gbp_audit.has_description %} OK {% else %} Brak {% endif %}
Kategorie {% if gbp_audit.has_categories %} OK {% else %} Brak {% endif %}
Usługi/produkty {% if gbp_audit.has_services %} OK {% else %} Brak {% endif %}
Zdjęcia {% if gbp_audit.has_photos %} {{ gbp_audit.photo_count or 'OK' }} {% else %} Brak {% endif %}
Opinie klientów {% if gbp_audit.has_reviews %} {{ gbp_audit.review_count }} {% else %} Brak {% endif %}
{% if gbp_audit.google_maps_url %}
Zobacz w Google Maps
{% endif %}
{% endif %} {% if social_media and social_media|length > 0 %}

Audyt Social Media

{% set active_platforms = social_media|selectattr('is_valid', 'equalto', true)|list|length %} {% set total_followers = social_media|selectattr('followers_count')|sum(attribute='followers_count') %}
{{ active_platforms }}
{% if active_platforms >= 4 %}Doskonała obecność w Social Media{% elif active_platforms >= 2 %}Dobra obecność w Social Media{% else %}Podstawowa obecność w Social Media{% endif %}
{{ active_platforms }} aktywn{{ 'a platforma' if active_platforms == 1 else ('e platformy' if active_platforms in [2, 3, 4] else 'ych platform') }} {% if total_followers > 0 %} · {{ "{:,}".format(total_followers|int).replace(",", " ") }} obserwujących łącznie{% endif %}
{% set platform_icons = { 'facebook': {'icon': '', 'color': '#1877F2'}, 'instagram': {'icon': '', 'color': '#E4405F'}, 'linkedin': {'icon': '', 'color': '#0A66C2'}, 'youtube': {'icon': '', 'color': '#FF0000'}, 'twitter': {'icon': '', 'color': '#000000'}, 'tiktok': {'icon': '', 'color': '#000000'} } %} {% for sm in social_media %}
{{ platform_icons[sm.platform]['icon']|safe if sm.platform in platform_icons else '' }}
{{ sm.platform }}
{% if sm.followers_count %}
{{ "{:,}".format(sm.followers_count|int).replace(",", " ") }} obserwujących
{% elif sm.page_name %}
{{ sm.page_name|truncate(20) }}
{% else %}
Aktywny profil
{% endif %} {% if sm.is_valid %} Zweryfikowany {% endif %}
{% endfor %}
{% endif %} {% if it_audit and it_audit.overall_score is not none %}

Audyt IT ({{ it_audit.audit_date.strftime('%d.%m.%Y') }})

{{ it_audit.overall_score }}
{% if it_audit.maturity_level == 'advanced' %}Zaawansowana infrastruktura IT{% elif it_audit.maturity_level == 'established' %}Rozwinięta infrastruktura IT{% elif it_audit.maturity_level == 'developing' %}Rozwijająca się infrastruktura IT{% else %}Podstawowa infrastruktura IT{% endif %}
{% if it_audit.overall_score >= 90 %}Firma posiada nowoczesną i dobrze zabezpieczoną infrastrukturę{% elif it_audit.overall_score >= 70 %}Infrastruktura IT na dobrym poziomie z potencjałem do rozwoju{% elif it_audit.overall_score >= 50 %}Infrastruktura IT wymaga modernizacji w niektórych obszarach{% else %}Infrastruktura IT wymaga znaczącej rozbudowy{% endif %}
{{ it_audit.overall_score }}
Ogólny wynik
{% if it_audit.security_score is not none %}{{ it_audit.security_score }}{% else %}-{% endif %}
Bezpieczeństwo
{% if it_audit.collaboration_score is not none %}{{ it_audit.collaboration_score }}{% else %}-{% endif %}
Współpraca
{% if it_audit.maturity_level == 'advanced' %}Zaawansowany{% elif it_audit.maturity_level == 'established' %}Rozwinięty{% elif it_audit.maturity_level == 'developing' %}Rozwijający{% else %}Podstawowy{% endif %}
Poziom dojrzałości

Chmura i tożsamość

Microsoft 365 {% if it_audit.has_m365 %} Tak {% else %} Nie {% endif %}
Azure AD / Entra ID {% if it_audit.has_azure_ad %} Tak {% else %} Nie {% endif %}
Google Workspace {% if it_audit.has_google_workspace %} Tak {% else %} Nie {% endif %}

Bezpieczeństwo

MFA (2FA) {% if it_audit.has_mfa %} Tak {% else %} Nie {% endif %}
VPN {% if it_audit.has_vpn %} Tak {% else %} Nie {% endif %}
EDR {% if it_audit.has_edr %} Tak {% else %} Nie {% endif %}
{% endif %} {# Company Events - UKRYTE (2026-01-11) - do przywrócenia w przyszłości {% if events %}

Aktualności i wydarzenia Zobacz wszystkie →

{% for event in events %}
{% if event.event_type == 'product_launch' %}📦 Nowy produkt{% endif %} {% if event.event_type == 'company_milestone' %}🏆 Kamień milowy{% endif %} {% if event.event_type == 'company_news' %}📰 Aktualność{% endif %} {% if event.event_type == 'education_event' %}🎓 Szkolenie{% endif %} {% if event.event_type == 'company_info' %}ℹ️ Informacja{% endif %} {% if event.event_type == 'financial_report' %}💰 Raport finansowy{% endif %} {% if event.event_type == 'contract_win' %}🤝 Nowy kontrakt{% endif %} {% if event.event_type == 'event' %}📅 Wydarzenie{% endif %}

{{ event.title }}

{{ event.description|truncate(200) if event.description|length > 200 else event.description }}

{% if event.event_date %}
{{ event.event_date.strftime('%d.%m.%Y') }}
{% endif %} {% if event.source_url %}
Źródło
{% endif %}
{% endfor %}
{% endif %} #}
{% endblock %}