The Big Dummies Guide to Building a SharePoint Internet Site
I'm about to embark on a new project, building a SharePoint based Internet site. This is new for me as all the SharePoint work I've done has been Intranet facing and I know there are some challenges with SharePoint and outward facing sites. So I called on a few MVP friends and people that have some real world experience configuring SharePoint for Internet to see if I could come up with a list of tips, tricks, and things to watch out for.
Search Engine Optimization
-
Out of the box URLs are not SEO friendly, you need a custom solution
-
Jie Li, a program manager on the SharePoint team, has a great collection of tips for optimzing your search engine face
-
For creating short urls (like bit.ly, tinyurl.com, etc.) Waldek Mastykarz has 4 ways to use short urls (which will help with the SEO)
HTML/HTML5
-
Out of the box HTML is somewhat horrible and not very optimized for Internet sites
-
If you want make SharePoint to output native HTML5 pages and get validated, then the answer is no. SharePoint 2010 is designed to output content in XHTML 1.0 natively.
-
I *always* start with Randy Drisgills master pages on new Web Apps. They're clean, optimized, and easy to use. Highly recommended.
-
Randy Drisgill has a post about HTML5 compatibility although it was for IE9 beta and hasn't been updated, but still contains some good info.
-
Kyle Schaeffer has a new "responsive" HTML5 master page for 2010 that seems to have a lot of popularity so might be a good place to start from (or combine it with Randy's master pages)
Multilingual Support
-
A good, detailed post by Serge Tremblay on setting up, configuring, and supporting multiple languages in SharePoint
-
The Planning for Multiple Language support series of articles from Microsoft which is a good starting point
-
An MSDN article on using MUI support with examples on changing and setting languages, good for writing custom JavaScript to let users toggle the language selection
Hardening
-
Use ViewFormPagesLockdown to prevent access to system pages. It's still used in 2010 and turned on by default with publishing sites. Here's a blog post from the support team with some information about it.
-
TechNet has an article about securing your farm for anonymous access. Unfortunately it's for SharePoint 2007 so some (most?) aspects might not apply to SharePoint 2010.
WCAG/508c
The Web Content Accessibility Guidelines 2.0 are the internationally accepted standard for web accessibility so you might want to look at providing this for your Internet facing site.
-
SharePoint 2010 is WCAG 2.0 AA compliant
-
Complete list of Web Accessiblity Compliance tools can be found here
Mobile Support
-
The out of the box mobile experience doesn't support anonymous users, which is the standard for Internet sites. Waldek has one workaround here.
SQL
-
A fairly in-depth blog post about optimizing the SQL side of things while making SharePoint peform better.
General
-
Mavention has a nice site checking tool that's specific for SharePoint 2010. Highly recommended.
-
Elizabeth Olson, a Program Manager for SharePoint, presented at MIX10 on designing an internet facing site in SharePoint. Here's the 45 minute video of that session.
-
As this is an Internet facing site you'll probably want to hook up some kind of tracking system so you can produce nice stats for the suits. Google Analytics is a good start but feel free to use any tool. They all hook in usually through a simple piece of JavaScript you can add into your master page.
Features
Performance
As far as SharePoint and Internet sites you could probably write an entire book on just performance. There are so many things to take into consideration, both on the SharePoint side (configuration wise of the site) and the IIS one. Watch out for content and customization issues though, as they're not directly SharePoint related but people will blame SharePoint for issues. Things like large articles, missized images, unoptimized JavaScript, long running scripts, etc. can all lead to performance issues that have nothing to do with SharePoint.
-
Some tips on how to Reduce page size
-
Fiddler is an invaluable tool to see your pages load times (and tracking down errors)
-
YSlow shows you where bottlenecks are in page loads and helps you optimize them
-
Custom caching to optimize your sites. Good information with pros and cons of the different types of caching.
-
Minifying custom JavaScript files. Nice article by Wictor. Use any tool you need to or the built in one in Visual Studio to do this. JavaScript compressor will do this for you.
-
Here's the article for optimizing the web content management site but it's for SharePoint 2007. Not sure how much is relevant in 2010.
-
Chris O'Brien has a nice checklist for optimizing SharePoint sites like this although much of it is written for SharePoint 2007, but some is universal and works for 2010
-
Joel Oleson did a great presentation on optimizing SharePoint 2010. Here's a PDF of that presentation.
This list is far from complete and should be an evolutionary thing as it's just what I've collected myself. Do you have experience building SharePoint sites on the Internet? What kind of issues did you come across? Feel free to leave comments with your experience, links to your blog, etc. I'll update this list with that information.
Enjoy!