Sign up ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I created a page in SharePoint 2010 and then made some edits to the page.

Then I went into the page Version History and restored a previous version of the page.

Now I have this message that does not want to go away even 2 days after....

The current page has been customized from its template. Revert to template.

enter image description here

How do I remove this message without making changes to my MasterPage or CSS? Or am I forced to find the correct class in the CSS and change it?

share|improve this question

4 Answers 4

This is "by design" (for better or worse).

The only workaround at this stage is to use JavaScript that can target this particular message. Trying to hide it using CSS is a bad idea as it will apply to all status bar messages which are very important for end users to see.

There's an example script on Sohel's Blog:

<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(hideWarning, "sp.js");
function hideWarning() {
    var statusbarContainer = document.getElementById('s4-statusbarcontainer');
    if (statusbarContainer != null) {    
        var messageSpan = document.getElementById('status_1_body');
        if (messageSpan != null) {
            if (messageSpan.innerHTML.indexOf('The current page has been customized from its template.') == -1)
       = 'inline';

There's also a post worth reading about this on TechNet forums called How to hide Revert to Template Status on the SPD Customized Pages. Particularly the response from Dalibor MSFT shows options for dealing with this.

share|improve this answer
I've contacted Sohel to check that he's OK with me reproducing his script here. – Alex Angas Jun 22 '11 at 2:56
Where exactly must this script be places in the page? – Etienne Jul 28 '11 at 6:35
It doesn't really matter because the call to ExecuteOrDelayUntilScriptLoaded ensures that it won't run until the core SharePoint JavaScript files are loaded. You could try a delegate control or the master page. See what you can find on the web and if you have trouble please feel free to ask a new question here. – Alex Angas Jul 28 '11 at 7:33

The best (and easiest) way that I've found to remove that notice was a workaround posted on this Consulting blog.

Using SPD, you are basically going to export a copy of the site to your local machine, re-upload it, and behold: the blue info icon is gone (which denotes that the site has deviated from the template). You can then delete the problematic page, and then rename the copy to take place of the old file.

I have also personally confirmed that this works. I modified a Home.aspx site which then produced the notification banner, and this solution did the trick. Best of all is that there's absolutely no coding (which can then produce additional problems if you don't know what you're doing. Or if SharePoint doesn't like what you're doing :D).

share|improve this answer

I know I'm three or four years late but this worked for me like a charm.

Just insert this snippet on the page in SPD and you're done:

display: none;
share|improve this answer
Will this also remove other status bar messages such as "user has checked out a file" or "this page is checked out to another user" ? – TylerH Nov 16 at 15:12
I've implemented this solution a long time ago and nobody raised any complaints. – MahonyCZ13 Nov 19 at 13:59
OK, I'm not sure how that's relevant to my question though. It's not a complaint, it's a request for more information about this implementation. – TylerH Nov 19 at 14:46
Sorry, I tested it again and check out/in notifications are displaying for me correctly. I will try it tomorrow with some low permission user. – MahonyCZ13 Nov 19 at 18:31

I've put together a CSS-Only way to remove this message, while keeping the status messages for other scenarios (like items or pages being checked out) visible.

For starters, the markup for a customized page that is also checked out looks something like this:

<div id="pageStatusBar">
    <span id="status_1">
        <span id="status_1_body">The current page has been customized from its template. [...]</span>
    <span id="status_2">
        <span id="status_2_hiddenPriMsg" class="ms-hidden">Important Status</span>

What we need to do is remove the CSS for the banner div and move it to the specific child span's classes. Luckily each type of message has its own unique ID, e.g. status_1, status_2, etc.

So we start with this to clear the necessary styles from the div container:

body #pageStatusBar {
    padding: 0px;
    border: none;

We don't have to worry about colors/background colors, since we only need to make the div box have no size in order to hide it. Then we add the necessary styles to all the spans except #status_1, which is the one we want to hide:

#pageStatusBar > span[id^=status_]:not(#status_1) {
    padding: 4px;
    display: block;
    border: 1px solid #CAAC09;
    border-left-width: 0px;
    border-right-width: 0px;

Note that the direct descendant combinator (>) is necessary, because some of the status_# spans have children spans (as you can see by looking at the markup above) that also have IDs beginning with status_. If you leave out the direct descendant combinator, you will add the border and padding to those children spans, as well, doubling or tripling your banner size.

(This answer has full browser support, including IE7+, and works even if users have disabled JavaScript)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.