{"id":6331,"date":"2026-09-23T09:46:59","date_gmt":"2026-09-23T06:46:59","guid":{"rendered":"https:\/\/www.scalahosting.com\/kb\/?p=6331"},"modified":"2026-09-23T09:47:00","modified_gmt":"2026-09-23T06:47:00","slug":"branding-survives-spanel-updates","status":"publish","type":"post","link":"https:\/\/www.scalahosting.com\/kb\/branding-survives-spanel-updates\/","title":{"rendered":"Your Branding Survived the Update: A Small Promise That Takes Real Engineering"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">When you white-label SPanel, every panel update reasserts your branded \/hostpanel login URL, including the webmail login and logout links, instead of resetting it to the default. ScalaHosting built the updater to be branding-aware, so the classic &#8220;<em>the upgrade wiped my customization<\/em>&#8221; problem never happens. Your company name, logo, and neutral login path survive the upgrade cycle with no manual patch-up.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why this fear is earned<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here is a possible scenario:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">John runs a six-client web studio in New York. Two control panels ago, he spent an afternoon rebranding the login screen his clients saw, only to watch a routine update reset the whole thing to the vendor&#8217;s logo. A client emailed him a screenshot: &#8220;Who is this company, and why am I logging into them?&#8221; That is the moment a reseller&#8217;s brand springs a leak.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;The upgrade reset my customization&#8221; is a reliable complaint across customized software, from CMS themes to control panels. We built SPanel branding so that dread is unfounded.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What &#8220;branding survives an update&#8221; actually means<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SPanel&#8217;s updater rewrites the configuration it regenerates with your branded \/hostpanel path already in place, so an update never resets your white-label settings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A lot of &#8220;customization&#8221; is really a manual edit layered on files the software owns. When an update regenerates those files, the edit is gone because the update was never told it existed.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SPanel instead treats your branding as state the server owns: the branded path, your company name, and your logo are recorded in the server&#8217;s configuration, and the updater writes that state into everything it regenerates. Persistence is the default, not a lucky outcome.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is what carries through a panel update:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular green-rows\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Surface<\/strong><\/td><td><strong>Survives an update?<\/strong><\/td><td><strong>How<\/strong><\/td><\/tr><tr><td>Login page URL (\/hostpanel)<\/td><td>Yes<\/td><td>Branded path rewritten into every domain&#8217;s virtual host config<\/td><\/tr><tr><td>Company name and logo<\/td><td>Yes<\/td><td>Read from saved branding state, re-applied<\/td><\/tr><tr><td>Webmail login link<\/td><td>Yes<\/td><td>Reasserted to the branded path during the update<\/td><\/tr><tr><td>Webmail logout link<\/td><td>Yes<\/td><td>Reasserted alongside the login link<\/td><\/tr><tr><td>API endpoint<\/td><td>Yes<\/td><td>Follows the branding URL setting (documented)<\/td><\/tr><tr><td>Newly added domains<\/td><td>Yes<\/td><td>Inherit branding when their config is generated<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How the updater reasserts your brand<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When SPanel updates, it regenerates parts of the web server configuration; that is how the platform ships fixes. The branding-aware step is that before that config goes live, the updater consults the saved branding state and stamps the branded \/hostpanel path back into it. Because SPanel runs across multiple web stacks, the same logic that rewrites the branded path across Apache, Nginx, and OpenLiteSpeed initially enables it to run again after the update. This is the boring reliability work that makes a feature trustworthy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>&#8220;An update that resets your customization isn&#8217;t an update; it&#8217;s a regression we refused to ship.&#8221;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Webmail is the surface most likely to leak because the link that takes a client into webmail and back is generated rather than hand-set. Rebuild it from a default template, and a client clicking &#8220;Webmail&#8221; lands on a default-path URL while the rest of the panel stays branded. One inconsistent link is all it takes to spot a vendor name. SPanel reasserts the webmail login and logout links to the branded path during the update, so the round trip from panel to inbox stays within your brand.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What survives, and what is still your job<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Honesty is part of engineering.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Persistence covers the panel&#8217;s own surfaces: the login page, the name and logo, the webmail entry links, and the API endpoint. A few things sit outside that boundary by design, and an update does not change them because branding never owned them. Your <strong>server hostname<\/strong> and your <strong>branded nameservers<\/strong> are settings you choose; putting a hostname and nameservers on your own domain is the second and third step of the complete white-label checklist, and an update leaves those choices alone.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One thing to note &#8211; third-party tools like the webmail client&#8217;s own interface or phpMyAdmin keep their own product names, as in every hosting panel. Switching to the neutral \/hostpanel path reduces casual fingerprinting of the panel software, but that is about whose name is on the door, not about locking it; your real security comes from <strong>SShield<\/strong>, which <a href=\"https:\/\/www.scalahosting.com\/website-security.html\">blocks 99.998% of web attacks<\/a> in real time.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">White-label options are included for free on every ScalaHosting managed VPS, with no surcharge and no per-account fee &#8211; in the wider category, white-labeling has traditionally lived behind a paid tier.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Demo flow<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to the <strong>Admin Interface<\/strong> with the administrator account.<\/li>\n\n\n\n<li>In the Admin Interface, open <strong>Server Management \u2192 Branding<\/strong>. Confirm the <strong>Enter Your Brand<\/strong> field reads your company name, a <strong>Custom logo<\/strong> is uploaded, and the <strong>Login URL<\/strong> is set to \/hostpanel rather than the default \/spanel.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/01-branding-screen-2-1024x640.webp\" alt=\"Your Branding Survived the Update: A Small Promise That Takes Real Engineering, Demo flow\" class=\"wp-image-6334\" srcset=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/01-branding-screen-2-1024x640.webp 1024w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/01-branding-screen-2-300x188.webp 300w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/01-branding-screen-2-768x480.webp 768w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/01-branding-screen-2.webp 1440w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>In a fresh tab, open the branded login page at the client domain plus the branded path: northwind-client.example.com\/hostpanel\/login. Confirm that your logo and business name appear without any default SPanel branding.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/02-branded-login-1-1024x640.webp\" alt=\"Your Branding Survived the Update: A Small Promise That Takes Real Engineering, Demo flow 2\" class=\"wp-image-6335\" srcset=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/02-branded-login-1-1024x640.webp 1024w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/02-branded-login-1-300x188.webp 300w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/02-branded-login-1-768x480.webp 768w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/02-branded-login-1.webp 1440w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>From the panel, follow the <strong>Webmail<\/strong> entry link and confirm it opens on the branded \/hostpanel path rather than the default \/spanel path.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/03-webmail-entry-1024x640.webp\" alt=\"Your Branding Survived the Update: A Small Promise That Takes Real Engineering, Demo flow 3\" class=\"wp-image-6336\" srcset=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/03-webmail-entry-1024x640.webp 1024w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/03-webmail-entry-300x188.webp 300w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/03-webmail-entry-768x480.webp 768w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/09\/03-webmail-entry.webp 1440w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FAQ<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Does updating SPanel remove my branding?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> No. The update reasserts the branded URL in the configuration it regenerates, including the webmail login and logout links, so your name, logo, and \/hostpanel path stay in place.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Do I have to re-apply branding after every update?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> No. There is no post-update checklist; the updater reads your saved branding state and re-applies it automatically across whichever web stack your server runs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Will my clients ever see a default<\/strong> <strong>\/spanel<\/strong> <strong>URL after an update?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> Not on the panel&#8217;s own surfaces. The login page, panel, and webmail entry links stay on the branded path. Third-party tools keep their own product names, as in any panel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Does the webmail link really stay branded?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> Yes. The webmail login and logout links are specifically reasserted during updates because they are generated and would otherwise be the most likely surface to drift.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Does branding cost extra, before or after an upgrade?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> No. Branding is included free on every ScalaHosting managed VPS, with no white-label surcharge and no per-account fee.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>What about my hostname and nameservers?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> Those are your settings, and an update does not touch them. Set a hostname and nameservers on your own domain to finish the white-label job; SPanel supports both.<\/p>\n\n\n\n<script type=\"application\/ld+json\">\n    {\n      \"@context\": \"https:\/\/schema.org\",\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [{\n        \"@type\": \"Question\",\n        \"name\": \"Does updating SPanel remove my branding?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"No. The update reasserts the branded URL in the configuration it regenerates, including the webmail login and logout links, so your name, logo, and \/hostpanel path stay in place.\"\n        }\n      }, {\n        \"@type\": \"Question\",\n        \"name\": \"Do I have to re-apply branding after every update?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"No. There is no post-update checklist; the updater reads your saved branding state and re-applies it automatically across whichever web stack your server runs.\"\n        }\n      },{\n        \"@type\": \"Question\",\n        \"name\": \"Will my clients ever see a default \/spanel URL after an update?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Not on the panel's own surfaces. The login page, panel, and webmail entry links stay on the branded path. Third-party tools keep their own product names, as in any panel.\"\n        }\n      },{\n        \"@type\": \"Question\",\n        \"name\": \"Does the webmail link really stay branded?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Yes. The webmail login and logout links are specifically reasserted during updates because they are generated and would otherwise be the most likely surface to drift.\"\n        }\n      },{\n        \"@type\": \"Question\",\n        \"name\": \"Does branding cost extra, before or after an upgrade?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"No. Branding is included free on every ScalaHosting managed VPS, with no white-label surcharge and no per-account fee.\"\n        }\n      },{\n        \"@type\": \"Question\",\n        \"name\": \"What about my hostname and nameservers?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Those are your settings, and an update does not touch them. Set a hostname and nameservers on your own domain to finish the white-label job; SPanel supports both.\"\n        }\n      }]\n    }\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>See it on a real server<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If an update has wiped your customization before, test this yourself: enable branding, run an update, and watch your brand still standing.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can do that on a managed cloud VPS from ScalaHosting, where SPanel and its branding are included at no extra cost. If you want the branding system to do more, the <a href=\"https:\/\/features.spanel.io\">Cloud Democracy board<\/a> is where resellers ask and vote. SPanel powers over 700,000 websites across 120+ countries, on infrastructure ScalaHosting has run since 2007. The API endpoint following the branded URL is documented in the <a href=\"https:\/\/www.spanel.io\/docs\">official SPanel API docs<\/a>; if you are still enabling branding for the first time, start there.<\/p>\n\n\n<div class=\"shortcode-cta-new-wrap row cloudvps\">\r\n    <img decoding=\"async\" class=\"shortcode-logo\" src=\"\/blog\/images\/shortcode-bg-new-logo-cloudvps.svg\" alt=\"shortcode-logo\" title=\"shortcode-logo\"\/>\r\n    <div class=\"shortcode-cta-img col-10 col-sm-7 col-md-5\">\r\n        <img decoding=\"async\" class=\"shortcode-bg\" src=\"\/blog\/images\/shortcode-bg-new-cloudvps.webp\" alt=\"shortcode-bg\" title=\"shortcode-bg\"\/>\r\n    <\/div>\r\n    <div class=\"shortcode-cta-content col-12 col-md-7\">\r\n        <div class=\"content\">\r\n            <div class=\"heading\">Supercharge Your Business with an All-inclusive Fully Managed Cloud<\/div>\r\n            <div class=\"list-wrap\">\r\n                <div class=\"list\">\r\n                    <div><b>Free, Effortless & No-Downtime Migration<\/b><\/div>\r\n                    <div><b>Anytime Unconditional Money-back Guarantee<\/b><\/div>\r\n                    <div><b>Full Scalability & 24\/7 Expert Cloud Support<\/b><\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"btn-wrap row\">\r\n                <div class=\"col-auto\">\r\n                    <a class=\"button green\" href=\"https:\/\/www.scalahosting.com\/managed-cloud-hosting.html\">Start Now<\/a>\r\n                <\/div>\r\n                <div class=\"col-auto\">\r\n                    <button class=\"button brown_outer\" title=\"Contact Sales\" onclick=\"chatChangeVisibility(this, 'maximize', {}, 5);\">Chat with our Experts<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>When you white-label SPanel, every panel update reasserts your branded \/hostpanel login URL, including the webmail login and logout links, instead of resetting it to the default. ScalaHosting built the updater to be branding-aware, so the classic &#8220;the upgrade wiped my customization&#8221; problem never happens. Your company name, logo, and neutral login path survive the [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_titles_title":"Your Branding Survived the Update: Why It Matters | ScalaHosting KB","_seopress_titles_desc":"Discover how preserving your branding through every update requires thoughtful engineering and why it matters for a consistent white-label hosting experience.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"categories":[66],"tags":[],"class_list":["post-6331","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/posts\/6331","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/comments?post=6331"}],"version-history":[{"count":4,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/posts\/6331\/revisions"}],"predecessor-version":[{"id":6341,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/posts\/6331\/revisions\/6341"}],"wp:attachment":[{"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/media?parent=6331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/categories?post=6331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/tags?post=6331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}