• Home
    • Project Online Migration Options
  • The Ultimate PMO Roadmap
  • About Us
  • Contact Us
  • Home
    • Project Online Migration Options
  • The Ultimate PMO Roadmap
  • About Us
  • Contact Us

How to Hide Project Online Retirement Banner in Project Center

If you’re still running Project Online, you’ve probably noticed the yellow retirement banner plastered across the top of Project Center. Every. Single. Time. It’s not exactly news to your team at this point — and for customers and stakeholders doing a demo walkthrough, it’s a distraction you don’t need.

So naturally, my first thought was: just write a quick script to intercept it. Simple enough, right?

It worked. Sort of. The banner would disappear — but only after sitting there for a few seconds first. Not exactly the clean experience I was going for. I dug into why and learned something I didn’t expect about how Project Center loads, and the fix turned out to be more interesting than I thought it would be.

**Prerequisite: First things first — you’ll need your SharePoint admin

Everything in this article — including just getting into edit mode on the Project Center page — requires custom scripting to be enabled on your PWA site. This is turned off by default in most Project Online tenants, which means you won’t even see the option to add or edit web parts until it’s on.

Have your SharePoint admin complete these steps before you attempt anything else:

  1. Go to the SharePoint Admin Center
  2. Click SitesActive Sites
  3. Find your PWA site and click the site name
  4. Click the Settings tab
  5. Set Custom Script to Allow users to run custom script on self-service created sites
  6. It ‘should’ take affect right away but wait a minute or two and refresh.

Once you’ve made your changes and its working, your admin can turn it back off.

My first try…lesson learned

As I mentioned, my first instinct was to intercept the banner using SharePoint’s SP.UI.Status.addStatus function — patch it before the banner gets called and block anything retirement-related from rendering. That approach works, but Project Center has a timing problem: the project grid takes a while to fully load, and most script approaches wait for that load before running. By then the banner has already been sitting there for several seconds. You didn’t hide the banner — you just delayed removing it.

The fix is to stop waiting for the grid entirely.

How to set it up

Here’s the steps you’ll need to follow. The scripts are below.

  1. Go to your Project Center page and click the gear icon, then Edit Page
  2. Add a Script Editor web part in the zone above the project grid
  3. Click Edit Snippet and paste Script 1
  4. Add a second Script Editor web part in the same zone
  5. Paste Script 2 into that one
  6. Make sure both sit above the Project Center grid web part
  7. Save and stop editing

That’s it. The banner is gone on page load — no flicker, no delay.

The two-script approach

The solution uses two Script Editor web parts placed above the Project Center grid. The first one fires the instant the page starts parsing — before SharePoint, before the grid, before anything. It hides the status bar area with a CSS rule so the banner has nowhere to appear. The second script runs as soon as SharePoint’s core scripts are ready, which happens well before the grid finishes loading. It does a proper cleanup and restores the status bar so any legitimate messages can still show up.

Script 1 — paste into your ‘FIRST’ Script Editor web part:

Yes Make sure you have 2 Script editors

Html

<script type="text/javascript">
(function() {
    var style = document.createElement('style');
    style.id = 'pjo-banner-kill';
    style.innerHTML = '#pageStatusBar { display: none !important; }';
    (document.head || document.documentElement).appendChild(style);

    function patchEarly() {
        if (window.SP && SP.UI && SP.UI.Status && SP.UI.Status.addStatus) {
            if (!SP.UI.Status.addStatus._patched) {
                var orig = SP.UI.Status.addStatus;
                SP.UI.Status.addStatus = function(title, html, prepend) {
                    if (html && html.toString().indexOf('retired') !== -1) {
                        return null;
                    }
                    return orig.call(this, title, html, prepend);
                };
                SP.UI.Status.addStatus._patched = true;
            }
        } else {
            setTimeout(patchEarly, 25);
        }
    }
    patchEarly();
})();
</script>

Script 2 — paste into your second Script Editor web part:

html

<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(function() {
    SP.UI.Status.removeAllStatus(true);
    var kill = document.getElementById('pjo-banner-kill');
    if (kill) {
        kill.parentNode.removeChild(kill);
    }
}, 'strings.js');
</script>

One More Recommendation Before You Close That Admin Ticket

While you have your admin enabling custom scripting and you’re already in edit mode on the Project Center page, take the opportunity to add a Content Editor or Text web part somewhere visible on the page. Use it to tell your users what the plan actually is — where you’re headed, who to contact with questions, and any relevant links they can use without needing to bug you or your admin.

Something as simple as:

“Project Online is retiring September 30, 2026. We are currently evaluating our migration path. For questions contact [name] at [email] or visit [link].”

Why does this matter? Every time you need to update that message you’ll need custom scripting enabled again. If you put your key information and external links in that web part now — including a link to a SharePoint page, Teams channel, or communication site where you’ll post ongoing updates — your users always have somewhere to go and you’re not back in the admin center every time something changes.

And hey, if your plan is moving to Project Server — now’s a great time to say so. Your team will appreciate knowing where things are headed, even if the timeline is still coming together. 😉

A note on what this does and doesn’t do

This suppresses the visual banner only. It doesn’t affect your Project Online subscription, your migration timeline, or the September 2026 retirement date. If you’re still figuring out your path forward from Project Online, that’s a different conversation — but at least your Project Center doesn’t have to look like a construction zone while you work through it.

Author Profile

Tony Proctor
Tony Proctor
I work hard, play hard and be nice to everyone I meet. It’s the Navy way!