Search Engine Optimization (SEO) is a cross-functional discipline and to achieve findable websites, a variety of tactics must be employed. When building DotNetNuke (DNN) websites, optimizing your websites for findability can be exceptionally challenging. Rich, contextual content is the root of findability, but due to the nature of a content management system (CMS), content can have many disparate sources and control of your content can be unwieldy. In this article, I’ll list 12 tactics to make maintaining the fundamentals of findability in DNN easier.
What you Say and How you Say It
The content of your sites is equally important to search engines as how you say it. Keeping semantic markup in mind at all points of your implementation will help provide more context to your content. The foundation for the markup of your DNN website is rooted in the skin used on your pages. As such, there are a number of techniques to “bake” semantic markup and SEO best practices into your site. These techniques also alleviate your content editors of some of the burden.
1. Start Using Semantic Markup in the Skin
Semantic markup is crucial to providing context to your content. As modules are added to the page to create the content of your site, additional markup is often a necessary evil in providing the features native to DotNetNuke. By using semantically correct markup in your skin, you’re boiling the cream to the top. Here are a couple of ideas to give you a taste of how to accomplish this on your sites:
- Wrap the logo token with a H1 tag. The logo token will automatically generate an alt tag for the image set as your site’s logo. By wrapping the logo in a tag your sites’ title will have the highest priority on all pages. Depending on how far you want to take it, CSS text/image replacement may even be better.
- Wrap footer links in
tags. Copyright, privacy statements, terms, and other global links should be considered a paragraph of links, make the markup reflect this.
2. Avoid the Managed Content Trap
DotNetNuke is a content management system, but this doesn’t mean everything has to be managed content. Evaluate your content like it is a garden – consider which content needs to be replanted frequently (managed content) and which content is like a shrub or tree (not tended to frequently, visible throughout your site). Plant the shrubs in your skin and if they need to be changed make a change to the skin. By planting content in your skin files, the content will be less obstructed by markup and maintain the original design.
3. Put Database-Driven Content to Work
The content in DotNetNuke is stored in your database – use this feature to dynamically inject content onto your pages. There are a number of dynamic content elements you can utilize to introduce content to your pages without using modules.
4. Evaluate Navigation Providers
Pay attention to the features of the navigation provider you’re using. Many of the providers available have hidden gems that provide more content to the navigation than simply the page titles. Our friend and core navigation provider, DNN Nav provides an attribute in which you can specify a tooltip for each menu. The tooltip will be automatically generated from the page name, page title, or page description.
5. Make Content Editing “Dummy Proof”
If you open your content management responsibilities to multiple users with a range of skills, you may come back to your site’s content to find it is riddled with missing alt and title tags and inline styles have been used to make headings instead of proper headings tags. This can do a number on the design of your site as well as the findability of your content. Be prescriptive about how you allows editors to manage their content and make the content editing tools “dummy proof.” Previously, I have blogged about customizing the rich text editors in DotNetNuke (Telerik editor and FCK editor). By customizing your rich text editor, you can shepherd your content editors toward semantic content.
6. Extend DNN to Make your Site Smarter
There are numerous modules in the DNN ecosystem that aid in improving the fundamentals of SEO. I could dedicate a separate blog to this topic alone, but the key consideration is to consider looking for modules to aid in keeping your content findable and search engine optimized. Let’s take one module specifically and dream a little together.Wouldn’t it be great if you helped content editors by automatically creating external and internal links based on common words or phrases? You could even add in the rich attributes that many content editors neglect.
7. Consider File System Naming
For the next two topics you have to buy into the following theories – 1) content is more than just text and 2) file system paths add context to images and documents on your site. Are you still with me? Great. As you start to build out the organization of your file system, considering the naming of your directories and files plays a role in the findability of your content. More and more search findability is more than just text. Making sure the files on your site are findable and relevant to search terms can only help improve the overall findability of your sites.
8. Customize your Child Portals’ Directory
If your installation utilizes the multi-portal features of DotNetNuke, think twice as you create new portals. There is an often-overlooked feature DNN offers allowing you to create a custom portal directory. If you were a search engine (which would be weird) wouldn’t you find content more compelling if the file path was www.example.com/zoo-animals/mammals/giraffe.jpg vs. www.example.com/portals/1/mammals/giraffe.jpg?
9. Make your URLs Friendlier
DNN has been making a slow journey toward a friendlier URLs. If you’re interested (and you should be) in moving faster toward full control over your URLs there are a number of extensions that will give you a long list of features make your URLs even friendlier. Check out the following extensions: Snapsis PageBlaster, Inventua Hrefexchanger
Let Search Engines Know
The first few tips were mainly focused on making your content semantic and meaningful to search engines. Once you have you have rich, semantically-correct content on your site you’ll want to reiterate to the search engines what you want them to find. Whether or not they’ll pay attention to you is beside the point. DotNetNuke offers a variety of features to guide search engines through your content.
10. Submit a XML Sitemap
Each DNN site automatically generates a XML sitemap (sitemap.aspx) Page Priority Starting in DNN 5.01, individual pages can have a specific priority assigned in the XML sitemap. Starting in version 5.01, DNN allows you to explicitly assigning page priority to your pages to instruct search engine bots on the hierarchy of your sites’ pages. Additionally, it is important to submit your XML sitemap to search engines.
11. Plug in a Third Party Sitemap Provider
In DotNetNuke 5.3, things got even better when DNN make the search engine sitemap a provider allowing modules to plug into the sitemap and allowing module developers to create custom search engine sitemaps to expand on the core’s functionality. There is an open source project demonstrating the capabilities of an alternative provider.
12. DNN Takes Care of Meta Content
The last consideration is not so much a task, but a reminder to take care of your page meta content. DotNetNuke does a lot of the work for you in generating Demonstrate the source of meta content in DNN. It is arguable as to whether this content is relevant or considered in search engine rankings, but it can’t hurt to provide more context for your site.
In conclusion, each of these tips could be a case study on their own and I’ve just hit the tip of the iceberg. If there was a concise way to summarize this article, it would be - search engine optimization can’t be an afterthought. If you consider your content from design to implementation to ongoing maintenance the only “optimization” will be in honing your message, not redoing your site.