<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <atom:link href="https://piotrbach.com/topics/umbraco/rss/" rel="self" type="application/rss+xml" />

        <title>Piotr Bach RSS Feed - Umbraco</title>

        <link>https://piotrbach.com/topics/umbraco</link>

        <description>Explore practical Umbraco guides on architecture, upgrades, migrations, performance, content modelling and production engineering for modern web platforms.</description>

        <pubDate>Tue, 07 Jul 2026 13:04:47 GMT</pubDate>

        <lastBuildDate>Wed, 23 Sep 2026 09:59:46 GMT</lastBuildDate>

        <language>en</language>

        <generator>BachPlatform / Umbraco CMS</generator>

            <item>
                <title>How to Reset an Umbraco 6 Admin Password in SQL Server</title>

                <link>https://piotrbach.com/blog/reset-an-umbraco-6-admin-password-in-sql-server/</link>

                <description>Reset an Umbraco 6 administrator password in SQL Server with the correct legacy hash, then recycle the IIS App Pool before testing the backoffice login.</description>

                <pubDate>Wed, 23 Sep 2026 06:25:14 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/reset-an-umbraco-6-admin-password-in-sql-server/</guid>
            </item>
            <item>
                <title>Umbraco Technical Debt: What I Fix, What I Investigate, and What I Leave Alone</title>

                <link>https://piotrbach.com/blog/umbraco-technical-debt/</link>

                <description>Technical debt is not a backlog of everything that could be cleaner. In a mature Umbraco platform, the useful question is economic and operational: what cost does the current design create, what evidence supports it, and what should the team do next?</description>

                <pubDate>Sun, 20 Sep 2026 11:41:13 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/umbraco-technical-debt/</guid>
            </item>
            <item>
                <title>Umbraco Upgrade Readiness: What Makes an Upgrade Expensive</title>

                <link>https://piotrbach.com/blog/umbraco-upgrade-readiness/</link>

                <description>Upgrade cost is often determined years before the upgrade begins. The useful question is not only whether an Umbraco solution can reach the next version, but how much uncertainty the surrounding platform carries into that change.</description>

                <pubDate>Sun, 20 Sep 2026 10:33:47 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/umbraco-upgrade-readiness/</guid>
            </item>
            <item>
                <title>How I Diagnose Slow Umbraco Sites in Production</title>

                <link>https://piotrbach.com/blog/how-to-diagnose-umbraco-performance-problems/</link>

                <description>Performance diagnosis is not a sequence of optimizations. It is an evidence loop: define the symptom, reproduce or observe it, decompose the latency, form a hypothesis, change the smallest useful variable, and verify the original symptom.</description>

                <pubDate>Sun, 20 Sep 2026 09:48:50 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/how-to-diagnose-umbraco-performance-problems/</guid>
            </item>
            <item>
                <title>Why Umbraco Projects Become Expensive: Technical Failure Patterns</title>

                <link>https://piotrbach.com/blog/why-umbraco-projects-become-expensive/</link>

                <description>Umbraco projects rarely become expensive because of one catastrophic decision. Cost grows when content architecture, custom code, data, search, infrastructure, deployments, dependencies, and ownership drift apart. This guide examines the technical failure patterns that make mature Umbraco platforms harder to change, operate, and upgrade. They are not isolated checklist items: several usually reinforce one another, and the visible CMS is often only where the underlying problem surfaces.</description>

                <pubDate>Sat, 22 Aug 2026 20:00:00 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/why-umbraco-projects-become-expensive/</guid>
            </item>
            <item>
                <title>Why Umbraco&#x2019;s Move to ASP.NET Core Changed the CMS</title>

                <link>https://piotrbach.com/blog/why-umbraco-s-move-to-aspnet-core-changed-the-cms/</link>

                <description>Umbraco 9 did more than replace one runtime with another. Moving from .NET Framework to ASP.NET Core changed where Umbraco could run, how projects were structured, how developers extended the CMS, and how Umbraco could follow Microsoft&#x2019;s modern .NET release cycle.</description>

                <pubDate>Sun, 16 Aug 2026 09:34:39 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/why-umbraco-s-move-to-aspnet-core-changed-the-cms/</guid>
            </item>
            <item>
                <title>How to Examine Umbraco Property Values for a Given Data Type</title>

                <link>https://piotrbach.com/blog/examine-umbraco-property-values-given-data-type/</link>

                <description>A practical, read-only T-SQL technique for finding published content that uses a specific data type in Umbraco 13</description>

                <pubDate>Sat, 15 Aug 2026 12:09:58 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/examine-umbraco-property-values-given-data-type/</guid>
            </item>
            <item>
                <title>How to Add Umbraco Redirect URLs Directly in Database</title>

                <link>https://piotrbach.com/blog/how-to-add-umbraco-redirect-urls-directly-in-database/</link>

                <description>Need to preserve old URLs after an Umbraco 17 migration? Here is how umbracoRedirectUrl works, how to add records with SQL Server, and how to verify the resulting 301 redirect.</description>

                <pubDate>Sun, 09 Aug 2026 12:08:39 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/how-to-add-umbraco-redirect-urls-directly-in-database/</guid>
            </item>
            <item>
                <title>Umbraco Backoffice Session Timeout and Security</title>

                <link>https://piotrbach.com/blog/umbraco-backoffice-session-timeout-and-security/</link>

                <description>How the Umbraco 13 backoffice idle timeout works, which settings control it, and how to balance editor convenience with security.</description>

                <pubDate>Sun, 12 Oct 2025 06:00:00 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/umbraco-backoffice-session-timeout-and-security/</guid>
            </item>
            <item>
                <title>How 805K Documents Exposed Webhook Polling in Umbraco 13</title>

                <link>https://piotrbach.com/blog/how-805k-documents-exposed-webhook-polling-in-umbraco-13/</link>

                <description>While migrating and publishing more than 805,000 documents from a legacy CMS, I was looking for every source of unnecessary background work. SQL Profiler exposed one that should have been disabled already: webhook polling.</description>

                <pubDate>Sun, 16 Feb 2025 06:00:00 GMT</pubDate>

                <dc:creator>Piotr Bach</dc:creator>

                <guid isPermaLink="true">https://piotrbach.com/blog/how-805k-documents-exposed-webhook-polling-in-umbraco-13/</guid>
            </item>
    </channel>
</rss>
