Rules to Better SharePoint

Organizations are extremely good at accumulating data. Mostly in the form of documents and records, this data is often haphazardly located across the organization, and poorly integrated into document processes.

SharePoint is the best organization tool to improve this situation by storing all documents & records in a centralized system. SharePoint stores every version of a document, allows you to enforce information management policies, and improves efficiency by automating common business processes. Here you will find many rules for a better experience with​ SharePoint.

Other SharePoint Rules:

  1. Rules to Better SharePoint Development​​​​
  2. Rules to Better SharePoint for End Users
  3. Rules to Better SharePoint Migration from 2007 to 2010
  4. Rules to Better SharePoint Migration from 2010 to 2013
  5. Rules to Better SharePoint Migration from 2013 to 2016​​
Hold on a second! How would you like to view this content?
Just the title! A brief blurb! Gimme everything!
  1. Do you know what are the SharePoint features customers love?

    SharePoint is a great platform for intranet, and the new version SharePoint 2016 and SharePoint Online is getting even better every day.


    • Powerful content discoverability via full-text search
    • Rich workflow capabilities (e.g. approval & distribution processes)
    • Document Accessibility (over the web and via Office programs)
    • Information Management Policies (e.g. Document retention policies)
    • Compliance suitability (e.g. Email archiving)
    • Great for storing both structured and unstructured content. (e.g. meeting workspaces, ad-hoc lists, project workspaces, company portal)
    • Highly customizable and extensible​
  2. Do you know how to get the SharePoint version?

    ​You want to be on the latest version of SharePoint.

    There are multiple ways to get it:​

    Check SharePoint DLL version
    Check http://<CentralAdminSite>/_admin/FarmServers. aspx

    Check  http://<AnySiteCollection>/_vti_pvt/service.cnf

    See​ for details.


    ​​Figure: ​On SharePoint 2016, this is what you get for for example

  3. Do you know the best Outlook add-in to get the most out of SharePoint?

    Using no Outlook add-in

    Bad Example

    Colligo , and Macroview

    OK Example


    Good Example
  4. Search - Do you fix search with Office App for content preview ? (on premise only)

    ​​​​​To make office documents with content​ preview available in search result, you need to setup an Office App server and link it to SharePoint:
    preview-sharepoint.png​Figure: Preview Office documents on SharePoint
  5. Do you know how to create a link to a URL in SharePoint?


    You may need a link in a SharePoint document to help you navigate to a different URL (like shortcut in Windows), there are different ways to implement this.

    A.  Create a shortcut in windows, then upload the shortcut file (.url) to the document library.
    B. Use "Link to a document" content type in SharePoint.

    Details on how you to create a link to a document in a SharePoint library.

    A. Create a shortcut in windows, then upload the shortcut file (.url) to the document library.

    To do this, you need to remove .url file type from your blocked file types in your web application. This will bring some security risk, which is not recommended, and I won't show the step details here.

    B. Use "Link to a document" content type in SharePoint.

    1) Enable "Content Type management" in your document library.

    Figure: Enable Content Type management in library setting

    2) Add "Link to a Document" content type into the library.

    Figure: Add from existing site content type
    Figure: Select "Link to a Document" content type

    3) Create a "Link to a document" instance

    Figure: select "File | New Document (dropdown) | Link to a document"
    Figure: Input "Name" and "URL"

    4) Done

    You should be able to see the link type document in your library:

    Figure: Link type documents with the lovely shortcut icon
  6. Do you know how to resolve the broken links caused by page renaming?

    ​​Renaming pages in SharePoint site will cause broken links. All requests to the old URL will be responded to ​with a 404 error.

    Options to resolve this issue are:

    • ​Add a page every time for a rename…. add a JavaScript or META tag redirect to the original page​
    • Use custom 404 page to look at a list in SharePoint, the list contains all the renaming records, the records are automatically maintained via page updating events handler. (We are using this way) 
    • Wait for MS to fix the problem - support classical alternative links for a page.​ 



  7. Do you give users the friendlier Access Request dialog?

    ​Instead of displaying a direct "Access Denied" warning info, you can allow end users to send an "Access Request".
    Figure: Joanna is requesting access to SharePoint site

    ​The "request manager" will receive an email:

    Figure: Request Notification Email Sample
    The link in the email will navigate administrator to the Pending Requests list:
    Figure: Pending Requests List

    After reading the request infomation, the administrator can "Approve" or "Decline" the request, o​r he can start a conversation with the request user on the Pending Requests list directly to inquire more information:

    Figure: possible actions for requests (Approve, Decline or start a conversation with the request user)


    To setup permission request for a SharePoint site collection, go to "Site Settings (Gear Wheel icon) | Site Permissions":

    Figure: Open "Access Request" setting


    This "Access Request" only works for authenticated users to inquire more access permission, that means if your site allows "anonymous access", then an anonymous user cannot send "access request" as he doesn't have an identify to be assigned more access permission​.


  8. Do you clean useless calendars in SharePoint?

    Most SharePoint site templates contain a calendar list, this will bring lots of useless calendars.

    ​Use the below PowerShell script to clean them:​​

    $site = Get-SPSite("http://<site collection URL>/"); # Specify url here​
    ​foreach ($web in $site.AllWebs) {    ​
        $lists = $web.Lists
        for ($i=($lists.Count-1);$i -gt 0; $i--) {  
            $list = $lists[$i]
            #Write-host $i  $list.Title $list.BaseTemplate.ToString()
            if ($list.BaseTemplate.ToString().ToLower().contains('events')) {      
                if ($list.Items.Count -eq 0)
                    Write-Host $list.Items.Count "items in the list" $list.Title '('$list.BaseTemplate') at '$web.Url "- cleaning it!"
    }  ​

    This script will put the calendars which do not have any events into Site SettingsRecycle Bin:

    ​Figure: Empty Calendars in Recycle Bin folder

  9. Do you confirm there is no checked out data?

    One of the annoying things with SharePoint document libraries is that users often accidentally leave checked out files, that preventing others from modifying them.​

    Suggestion to Microsoft: send an email to the user to remind them they have outstanding checkouts potentially blocking other users.

    Figure: Here Eric Phan has not checked in a file

    Upgrade warning: The pages that are not checked-in, will not be migrated on a SharePoint upgrade. There is *no* warning either.​

    There are 2 ways to remind users of their "checked out files":​

    • Solution A: Manage Content and Structure Report (No Code)​
    • Solution B: Custom application report (Includes some coding work)​
      Eg. SSW.SharePoint.CheckedOutFilesReport​
    Solution A. Manage Content and Structure Report (No Code)
    1. Create CAML query in site content and structure
    Go to "Site Settings | Manage Content and Structure | Content and Structure Reports", click "New":
    Figure: Create a new report
    Fill the "CAML Query":
    <Where><IsNotNull><FieldRef Name="CheckoutUser" LookupId="TRUE"/></IsNotNull></Where>

    Fill the other fields like below:

    Figure: Fill in form
    2. Run Checked Out report
    Run the checkout report from "Site Settings | Manage Content and Structure | View: Checked out documents":
    Figure: Checked Out Documents report link Make sure there are no files checked out, otherwise, go step 3
    3. Go chase after the users.
    Solution B. Custom application report (Includes some coding work)

    TODO: Move this tool to GitHub, find a better name than "SSW.SharePoint.CheckedOutFilesReport". Also change from a farm solution to a solution that can be used on Office365 - now in SharePoint 2016 and SharePoint online called "Sharepoint Add-ins" 

    To make reminding users easier, this SharePoint Add-in has a custom page to show the "Checked out files". One button will send the notification email to all the naughty people.
    Figure: One button reminds all users of their "Checked out Files"
    Hi Daragh,
    You have some pages checked out in SharePoint.
    1. Revise our SSW rule on Frequent SharePoint Check-ins.
    2. If you are no longer editing these files, check them in!
    You currently have the following pages checked out:

    Remember, you can check which files you have checked out at any time by going to http://<siteurl>/_layouts/SSWReports/CheckedOutReport.aspx

    --Powered by SSW.SharePoint.CheckedOutFilesReport

     Figure: An example of the reminder email that all users receive
  10. Do you know how to delete orphaned users from the People Picker?

    The SharePoint "People Picker" is a great tool for quickly selecting users of your SharePoint site. It allows you to quickly select users from your organization by browsing Active Directory.

    Figure: The People Picker

    Unfortunately, if you have added users directly to your site collection, and later deleted or disabled them from Active Directory, you will notice that these orphaned users will still appear in your People Picker. This will eventually clutter up your People Picker.

    Figure: A user in the People Picker that was deleted from Active Directory
    Figure: Searching in Active Directory for the user shows the user is in fact deleted

    To remove these orphaned users, as a SharePoint Administrator, you can open the following URL (where is your SharePoint URL):


    On this page you will find a list of all the users that are members of your site collection, including the orphaned users.

    Figure: We have found our orphaned user!

    To remove the user simply click on the Username | Click Delete User from Site Collection. This will instantly remove the user from the People Picker.

  11. Do you use content query web part?

    ​Try to use content query web part to show data instead of jQuery as it's better for Google indexing.

    For those out of date data, you can use an archive page and change the filtering of CQWP to return all of them, so that the old data are still there and the ranking of the page won't be influenced.

    For more SharePoint SEO, check from this article.​

    Figure: Use content query web part
  12. Do you setup web application for internal and external access

    ​​- default zone should be over http, this is so search can access it over non-secure connection
    - default zone should not be accessible outside of internal network
    - extend the web application to an internet zone, this should be https to provide secure connection

    - this section should be extended with strategy to work with reverse proxy.

    Reverse proxy handle https connection to client, and connects to SharePoint via http to reduce https overhead on SharePoint

    SharePoint also needs to support https for internal traffic, if I click on a link to HTTPS it should work internally

    For this scenario to work, web application needs to be extended 2 to 3 different zone

                     Default (http for internal and search)

                     Internet (http for reverse proxy)

                     Intranet (https for internal https link)​

  13. Search - Do you add https by extending web application

    ​​It is recommended to bind https by extending web applications in central admin site, rather than configuring in IIS

    Bad example: Add https binding in IIS
    ​Good example: Extend web application and assign https to the Internet zone


  14. Search - Do you use default zone URL in search content source

    ​​Using default zone URL in search content source, it will be automatically convert to the relative URL on the search result.
    e.g. if a user access  search center via, the result will be like While another user access search center via, the result will be​/search/xxx.

    Bad example: use


    Good example: use​