
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>Kamil Owczarek | Senior Full-Stack Engineer</title>
      <link>https://whoisarjen.com/pl/blog</link>
      <description>Senior Full-Stack Engineer specjalizujący się w wydajnym e-commerce, skalowalnej architekturze i optymalizacji wydajności. TypeScript, React, Next.js, Vue, Nuxt, PostgreSQL, Redis.</description>
      <language>pl</language>
      <managingEditor>kamilow97@gmail.com (Kamil Owczarek)</managingEditor>
      <webMaster>kamilow97@gmail.com (Kamil Owczarek)</webMaster>
      <lastBuildDate>Mon, 06 Apr 2026 11:00:00 GMT</lastBuildDate>
      <atom:link href="https://whoisarjen.com/pl/tags/seo/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://whoisarjen.com/pl/blog/redirect-constants-client-bundle-bloat-server-migration</guid>
    <title>3842 linie stałych z przekierowaniami ukrywały się w naszym client bundle</title>
    <link>https://whoisarjen.com/pl/blog/redirect-constants-client-bundle-bloat-server-migration</link>
    <description>Jak odkryliśmy, że trzy pliki ze stałymi przekierowań wysyłają 316 KB martwego balastu do każdej przeglądarki, i dlaczego przeniesienie ich do server middleware z fallbackiem w bazie ucięło nasz bundle JavaScriptu o jedną trzecią.</description>
    <pubDate>Mon, 06 Apr 2026 11:00:00 GMT</pubDate>
    <author>kamilow97@gmail.com (Kamil Owczarek)</author>
    <category>JavaScript</category><category>Performance</category><category>Bundle Size</category><category>SEO</category><category>Redirects</category><category>Server-Side</category><category>Nuxt</category>
  </item>

  <item>
    <guid>https://whoisarjen.com/pl/blog/history-replacestate-vs-router-replace-url-canonicalization</guid>
    <title>Przestań używać Router.replace() do kanonikalizacji adresów — sięgnij po History.replaceState()</title>
    <link>https://whoisarjen.com/pl/blog/history-replacestate-vs-router-replace-url-canonicalization</link>
    <description>Przepalaliśmy pełne cykle nawigacji Vue Routera tylko po to, żeby poprawić slug w adresie karty produktu. Zamiana router.replace() na history.replaceState() wycięła zbędne re-rendery, naprawiła popsute meta tagi SEO i sprowadziła kanonikalizację po stronie klienta do jednego wywołania, które nie dotyka DOM-u.</description>
    <pubDate>Mon, 06 Apr 2026 09:00:00 GMT</pubDate>
    <author>kamilow97@gmail.com (Kamil Owczarek)</author>
    <category>Vue.js</category><category>Performance</category><category>SEO</category><category>Nuxt</category><category>URL Canonicalization</category><category>SSR</category><category>Router</category>
  </item>

  <item>
    <guid>https://whoisarjen.com/pl/blog/hidden-languages-wasting-vercel-budget-seo-fix</guid>
    <title>Jak nieopublikowane języki po cichu drenowały nasz budżet na Vercelu i zabiły wydajność na mobile</title>
    <link>https://whoisarjen.com/pl/blog/hidden-languages-wasting-vercel-budget-seo-fix</link>
    <description>Dodaliśmy arabski i portugalski do naszej konfiguracji i18n w Nuxcie, ale zablokowaliśmy je na produkcji. Problem? Sitemapy, tagi hreflang i crawlery nic o tym nie wiedziały — generując tysiące bezużytecznych URL-i, podwajając liczbę zapytań do API i przepalając wywołania funkcji serverless.</description>
    <pubDate>Sat, 14 Feb 2026 12:00:00 GMT</pubDate>
    <author>kamilow97@gmail.com (Kamil Owczarek)</author>
    <category>Nuxt</category><category>i18n</category><category>Vercel</category><category>SEO</category><category>Performance</category><category>Sitemap</category>
  </item>

  <item>
    <guid>https://whoisarjen.com/pl/blog/seo-aware-links-automatic-nofollow-nuxtlink</guid>
    <title>Linki świadome SEO: automatyczny nofollow dla parametrów query w Nuxt</title>
    <link>https://whoisarjen.com/pl/blog/seo-aware-links-automatic-nofollow-nuxtlink</link>
    <description>Gotowy wrapper na NuxtLink, który automatycznie dodaje rel=&quot;nofollow&quot; do linków z parametrami query i zapobiega wyciekaniu PageRank na przefiltrowanych i sparametryzowanych URL-ach.</description>
    <pubDate>Thu, 12 Jun 2025 17:00:00 GMT</pubDate>
    <author>kamilow97@gmail.com (Kamil Owczarek)</author>
    <category>SEO</category><category>Nuxt 3</category><category>Vue</category><category>Component</category><category>PageRank</category><category>Links</category>
  </item>

  <item>
    <guid>https://whoisarjen.com/pl/blog/core-web-vitals-nuxt3-lcp-cls-fixes</guid>
    <title>Naprawa Core Web Vitals w Nuxt 3: szybkie wygrane w LCP i CLS</title>
    <link>https://whoisarjen.com/pl/blog/core-web-vitals-nuxt3-lcp-cls-fixes</link>
    <description>Proste zmiany, które naprawiają Largest Contentful Paint i Cumulative Layout Shift w Nuxt 3. Preconnect, wymiary obrazków i ukryci zabójcy wydajności.</description>
    <pubDate>Mon, 12 May 2025 13:00:00 GMT</pubDate>
    <author>kamilow97@gmail.com (Kamil Owczarek)</author>
    <category>Core Web Vitals</category><category>Performance</category><category>Nuxt 3</category><category>LCP</category><category>CLS</category><category>SEO</category>
  </item>

  <item>
    <guid>https://whoisarjen.com/pl/blog/sitemap-exclusion-bug-that-hid-all-products</guid>
    <title>Bug w sitemapie, który ukrył wszystkie nasze produkty przed Google</title>
    <link>https://whoisarjen.com/pl/blog/sitemap-exclusion-bug-that-hid-all-products</link>
    <description>Jak 10 linijek konfiguracji po cichu zablokowało tysiące stron produktowych przed indeksowaniem w Google i jakie zaskakujące zachowanie nuxtjs/sitemap za tym stało.</description>
    <pubDate>Tue, 15 Apr 2025 10:00:00 GMT</pubDate>
    <author>kamilow97@gmail.com (Kamil Owczarek)</author>
    <category>SEO</category><category>Nuxt 3</category><category>Sitemap</category><category>Debugging</category><category>i18n</category>
  </item>

    </channel>
  </rss>
