DotNetNuke Urls - Best practice for administrators, editors and developers
Upcoming SlideShare
Loading in...5

DotNetNuke Urls - Best practice for administrators, editors and developers



Presentation delivered to th

Presentation delivered to th



Total Views
Views on SlideShare
Embed Views



8 Embeds 860 604 194 36 9 7 5 4 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

DotNetNuke Urls - Best practice for administrators, editors and developers DotNetNuke Urls - Best practice for administrators, editors and developers Presentation Transcript

  • DotNetNuke Urls : Best Practice for Administrators, Editors and DevelopersOrlando DotNetNuke User Group 9th October 2012 Bruce Chapman
  • Brief History of the Url• ‘The goal of the Web was to be a shared information space through which people and machines could communicate’ – Tim Berners Lee, 1996• WWW design: – An information system must be able to record random associations between any arbitary objects – Linking between two systems should be incremental, and not require onscalable operations such as the merging of link database
  • Brief History of the Url, cont.• 3 Standards of the World Wide Web – Addressing Scheme : URI – Common Protocol : HTTP – Format Negotiation : HTML• The URI (Uniform Resource Identifier) gives a cross-platform, generic, redefinable link to any resource.• URL (Uniform Resource Locator) is a URI to a ‘thing’ on the internet.
  • Urls are the glue of the internet• The entire WWW is held together by links• Your DotNetNuke site is held together by links – get it right and don’t make a mess!
  • Early Urls• 1990s: Structured in folders with Documents – much like how document storage is done on many machines today Url from Cern, 1997)• 2000s: CGI Applications like eBay use the Url as a program command-line Url from eBay, 2000)
  • Mid-life Urls• Rise of Scripting Languages (asp, et al) gave us the one-page-fits-all approach us/dnofftalk/html/office01022003.aspActual Url from MSDN, 2003• Rise of Google in search engines counteracted the query-string approach, and introduced the human friendly Url
  • Modern Urls• SEO Forces* have brought Urls back to the beginning, where they are: – Structured – Meaningful – Unique – Simple * precisely because SEO is all about being machine readable• DotNetNuke Forums Url, 2004 m.aspx%3ftabindex%3d1%26ForumID%3d90&mid=1248• DotNetNuke Forums Url, 2012
  • DotNetNuke Urls for Editors• Your Menu structure is your Link structure – be thoughtful in the names of pages• Don’t use ‘Link Tracking’ – which generates LinkClick.aspx Urls• Use the ‘Page’ drop down in the Html Editor to get the correct Url link each time.• If using a staging / test environment, modify the link to be relative instead of absolute
  • On Page SEO with Links For Editors• Site internal links are important for SEO• Your home page probably has the highest ‘link juice’, and can be used to direct importance to key landing pages• Links in content are good for establishing pages with key phrases
  • On Page SEO with Links for Editors• Footers are a good way to drive links into content• Footers are also useful for mobile device users where scrolling can be more troublesome• Consider varying the footer for different parts of your site – Products, Blog, Forum – make the footer links relevant to the page
  • Off Page SEO Links for Editors• Promoting the site means collecting links from other sites• ‘Linkbait’ content like blog posts or feature pages is a valid way of attracting links• The usual methods are writing lists, (top 10 ), using provocative adjectives, stirring up emotion• ‘10 useful DotNetNuke tips’ vs ’10 Promotion Causing DotNetNuke tips’
  • Off Page SEO Links for Editors• If using this strategy, take the time to optimise the Url, so that the incoming links have maximum value.• For blog posts, this usually means writing the title with the best keyword combination• Keep it concise and short enough• You don’t get control over the link text, but you do get control over the Url
  • Off Page SEO Links for Editors• Consider creating a ‘hidden’ landing page/pages to optimise the Url if the content is static• Where possible, use a tool like Url Master to allow freedom with the page Url, which, when linked externally, will help ranking (and click- through)
  • Choosing Extensions for DotNetNuke Administrators• Urls have a real effect on the success of a site• Bad Url strategies take time and money to correct• Most modules, menus and other extensions have the Url ‘baked in’• Evaluation of extensions should include assessing what Urls are being locked in
  • Choosing Menus for Administrators• Most menus use the DNN API to retrieve the Url for a page• Any Menu that doesn’t should be viewed with suspicion• Menus that use simple Html (unordered list) are crawled better by search engines• If using multi-language, check how the menu will adapt
  • Choosing Modules for Administrators• Simpler Urls are better – period• Admin Urls don’t matter much at all, not crawled, not linked.• Products Listings, Blog posts, Catalogues – should all use simple Url with not much more than the item name• Excessively long Urls with extraneous information reduce linkability, increase the keyword/noise ratio in the Url
  • Choosing Modules for Administrators• Watch out for proprietary Urls that aren’t using the DNN Url API• Giveaways include handlers (/myModuleHander.ashx) and items in DesktopModules path (/DesktopModules/MyProductPage.aspx)• Others do API-external modifications like looking for particular patterns and doing find/replace
  • Choosing Modules for Administrators• Using the DNN Apis allows the content to upgrade along with the core platform• Ignoring the Apis locks into a particular structure and version of DotNetNuke• As the platform improves, so will the Urls for the module• Third-party Url plug-ins work with the DNN Api, modules which don’t use the Api may not be compatible
  • Choosing Modules for Administrators• Some modules vary content slightly with different Urls – consider using Canonical Link• Some modules have built-in Canonical Link control, look for this• SEO Related – gold standard in modules is to allow specification of the Url, Title and Description separately to other content
  • Choosing Modules for AdministratorsCompare:• eView/articleId/30158/what-dotnetnuke-module-is- dnnforge-news-articles• dotnetnuke-module-is-dnnforge-news-articles• is-dnnforge-news-articles
  • Planning a site migration• Three categories of site migration 1. Previous technology to DotNetNuke 2. Change in domain name 3. Re-organisation of content• Migrations usually include using 301 permanent redirect to move Urls• 301 Permanent Redirect gives a signal to search engines and browsers to look for content in new location
  • Planning a Site Migration• Plan for when it should happen – pick a quiet time to implement, and pick a quiet time for the project• You can always maintain same Url and show new content. For highly-ranked pages, always a safer strategy.• There is no problem with a mix of Url, styles, extensions, whatever. The concept of a ‘site’ is really only a set of pages with the same domain
  • Planning Redirects• Create a list of all ‘from’ and ‘to’ Urls• Google Webmaster / Bing Webmaster tools provides good starting point• Best way is to use spreadsheet with ‘from’ and ‘to’ columns• Be thorough and get good results• Plan for a catch-all for some content• Find the highest ranking/best performing pages and work backwards
  • Planning Redirect Strategy• Tools for redirects: – IIS7 Rewrite Tool (web.config/regex) – Other IIS plugin – Dnn siteurls.config file – Third party plug-ins – 404 handler based – General Purpose module like Url Master
  • Previous Technology to DotNetNuke• For DNN Based solution, Must re-map prior page extension to ASP.NET runtime – html / htm / php / asp / cfm – Easiest way is to use ‘runAllManagedModulesForAllRequests’ (rammfar)• Native IIS7 redirects do not require remapping• Alternatively, add individual file handlers for requests for that extension
  • Change in Domain Name• Adding new portal alias and changing the ‘primary’ portal alias will work• Can use IIS7 Rewrite Tool• Same principle as redirecting non-www to www• Make sure site is working OK on new Url before switching over
  • Re-Organisation of Content• For minor changes, using the ‘Permanent Redirect’ option in Dnn will work• Tools like Url Master allow non-technical staff to enter and create redirects• It’s OK to ‘retire’ whole subsections by redirecting to a single page, but not optimal
  • Post-Migration Checking• Monitor 404 pages (remember Analytics etc do not log 404s)• Daily check of search engine ranking for important pages• Expect a temporary drop in rankings across the site• If strategy was correct, rankings should return better than before
  • Urls for the Developer• For new modules, plan your Urls as part of your design• For existing modules, you can always add better Url schemes with new versions• Always provide the option to switch off redirects if you add this
  • Urls for the Developer• Best practice for module development is provide a default value derived from content, but then allow overriding by power user• Example: – new product Url : – allow admin to override :
  • Urls for the Developer• Don’t make assumptions about Dnn Url and try and make changes• Worst mistakes are – case-insensitive comparisons – looking for specific patterns (/default.aspx) and replacing – there are APIs for this – Intentionally creating duplicate content ( and
  • Urls for the Developer• For commercial modules, don’t forget multi- language Urls. Allow flexibility in Urls for different languages: – – –• Again, allowing override relieves many requirements for administrators
  • Urls for the Developer• Don’t stuff too many things into the Url, try to keep it simple but unique• There’s no need for /view and /edit – the view is implied• Allow for Url change. Keep a history and redirect where changes occur• Consider use of Canonical Links• Always, always give administrators options
  • Urls for the Developer• Building Providers: – Search Engine Sitemap Provider API – Friendly Url Provider for Url Master• Don’t ignore other aspects of SEO that are unrelated to the Url – customisable titles + descriptions• Be aware that social features like Journal may ‘save’ Url, so must always support old versions of module Urls
  • Best Practice for Urls in DotNetNuke• Summary – Urls are very important for the usability of the internet – When editing, take care with Urls – When selecting and installing modules, check out if the Url strategy is flexible and usable – When developing DNN modules, think about flexibility, customisation and SEO