ASP.NET MVC: Defining short URL-s for root level pages

Short URL-s are more and more important part of page usability as mobile internet is growing. Long URL-s are not convenient to type due to small keyboards and screens of mobile devices. Also short URL-s are easier to remember and using well chosen short URL-s your pages may also get better rankings in search engines indexes. In this posting I will show you how to create short URL-s for ASP.NET MVC pages.

Default routes

Routes used by default are part of ASP.NET MVC applications right from start. After creating new ASP.NET MVC application you can find the following RegisterRoutes() method from Global.asax file.

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute(
"{resource}.axd/{*pathInfo}"
);

    routes.MapRoute(
       
"Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new
        {
            controller =
"Home"
,
            action =
"Index"
,
            id =
UrlParameter
.Optional
        }
// Parameter defaults
    );
}

IgnoreRoute() call here sais to ASP.NET MVC that *.axd files need no processing. Call of MapRoute() method creates new route and sets the following default values:

  • controller – if controller name cannot be found from URL then take HomeController,
  • action – if action cannot be found from URL then take Index() as default action,
  • id – it is optional and may be omitted.

We can define other routes too if we need.

Shortening URL of About page

As all ASP.NET MVC applications get by default also page called default we can use it to analyze its default URL and create shorter URL after that. By default, About page has the following URL:

http://yourhost/Home/About

As Home controller is all about “default” pages as activities that happen on root level of site we don’t have any good reason to keep word Home in URL. In SEO terms it increases the distance of page title and in some cases shorter URL-s perform better in search engines.

To get short URL like this:

http://yourhost/about

add the following route definition to previously shown method, right before last route definition.

routes.MapRoute(
   
"ShortAbout"
,
   
"about"
,
   
new { controller = "Home", action="about" }
);

When you run your application you can see that ASP.NET MVC generates short URL for About page automatically.

This solution works well if you have only some pages under root level of site. This is default case for many pages. Of course, it is possible to write more code and have more advanced routing that handles all short URL cases but right now I think this way you move quicker.

Conclusion

ASP.NET offers powerful routing mechanism and MVC framework makes good use of it. Sometimes we may need better URL-s for root level pages than the ones that are generated by MVC framework by default. There may be pages like About, Terms, Join, Log in etc. If we don’t have many pages on root level we can easily define new routes for these pages that offer shorter URL-s that are easier to remember and easier to type on mobile devices. Also search engines may give better rankings to our pages if we don’t use longer URL-s. We saw that it was easy to add new routes to routes collection for pages that need shorter URL. Our method works as far as there are not much pages on root level of site.

Gunnar Peipman

Gunnar Peipman is ASP.NET, Azure and SharePoint fan, Estonian Microsoft user group leader, blogger, conference speaker, teacher, and tech maniac. Since 2008 he is Microsoft MVP specialized on ASP.NET.

    26 thoughts on “ASP.NET MVC: Defining short URL-s for root level pages

    • April 17, 2011 at 8:04 pm
      Permalink

      In your case it would be easier to write a single route that would cover the same scenario as multiple ones:

      routes.MapRoute(“ActionOnly”, “{action}/{id}”, new { controller = “Home”, action = “Index”, id = UrlParameter.Optional });

      And when you want to cover other controllers as well, you may add some route constraints that limit action names to particular ones as:

      routes.MapRoute(“ActionOnly”, “{action}/{id}”, new { controller = “Home”, action = “Index”, id = UrlParameter.Optional }, new { action = “about|index|help|settings|account|etc…” });

    • April 19, 2011 at 1:31 pm
      Permalink

      @Robert,

      I like your solution…I assume you could make this a string that comes from a database or a config file (the delimited actions)?

      Thanks

    • January 14, 2012 at 1:12 pm
      Permalink

      Thanks Robert! I was looking for a solution for a SEO better URL in MVC3 and Roberts comment gave the final touch with the use of constraint in the route.

    • September 23, 2018 at 3:30 am
      Permalink

      Hello there! Quick question that’s entirely off topic.
      Do you know how to make your site mobile friendly? My
      blog looks weird when browsing from my iphone. I’m trying to find
      a theme or plugin that might be able to resolve this
      problem. If you have any recommendations, please share. Thanks!

    • October 2, 2018 at 8:21 am
      Permalink

      Please let me know if you’re looking for a article author for your blog.
      You have some really good articles and I feel I would be a good
      asset. If you ever want to take some of the load off, I’d really like to write some content for your blog in exchange for a
      link back to mine. Please send me an e-mail if interested.
      Thank you!

    • April 15, 2025 at 4:29 am
      Permalink

      antalya psikolog

      I’m excited to uncover this page. I want to to thank you for
      ones time for this particularly fantastic read!! I definitely appreciated every little bit
      of it and i also have you saved to fav to check out new things in your blog.

    • April 19, 2025 at 9:18 am
      Permalink

      Hey there! This is my first comment here so I just wanted to
      give a quick shout out and say I truly enjoy reading your
      posts. Can you recommend any other blogs/websites/forums that cover the same subjects?

      Thank you so much!

    • April 22, 2025 at 6:41 pm
      Permalink

      Hello SEO enthusiasts! I appreciated this article. One can surely boost search visibility by buying sidebar backlinks from
      virgool.io. If you want to rank better, contact me on Telegram @myd_80
      or check out my SEO group @seoprem. Also, the magic of
      internal seo is for mehran yousefi. Don’t forget, the best
      telegram seo group is in this link: https://virgool.io/@yousefimehran2001/گروه-تلگرام-سئو-j7scgevxnkxx. We provide guest posts for sale.

    • April 23, 2025 at 12:50 pm
      Permalink

      Hello folks! I thoroughly enjoyed browsing this.
      For top-notch SEO, buy sidebar backlinks from virgool.io.
      If you want to rank better, text me on Telegram @myd_80 or visit my
      SEO group @seoprem. Also, discover the best telegram seo group link at https://virgool.io/@yousefimehran2001/گروه-تلگرام-سئو-j7scgevxnkxx. The magic of internal seo is for
      mehran yousefi. We have guest posts too.

    • April 24, 2025 at 12:49 pm
      Permalink

      صبح بخير همه عزيزان، همين
      خبر عجيب منو شيفته كرد. يه وبسايت خبري معتبر
      پيدا كردم كه خبرهاي هيجان‌انگيز و دقيقي داره.
      مي‌توني يه نگاه بنداز تا اخبار به‌روز رو ببيني.

    • April 24, 2025 at 1:43 pm
      Permalink

      سلام شما عزيزان، فوق‌العاده اين محتوا بي‌نظير بود.
      يه پلتفرم خبري بي‌نقص دارم كه اطلاعات تازه و
      معتبري داره. اگه دنبال اخبار جذاب هستي، حتماً چك كن.

    • April 24, 2025 at 2:27 pm
      Permalink

      Hey everyone! This write-up gave me insights a lot.
      If you want to rank better, obtain sidebar backlinks from virgool.io.
      You can message me on Telegram @myd_80 or check out my SEO
      group @seoprem. Remember, the magic of internal seo is for
      mehran yousefi, and the best telegram seo group link is:
      https://virgool.io/@yousefimehran2001/گروه-تلگرام-سئو-j7scgevxnkxx. We’ve
      also got the best SEO backlinks services.

    • April 26, 2025 at 9:43 pm
      Permalink

      Terrific article! This is the kind of info that are meant to be shared across the web.
      Disgrace on Google for now not positioning this post higher!

      Come on over and consult with my website . Thanks =)

    • April 29, 2025 at 11:34 pm
      Permalink

      سلام عزيزان علاقه‌مندان، اين داستان فوق‌العاده منو جذب كرد.
      دارم يه وبسايت خبري عالي كه خبرهاي تازه و موثق داره.
      يه نگاه بهش بنداز تا اخبار جديد رو از دست ندي.

    • May 8, 2025 at 1:26 am
      Permalink

      You should be a part of a contest for one of the
      finest sites online. I’m going to recommend this website!

    • May 8, 2025 at 7:45 pm
      Permalink

      link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi
      link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi
      link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno
      grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link
      porno grafilink porno grafilink porno grafi link porno
      grafilink porno grafilink porno grafi link porno
      grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno
      grafilink porno grafilink porno grafi link porno grafilink porno grafilink
      porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno
      grafi link porno grafilink porno grafilink porno grafi link porno grafilink
      porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link
      porno grafilink porno grafilink porno grafi link porno
      grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno
      grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno
      grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink
      porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink
      porno grafi link porno grafilink porno grafilink porno grafi link porno
      grafilink porno grafilink porno grafi link porno grafilink
      porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi
      link porno grafilink porno grafilink porno grafi link porno
      grafilink porno grafilink porno grafi link porno grafilink porno grafilink
      porno grafi link porno grafilink porno grafilink porno grafi link
      porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno
      grafi link porno grafilink porno grafilink porno
      grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink
      porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi
      link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink
      porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link
      porno grafilink porno grafilink porno grafi link porno
      grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi link porno grafilink porno grafilink porno grafi

    • May 12, 2025 at 6:09 am
      Permalink

      Pretty portion of content. I just stumbled upon your site and in accession capital to say that I acquire in fact enjoyed account your weblog posts.
      Anyway I’ll be subscribing on your augment and even I achievement you get entry to persistently rapidly.

    • May 16, 2025 at 12:53 pm
      Permalink

      I’m impressed, I must say. Rarely do I encounter a blog that’s both educative and entertaining, and
      let me tell you, you’ve hit the nail on the head.
      The problem is something that not enough folks are speaking
      intelligently about. Now i’m very happy that I came across this during my hunt for something
      relating to this.

    Leave a Reply

    Your email address will not be published. Required fields are marked *