Inspired by a great blog post by Veronique Palmer about removing %20’s from your SharePoint URL’s, I’ve decided to document some additional naming convention best practices that improve the user experience for SharePoint end users and power users alike. The tips are grouped by permissions because not every user has the power to apply these best practices.
If you don’t want to read all the details, here are my recommended naming conventions in three sentences:
- Create List, Library, and View names using “CamelCase” and change Title to user friendly names with spaces between words after the asset is created.
- Use underscores “_” to separate words in document names and use the Title column to create “friendly names” for documents.
- Use periods in front of group names for custom columns and content types so that your site-specific groups sort to the top of lists that are exposed to power users.
If you are interested in the rationale and more specifics, continue reading.
First, remember SharePoint itself isn’t responsible for inserting the “%20” characters in your URL’s. This is what happens when your references are “URL encoded.” A single character space in a name translates to %20 (3 characters). Since your URL cannot be longer than 255 characters and the %20’s are not very readable, it’s a good idea to eliminate as many spaces as possible – without compromising usability. As with most user experience items, you need to balance both readability with usability. For the most part, the one tip to remember is to create most assets that “power users” can create (such as Sites, Lists, Libraries, and Views) using “camel case” names – in other words, smushing words together with no spaces but using capital letters to distinguish the words, for example: CamelCase.
Second, the %20’s aren’t the only naming convention issue that confuses users. Another annoying issue for users with Full Control privileges is finding custom columns. The default group for custom columns is “Custom.” That’s not a horrible name, but it doesn’t really help folks get much context for your columns. If you create a group called “Our Department Columns,” you will give users more context, but groups are sorted alphabetically by name when users are given the option to use them and your users are going to have to do a lot of scrolling to find the groups you want them to choose from if your group names don’t start with “A.” So, I’ve got a trick you can use to improve the user experience for Column and Template group names.
Naming Conventions for Users with Permission to Create New Sites, New Pages, Site Columns, Content Types or Page Templates
- Create meaningful names for your custom columns or content type groups or custom templates – use a name that is associated with the most common way that the objects will be used. For site column or content type group names, it’s OK to use spaces between the words. So, an acceptable name would be Company Name Columns (where the name of your company replaces Company Name). This is better than “custom” because users will know that the columns were specifically created for your solution. But this alone isn’t enough.
- Precede your group name with a period – for example “.Our Department Columns”. That little period has a really powerful effect – it will automatically force your custom groups to sort to the top of the list of groups that are exposed to your users. Try it, you’ll be surprised how much easier your life will be even as a developer. (I’ve asked a lot of really smart SharePoint architects and they assure me that adding a period to the front of custom group names will not cause any technical issues in your site. It’s just a naming trick to make your custom content types and columns sort “above” the “out of the box” ones.
- Use the same trick with custom Page Templates. In the ideal scenario, remove templates that you don’t want your users to use so they don’t even see them. If that’s not feasible, put a period in front of your custom template names so that they will sort to the top of lists when users are given selection options when they create new pages.
- Create all Site, List, Library, and View names using CamelCase and then after the list, library or view is created, go back in to the settings and re-name the Title (or view name) to include spaces in the names. This will eliminate %20 in the URL and still support a friendly end user experience. (It’s like having your cake and eating it too!)
- From an end-user perspective, I don’t have a user-friendly technique Pages or Folders. If you create Pages or Folders with CamelCase and then change the name to add spaces, the new URL will have %20’s replacing each space. For Page Names and Folder Names, you’ll need to decide whether you can either live with the %20’s in URLs (my preference) or use underscores to separate words.
Naming Conventions for Users with Document Contribution Permissions
- SharePoint won’t allow many special characters in file names so make sure you document these characters for your end users. The hyperlink in this bullet connects you to a Microsoft knowledge base article that details all the restrictions.
- Since folder and file names become part of your URL, you should try to eliminate spaces when you create them so that you don’t have the %20 characters in your URL’s.
- For Documents:
- Use an underscore (“_”) in place of a space between words if file names have more than one word. Capitalize each word of the file name. For example: My_File_Name.docx. The underscore is the best option because pretty much all search engines understand the underscore as a word separator, which means each word will be part of the search index. Using an underscore eliminates %20’s in the URL and still allows each word of the file name to be indexed for search so this approach is definitely recommended over using spaces in file names.
- To give your documents a “user friendly” name, use the Title column to create an additional name for your documents. In the Title column, spaces are fine. It’s a good idea to always have a non-blank Title because the Title is displayed by default in search results and in Content Query web parts.
- One of the downsides of the underscore recommendation is that it is difficult to distinguish the underscore from a space in a hyperlink, but this is usually only a problem if someone is trying to copy down your URL by hand.
- Try not to use hyphens or dashes to separate words. While search engines typically also recognize a dash or hyphen (“-“) as a valid word separator, I prefer the underscore because hyphens are used as break points to wrap text on separate lines. URL’s that contain hyphens often cause problems in email, a problem that I would bet that all of us have encountered at one time.
- If you absolutely have to have Folders:
- If you care about 100% readability of URL’s, use underscores (“_”) to separate words in folder names. For example Folder_Name.
- If you can live with eliminating the biggest %20 offenders (site, list, library, and view names), then use spaces to separate words in folders because the underscore is not as readable in views as a simple space.
- For Documents: