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="/20251222241404/wyobrazenia-o-przyszlosci-laureaci-17-powiatowego-konkursu-plastycznego" class="flex mobile-list-link hover:no-underline" aria-label="Wyobrażenia o przyszłości - laureaci 17. Powiatowego Konkursu Plastycznego"> <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/07.webp" alt="Wyobrażenia o przyszłości - laureaci 17. Powiatowego Konkursu Plastycznego" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T10:28:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Wyobrażenia o przyszłości - laureaci 17. Powiatowego Konkursu Plastycznego </h3> <p class="text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2 leading-snug"> W sali urzędu i w szkolnych świetlicach zawrzało wyobraźnia - młodzi z powiatu toruńskiego przesłali setki prac, które … </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="/20251217402471/fort-jakuba-pozostaje-w-zasobach-gminy-miasto-zapowiada-prace-zabezpieczajace" class="flex mobile-list-link hover:no-underline" aria-label="Fort Jakuba pozostaje w zasobach gminy - miasto zapowiada prace zabezpieczające"> <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/09.webp" alt="Fort Jakuba pozostaje w zasobach gminy - miasto zapowiada prace zabezpieczające" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-17T10:26:00+01:00"> 17 grudnia 2025 </time> </time> <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"> Fort Jakuba pozostaje w zasobach gminy - miasto zapowiada prace zabezpieczające </h3> <p class="text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2 leading-snug"> Decyzja władz Torunia zamyka na razie drogę sprzedaży zabytku i daje miastu kontrolę nad przyszłością Fortu Jakuba. W … </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="/20251219678231/rada-miasta-upamietnila-towarzystwo-naukowe-i-instytut-baltycki" class="flex mobile-list-link hover:no-underline" aria-label="Rada Miasta upamiętniła Towarzystwo Naukowe i Instytut Bałtycki"> <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="Rada Miasta upamiętniła Towarzystwo Naukowe i Instytut Bałtycki" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-19T01:35:00+01:00"> 19 grudnia 2025 </time> </time> <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"> Rada Miasta upamiętniła Towarzystwo Naukowe i Instytut Bałtycki </h3> <p class="text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2 leading-snug"> W sali obrad panowała cisza przerywana oklaskami i wspomnieniami o ludziach, którzy przez pokolenia budowali naukowy … </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="/20251224906654/nowe-pojazdy-i-jednostka-szybkiego-reagowania-wzmacniaja-policje-w-toruniu" class="flex mobile-list-link hover:no-underline" aria-label="Nowe pojazdy i jednostka szybkiego reagowania wzmacniają policję 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/09.webp" alt="Nowe pojazdy i jednostka szybkiego reagowania wzmacniają policję 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"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-24T02:24:00+01:00"> 24 grudnia 2025 </time> </time> <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"> Nowe pojazdy i jednostka szybkiego reagowania wzmacniają policję 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="/20251224575270/swiateczne-zyczenia-od-wladz-powiatu-i-praktyczne-informacje-o-pracy-urzedu" class="flex mobile-list-link hover:no-underline" aria-label="Świąteczne życzenia od władz powiatu i praktyczne informacje o pracy urzędu"> <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="Świąteczne życzenia od władz powiatu i praktyczne informacje o pracy urzędu" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-24T02:23:00+01:00"> 24 grudnia 2025 </time> </time> <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"> Świąteczne życzenia od władz powiatu i praktyczne informacje o pracy urzędu </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="/20251224245021/urodzinowy-weekend-w-toruniu-miejskie-spacery-muzyka-i-rodzinne-atrakcje" class="flex mobile-list-link hover:no-underline" aria-label="Urodzinowy weekend w Toruniu - miejskie spacery, muzyka i rodzinne atrakcje"> <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/34.webp" alt="Urodzinowy weekend w Toruniu - miejskie spacery, muzyka i rodzinne atrakcje" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-24T02:16:00+01:00"> 24 grudnia 2025 </time> </time> <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"> Urodzinowy weekend w Toruniu - miejskie spacery, muzyka i rodzinne atrakcje </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="/20251224113275/z-gronowa-do-romy-i-na-seans-w-toruniu-program-wyjscie-z-klasa-przybliza-kulture" class="flex mobile-list-link hover:no-underline" aria-label="Z Gronowa do Romy i na seans w Toruniu - program Wyjście z klasą przybliża kulturę"> <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/10.webp" alt="Z Gronowa do Romy i na seans w Toruniu - program Wyjście z klasą przybliża kulturę" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-24T02:12:00+01:00"> 24 grudnia 2025 </time> </time> <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"> Z Gronowa do Romy i na seans w Toruniu - program Wyjście z klasą przybliża kulturę </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="/20251223915626/mlody-policjant-w-trakcie-adaptacji-wszedl-przez-okno-i-uratowal-seniorke" class="flex mobile-list-link hover:no-underline" aria-label="Młody policjant w trakcie adaptacji - wszedł przez okno i uratował seniorkę"> <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/116.webp" alt="Młody policjant w trakcie adaptacji - wszedł przez okno i uratował seniorkę" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-23T10:08:00+01:00"> 23 grudnia 2025 </time> </time> <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"> Młody policjant w trakcie adaptacji - wszedł przez okno i uratował seniorkę </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="/20251223684141/komisariat-policji-w-dobrzejewicach-z-wlasna-zbiorka-dary-trafily-do-schroniska" class="flex mobile-list-link hover:no-underline" aria-label="Komisariat Policji w Dobrzejewicach z własną zbiórką - dary trafiły do schroniska"> <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/303cnv.webp" alt="Komisariat Policji w Dobrzejewicach z własną zbiórką - dary trafiły do schroniska" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-23T09:55:00+01:00"> 23 grudnia 2025 </time> </time> <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"> Komisariat Policji w Dobrzejewicach z własną zbiórką - dary trafiły do schroniska </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="/20251222830305/przechodnie-i-policjanci-uratowali-mezczyzne-na-moscie-pilsudskiego" class="flex mobile-list-link hover:no-underline" aria-label="Przechodnie i policjanci uratowali mężczyznę na moście Piłsudskiego"> <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/303cnv.webp" alt="Przechodnie i policjanci uratowali mężczyznę na moście Piłsudskiego" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T15:08:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Przechodnie i policjanci uratowali mężczyznę na moście Piłsudskiego </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="/20251222580997/nowe-zycie-kolekcji-muzeum-sztuki-azji-w-kamienicy-pod-gwiazda" class="flex mobile-list-link hover:no-underline" aria-label="Nowe życie kolekcji - Muzeum Sztuki Azji w Kamienicy pod Gwiazdą"> <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/13.webp" alt="Nowe życie kolekcji - Muzeum Sztuki Azji w Kamienicy pod Gwiazdą" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T15:07:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Nowe życie kolekcji - Muzeum Sztuki Azji w Kamienicy pod Gwiazdą </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="/20251222727535/miejska-diagnoza-kultury-w-toruniu-ankieta-dla-uczestnikow-i-tworcow" class="flex mobile-list-link hover:no-underline" aria-label="Miejska diagnoza kultury w Toruniu - ankieta dla uczestników i twórców"> <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="Miejska diagnoza kultury w Toruniu - ankieta dla uczestników i twórców" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T15:05:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Miejska diagnoza kultury w Toruniu - ankieta dla uczestników i twórców </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="/20251222166175/swiateczne-koledowanie-ponad-200-seniorow-z-domu-pomocy-spolecznej" class="flex mobile-list-link hover:no-underline" aria-label="Świąteczne kolędowanie - ponad 200 seniorów z Domu Pomocy Społecznej"> <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/303cnv.webp" alt="Świąteczne kolędowanie - ponad 200 seniorów z Domu Pomocy Społecznej" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T14:53:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Świąteczne kolędowanie - ponad 200 seniorów z Domu Pomocy Społecznej </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="/20251222711680/nowa-aplikacja-ujawnia-100-nieoczywistych-miejsc-metropolii-torunskiej" class="flex mobile-list-link hover:no-underline" aria-label="Nowa aplikacja ujawnia 100 nieoczywistych miejsc Metropolii Toruńskiej"> <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/24.webp" alt="Nowa aplikacja ujawnia 100 nieoczywistych miejsc Metropolii Toruńskiej" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T14:47:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Nowa aplikacja ujawnia 100 nieoczywistych miejsc Metropolii Toruńskiej </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="/20251222245774/23-latek-zmarl-po-uderzeniu-w-bariere-na-a1-w-kielbasinie-trzy-pojazdy" class="flex mobile-list-link hover:no-underline" aria-label="23-latek zmarł po uderzeniu w barierę na A1 w Kiełbasinie - trzy pojazdy"> <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/105.webp" alt="23-latek zmarł po uderzeniu w barierę na A1 w Kiełbasinie - trzy pojazdy" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T10:33:00+01:00"> 22 grudnia 2025 </time> </time> <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"> 23-latek zmarł po uderzeniu w barierę na A1 w Kiełbasinie - trzy pojazdy </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="/20251222241404/wyobrazenia-o-przyszlosci-laureaci-17-powiatowego-konkursu-plastycznego" class="flex mobile-list-link hover:no-underline" aria-label="Wyobrażenia o przyszłości - laureaci 17. Powiatowego Konkursu Plastycznego"> <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/07.webp" alt="Wyobrażenia o przyszłości - laureaci 17. Powiatowego Konkursu Plastycznego" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T10:28:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Wyobrażenia o przyszłości - laureaci 17. Powiatowego Konkursu Plastycznego </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="/20251222190337/kujawsko-pomorska-policja-intensyfikuje-kontrole-bezpieczenstwo-na-swiatecznych-drogach" class="flex mobile-list-link hover:no-underline" aria-label="Kujawsko-pomorska policja intensyfikuje kontrole - bezpieczeństwo na świątecznych drogach"> <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/308cnv.webp" alt="Kujawsko-pomorska policja intensyfikuje kontrole - bezpieczeństwo na świątecznych drogach" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T10:20:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Kujawsko-pomorska policja intensyfikuje kontrole - bezpieczeństwo na świątecznych drogach </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="/20251222845790/cieplo-ze-sciekow-pge-i-wodociagi-rozbudowuja-zielone-zrodla-ciepla-w-toruniu" class="flex mobile-list-link hover:no-underline" aria-label="Ciepło ze ścieków - PGE i wodociągi rozbudowują zielone źródła ciepła 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/302cnv.webp" alt="Ciepło ze ścieków - PGE i wodociągi rozbudowują zielone źródła ciepła 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"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T10:19:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Ciepło ze ścieków - PGE i wodociągi rozbudowują zielone źródła ciepła 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="/20251222458030/kryminalni-zatrzymali-dwoch-mezczyzn-zabezpieczyli-ponad-10-kg-narkotykow" class="flex mobile-list-link hover:no-underline" aria-label="Kryminalni zatrzymali dwóch mężczyzn - zabezpieczyli ponad 10 kg narkotyków"> <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/121.webp" alt="Kryminalni zatrzymali dwóch mężczyzn - zabezpieczyli ponad 10 kg narkotyków" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T10:16:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Kryminalni zatrzymali dwóch mężczyzn - zabezpieczyli ponad 10 kg narkotyków </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="/20251222177329/metropolia-domaga-sie-pilnych-zmian-po-smiertelnych-wypadkach-na-drogach" class="flex mobile-list-link hover:no-underline" aria-label="Metropolia domaga się pilnych zmian po śmiertelnych wypadkach na drogach"> <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="Metropolia domaga się pilnych zmian po śmiertelnych wypadkach na drogach" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T10:06:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Metropolia domaga się pilnych zmian po śmiertelnych wypadkach na drogach </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="/20251222343776/ponad-800-uczniow-z-powiatu-torunskiego-obejrzalo-spektakl-kosmos-w-jordankach" class="flex mobile-list-link hover:no-underline" aria-label="Ponad 800 uczniów z powiatu toruńskiego obejrzało spektakl "Kosmos" w Jordankach"> <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/307cnv.webp" alt="Ponad 800 uczniów z powiatu toruńskiego obejrzało spektakl "Kosmos" w Jordankach" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T10:05:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Ponad 800 uczniów z powiatu toruńskiego obejrzało spektakl “Kosmos” w Jordankach </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="/20251222837872/nowe-udogodnienia-dla-mieszkancow-torunia-worek-big-bag-mobilny-pszok-i-czestszy-odbior-bioodpadow" class="flex mobile-list-link hover:no-underline" aria-label="Nowe udogodnienia dla mieszkańców Torunia - worek BIG BAG, mobilny PSZOK i częstszy odbiór bioodpadów"> <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="Nowe udogodnienia dla mieszkańców Torunia - worek BIG BAG, mobilny PSZOK i częstszy odbiór bioodpadów" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-22T10:04:00+01:00"> 22 grudnia 2025 </time> </time> <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"> Nowe udogodnienia dla mieszkańców Torunia - worek BIG BAG, mobilny PSZOK i częstszy odbiór bioodpadów </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="/20251221826941/oplatek-maltanski-w-toruniu-wigilia-dla-osob-w-potrzebie" class="flex mobile-list-link hover:no-underline" aria-label="Opłatek Maltański w Toruniu - wigilia dla osób w potrzebie"> <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/03.webp" alt="Opłatek Maltański w Toruniu - wigilia dla osób w potrzebie" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-21T01:04:00+01:00"> 21 grudnia 2025 </time> </time> <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"> Opłatek Maltański w Toruniu - wigilia dla osób w potrzebie </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="/20251220326350/patrole-wokol-torow-w-toruniu-policja-wlaczyla-sie-do-ogolnopolskiej-akcji" class="flex mobile-list-link hover:no-underline" aria-label="Patrole wokół torów w Toruniu - policja włączyła się do ogólnopolskiej akcji"> <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/121.webp" alt="Patrole wokół torów w Toruniu - policja włączyła się do ogólnopolskiej akcji" width="100" height="62" loading="lazy" decoding="async"> </figure> <div class="flex-1 min-w-0 flex flex-col justify-center ml-4"> <time class="text-xs text-zinc-500 dark:text-zinc-400 mb-1"> <time datetime="2025-12-20T02:39:00+01:00"> 20 grudnia 2025 </time> </time> <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"> Patrole wokół torów w Toruniu - policja włączyła się do ogólnopolskiej akcji </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 © 2025 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>