Secret ingredients to quality software


Rules to Better SharePoint

20 Rules

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.

If you still need help, visit our SharePoint consulting page and book in a consultant.

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
  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 Get SharePoint version number of your platform quickly 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

  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. EnableContentTypeDocument Figure: Enable Content Type management in library setting
    2. Add "Link to a Document" content type into the library. AddExistContentType Figure: Add from existing site content type SelectLinkToADocumentType Figure: Select "Link to a Document" content type
    3. Create a "Link to a document" instance CreateLinkToADocumentInstance Figure: select "File | New Document (dropdown) | Link to a document" InputLinkUrlAndName Figure: Input "Name" and "URL"
    4. Done

    You should be able to see the link type document in your library: LinksTypeDocumentsWithShortcutIcon 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 ". PermissionRequest.jpg Figure: Joanna is requesting access to SharePoint site

    The "request manager" will receive an email:

    637cf8 RequestNotificationEmail
    Figure: Request Notification Email Sample The link in the email will navigate administrator to the Pending Requests list: LinkToPendingRequestsList Figure: Pending Requests List After reading the request infomation, the administrator can "Approve" or "Decline" the request, or he can start a conversation with the request user on the Pending Requests list directly to inquire more information: StartAConversatioinOnPendingList 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 ": SetupPermissionRequest Figure: Open "Access Request" setting

    Limition: 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 Settings | Recycle Bin : EmptyCalendarsInRecyckeBin 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.

    sp docs
    Figure: Here Greg Harris 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.Dory **

    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

    1. 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

    1. 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.

    Even better, we have also improved the application with a scheduled task using SharePoint CSOM API to find checked out files and send these notification emails automatically every night.

         <img class="ssw-rteStyle-ImageArea" alt="CheckedOutFilesApplicationReport.png" src="CheckedOutFilesApplicationReport.png">
      <dd>Figure: One button reminds all users of their "Checked out Files"

    Hi Sophie,

    You have some pages checked out in SharePoint.

    1. You should check in at least daily. Revise our SSW rule on Frequent SharePoint Check-ins.
    2. If you are no longer editing these files, check them in!
    3. Reply to this email with something like: ‘Done - x files checked in’

    You currently have the following pages checked out:

            <font color="#3a66cc"><a href="/rules/do-you-confirm-there-is-no-checked-out-data">http://&lt;siteurl&gt;/DesignandPresentation/RulesToBetterVideoRecording/Pages/Default.aspx</a>  (parent folder)</font>

            <font color="#3a66cc"><a href="/rules/do-you-confirm-there-is-no-checked-out-data">http://&lt;siteurl&gt;/DesignandPresentation/RulesToBetterVideoRecording/Pages/testing-rule.aspx</a>  (parent folder)</font>

    Tip: See all files you have checked out at http://<siteurl>/_layouts/SSWReports/CheckedOutReport.aspx

    <As per rule>;

    -- Powered by SSW.Dory -- v16.1.7122.24300 Server: DESKTOP-C7SF4A3

    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.

    PeoplePicker 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. PeoplePicker deleted Figure: A user in the People Picker that was deleted from Active Directory PeoplePicker searching 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. PeoplePicker found 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 keep SharePoint databases in a separate SQL instance?

    Because SharePoint server will create quite a few databases, it’s easier to manage them in a separate SQL instance rather than mixing it with other system’s databases:

    sharepoint database bad
    Bad example - mixed with other systems' database

    sharepoint database good
    Good example - SharePoint related databases are in a separate SQL instance from other systems' databases

  13. Do you know how to share a file/folder in SharePoint?

    You often need to share links to a file or folder in SharePoint.

    You can select the folder (or file) and click on "Copy link" at the top bar to get the link:

    sharepoint cloud copy folder
    Figure: Getting URL from SharePoint top bar

    You can also right-click the folder/file to copy the link:

    sharepoint right click link
    Figure: Getting URL by right-clicking a file in SharePoint

    On previous versions, you can open the menu on ellipsis link and get it from there:

    sharepoint link
    Figure: Getting URL from SharePoint ellipsis menu

    Related Rule

  14. Do you know how to use SharePoint Recycle Bin?

    You might need to recover a delete file in SharePoint. You will find it at the Recycle bin. This is where you can find it:

    sp recycle bin
    Figure: To find deleted files go to "Site Contents" > "Recycle Bin"

  15. Do you know the ideal place to store employee skills?

    Here are the options we have:

    For cloud users:

    • LinkedIn skills [sync] office365 list. (Preferred)
    • Office 365 users profile | skills. (Limited)
    • Azure AD [sync] office365 list

    For on-premises users:

    • User profile [sync] list. (Old)
  16. 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)

  17. 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

  18. 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 "keyword" via, the result will be like

    While another user access search center via, the result will be

    https data source
    Bad example: use https

    http data source
    Good example: use http

  19. SharePoint Online - Do you get rid of classic features?

    Get rid of classic features in SharePoint Online.


    Microfeed list is used to support the MicroFeed Classic web part. If you’re using Modern SharePoint Sites and Pages (and you should !) everywhere, you don’t need that list anymore.

    To delete the Microfeed List, simply de-activate the Site Feed feature at the Web level:

    microfeed sharepoint
    site feed sharepoint site feed sharepoint

    Company Announcements

    "Announcements" is a default List that used to be created with classic Team Sites. If you’re not using it, chances are you will never do, and modern News should be your replacement for it.

    company announcements sharepoint

    To remove company News, click “Settings” | “Remove” from Site Contents:

    site feed sharepoint2

    Drop Off Library

    Drop Off Libraries (Content Organizer feature) were a way to automate moving documents around based on Metadata. This is no longer the optimal solution and you should use Power Automate instead. To remove Drop Off Library from your site, you need to disable the “Content Organizer” Web level feature:

    content organizer sharepoint

    Deleting leftovers from Migrations

    After migrating content from older versions of SharePoint, you may end up in a hybrid state where the abovementioned features are disabled, but associated libraries/lists are still present on your site. If that happens, you ideally want to clean it up.The first thing you can try is enabling/disabling the feature again. In some cases, that will fix the issue and remove the unwanted list/library.If that doesn’t work, however, there is a more radical approach: removing the list/library using Powershell:

    jean migration 1

    (In case you prefer using code straight away instead of the screenshot)

    Remove-PnPList -Identity "Workflow Tasks" -Force

    However, on system Lists, you may get an error:

    jean migration 2

    The workaround is to set the “AllowDeletion” flag to true before calling delete:

    jean migration 3

    (In case you prefer using code straight away instead of the screenshot)

    $list = Get-PnPList -Identity "Workflow Tasks"
    $list.AllowDeletion = $true
    Remove-PnPList -Identity "Workflow Tasks" -Force
  20. SharePoint Online - Do you review your intranet for classic pages?

    You should review all your Intranet content and for all classic features (pages, web parts, etc…), and decide if you want to keep  or migrate them.

    More info: Getting started with the SharePoint modernization scanner.

We open source. This page is on GitHub