Działania SEO na WordPress co warto wiedzieć?

3 min czytania
Działania SEO na WordPress  co warto wiedzieć?

Od lat zdecydowanie najpopularniejszym systemem CMS jest WordPress. Bezpłatny dostęp, ciągły rozwój, ogromna liczba darmowych wtyczek i motywów, oraz społeczność, dzięki której można łatwo rozwiązać każdy problem związany z tym oprogramowaniem, sprawiają, że zainteresowanie tym CMS-em ciągle rośnie. Czy WordPress jest jednak dopracowany pod względem SEO? A może wymaga szerokiej optymalizacji?

Czym jest WordPress?

WordPress to system CMS, który powstał z myślą o blogerach. Z czasem okazało się, że sprawdza się również jako oprogramowanie serwisów informacyjnych, forów, katalogów stron, a nawet sklepów internetowych. W bazie WP dostępnych jest ponad 60 tys. pluginów, dzięki którym można uzyskać mnóstwo funkcji bez konieczności inwestowania w nowe rozwiązania.

Pierwsze wydanie systemu pojawiło się w 2003 roku. Od tamtej pory WordPress przeszedł wiele aktualizacji. Według w3techs.com w styczniu 2023 roku miał ponad 43% udziału w rynku systemów CMS, uwzględniając wszystkie strony www. Jeśli weźmiemy pod uwagę wyłącznie witryny, które bazują na CMS-ie, to udział rośnie do ponad 63%. Jak widzisz, WP jest zdecydowanym liderem.

Wiesz już, co to jest WordPress. Dowiedz się, czy to system dopracowany pod względem SEO, który zapewnia wszystkie rozwiązania potrzebne do optymalizacji strony.

Wtyczka SEO Yoast

Pozycjonowanie stron opartych na systemie WordPress wymaga skorzystania z dodatkowych pluginów, gdyż nie wszystkie opcje, których potrzebujesz, znajdziesz w podstawowej wersji CMS-a. Możesz postawić na różne wtyczki, w tym jedną z najpopularniejszych Yoast SEO. Liczba aktywnych instalacji, w połowie stycznia 2023 roku, wyniosła ponad 5 milionów. Podstawowa wersja jest bezpłatna, ale możesz też skorzystać z płatnej, dającej więcej możliwości. Yoast SEO umożliwia Ci:

  • łatwe wygenerowanie mapy strony , którą dodasz w Google Search Console.
  • personalizację tytułów i opisów poszczególnych stron tagi i <description>. Pierwszy z nich ma duży wpływ na widoczność w Google, zaś drugi może pojawiać się w wyszukiwarce i wpływać na klikalność;</li> <li><strong>analizę treści pod kątem SEO</strong> wtyczka sprawdza, czy content jest odpowiednio zoptymalizowany i zawiera niezbędne elementy;</li> <li><strong>automatyczne włączenie danych strukturalnych</strong> dzięki temu roboty Google mogą lepiej zrozumieć stronę. To dzięki nim w wynikach mogą pojawić się m.in. ceny produktów z Twojego serwisu, stan magazynowy czy też gwiazdki, które wynikają ze średniej oceny produktu/materiału.</li> </ul> <p>Więcej funkcji zapewnia odpłatna wersja Yoast SEO. Pozycjonowanie strony opartej na WordPress jest łatwiejsze dzięki takim wtycztom. Nie musisz zlecać przygotowania rozwiązań specjalnie dla Ciebie możesz skorzystać z gotowych.</p> <h2 id="korzyści-seo-dla-strony-zbudowanej-na-wordpress"><strong>Korzyści SEO dla strony zbudowanej na WordPress</strong></h2> <p>Dzięki Yoast SEO strona na WordPress może być lepiej zoptymalizowana. Podstawowa wersja WP zapewnia wiele rozwiązań, dzięki którym pozycjonowanie witryny jest łatwiejsze. Należą do nich m.in. przyjazne linki. Możesz dodawać zdjęcia i wypełniać od razu tag alt opis obrazka.</p> <p>Największą zaletą systemu jest możliwość łatwego wdrożenia różnych przydatnych rozwiązań. Dostępne są pluginy, które ułatwiają wewnętrzne linkowanie <strong>możesz włączyć menu okruszkowe czy też wyświetlać wpisy podobne tematycznie</strong>. Za pomocą wtyczki włączysz dane strukturalne oraz dodasz tagi rel dla linków, np. nofollow i sponsored. To tylko wybrane opcje. Prawdopodobnie uruchomisz każdą, jaka przyjdzie Ci do głowy kwestia znalezienia odpowiedniego rozwiązania.</p> </div> <div class="border-l-4 border-zinc-300 pl-4 py-3 bg-zinc-50 mb-6 italic rounded-r-lg"> <p class="text-base text-zinc-700">Autor: <span class="font-semibold">Zewnętrzny materiał partnerski</span></p> </div> <span style="position:absolute;opacity:0;" data-sponsored-keyword="halotorun_kf">halotorun_kf</span> <div class="my-8 text-center"> <a href="https://serwisylokalne.pl/" rel="nofollow"> <img src="/banners/serwisylokalne.webp" alt="Serwisy Lokalne - Oferta artykułów sponsorowanych" class="w-full max-w-2xl mx-auto rounded-lg shadow-sm"> </a> </div> <div class="post-sections flex flex-col gap-4 md:gap-6"> <div class="order-1 md:order-1"> <div class="share-buttons"> <span class="share-label">Udostępnij:</span> <div class="share-icons"> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3a%2f%2fhalotorun.pl%2f20230126532090%2fdzialania-seo-na-wordpress-co-warto-wiedziec" target="_blank" rel="nofollow noopener" class="share-icon facebook" aria-label="Udostępnij na Facebook"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="18" height="18"> <path d="M12 2.04c-5.5 0-10 4.49-10 10.02 0 5 3.66 9.15 8.44 9.9v-7H7.9v-2.9h2.54V9.85c0-2.51 1.49-3.89 3.78-3.89 1.09 0 2.23.19 2.23.19v2.47h-1.26c-1.24 0-1.63.77-1.63 1.56v1.88h2.78l-.45 2.9h-2.33v7a10 10 0 0 0 8.44-9.9c0-5.53-4.5-10.02-10-10.02z"/> </svg> </a> <a href="https://wa.me/?text=Dzia%c5%82ania%20SEO%20na%20WordPress%20%20co%20warto%20wiedzie%c4%87%3f%20https%3a%2f%2fhalotorun.pl%2f20230126532090%2fdzialania-seo-na-wordpress-co-warto-wiedziec" target="_blank" rel="nofollow noopener" class="share-icon whatsapp" aria-label="Udostępnij przez WhatsApp"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="18" height="18"> <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/> </svg> </a> <button class="share-icon copy-link" data-url="https://halotorun.pl/20230126532090/dzialania-seo-na-wordpress-co-warto-wiedziec" id="copy-link-button" aria-label="Kopiuj link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="18" height="18"> <path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/> </svg> </button> <a href="mailto:?subject=Dzia%c5%82ania%20SEO%20na%20WordPress%20%20co%20warto%20wiedzie%c4%87%3f&body=https%3a%2f%2fhalotorun.pl%2f20230126532090%2fdzialania-seo-na-wordpress-co-warto-wiedziec" rel="nofollow" class="share-icon email" aria-label="Udostępnij przez email"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="18" height="18"> <path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/> </svg> </a> </div> <div id="copy-notification" class="copy-notification"> Link skopiowany do schowka! </div> </div> <script> document.addEventListener('DOMContentLoaded', function() { const copyButton = document.getElementById('copy-link-button'); const notification = document.getElementById('copy-notification'); if (copyButton) { copyButton.addEventListener('click', function() { const url = 'https:\/\/halotorun.pl\/20230126532090\/dzialania-seo-na-wordpress-co-warto-wiedziec'; const tempInput = document.createElement('input'); tempInput.value = url; document.body.appendChild(tempInput); tempInput.select(); try { const successful = document.execCommand('copy'); if (successful) { notification.classList.add('show'); copyButton.innerHTML = ` <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="18" height="18"> <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/> </svg> `; setTimeout(function() { notification.classList.remove('show'); copyButton.innerHTML = ` <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="18" height="18"> <path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/> </svg> `; }, 2000); } } catch (err) { console.error('Nie udało się skopiować tekstu: ', err); } document.body.removeChild(tempInput); if (navigator.clipboard) { navigator.clipboard.writeText(url) .catch(err => { console.error('Nie udało się skopiować tekstu: ', err); }); } }); } }); </script> </div> <footer id="post-footer" class="post-section order-2 md:order-5 not-prose mt-0 md:mt-0 border-t pt-4"> <div id="related-post" class="mt-4 md:mt-6"> <h2 class="text-xl md:text-2xl font-bold mb-4 md:mb-6">Zobacz też:</h2> <div class="space-y-0"> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-4 mb-4 last:border-b-0 last:mb-0"> <a href="/20260130745774/torun-stawia-na-oszczednosci-i-oze-zabezpieczone-ceny-energii-i-plany-klastra" class="flex mobile-list-link hover:no-underline" aria-label="Toruń stawia na oszczędności i OZE - zabezpieczone ceny energii i plany klastra"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/301cnv.webp" alt="Toruń stawia na oszczędności i OZE - zabezpieczone ceny energii i plany klastra" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-01-30T02:19:00+01:00"> 30 stycznia 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight mb-1"> Toruń stawia na oszczędności i OZE - zabezpieczone ceny energii i plany klastra </h3> <p class="text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2 leading-snug"> Toruń przygotowuje się na rok 2026 z planem oszczędności i rosnącym portfelem odnawialnych źródeł energii. Miasto … </p> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-4 mb-4 last:border-b-0 last:mb-0"> <a href="/20260206954114/harmonogram-startow-torunskich-sportowcow-na-xxv-zimowych-igrzyskach" class="flex mobile-list-link hover:no-underline" aria-label="Harmonogram startów toruńskich sportowców na XXV Zimowych Igrzyskach"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/15.webp" alt="Harmonogram startów toruńskich sportowców na XXV Zimowych Igrzyskach" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T13:01:00+01:00"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight mb-1"> Harmonogram startów toruńskich sportowców na XXV Zimowych Igrzyskach </h3> <p class="text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2 leading-snug"> Podczas XXV Zimowych Igrzysk Olimpijskich toruńscy zawodnicy pojawią się na arenach w różnych dyscyplinach — i będzie to … </p> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-4 mb-4 last:border-b-0 last:mb-0"> <a href="/20260206143688/w-sercu-ratusza-oprowadzania-po-galerii-sztuki-gotyckiej-w-toruniu" class="flex mobile-list-link hover:no-underline" aria-label="W sercu Ratusza - oprowadzania po Galerii Sztuki Gotyckiej w Toruniu"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/kulturaimg/webp/3.webp" alt="W sercu Ratusza - oprowadzania po Galerii Sztuki Gotyckiej w Toruniu" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T12:57:00+01:00"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight mb-1"> W sercu Ratusza - oprowadzania po Galerii Sztuki Gotyckiej w Toruniu </h3> <p class="text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2 leading-snug"> W cieniu wież Starego Miasta, w przestrzeni dawnych ław chlebowych Ratusza Staromiejskiego, kryje się Sala Sądowa i mała … </p> </div> </a> </article> </div> </div> </footer> <div class="order-3 md:order-3"><nav class="flex flex-col md:flex-row gap-4 my-8 not-prose"> <a href="/20230126532087/prezent-dla-elektryka-co-wybrac-na-prezent-dla-elektryka" title="Prezent dla elektryka co wybrać na prezent dla elektryka?" class="flex-1 group block"> <div class="bg-zinc-100 hover:bg-blue-50 rounded-xl p-4 transition-all duration-300 border border-zinc-200 hover:border-blue-200"> <div class="flex items-center text-sm text-zinc-500 mb-2"> <span class="group-hover:text-blue-500 transition-colors duration-300"><< Poprzedni</span> </div> <span class="font-medium group-hover:text-blue-600 transition-colors duration-300">Prezent dla elektryka co wybrać na prezent dla elektryka?</span> </div> </a> <a href="/20230126532092/jak-wybrac-buty-bokserskie" title="Jak wybrać buty bokserskie?" class="flex-1 group block"> <div class="bg-zinc-100 hover:bg-blue-50 rounded-xl p-4 transition-all duration-300 border border-zinc-200 hover:border-blue-200 text-right"> <div class="flex items-center justify-end text-sm text-zinc-500 mb-2"> <span class="group-hover:text-blue-500 transition-colors duration-300">Następny >></span> </div> <span class="font-medium group-hover:text-blue-600 transition-colors duration-300">Jak wybrać buty bokserskie?</span> </div> </a> </nav></div> <div class="order-4 md:order-2"> <section class="social-follow-banner" aria-label="Obserwuj nas na Facebooku"> <a href="https://www.facebook.com/halotorunpl" target="_blank" rel="nofollow noopener external" class="social-follow-link"> <img src="/banners/facebook_banner_min.png" data-src="/banners/facebook_banner_min.png" alt="Facebook" width="64" height="64" loading="lazy" decoding="async"> <div class="social-follow-text"> <div class="social-follow-title">Nie przegap wiadomości z Torunia i okolic - obserwuj nas na Facebooku!</div> </div> </a> </section> </div> </div> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "NewsArticle","headline": "Działania SEO na WordPress co warto wiedzieć?","description": "Od lat zdecydowanie najpopularniejszym systemem CMS jest WordPress. Bezpłatny dostęp, ciągły rozwój, ogromna liczba darmowych wtyczek i motywów, oraz …", "datePublished": "2023-01-26T11:42:24\u002b01:00", "dateModified": "2023-01-26T11:42:24\u002b01:00", "url": "https:\/\/halotorun.pl\/20230126532090\/dzialania-seo-na-wordpress-co-warto-wiedziec", "wordCount": 478 , "inLanguage": "pl","articleBody": "Od lat zdecydowanie najpopularniejszym systemem CMS jest WordPress. Bezpłatny dostęp, ciągły rozwój, ogromna liczba darmowych wtyczek i motywów, oraz społeczność, dzięki której można łatwo rozwiązać każdy problem związany z tym oprogramowaniem, sprawiają, że zainteresowanie tym CMS-em ciągle rośnie. Czy WordPress jest jednak dopracowany pod względem SEO? A może wymaga szerokiej optymalizacji? Czym jest WordPress? WordPress to system CMS, który powstał z myślą o blogerach. Z czasem okazało się, że sprawdza się również jako oprogramowanie serwisów informacyjnych, forów, katalogów stron, a nawet sklepów internetowych. W bazie WP dostępnych jest ponad 60 tys. pluginów, dzięki którym można uzyskać mnóstwo funkcji bez konieczności inwestowania w nowe rozwiązania. Pierwsze wydanie systemu pojawiło się w 2003 roku. Od tamtej pory WordPress przeszedł wiele aktualizacji. Według w3techs.com w styczniu 2023 roku miał ponad 43% udziału w rynku systemów CMS, uwzględniając wszystkie strony www. Jeśli weźmiemy pod uwagę wyłącznie witryny, które bazują na CMS-ie, to udział rośnie do ponad 63%. Jak widzisz, WP jest zdecydowanym liderem. Wiesz już, co to jest WordPress. Dowiedz się, czy to system dopracowany pod względem SEO, który zapewnia wszystkie rozwiązania potrzebne do optymalizacji strony. Wtyczka SEO Yoast Pozycjonowanie stron opartych na systemie WordPress wymaga skorzystania z dodatkowych pluginów, gdyż nie wszystkie opcje, których potrzebujesz, znajdziesz w podstawowej wersji CMS-a. Możesz postawić na różne wtyczki, w tym jedną z najpopularniejszych Yoast SEO. Liczba aktywnych instalacji, w połowie stycznia 2023 roku, wyniosła ponad 5 milionów. Podstawowa wersja jest bezpłatna, ale możesz też skorzystać z płatnej, dającej więcej możliwości. Yoast SEO umożliwia Ci: łatwe wygenerowanie mapy strony , którą dodasz w Google Search Console. personalizację tytułów i opisów poszczególnych stron tagi i . Pierwszy z nich ma duży wpływ na widoczność w Google, zaś drugi może pojawiać się w wyszukiwarce i wpływać na klikalność; analizę treści pod kątem SEO wtyczka sprawdza, czy content jest odpowiednio zoptymalizowany i zawiera niezbędne elementy; automatyczne włączenie danych strukturalnych dzięki temu roboty Google mogą lepiej zrozumieć stronę. To dzięki nim w wynikach mogą pojawić się m.in. ceny produktów z Twojego serwisu, stan magazynowy czy też gwiazdki, które wynikają ze średniej oceny produktu/materiału. Więcej funkcji zapewnia odpłatna wersja Yoast SEO. Pozycjonowanie strony opartej na WordPress jest łatwiejsze dzięki takim wtycztom. Nie musisz zlecać przygotowania rozwiązań specjalnie dla Ciebie możesz skorzystać z gotowych. Korzyści SEO dla strony zbudowanej na WordPress Dzięki Yoast SEO strona na WordPress może być lepiej zoptymalizowana. Podstawowa wersja WP zapewnia wiele rozwiązań, dzięki którym pozycjonowanie witryny jest łatwiejsze. Należą do nich m.in. przyjazne linki. Możesz dodawać zdjęcia i wypełniać od razu tag alt opis obrazka. Największą zaletą systemu jest możliwość łatwego wdrożenia różnych przydatnych rozwiązań. Dostępne są pluginy, które ułatwiają wewnętrzne linkowanie możesz włączyć menu okruszkowe czy też wyświetlać wpisy podobne tematycznie. Za pomocą wtyczki włączysz dane strukturalne oraz dodasz tagi rel dla linków, np. nofollow i sponsored. To tylko wybrane opcje. Prawdopodobnie uruchomisz każdą, jaka przyjdzie Ci do głowy kwestia znalezienia odpowiedniego rozwiązania.", "mainEntityOfPage": { "@type": "WebPage", "@id": "https:\/\/halotorun.pl\/20230126532090\/dzialania-seo-na-wordpress-co-warto-wiedziec" }, "provider": { "@type": "Organization", "name": "HaloTorun - Wiadomości, informacje, aktualności dla Torunia - Halo Torun", "url": "https:\/\/halotorun.pl\/", "identifier": "halotorun.pl\/" },"author": { "@type": "Organization", "name": "Artykuł sponsorowany" },"publisher": { "@type": "NewsMediaOrganization", "name": "HaloTorun - Wiadomości, informacje, aktualności dla Torunia - Halo Torun", "url": "https:\/\/halotorun.pl\/" , "logo": { "@type": "ImageObject", "url": "https:\/\/halotorun.pl\/logo-halotorun.png" } },"image": { "@type": "ImageObject", "url": "https:\/\/halotorun.pl\/foto\/pics\/473946b61c0953b99f0d9859906909eb.webp", "caption": "Działania SEO na WordPress co warto wiedzieć?" } , "articleSection": "Aktualności" } </script> </article> <aside> <div class="lg:sticky lg:top-8"><div class="aside-banner"> <div class="relative"> <div class="aside-banner-container"> <svg class="aside-banner-svg" viewBox="0 0 400 250" xmlns="http://www.w3.org/2000/svg"> <defs> <linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%"> <stop offset="0%" style="stop-color:#6366F1;stop-opacity:0.1"> <animate attributeName="stop-opacity" values="0.1;0.15;0.1" dur="8s" repeatCount="indefinite" /> </stop> <stop offset="100%" style="stop-color:#F43F5E;stop-opacity:0.1"> <animate attributeName="stop-opacity" values="0.1;0.15;0.1" dur="8s" repeatCount="indefinite" /> </stop> </linearGradient> </defs> <rect width="100%" height="100%" fill="url(#gradient)" /> <circle cx="30" cy="30" r="60" fill="#6366F1" opacity="0.1"> <animate attributeName="r" values="60;63;60" dur="6s" repeatCount="indefinite" /> </circle> <circle cx="370" cy="220" r="80" fill="#F43F5E" opacity="0.1"> <animate attributeName="r" values="80;83;80" dur="7s" repeatCount="indefinite" /> </circle> <g transform="translate(180, 35) scale(1.0)"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path fill="#A855F7" opacity="0.9" d="M17.4 33H15v-4h4l.4 1.5c.3 1.3-.7 2.5-2 2.5zM37 36s-11.8-7-18-7V15c5.8 0 18-7 18-7v28z"/> <g fill="#4F46E5"> <circle cx="9" cy="22" r="5"/> <path d="M40 19h-3v6h3c1.7 0 3-1.3 3-3s-1.3-3-3-3zM18.6 41.2c-.9.6-2.5 1.2-4.6 1.4c-.6.1-1.2-.3-1.4-1L8.2 27.9S17 21.7 17 29c0 5.5 1.5 8.4 2.2 9.5c.5.7.5 1.6 0 2.3c-.2.2-.4.3-.6.4z"/> </g> <path fill="#6366F1" d="M9 29h10V15H9c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2z"/> <path fill="#A855F7" opacity="0.9" d="M38 38c-1.1 0-2-.9-2-2V8c0-1.1.9-2 2-2s2 .9 2 2v28c0 1.1-.9 2-2 2z"/> </svg> </g> <text x="50%" y="120" text-anchor="middle" font-size="22" fill="#4B5563" class="banner-text-title"> Zareklamuj się na </text> <text x="50%" y="145" text-anchor="middle" font-size="28" fill="#4F46E5" class="banner-text-url"> halotorun.pl! </text> <foreignObject x="50" y="180" width="300" height="50"> <div xmlns="http://www.w3.org/1999/xhtml" class="h-full flex items-center justify-center"> <a href="https://serwisylokalne.pl/" rel="nofollow" class="aside-banner-button"> SPRAWDŹ SZCZEGÓŁY </a> </div> </foreignObject> </svg> </div> </div> <p class="aside-banner-promo-text">autopromocja</p> </div> <div class="space-y-3"> <h2 class="font-bold text-xl mb-8">Ostatnie Artykuły</h2> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260207537890/w-siedzibie-fundacji-daj-szanse-rozmowy-o-dalszym-wsparciu" class="flex mobile-list-link hover:no-underline" aria-label="W siedzibie Fundacji "Daj Szansę" - rozmowy o dalszym wsparciu"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/302cnv.webp" alt="W siedzibie Fundacji "Daj Szansę" - rozmowy o dalszym wsparciu" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-07T00:21:00+01:00"> 7 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> W siedzibie Fundacji “Daj Szansę” - rozmowy o dalszym wsparciu </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260206422112/torun-zatrzymal-serie-w-orlen-basket-liga-twarde-pierniki-97-88-nad-pge-start-lublin" class="flex mobile-list-link hover:no-underline" aria-label="Toruń zatrzymał serię w Orlen Basket Liga — Twarde Pierniki 97:88 nad PGE Start Lublin"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/mecz/arriva-lotto-twarde-pierniki-torun-pge-start-lublin-06022026-9788.webp" alt="Toruń zatrzymał serię w Orlen Basket Liga — Twarde Pierniki 97:88 nad PGE Start Lublin" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T18:30:00Z"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Toruń zatrzymał serię w Orlen Basket Liga — Twarde Pierniki 97:88 nad PGE Start Lublin </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260206612182/159-wykroczen-wobec-niechronionych-uczestnikow-ruchu-akcja-torunskiej-policji" class="flex mobile-list-link hover:no-underline" aria-label="159 wykroczeń wobec niechronionych uczestników ruchu - akcja toruńskiej policji"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/policjaimg/webp/123.webp" alt="159 wykroczeń wobec niechronionych uczestników ruchu - akcja toruńskiej policji" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T13:23:00+01:00"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> 159 wykroczeń wobec niechronionych uczestników ruchu - akcja toruńskiej policji </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260206203735/smaki-azji-slodkie-przysmaki-i-piwa-rzemieslnicze-festiwale-w-parku" class="flex mobile-list-link hover:no-underline" aria-label="Smaki Azji, słodkie przysmaki i piwa rzemieślnicze - festiwale w PARKU"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/33.webp" alt="Smaki Azji, słodkie przysmaki i piwa rzemieślnicze - festiwale w PARKU" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T13:08:00+01:00"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Smaki Azji, słodkie przysmaki i piwa rzemieślnicze - festiwale w PARKU </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260206954114/harmonogram-startow-torunskich-sportowcow-na-xxv-zimowych-igrzyskach" class="flex mobile-list-link hover:no-underline" aria-label="Harmonogram startów toruńskich sportowców na XXV Zimowych Igrzyskach"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/15.webp" alt="Harmonogram startów toruńskich sportowców na XXV Zimowych Igrzyskach" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T13:01:00+01:00"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Harmonogram startów toruńskich sportowców na XXV Zimowych Igrzyskach </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260206719143/weekend-w-toruniu-od-rodzinnych-warsztatow-po-rave-i-koncerty" class="flex mobile-list-link hover:no-underline" aria-label="Weekend w Toruniu - od rodzinnych warsztatów po rave i koncerty"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/308cnv.webp" alt="Weekend w Toruniu - od rodzinnych warsztatów po rave i koncerty" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T13:01:00+01:00"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Weekend w Toruniu - od rodzinnych warsztatów po rave i koncerty </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260206143688/w-sercu-ratusza-oprowadzania-po-galerii-sztuki-gotyckiej-w-toruniu" class="flex mobile-list-link hover:no-underline" aria-label="W sercu Ratusza - oprowadzania po Galerii Sztuki Gotyckiej w Toruniu"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/kulturaimg/webp/3.webp" alt="W sercu Ratusza - oprowadzania po Galerii Sztuki Gotyckiej w Toruniu" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T12:57:00+01:00"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> W sercu Ratusza - oprowadzania po Galerii Sztuki Gotyckiej w Toruniu </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260206297863/oferty-walentynkowe-w-gazetkach" class="flex mobile-list-link hover:no-underline" aria-label="Oferty walentynkowe w gazetkach"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/art/2_78e3ae21.webp" alt="Oferty walentynkowe w gazetkach" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T08:05:00+02:00"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Oferty walentynkowe w gazetkach </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260206637195/zmiana-zasad-wyboru-do-rady-dzialalnosci-pozytku-publicznego-konsultacje-o-glosowaniu-przez-internet" class="flex mobile-list-link hover:no-underline" aria-label="Zmiana zasad wyboru do Rady Działalności Pożytku Publicznego - konsultacje o głosowaniu przez internet"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/22.webp" alt="Zmiana zasad wyboru do Rady Działalności Pożytku Publicznego - konsultacje o głosowaniu przez internet" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-06T01:34:00+01:00"> 6 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Zmiana zasad wyboru do Rady Działalności Pożytku Publicznego - konsultacje o głosowaniu przez internet </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260205367811/bieg-rzeznika-w-wersji-online-spina-polske-zapisy-trwaja-do-30042026" class="flex mobile-list-link hover:no-underline" aria-label="Bieg Rzeźnika w wersji online spina Polskę. Zapisy trwają do 30.04.2026"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="https://faktyrzeszow.pl/images/art/wirtualny_festiwal_biegu_rzeznika-0502-202602051224379dc7.webp" alt="Obraz do artykułu: Bieg Rzeźnika w wersji online spina Polskę. Zapisy trwają do 30.04.2026" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-05T11:24:00+01:00"> 5 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Bieg Rzeźnika w wersji online spina Polskę. Zapisy trwają do 30.04.2026 </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260205868408/stolik-kawowy-czy-lawa-do-salonu-przewodnik-po-sercu-strefy-wypoczynkowej" class="flex mobile-list-link hover:no-underline" aria-label="Stolik kawowy czy ława do salonu? Przewodnik po sercu strefy wypoczynkowej"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="https://faktybytom.pl/images/art/Meble_Wanat_Przyciemnione_pena_jakosc0640-0502-20260205110524f4a7.webp" alt="Obraz do artykułu: Stolik kawowy czy ława do salonu? Przewodnik po sercu strefy wypoczynkowej" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-05T10:05:00+01:00"> 5 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Stolik kawowy czy ława do salonu? Przewodnik po sercu strefy wypoczynkowej </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260205882705/architektura-siedzenia-jak-wybrac-krzesla-do-salonu-ktore-lacza-design-z-ergonomia" class="flex mobile-list-link hover:no-underline" aria-label="Architektura siedzenia: Jak wybrać krzesła do salonu, które łączą design z ergonomią?"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="https://gliwiceonline.pl/images/art/Meble_Wanat_Przyciemnione_pena_jakosc0080-0502-2026020510591201b1.webp" alt="Obraz do artykułu: Architektura siedzenia: Jak wybrać krzesła do salonu, które łączą design z ergonomią?" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-05T09:58:00+01:00"> 5 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Architektura siedzenia: Jak wybrać krzesła do salonu, które łączą design z ergonomią? </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260205861105/torun-policja-intensyfikuje-patrole-na-zamarznietych-akwenach" class="flex mobile-list-link hover:no-underline" aria-label="Toruń - policja intensyfikuje patrole na zamarzniętych akwenach"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/policjaimg/webp/112.webp" alt="Toruń - policja intensyfikuje patrole na zamarzniętych akwenach" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-05T01:26:00+01:00"> 5 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Toruń - policja intensyfikuje patrole na zamarzniętych akwenach </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260205615468/astrochemia-w-praktyce-jak-molekuly-opowiadaja-o-narodzinach-planet" class="flex mobile-list-link hover:no-underline" aria-label="Astrochemia w praktyce - jak molekuły opowiadają o narodzinach planet"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/bibliotekaimg/webp/301cnv.webp" alt="Astrochemia w praktyce - jak molekuły opowiadają o narodzinach planet" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-05T01:16:00+01:00"> 5 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Astrochemia w praktyce - jak molekuły opowiadają o narodzinach planet </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260205821156/porozumienie-w-sprawie-lk-27-wiecej-pociagow-miedzy-toruniem-a-czernikowem" class="flex mobile-list-link hover:no-underline" aria-label="Porozumienie w sprawie LK 27 - więcej pociągów między Toruniem a Czernikowem"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/28.webp" alt="Porozumienie w sprawie LK 27 - więcej pociągów między Toruniem a Czernikowem" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-05T01:10:00+01:00"> 5 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Porozumienie w sprawie LK 27 - więcej pociągów między Toruniem a Czernikowem </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260203681465/poezja-w-kameralnym-wydaniu-paczkowskistanejko-trio-zagra-w-ksiaznicy" class="flex mobile-list-link hover:no-underline" aria-label="Poezja w kameralnym wydaniu - Paczkowski/Stanejko Trio zagra w Książnicy"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/bibliotekaimg/webp/101.webp" alt="Poezja w kameralnym wydaniu - Paczkowski/Stanejko Trio zagra w Książnicy" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-03T15:28:00+01:00"> 3 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Poezja w kameralnym wydaniu - Paczkowski/Stanejko Trio zagra w Książnicy </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260203859781/podszyli-sie-pod-doradcow-orlen-70-latka-stracila-ponad-110-tys-zl" class="flex mobile-list-link hover:no-underline" aria-label="Podszyli się pod doradców ORLEN - 70-latka straciła ponad 110 tys. zł"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/policjaimg/webp/119.webp" alt="Podszyli się pod doradców ORLEN - 70-latka straciła ponad 110 tys. zł" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-03T15:22:00+01:00"> 3 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Podszyli się pod doradców ORLEN - 70-latka straciła ponad 110 tys. zł </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260203982279/barometr-torunski-czego-mieszkancy-mowia-o-zieleni-drogach-i-codziennym-komforcie" class="flex mobile-list-link hover:no-underline" aria-label="Barometr Toruński - czego mieszkańcy mówią o zieleni, drogach i codziennym komforcie"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/32.webp" alt="Barometr Toruński - czego mieszkańcy mówią o zieleni, drogach i codziennym komforcie" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-03T15:12:00+01:00"> 3 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Barometr Toruński - czego mieszkańcy mówią o zieleni, drogach i codziennym komforcie </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260203182471/muzeum-okregowe-w-toruniu-stawia-na-zielone-obroty-audyty-i-szkolenia-dla-przyszlosci" class="flex mobile-list-link hover:no-underline" aria-label="Muzeum Okręgowe w Toruniu stawia na zielone obroty - audyty i szkolenia dla przyszłości"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/kulturaimg/webp/4.webp" alt="Muzeum Okręgowe w Toruniu stawia na zielone obroty - audyty i szkolenia dla przyszłości" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-03T01:05:00+01:00"> 3 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Muzeum Okręgowe w Toruniu stawia na zielone obroty - audyty i szkolenia dla przyszłości </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260203675712/fotografia-jako-lustro-swiata-wyklad-o-wystawie-rodzina-czlowiecza-w-toruniu" class="flex mobile-list-link hover:no-underline" aria-label="Fotografia jako lustro świata - wykład o wystawie Rodzina człowiecza w Toruniu"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/02.webp" alt="Fotografia jako lustro świata - wykład o wystawie Rodzina człowiecza w Toruniu" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-03T01:04:00+01:00"> 3 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Fotografia jako lustro świata - wykład o wystawie Rodzina człowiecza w Toruniu </h3> </div> </a> </article> <article class="news-list-item group border-b border-zinc-200 dark:border-zinc-700 pb-2 mb-2 last:border-b-0 last:mb-0 sidebar-article"> <a href="/20260203146744/martowka-pod-lodem-jak-urzednicy-ograniczaja-przyduche-i-monitoruja-zbiorniki" class="flex mobile-list-link hover:no-underline" aria-label="Martówka pod lodem - jak urzędnicy ograniczają przyduchę i monitorują zbiorniki"> <figure class="flex-shrink-0 mobile-list-image overflow-hidden"> <img class="object-cover group-hover:scale-105 transition duration-300" src="/images/torunimg/webp/11.webp" alt="Martówka pod lodem - jak urzędnicy ograniczają przyduchę i monitorują zbiorniki" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <div class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2026-02-03T00:58:00+01:00"> 3 lutego 2026 </time> </div> <h3 class="text-base font-bold text-zinc-800 dark:text-zinc-200 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-2 leading-tight"> Martówka pod lodem - jak urzędnicy ograniczają przyduchę i monitorują zbiorniki </h3> </div> </a> </article> </div> </div> </aside> </div> <script> function wrapTables() { const article = document.querySelector('article.prose'); if (article) { const tables = article.querySelectorAll('table'); tables.forEach(function(table) { if (!table.parentElement.classList.contains('table-wrapper')) { const wrapper = document.createElement('div'); wrapper.className = 'table-wrapper'; table.parentNode.insertBefore(wrapper, table); wrapper.appendChild(table); console.log('Tabela owinięta w kontener table-wrapper'); } }); } } wrapTables(); document.addEventListener('DOMContentLoaded', wrapTables); </script> </main> <footer class="bg-white py-6 border-t mt-10"> <div class="max-w-7xl mx-auto px-4 md:px-6 lg:px-8"> <div class="flex flex-col md:flex-row justify-between items-center"> <p class="text-sm mb-4 md:mb-0">Copyright © 2026 halotorun.pl Wszystkie prawa zastrzeżone.</p> <ul class="flex items-center space-x-4"> <li><a class="decoration-auto hover:underline font-semibold" href="https://halotorun.pl/kategorie/news">News</a></li> <li><a class="decoration-auto hover:underline font-semibold" href="https://halotorun.pl/podstrony/regulamin-i-polityka-prywatno%c5%9bci">Polityka Prywatności</a></li> <li><a class="decoration-auto hover:underline font-semibold" href="https://halotorun.pl/podstrony/polityka-cookies">Polityka Cookies</a></li> </ul> </div> </div> </footer> <button id="scroll-to-top" class="scroll-to-top" aria-label="Przewiń do góry strony" title="Do góry"> <svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18"></path> </svg> </button> <script> (function() { const scrollButton = document.getElementById('scroll-to-top'); if (!scrollButton) return; function toggleScrollButton() { if (window.innerWidth <= 767) { if (window.pageYOffset > 300) { scrollButton.classList.add('show'); } else { scrollButton.classList.remove('show'); } } else { scrollButton.classList.remove('show'); } } function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); } window.addEventListener('scroll', toggleScrollButton); window.addEventListener('resize', toggleScrollButton); scrollButton.addEventListener('click', scrollToTop); toggleScrollButton(); })(); </script> <div id="consent-notice" class="consent-notice"> <div class="max-w-7xl mx-auto px-4"> <div class="flex flex-wrap md:flex-nowrap items-center justify-between gap-4"> <div class="flex-1"> <p class="text-sm leading-relaxed text-left"> Nasza strona korzysta z plików cookies, aby działała prawidłowo. Używamy także plików cookies i podobnych technologii od zewnętrznych dostawców w celach analitycznych, marketingowych i społecznościowych. Informacje te mogą być przetwarzane również przez naszych partnerów. Kontynuując korzystanie ze strony lub klikając „Przechodzę do serwisu", wyrażasz zgodę na użycie dodatkowych plików cookies zgodnie z naszą <a href="https://halotorun.pl/podstrony/regulamin-i-polityka-prywatno%c5%9bci">polityką prywatności</a>. <a id="cookie-notice-personalization" href="#" class="underline opacity-75 hover:opacity-100 text-white">Zaawansowane ustawienia</a>. </p> </div> <div class="buttons flex flex-wrap gap-2 shrink-0"> <a class="policy-link hover:underline" href="https://halotorun.pl/podstrony/polityka-cookies">Polityka Cookies</a> <button id="cookie-notice-accept" class="accept"> Przejdź do serwisu </button> </div> </div> </div> </div> <div id="consent-overlay"> <div class="bg-white text-black p-6 rounded-lg shadow-lg max-w-md mx-auto mt-20 relative"> <button id="close-consent-overlay" class="absolute top-4 right-4 text-gray-500 hover:text-black text-2xl font-bold leading-none">×</button> <h2 class="text-xl font-bold mb-4 text-black">Ustawienia plików cookie</h2> <div class="cookie-option mb-4"> <label class="flex items-start space-x-3 cursor-pointer"> <input type="checkbox" id="analytics-cookies" value="1" name="analytics" checked class="mt-1" > <span class="text-black"> <span class="font-semibold mb-1 block">Google Analytics</span> <span class="text-sm text-gray-700 block">Pomagają nam zrozumieć, jak odwiedzający korzystają z witryny. Używamy Google Analytics do podstawowych statystyk.</span> </span> </label> </div> <div class="cookie-option mb-4"> <label class="flex items-start space-x-3 cursor-pointer"> <input type="checkbox" id="advertising-cookies" value="1" name="advertising" checked class="mt-1" > <span class="text-black"> <span class="font-semibold mb-1 block">Reklamy i remarketing</span> <span class="text-sm text-gray-700 block">Pozwalają nam wyświetlać spersonalizowane reklamy i mierzyć skuteczność kampanii reklamowych. Dane mogą być wykorzystywane do remarketingu w Google Ads.</span> </span> </label> </div> <div class="buttons flex gap-2 justify-end"> <button id="save-consent" class="btn save-consent px-4 py-2 bg-gray-200 hover:bg-gray-300 text-black rounded"> Zapisz preferencje </button> <button class="btn approve-consent px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded"> Akceptuj wszystkie </button> </div> </div> </div> <button id="cookie-preferences-toggle" title="Zmień ustawienia cookies" class="fixed bottom-4 right-4 bg-gray-600 hover:bg-gray-700 text-white p-2 rounded-full shadow-lg z-40 hidden transition-all hover:scale-110" style="width: 40px; height: 40px;"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="w-5 h-5"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.25 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"/> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/> </svg> </button> <script> document.addEventListener('DOMContentLoaded', function() { const notice = document.getElementById('consent-notice'); const overlay = document.getElementById('consent-overlay'); const toggleButton = document.getElementById('cookie-preferences-toggle'); let consentSettings = readCookie('consent-settings'); console.log('Wczytane ustawienia cookies:', consentSettings); if (consentSettings && consentSettings.length === 1) { console.log('Migracja starego formatu cookie:', consentSettings); consentSettings = consentSettings + "1"; createCookie('consent-settings', consentSettings, 365); console.log('Zaktualizowano cookie do nowego formatu:', consentSettings); } if (consentSettings && consentSettings.length === 2) { notice.style.display = 'none'; toggleButton.style.display = 'flex'; setConsentInputs(consentSettings); updateConsentMode(consentSettings); if (consentSettings[0] === '1') { loadGoogleAnalytics(); } if (consentSettings[1] === '1') { loadGoogleTagManager(); } } else { notice.style.display = 'block'; toggleButton.style.display = 'none'; document.body.classList.add('has-consent-banner'); } const personalizationBtn = document.getElementById('cookie-notice-personalization'); const acceptAllBtn = document.getElementById('cookie-notice-accept'); const savePreferencesBtn = document.getElementById('save-consent'); const approveAllBtn = document.querySelector('.approve-consent'); const closeOverlayBtn = document.getElementById('close-consent-overlay'); personalizationBtn.addEventListener('click', function(e) { e.preventDefault(); console.log('Kliknięto link personalizacji'); overlay.classList.add('active'); }); acceptAllBtn.addEventListener('click', function(e) { e.preventDefault(); console.log('Kliknięto przycisk akceptuj wszystkie'); acceptAllConsentScripts(); notice.style.display = 'none'; toggleButton.style.display = 'flex'; document.body.classList.remove('has-consent-banner'); }); approveAllBtn.addEventListener('click', function() { console.log('Kliknięto przycisk akceptuj wszystkie w overlay'); acceptAllConsentScripts(); overlay.classList.remove('active'); notice.style.display = 'none'; toggleButton.style.display = 'flex'; document.body.classList.remove('has-consent-banner'); }); savePreferencesBtn.addEventListener('click', function() { console.log('Kliknięto przycisk zapisz preferencje'); setConsentValue(); acceptSomeConsentScripts(this.dataset.consentvalue); overlay.classList.remove('active'); notice.style.display = 'none'; toggleButton.style.display = 'flex'; document.body.classList.remove('has-consent-banner'); }); toggleButton.addEventListener('click', function() { overlay.classList.add('active'); }); closeOverlayBtn.addEventListener('click', function() { console.log('Kliknięto przycisk X - zamykanie overlay'); overlay.classList.remove('active'); }); }); function createCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires = "; expires=" + date.toUTCString(); } var secureFlag = location.protocol === 'https:' ? '; Secure' : ''; document.cookie = name + "=" + value + expires + "; path=/; SameSite=Strict" + secureFlag; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); console.log('Próba odczytu ciasteczka:', name); console.log('Wszystkie ciasteczka:', document.cookie); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) { const value = c.substring(nameEQ.length,c.length); console.log('Znaleziono wartość:', value); return value; } } console.log('Nie znaleziono ciasteczka:', name); return null; } function eraseCookie(name) { createCookie(name,"",-1); } function acceptAllConsentScripts() { acceptSomeConsentScripts("11"); } function acceptSomeConsentScripts(consentValue) { console.log('Zapisywanie zgody:', consentValue); if (consentValue.length !== 2) { console.error('Nieprawidłowy format zgody:', consentValue); return; } setConsentInputs(consentValue); createCookie('consent-settings', consentValue, 365); updateConsentMode(consentValue); document.getElementById('consent-notice').style.display = 'none'; document.getElementById('consent-overlay').classList.remove('active'); document.getElementById('cookie-preferences-toggle').style.display = 'flex'; if (consentValue[0] === '1') { loadGoogleAnalytics(); } if (consentValue[1] === '1') { loadGoogleTagManager(); } } function updateConsentMode(consentValue) { if (typeof window.gtag !== 'function') { console.warn('gtag nie jest jeszcze dostępny - Consent Mode zostanie zaktualizowany po załadowaniu GA'); window.pendingConsentUpdate = consentValue; return; } const analyticsGranted = consentValue[0] === '1'; const adsGranted = consentValue[1] === '1'; console.log('Aktualizacja Consent Mode - Analytics:', analyticsGranted, 'Ads:', adsGranted); window.gtag('consent', 'update', { 'analytics_storage': analyticsGranted ? 'granted' : 'denied', 'ad_storage': adsGranted ? 'granted' : 'denied', 'ad_user_data': adsGranted ? 'granted' : 'denied', 'ad_personalization': adsGranted ? 'granted' : 'denied' }); if (window.pendingConsentUpdate) { delete window.pendingConsentUpdate; } } function setConsentInputs(consentValue) { const analyticsCheckbox = document.getElementById('analytics-cookies'); const advertisingCheckbox = document.getElementById('advertising-cookies'); if (analyticsCheckbox && consentValue.length >= 1) { analyticsCheckbox.checked = (consentValue[0] === "1"); } if (advertisingCheckbox && consentValue.length >= 2) { advertisingCheckbox.checked = (consentValue[1] === "1"); } } function setConsentValue() { const analyticsCheckbox = document.getElementById('analytics-cookies'); const advertisingCheckbox = document.getElementById('advertising-cookies'); const analyticsValue = analyticsCheckbox && analyticsCheckbox.checked ? "1" : "0"; const advertisingValue = advertisingCheckbox && advertisingCheckbox.checked ? "1" : "0"; const consentValue = analyticsValue + advertisingValue; document.getElementById("save-consent").dataset.consentvalue = consentValue; console.log('Ustawiono wartość zgody:', consentValue); } function loadGoogleAnalytics() { const gaScriptSelector = 'script[src*="googletagmanager.com/gtag/js?id=G-H4PFV2F904"]'; if (!document.querySelector(gaScriptSelector)) { console.log('Ładowanie Google Analytics...'); window.dataLayer = window.dataLayer || []; if (typeof window.gtag !== 'function') { function gtag(){dataLayer.push(arguments);} window.gtag = gtag; } const script = document.createElement('script'); script.async = true; script.src = 'https://www.googletagmanager.com/gtag/js?id=G-H4PFV2F904'; document.head.appendChild(script); script.onload = function() { const consentSettings = window.pendingConsentUpdate || readCookie('consent-settings'); const analyticsGranted = consentSettings && consentSettings[0] === '1'; const adsGranted = consentSettings && consentSettings[1] === '1'; if (typeof window.gtag === 'function') { window.gtag('consent', 'update', { 'analytics_storage': analyticsGranted ? 'granted' : 'denied', 'ad_storage': adsGranted ? 'granted' : 'denied', 'ad_user_data': adsGranted ? 'granted' : 'denied', 'ad_personalization': adsGranted ? 'granted' : 'denied' }); } window.gtag('js', new Date()); window.gtag('config', 'G-H4PFV2F904', { page_title: document.title, page_location: window.location.href }); console.log('Google Analytics załadowany:', 'G-H4PFV2F904'); console.log('Consent Mode - Analytics:', analyticsGranted ? 'granted' : 'denied', 'Ads:', adsGranted ? 'granted' : 'denied'); if (adsGranted) { const sponsoredElement = document.querySelector('[data-sponsored-keyword]'); if (sponsoredElement) { const keyword = sponsoredElement.dataset.sponsoredKeyword; const pageText = document.body.innerText; if (pageText.includes(keyword)) { console.log('➡️ custom_remarketing_hit: znaleziono "' + keyword + '" na stronie'); window.gtag('event', 'custom_remarketing_hit', { keyword_match: keyword }); } } } }; } else { console.log('Google Analytics już załadowany (skrypt w DOM)'); const consentSettings = readCookie('consent-settings'); if (consentSettings && consentSettings.length === 2 && typeof window.gtag === 'function') { updateConsentMode(consentSettings); } } } function loadGoogleTagManager() { const sponsoredElement = document.querySelector('[data-sponsored-keyword]'); if (!sponsoredElement) { console.log('Google Tag Manager: strona nie jest sponsorowana - pomijam ładowanie GTM'); return; } const gtmScriptSelector = 'script[src*="googletagmanager.com/gtm.js?id=GTM-PQHJMNST"]'; if (document.querySelector(gtmScriptSelector)) { console.log('Google Tag Manager już załadowany (skrypt w DOM)'); return; } console.log('Ładowanie Google Tag Manager dla strony sponsorowanej...'); window.dataLayer = window.dataLayer || []; (function(w,d,s,l,i){ w[l]=w[l]||[]; w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'}); var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:''; j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl; f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PQHJMNST'); console.log('Google Tag Manager załadowany: GTM-PQHJMNST'); } </script> <script> document.addEventListener('DOMContentLoaded', function() { const dropdowns = document.querySelectorAll('.dropdown'); dropdowns.forEach(dropdown => { const dropdownLink = dropdown.querySelector('a'); const dropdownContent = dropdown.querySelector('.dropdown-content'); if (dropdownLink && dropdownContent) { dropdownLink.addEventListener('click', function(e) { e.preventDefault(); dropdownContent.classList.toggle('show'); dropdowns.forEach(otherDropdown => { if (otherDropdown !== dropdown) { const otherContent = otherDropdown.querySelector('.dropdown-content'); if (otherContent && otherContent.classList.contains('show')) { otherContent.classList.remove('show'); } } }); }); } }); document.addEventListener('click', function(e) { if (!e.target.closest('.dropdown')) { document.querySelectorAll('.dropdown-content').forEach(content => { content.classList.remove('show'); }); } }); const scrollToTopBtn = document.getElementById('scrollToTop'); if (scrollToTopBtn) { window.addEventListener('scroll', function() { if (window.pageYOffset > 300) { scrollToTopBtn.classList.add('show'); } else { scrollToTopBtn.classList.remove('show'); } }); scrollToTopBtn.addEventListener('click', function() { window.scrollTo({ top: 0, behavior: 'smooth' }); }); } }); document.addEventListener('DOMContentLoaded', function() { if ('loading' in HTMLImageElement.prototype) { const images = document.querySelectorAll('img[loading="lazy"]'); images.forEach(img => { if (img.dataset && img.dataset.src) { img.src = img.dataset.src; } }); } else { const script = document.createElement('script'); script.src = 'https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js'; document.body.appendChild(script); } }); </script> <script defer src="/js/events-tab.js"></script> <script defer src="/js/toc-links.js"></script> <aside id="events-tab" class="events-side-tab" aria-label="Sprawdź nadchodzące wydarzenia"> <button type="button" class="events-tab-handle" aria-expanded="false" aria-controls="events-tab" aria-label="Pokaż panel wydarzeń"> <span class="events-icon" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><g fill="currentColor"><path d="M7.3 12.2a.7.7 0 0 1 .7-.7h2.8a.7.7 0 0 1 .7.7v2.6a.7.7 0 0 1-.7.7H8a.7.7 0 0 1-.7-.7v-2.6Zm1 .3v2h2.2v-2H8.3ZM8 17a.7.7 0 0 0-.7.7v2.6a.7.7 0 0 0 .7.7h2.8a.7.7 0 0 0 .7-.7v-2.6a.7.7 0 0 0-.7-.7H8Zm.3 3v-2h2.2v2H8.3Zm-1 3.1a.7.7 0 0 1 .7-.7h2.8a.7.7 0 0 1 .7.7v2.6a.7.7 0 0 1-.7.7H8a.7.7 0 0 1-.7-.7v-2.6Zm1 .3v2h2.2v-2H8.3Zm6.3-11.9a.7.7 0 0 0-.7.7v2.6a.7.7 0 0 0 .7.7h2.8a.7.7 0 0 0 .7-.7v-2.6a.7.7 0 0 0-.7-.7h-2.8Zm.3 3v-2h2.2v2h-2.2Zm-1 3.2a.7.7 0 0 1 .7-.7h2.8a.7.7 0 0 1 .7.7v2.6a.7.7 0 0 1-.7.7h-2.8a.7.7 0 0 1-.7-.7v-2.6Zm1 .3v2h2.2v-2h-2.2Zm-.3 4.4a.7.7 0 0 0-.7.7v2.6a.7.7 0 0 0 .7.7h2.8a.7.7 0 0 0 .7-.7v-2.6a.7.7 0 0 0-.7-.7h-2.8Zm.3 3v-2h2.2v2h-2.2Zm5.6-13.2a.7.7 0 0 1 .7-.7H24a.7.7 0 0 1 .7.7v2.6a.7.7 0 0 1-.7.7h-2.8a.7.7 0 0 1-.7-.7v-2.6Zm1 .3v2h2.2v-2h-2.2Zm-.3 9.9a.7.7 0 0 0-.7.7v2.6a.7.7 0 0 0 .7.7H24a.7.7 0 0 0 .7-.7v-2.6a.7.7 0 0 0-.7-.7h-2.8Zm.3 3v-2h2.2v2h-2.2Zm-.3-8.4a.7.7 0 0 0-.7.7v2.6a.7.7 0 0 0 .7.7H24a.7.7 0 0 0 .7-.7v-2.6a.7.7 0 0 0-.7-.7h-2.8Z"/><path d="M1.003 7A6.2 6.2 0 0 1 7.2 1h17.6a6.2 6.2 0 0 1 6.197 6H31v17.8a6.2 6.2 0 0 1-6.2 6.2H7.2A6.2 6.2 0 0 1 1 24.8V7h.003ZM3 9v15.8A4.2 4.2 0 0 0 7.2 29h17.6a4.2 4.2 0 0 0 4.2-4.2V9H3Z"/></g></svg> </span> </button> <a href="/wydarzenie/" class="events-tab-inner" aria-label="Zobacz kalendarz wydarzeń"> <div class="events-title">Sprawdź nadchodzące wydarzenia</div> <span class="events-cta">Zobacz kalendarz</span> </a> </aside> <script defer src="/js/theme.js"></script> </body> </html>