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/bf25" rel="nofollow"> <img src="/banners/baner-bf2025-bottom.jpg" alt="Serwisy Lokalne - Oferta Black Friday 2025" class="w-full max-w-2xl mx-auto rounded-lg shadow-sm"> </a> </div> <div class="my-8"> <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 noreferrer" 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 noreferrer" 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> <div class="my-8"> <section class="social-follow-banner" aria-label="Obserwuj nas na Facebooku"> <a href="https://www.facebook.com/halotorunpl" target="_blank" rel="nofollow noopener noreferrer 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> <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> <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", "keywords": ["\"20230126532090\""], "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?\\nCzym 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.\\nPierwsze 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.\\nWiesz 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.\\nWtyczka SEO Yoast Pozycjonowanie stron\\ropartych 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:\\nłatwe wygenerowanie mapy strony , którą dodasz w Google Search Console. personalizację tytułów i opisów poszczególnych stron tagi i \\u003cdescription\\u003e. 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ść;\\u003c/li\\u003e \\u003cli\\u003e\\u003cstrong\\u003eanalizę treści pod kątem SEO\\u003c/strong\\u003e wtyczka sprawdza, czy content jest odpowiednio zoptymalizowany i zawiera niezbędne elementy;\\u003c/li\\u003e \\u003cli\\u003e\\u003cstrong\\u003eautomatyczne włączenie danych strukturalnych\\u003c/strong\\u003e 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.\\u003c/li\\u003e \\u003c/ul\\u003e \\u003cp\\u003eWię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.\\n\\u003ch2 id=\\\"korzyści-seo-dla-strony-zbudowanej-na-wordpress\\\"\\u003e\\u003cstrong\\u003eKorzyści SEO dla strony zbudowanej na WordPress\\u003c/strong\\u003e\\u003c/h2\\u003e \\u003cp\\u003eDzię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.\\n\\u003cp\\u003eNajwię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 \\u003cstrong\\u003emożesz włączyć menu okruszkowe czy też wyświetlać wpisy podobne tematycznie\\u003c/strong\\u003e. 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.\\n\"", "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": "Person", "name": "\"Zewnętrzny materiał partnerski\"" }, "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": "20230126532090th" } </script> <footer id="post-footer" class="not-prose mt-8 border-t pt-4"> <div id="related-post" class="mt-10"> <h2 class="text-xl md:text-2xl font-bold mb-6">Zobacz też:</h2> <div class="grid grid-cols-1"> <article class="relative group bg-zinc-100 hover:bg-blue-100 rounded-3xl"> <a href="/20251124846370/jak-rozwiazywac-konflikty-w-szkole-seminarium-dla-nauczycieli-w-toruniu" class="block hover:no-underline" aria-label="Jak rozwiązywać konflikty w szkole - seminarium dla nauczycieli w Toruniu"> <figure class="w-full aspect-video overflow-hidden rounded-t-3xl"> <img class="object-cover group-hover:scale-105 transition duration-500 cursor-pointer w-full h-full rounded-t-3xl" src="/images/torunimg/webp/27.webp" alt="Jak rozwiązywać konflikty w szkole - seminarium dla nauczycieli w Toruniu"> </figure> <div class="p-6"> <time datetime="2025-11-24T10:30:00+01:00"> 24 listopada 2025 </time> <h2 class="my-4 text-2xl font-bold title-with-emphasis"> Jak rozwiązywać konflikty w szkole - seminarium dla nauczycieli w Toruniu </h2> <div class="text-normal leading-normal text-zinc-600"> <p>W Toruniu pojawi się okazja, by spojrzeć na szkolne spory inaczej niż przez pryzmat napięć i nieporozumień. Organizatorzy zapowiadają praktyczne ćwiczenia i wymianę doświadczeń, a sala pomieści ograniczoną liczbę uczestników. Dla nauczycieli to propozycja, która łączy teorię z konkretnymi …</p> </div> </div> </a> </article> </div> </div> </footer> </article> <aside class="md:col-span-1"> <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="aside-sidebar-banner-container mt-4 mb-6"> <div class="aside-sidebar-banner-item rounded-xl overflow-hidden shadow-lg hover:shadow-xl transition-shadow duration-300 mb-4"> <a href="https://serwisylokalne.pl/bf25/" target="_blank" rel="noopener noreferrer" title="Black Friday 2025 w serwisylokalne.pl. Zobacz promocje do nawet -60% na publikacje sponsorowane"> <img src="/banners/baner-baner-bf2025-kwadrat.jpg" alt="Black Friday 2025 w serwisylokalne.pl. Zobacz promocje do nawet -60% na publikacje sponsorowane" class="w-full h-auto object-cover hover:opacity-90 transition-opacity duration-300"> </a> </div> </div> <div class="space-y-6"> <h2 class="font-bold text-xl mb-8">Ostatnie Artykuły</h2> <article class="relative group flex flex-row"> <a href="/20251130140866/fotografie-farm-security-administration-historia-dokumentu-i-sztuki-w-toruniu" class="flex flex-row hover:no-underline w-full" aria-label="Fotografie Farm Security Administration - historia dokumentu i sztuki w Toruniu"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/04.webp" alt="Fotografie Farm Security Administration - historia dokumentu i sztuki w Toruniu" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T01:14:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Fotografie Farm Security Administration - historia dokumentu i sztuki w Toruniu</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130180946/muzyka-na-zywo-z-torunia-final-top-357-zabrzmi-ze-sceny-klubu-od-nowa" class="flex flex-row hover:no-underline w-full" aria-label="Muzyka na żywo z Torunia - finał TOP 357 zabrzmi ze sceny klubu Od Nowa"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/304cnv.webp" alt="Muzyka na żywo z Torunia - finał TOP 357 zabrzmi ze sceny klubu Od Nowa" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T01:09:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Muzyka na żywo z Torunia - finał TOP 357 zabrzmi ze sceny klubu Od Nowa</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130919557/piernikowe-warsztaty-w-toruniu-swiateczne-kartki-i-mozaiki-z-zapachem-korzennych-przypraw" class="flex flex-row hover:no-underline w-full" aria-label="Piernikowe warsztaty w Toruniu - świąteczne kartki i mozaiki z zapachem korzennych przypraw"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/kulturaimg/webp/7.webp" alt="Piernikowe warsztaty w Toruniu - świąteczne kartki i mozaiki z zapachem korzennych przypraw" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T01:07:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Piernikowe warsztaty w Toruniu - świąteczne kartki i mozaiki z zapachem korzennych przypraw</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130283429/rafal-kosik-o-cyberpunku-transhumanizmie-i-dystopii-spotkanie-28-listopada" class="flex flex-row hover:no-underline w-full" aria-label="Rafał Kosik o cyberpunku, transhumanizmie i dystopii - spotkanie 28 listopada"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/bibliotekaimg/webp/309cnv.webp" alt="Rafał Kosik o cyberpunku, transhumanizmie i dystopii - spotkanie 28 listopada" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T01:06:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Rafał Kosik o cyberpunku, transhumanizmie i dystopii - spotkanie 28 listopada</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130996819/w-toruniu-uczczono-pamiec-wandy-szuman-i-o-wladyslawa-woloszyna" class="flex flex-row hover:no-underline w-full" aria-label="W Toruniu uczczono pamięć Wandy Szuman i o. Władysława Wołoszyna"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/22.webp" alt="W Toruniu uczczono pamięć Wandy Szuman i o. Władysława Wołoszyna" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T01:06:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">W Toruniu uczczono pamięć Wandy Szuman i o. Władysława Wołoszyna</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130986234/wernisaz-i-gala-foto-roku-pomorza-i-kujaw-final-torunskich-spacerow" class="flex flex-row hover:no-underline w-full" aria-label="Wernisaż i gala Foto Roku Pomorza i Kujaw - finał Toruńskich Spacerów"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/22.webp" alt="Wernisaż i gala Foto Roku Pomorza i Kujaw - finał Toruńskich Spacerów" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T01:05:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Wernisaż i gala Foto Roku Pomorza i Kujaw - finał Toruńskich Spacerów</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130971522/kathia-nagrodzona-nagroda-artystyczna-dla-katarzyny-polrolniczak-trafi-do-torunia" class="flex flex-row hover:no-underline w-full" aria-label="KATHIA nagrodzona - Nagroda Artystyczna dla Katarzyny Półrolniczak trafi do Torunia"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/28.webp" alt="KATHIA nagrodzona - Nagroda Artystyczna dla Katarzyny Półrolniczak trafi do Torunia" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T01:02:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">KATHIA nagrodzona - Nagroda Artystyczna dla Katarzyny Półrolniczak trafi do Torunia</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130326204/wieczor-z-krzysztofem-siwczykiem-w-ksiaznicy-kopernikanskiej-poezja-krytyka-i-filmowe-epizody" class="flex flex-row hover:no-underline w-full" aria-label="Wieczór z Krzysztofem Siwczykiem w Książnicy Kopernikańskiej - poezja, krytyka i filmowe epizody"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/bibliotekaimg/webp/21.webp" alt="Wieczór z Krzysztofem Siwczykiem w Książnicy Kopernikańskiej - poezja, krytyka i filmowe epizody" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T00:54:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Wieczór z Krzysztofem Siwczykiem w Książnicy Kopernikańskiej - poezja, krytyka i filmowe epizody</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130640717/siedem-dekad-biblioteki-w-lubiczu-swieto-ksiazki-i-lokalnej-pamieci" class="flex flex-row hover:no-underline w-full" aria-label="Siedem dekad biblioteki w Lubiczu - święto książki i lokalnej pamięci"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/28.webp" alt="Siedem dekad biblioteki w Lubiczu - święto książki i lokalnej pamięci" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T00:53:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Siedem dekad biblioteki w Lubiczu - święto książki i lokalnej pamięci</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130864299/tanie-ksiazki-pod-choinke-swiateczny-kiermasz-w-mediatece-raszei" class="flex flex-row hover:no-underline w-full" aria-label="Tanie książki pod choinkę - świąteczny kiermasz w Mediatece Raszei"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/bibliotekaimg/webp/17.webp" alt="Tanie książki pod choinkę - świąteczny kiermasz w Mediatece Raszei" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T00:53:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Tanie książki pod choinkę - świąteczny kiermasz w Mediatece Raszei</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251130608209/akcja-predkosc-w-toruniu-209-kierowcow-skontrolowanych-79-przekroczen" class="flex flex-row hover:no-underline w-full" aria-label="Akcja Prędkość w Toruniu - 209 kierowców skontrolowanych, 79 przekroczeń"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/policjaimg/webp/110.webp" alt="Akcja Prędkość w Toruniu - 209 kierowców skontrolowanych, 79 przekroczeń" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-30T00:51:00+01:00"> 30 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Akcja Prędkość w Toruniu - 209 kierowców skontrolowanych, 79 przekroczeń</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128824924/spotkanie-z-jackiem-dehnelem-w-ksiaznicy-kopernikanskiej-wieczor-literacki-na-festiwalu" class="flex flex-row hover:no-underline w-full" aria-label="Spotkanie z Jackiem Dehnelem w Książnicy Kopernikańskiej - wieczór literacki na festiwalu"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/bibliotekaimg/webp/104.webp" alt="Spotkanie z Jackiem Dehnelem w Książnicy Kopernikańskiej - wieczór literacki na festiwalu" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:23:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Spotkanie z Jackiem Dehnelem w Książnicy Kopernikańskiej - wieczór literacki na festiwalu</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128410904/weronika-kostyrko-rozmawiala-o-biografiach-kobiet-ktore-zostawily-slad-w-xx-wieku" class="flex flex-row hover:no-underline w-full" aria-label="Weronika Kostyrko rozmawiała o biografiach kobiet, które zostawiły ślad w XX wieku"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/bibliotekaimg/webp/20.webp" alt="Weronika Kostyrko rozmawiała o biografiach kobiet, które zostawiły ślad w XX wieku" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:23:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Weronika Kostyrko rozmawiała o biografiach kobiet, które zostawiły ślad w XX wieku</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128714544/drewniana-sensacja-pod-domem-kopernika-co-mowia-nowe-odkrycia-o-najstarszym-toruniu" class="flex flex-row hover:no-underline w-full" aria-label="Drewniana sensacja pod Domem Kopernika - co mówią nowe odkrycia o najstarszym Toruniu"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/kulturaimg/webp/6.webp" alt="Drewniana sensacja pod Domem Kopernika - co mówią nowe odkrycia o najstarszym Toruniu" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:21:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Drewniana sensacja pod Domem Kopernika - co mówią nowe odkrycia o najstarszym Toruniu</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128729224/sds-w-osieku-nad-wisla-obchodzi-20-lat-scena-pelna-radosci-i-codziennej-pracy-terapeutycznej" class="flex flex-row hover:no-underline w-full" aria-label="ŚDS w Osieku nad Wisłą obchodzi 20 lat - scena pełna radości i codziennej pracy terapeutycznej"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/26.webp" alt="ŚDS w Osieku nad Wisłą obchodzi 20 lat - scena pełna radości i codziennej pracy terapeutycznej" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:21:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">ŚDS w Osieku nad Wisłą obchodzi 20 lat - scena pełna radości i codziennej pracy terapeutycznej</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128763157/osiemdziesieciu-policjantow-uhonorowanych-krysztalowymi-sercami-w-bydgoszczy" class="flex flex-row hover:no-underline w-full" aria-label="Osiemdziesięciu policjantów uhonorowanych ''Kryształowymi Sercami'' w Bydgoszczy"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/policjaimg/webp/104.webp" alt="Osiemdziesięciu policjantów uhonorowanych ''Kryształowymi Sercami'' w Bydgoszczy" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:20:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Osiemdziesięciu policjantów uhonorowanych ‘‘Kryształowymi Sercami’’ w Bydgoszczy</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128266336/made-in-torun-25-firm-nagrodzonych-za-jakosc-i-zaangazowanie-spoleczne" class="flex flex-row hover:no-underline w-full" aria-label="Made in Toruń - 25 firm nagrodzonych za jakość i zaangażowanie społeczne"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/11.webp" alt="Made in Toruń - 25 firm nagrodzonych za jakość i zaangażowanie społeczne" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:19:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Made in Toruń - 25 firm nagrodzonych za jakość i zaangażowanie społeczne</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128131237/gra-w-szachy-anguissoli-rozmowa-o-kobiecej-inteligencji-i-renesansowej-prowokacji" class="flex flex-row hover:no-underline w-full" aria-label="Gra w szachy Anguissoli - rozmowa o kobiecej inteligencji i renesansowej prowokacji"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/11.webp" alt="Gra w szachy Anguissoli - rozmowa o kobiecej inteligencji i renesansowej prowokacji" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:17:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Gra w szachy Anguissoli - rozmowa o kobiecej inteligencji i renesansowej prowokacji</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128529465/grudniowe-warsztaty-laczy-nas-mlody-teatr-spotkanie-aktorskie-w-toruniu" class="flex flex-row hover:no-underline w-full" aria-label="Grudniowe warsztaty Łączy nas (Młody) Teatr - spotkanie aktorskie w Toruniu"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/02.webp" alt="Grudniowe warsztaty Łączy nas (Młody) Teatr - spotkanie aktorskie w Toruniu" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:08:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Grudniowe warsztaty Łączy nas (Młody) Teatr - spotkanie aktorskie w Toruniu</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128235163/ksiazki-muzyka-i-swiateczna-zabawa-torun-zaprasza-na-ostatni-listopadowy-weekend" class="flex flex-row hover:no-underline w-full" aria-label="Książki, muzyka i świąteczna zabawa - Toruń zaprasza na ostatni listopadowy weekend"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/torunimg/webp/12.webp" alt="Książki, muzyka i świąteczna zabawa - Toruń zaprasza na ostatni listopadowy weekend" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:08:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Książki, muzyka i świąteczna zabawa - Toruń zaprasza na ostatni listopadowy weekend</h3> </div> </a> </article> <article class="relative group flex flex-row"> <a href="/20251128875953/awaria-magistrali-na-ul-poznanskiej-utrudnienia-przy-cmentarzu" class="flex flex-row hover:no-underline w-full" aria-label="Awaria magistrali na ul. Poznańskiej - utrudnienia przy cmentarzu"> <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl bg-zinc-100"> <img class="object-cover h-full w-full group-hover:scale-105 transition duration-500 cursor-pointer rounded-2xl" src="/images/mzdimimg/webp/12.webp" alt="Awaria magistrali na ul. Poznańskiej - utrudnienia przy cmentarzu" style="width: 100%; height: 100%; object-fit: cover;"> </figure> <div class="basis-2/3 self-center ml-4"> <div class="text-sm text-zinc-500 mb-1"> <time datetime="2025-11-28T01:07:00+01:00"> 28 listopada 2025 </time> </div> <h3 class="font-bold group-hover:underline decoration-auto title-with-emphasis">Awaria magistrali na ul. Poznańskiej - utrudnienia przy cmentarzu</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 src="/js/theme.js"></script> </body> </html>