SEO-friendly URLs
What is a friendly URL?
A friendly URL looks like this: http://www.yourdomain.com/about-us
A regular URL looks like this: http://www.yourdomain.com/index.php?pID=1
Friendly URLs are more logical, more memorable and they give search engines something more semantic to get their teeth into.
With a single click, Vanilla can switch between friendly and regular URLs. This is achieved with a cunning mixture of Apache directives and jQuery which converts every relevant link, at runtime, to a friendly one. Compared to many other friendly URL techniques, ours seems to be less hassle, more flexible and more reliable.
How are the URLs constructed?
Whenever a new page is created, it is given a sanitized version of the full title that is entered. For example:
My Page Name would become my-page-name.
All punctuation and non-friendly characters are replace with dashes. If a friendly page name is already taken, an incremental number is appended to it - e.g., my-page-name-1, my-page-name-2 etc.
Deep friendly URLs
When this option is enabled, the friendly page name is prefixed with its parent's friendly name. For example:
New Products->Weatherproof Torch would become new-products-weatherproof-torch.
Not just the URL...
Vanilla also parses the navigation menu and all the internal links within the current page's content. If it finds any, it'll convert those to friendly links too. Coupled with the ability to drop internal links (links that point to another page on your website) into your content with a single click, creating link-rich content which is semantically friendly has never been so simple. It's surprising how much these small features speed up your overall workflow.
Graceful degradation
If a regular URL (using page ID) is typed into the address bar or if the visitor has JavaScript turned off, the system automatically falls back to using regular URLs. This fall-back also occurs if the page has no friendly title saved (although this should very rarely happen as they are generated automatically - similar to page slugs in WordPress).
Canonicalization
Vanilla tries to provide good canonicalization for its pages. This is acheived by preventing duplicate content via unique URLs and detecting URLs that point to the same place on the main navigation and breadcrumb trail - e.g. mywebsite.com and mywebsite.com/home. Every little helps when it comes to SEO.

