in a host named site collection using the team template, I would like to hide the Site Contents link, but cannot find any way to do it. does anyone know how?

deleting it from quick launch editor does not work. any solution relying on _layouts/15/ChangeSiteMasterPage.aspx does not work - the page does not exist or is not reachable. being able to edit site master page settings would be very useful as I could then add alternate css.

removing the link entirely is an acceptable option, although a better one would be to hide it only for non-admin users.

sharepoint 2013 sp1 enterprise farm, sql server 2012, windows server 2012 r2

  • Hiding Site Contents is easier on Publishing sites. Why do you have to do this on a Team Site? It might hinder user productivity which is not the purpose of SharePoint in general ;-) Commented Nov 18, 2014 at 16:12

4 Answers 4


One option is to use CSS so you're not messing with the masterpage:

#sideNav { display: none; }

You may have to add !important to make sure it overrides the master CSS file.

#sideNav { display: none !important; }
  • 1
    #DeltaPlaceHolderLeftNavBar span.ms-splinkbutton-text { display: none; }
    – Iman
    Commented May 9, 2016 at 8:36
  • Thats another way of doing it. But can't the deltaplaceholder name change with master page updates?
    – A Dahlman
    Commented May 17, 2016 at 19:21

the following solution worked by editing the seattle.master page according to this link: https://social.technet.microsoft.com/Forums/office/en-US/5d30118a-8be7-4ed7-9f0d-b40ecf1054fd/a-menu-item-called-site-contents-on-the-left-site-menu-of-my-site?forum=sharepointgeneral. basically I simply commented out the following code

<asp:ContentPlaceHolder id="PlaceHolderQuickLaunchBottom" runat="server">
                     <%--<div class="ms-core-listMenu-verticalBox">
                             CssClass="ms-core-listMenu-item ms-core-listMenu-heading" />

it would be nice to add javascript and jquery to a page as I am sure that will be required for future modifications.

  • Rather than editing the master page, consider adding a Delegate Control via a feature and override this control with a security trimmed version. Commented Nov 18, 2014 at 16:15

I find targeting the CSS title directly works well

.ms-core-listMenu-verticalBox a[title="Site contents"] {display: none;}

Add this to page script in SharePoint designer

$(document).ready(function() {
  • I tried doing this but it locked up my page which I then had to restore from a previous version. I added a script editor webpart, then inserted the jquery. when that didn't work, I added javascript tags around the code - that's when it locked up. what am I doing wrong? do I need to include a jquery library reference as well?
    – tony bonn
    Commented Nov 18, 2014 at 15:49
  • 1
    Yes you need a jQuery (or mQuery) reference for this to work. And while using jQuery, then why not .hide() or .remove() rather than [1].style.display="none"? Commented Nov 18, 2014 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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