| Register
Thursday, August 28, 2008   
Article Details
Making DNN portals Search Engine Friendly.

DotNetNuke comes full of great features using the latest technology. While new technology is great, some search engines may not be ready for it. In this article we will focus on Google. But many of the techniques in here will help with most search engines. Why do you want to worry about being search engine friendly?

 

 

Making DotNetNuke Portals
Search Engine Friendly


   DotNetNuke comes full of great features using the latest technology. While new technology is great, some search engines may not be ready for it. In this article we will focus on Google. But many of the techniques in here will help with most search engines. Why do you want to worry about being search engine friendly? Well unless you want to do heavy link exchanges which can detract from the professionalism of your site, your other two options are advertising, which can cost a lot of money, and search engines. Search engines will use automated programs to explore your site and capture the information off your site that they need to successfully rank you. This rank is a very serious business and people have paid thousands of dollars to get their site on top to specialty consultants called SEOs. Because of the value and impact a top ranking can have for a business, many have found ways to cheat themselves to the top. Because of this these search engines and bots follow complex unpublished rules to decide on how to capture your site and how to rank your site. Any method trying to cheat these systems will get your site penalized or removed from the search engines.

   We aren't going to give you tips that will get your site removed. We are going to provide allowed methods to make your DotNetNuke site search friendly and help it rank higher. Right now I'm going to gloss over SEO type of tricks to get your site ranked higher, these have nothing to do with DNN in particular, but you need to be aware of them. I am not going to dig into details either. They will be discussed in later articles or you can google for more information on each.

  • Keyword Usage - Try to use keywords relevant to your site in your domain name, title, description, and content. Any keywords you want to focus on definitely need to exist in your content.
  • Keyword Decisions - Use the obvious keywords but also use tools that tell you the most popular and least popular keywords people are actually searching for. A common technique is to focus on the less popular keywords because it's easier to get higher rankings with them.
  • External Links - Get links to your site from other sites. But be careful or the places are just collect huge lists of links. It's especially helpful if the link comes from a relevant site with a good rank. This is a very important part of your rank but it's not always easy to get a good site to link to you.
  • Internal Links - Link to your other pages within your content, not just in your menus. Don't choose link titles such as 'click here' or 'read more' but actually link to the page using top keywords for that page.
  • Content - Content has been discussed, make sure you include relevant keywords and make sure you have content on every page, even a site map page.

   Those are the basics. The more you keep up with those 5 items the better your site is going to rank. Now for the fun part, how do we implement all of those items effectively in DNN and are we actually doing it correctly? First, you really need friendly URLs turned on. Friendly urls is a new feature in version 3 of DotNetNuke. It can be found in [Host->Host Settings->Advanced->Use Friendly Urls?]. When friendly urls are turned on your addresses will look like this: http://www.dotnetnukesites.com/Articles/tabid/693/Default.aspx When turned off your urls will look like this: http://www.yoursite.com/Default.aspx?tabid=64. Notice the difference? Search engines don't properly follow links that have a question mark in them. They usually remove everything that comes after the question mark. This means the only page on your entire site that the search engine will see is your home page if you do not use friendly urls. Now google claims to work on sites without friendly urls but I'll never say its 100% true and most other search engines don't.
 

   Well that was easy but the friendly urls is our problem though. Because having such an easy way to turn on friendly urls it makes you think everything is fine. Since this feature is new many modules including core modules still don't use them even when they are on. I can't list every module here but you can check for the truth about any module by viewing the source of that page and do a find for all 'HREF=' tags. If you want to find a specific link just search for it's title. I will list two suprising core link offenders. The DNN links module and text/html module. Below I will discuss what the problems are with each and how to mitigate them until the core is fixed. Version 3.1.1 is the latest version as of this writing. You can use the source methods above to see if they are still offenders in the latest version.

   The links module is a very common module for DotNetNuke. This is why it is surprising that this module didn't get friendly URL updates when version 3 came out. Although there is a portion of the links module that may be harder technically to make use friendly urls, the basic portion doesn't bother either. To effectively use this linking module you must not use tracking for any url. Tracking has to send the link through a special process so it can be tracked causing the actual link to be unfriendly. The second thing you must not do is use the convenient select a page on this site option. This option makes things easy for you because it lets you pick your page right out of a list. But then it actually uses the unfriendly url as the link. What you need to do is browse to the page you are linking to and copy the full url out of your address bar. Then in the links module add the full url. You can use relative urls if you like but I'm not going to cover that. Feel free to use the logging feature on your links. They didn't effect the links at all in any of my testing. A quick tip, I will often run my site in two browsers. One, to do my actual editing, and the other to look at effects and quickly grab urls without exiting my current edit screen. The page preview works well too for effects but I find it just a bit more useful to use separate windows.

   The text/html module is the staple of every DNN site. This module is a must and that's why I was surprised at it's strange behavior. First, I will caveat this with, the html module doesn't always behave this way but you need to always check.  The html module includes a word processor type interface with simple to use controls and near WYSIWYG results. This can make html coders lazy ;). I often find that I still want to go read through the HTML behind the wysiwyg because the module performs html coding through interpretation of what you do in the graphical interface. This process will never be perfect so you need to always check. During one of these checks I noticed that the module had actually rewritten a full url I entered using the link control. It cut the url down to the relative path and transformed it into the unfriendly format. I believe I have seen this behavior with urls cut and pasted directly into the text box too. But I have also found instances where the editor didn't revise my settings. Because it's inconsistent I will tell you to always check after you update your changes. Simply go back into edit mode, click on the HTML tab and look at your links. If you see the pesky question mark in your paths, copy and paste the friendly URL right into the html code and click update. I also don't know if the text box is going to reprocesses your urls after other edits so right now I suggest that this becomes a standard practice after every edit even if you didn't touch an existing link. The nice part about the text html module is you do not have to view the page source to check your links. With most other modules you do.

   The last tip I want to give is based on Site Maps and DNN navigation. Graphical menus like many in DotNetNuke are not search friendly.  In many cases I will place a link module or text/html module (acting like a link module) with links to all the pages in my site. This serves as a simple site map and can help some users find their way around. Of course while using these two modules you need to follow the tips above to get friendly links. Most of my sites use a horizontal menu bar and I will place the site map module in the left content pane and make it visible on all pages. This gives two ways to browse without looking too redundant. Some tips I use to handle navigation:

  • Place only top level menu options on your search engine friendly site map. I guess it's not really a site map then, but we don't want to clutter everything.
  • If any page you have has child/sub pages, place another sitemap module linking to each of those child pages. You can make this module more prominent by placing it in the content pane.
  • On any page with just a set of links, such as the page mentioned above, place a text/html module on the same page with a description of this page. Search engines don't like pages that don't have any content.

   There are many reasons for doing things this way. Often I go to a DNN site and I see a menu item with lots of subpages. But when I click the parent page, all I get back is a blank page. The site owner intended me to choose a subpage, but never actually wanted me to use the parent page. He was just using this parent page as a form of grouping or categorizations of the sub pages. While there are ways to make the parent unclickable, I find this is a great opportunity to place the child sitemap and some short content to entice the user to visit many of the sub pages. A site map of parent pages on every tab may not be the solution for everyone. An alternative is to make a page full of clearly organized search engine friendly links then put a link to that page somewhere on your home page. I would still put some additional content on that page, but in all it will work just as well.

   If you made it here, thank you for reading my first article to help the DNN community. I am not a writer (as you can tell) but I want to see if I can make DNN better for many. I plan on eventually covering many aspects of DNN including walk-throughs of modules, configuration, installation, etc. Your feedback is greatly encouraged as it will have a major effect on my motivation.


Thank You,

John


Written By: host
Date Posted: 11/5/2005
Number of Views: 1963

Return
Copyright (c) 2008 DotNetNuke Web Site Strategies, Tips, News   |  Privacy Statement  |  Terms Of Use