In this article, I have put together information from various sites as well as my personal experience in sharepoint naming convention best practices that improve the user experience for SharePoint end users and power users
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 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.
◾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.