Subdomains vs. Subdirectories

When you’re first getting started with a new space on a new Web host, you might think of yourself as owning a small “territory” of the Web. Everything you place in your public folder on the server becomes available for anyone on the Web to see (assuming they know the address of your site and the files you’ve placed there).

If you’re just putting up a handful of static, HTML pages which you want to make available to colleagues, friends, or family by sending them links, then working with this large, unorganized space may work. But as soon as you get to the point where you want to organize your site, you’re going to need a new strategy.

Consider this scenario: you want to have a personal blog on your new Web space, where you share pictures and short written pieces with family, friends, and colleagues. In addition, you’re working on a large research project that requires you to build a Web-based repository of digital images related to your discipline. You want to use one application (say, WordPress) to manage your personal blog. For your research project, you’ve settled on another open-source application (Say, Omeka). Both of these are applications that need to be installed on your Web host, but you can’t just put them both at your main domain name – if you did, both sites would quickly experience conflicts and errors. You need to cordon off separate spaces for your different Web “properties.”

There are two primary strategies for parceling up your Web space. You can create subdomains or subdirectories. But before you can understand the difference, you need to first understand what we mean when we talk about your root domain.

Root Domain

Let’s say you’ve registered a new domain for digitalscholar.rochester.edu called blog.digitalscholar.rochester.edu. Anything that is stored at this core URL is considered to be at the root of your domain. Nothing comes before the address or after the address. You can certainly decide that you simply want to have a single site on your Web host (say a blog running WordPress), and you can set that blog up at your domain’s root. To get to your site in this scenario, users would simply go to blog.digitalscholar.rochester.edu.

Subdomains

When you want to do more than just have a single site at the root of your site, you need to decide now to organize your space. One way to do so is by setting up subdomains.

You’re may already be familiar with the concept of subdomains, even if you don’t know it. Consider Google’s website at https://google.com. As you browse features of that site, you’ll notice that the domain changes. When you’re looking at your Gmail account, for example, the domain changes to https://mail.google.com. Now the root of the url is mail.google.com, indicating that you’re on the part of the site that is dedicated to Google’s mail services.

In this instance, mail.google.com is a subdomain that provides a different utility than google.com. The domains serve two purposes: they help to organize the site from a technical perspective, but they also serve as indications to the users that they are in a new/different space.

As you work on your site, you’re welcome to create as many subdomains as you like, and in each subdomain you can actually create a distinct, individual Web site.

Subdirectories

The alternative for organizing your space is to simply set up subdirectories. These function much like file folders on your computer. Instead of creating a blog at blog.yourdomain.com you would place it in a subdirectory called “blog” making the address yourdomain.com/blog. Setting up subdirectory is really easy. You can create folders on the fly when installing applications (like WordPress), and you can also manually create them in your file browser.

There is one particular issue you need to be aware of: Let’s say you’ve installed WordPress to be your primary blog at yourdomain.com. Later, you decide you want to install WordPress again for a separate image gallery site, and you want to place it at yourdomain.com/gallery. But, if for some reason you’ve already created a page on your WordPress site called “Gallery” then the url yourdomain.com/gallery will already be taken. If you try to create a subdirectory of the same name, you’ll get a conflict and errors.

Tips & Review

  • Subdomains are generally a cleaner, more elegant solution to organizing your site. You’re less likely to get conflicts or errors. However, when using subdomains the process is slightly more complicated: You must create subdomains first before you can install anything in them.
  • Subdirectories don’t create as pretty URLs as subdomains, but they’re easier to set up. They can, however, result in conflicts with existing Web pages.
  • As soon as you create subdomains or subdirectories to organize your site, you need to consider how people are going to find them. If you’ve created a new primary blog at blog.yourdomain.com, and someone goes to just yourdomain.com, they won’t see that new site. It is possible to set up redirects to avoid this issue. You can also always create links from pages on one subdomain of your site to another.
  • If you really just need one site, sometimes installing at the root of your domain is the easiest thing to do, at least as you’re getting started. You can always add more pieces to your territory later with either subdomains or subdirectories.

Tutorials

What is DNS?

Remember back before everyone had computers that fit in their pocket, how companies would ship a book full of phone numbers to your doorstep? We might have known who we were looking for, but we needed to look up phone numbers unless they were your crazy relatives that you learned to memorize. When you get your own domain name, by default it’s nothing more than a shortcut, an address, or (to fit this very imperfect analogy) a phone number. When you type a domain name into the address bar of your browser, someone has to identify it and tell it what to display. That’s where a name server comes in.

A name server is a computer, running as a server, that keeps a record of all the domain names that are associated with it and keeps track of where those domains should go. In the case of digitalscholar.rochester.edu, the nameserver is the same computer that runs the hosting. You can peek under the hood and see this in action by going to the Websites and Domains tab of your cPanel account and clicking on DNS Settings. DNS stands for Domain Name System and the name server on digitalscholar.rochester.edu gives control to it to identify what should be displayed when someone types in your domain. Consider the fact that you might have one or more subdomains in your account. The name server and DNS are able to identify those subdomains and let the world wide web know that they exist and point to some files/folders on a computer somewhere.

When you signed up for a domain through the digitalscholar.rochester.edu system your nameservers were chosen for you. So when people type in your address, the server responds with information about your account. When you migrate an account away from one hosting platform like digitalscholar.rochester.edu and onto a new service, it will require you to change the nameservers so that your domain name points to a new server with its own files and structure. It’s also possible to have subdomains that point to entirely different servers than digitalscholar.rochester.edu. For example, you could have a subdomain that looks to Tumblr for files.

What is Domain Mapping?

Domain mapping, simply put, is deciding where visitors should be directed when they visit various pieces of your website. Domains and subdomains can be mapped directly to folders located within your webhosting account, where you may have installed WordPress, Omeka, MediaWiki, or other web applications. Domains and subdomains can also be mapped to some third-party providers.

Map Your Domain to Tumblr

Mapping your domain is an important part of sites.haverford.edu; it reinforces the idea that you don’t necessarily need to host all your own applications. You should, however, be mindful of making your web presences part of a domain you control. If you would like to map a subdomain and have not yet created it, use this tutorial on creating subdomains before proceeding. To map your domain, or a subdomain, to Tumblr, use these steps:

  1. Log in and navigate to your cPanel. Click the Search box at the top, right-hand corner and type “DNS” (without the quotes). As you type, the cPanel page will begin to narrow down results.
  2. Find and click on Zone Editor to continue.
  3. Find the domain, or subdomain, you want to map to Tumblr in the list of Zone File Records. Click Manage next to the proper domain.
  4. Leave the Name, and TTL fields set to their defaults. Update the Type drop-down menu to CNAME, and the Address field to domains.tumblr.com. Click Edit Record when you are done.
  5. Visit the Tumblr website, and login with your Tumblr username and password.
  6. After logging in, click the Tumblr Settings icon.
  7. For the Tumblog you’d like to use under the Username click the pencil icon to edit these settings.
  8. Check the Use a custom domain checkbox. Type the name of the domain or subdomain you want to map to Tumblr into the box, then click Test your domain.
  9. If your domain mapping was successful, you’ll see a message that your domain is now pointing to Tumblr. Click the Save button before leaving the page. Keep in mind that it may take up to 72 hours for your domain or subdomain to correctly point all visitors to the correct location.

Map Your Domain to Blogger

Mapping your domain is an important part of sites.haverford.edu; it reinforces the idea that you don’t necessarily need to host all your own applications. You should, however, be mindful of making your web presences part of a domain you control. If you would like to map a subdomain and have not yet created it, use this tutorial on creating subdomains before proceeding. To map your domain, or a subdomain, to Blogger, use these steps:

  1. Log in and navigate to your cPanel. Click the Search box at the top, right-hand corner and type “DNS” (without the quotes).
  2. Click on the Zone Editor icon.
  3. Find the domain (or subdomain) you want to map to Blogger in the list and click Manage.
  4. Create a new CNAME record by clicking Add Record. To save, click Add Record.Keep this window open; you will need it in later steps.
  5. In a new window, go to the Blogger website, and login with your Blogger/Google username and password.
  6. From your Blogger Dashboard, find the blog you’d like to use, expand the More Options menu, and click Settings.
  7. On the “Basic Settings” page, find the Publishing section, and click the Setup a 3rd party URL for your blog link.
  8. Under Advanced Settings, type the full subdomain or domain you are mapping into the box, leave the Use missing files host? option set to No, then click Save.
  9. You will be presented with a message that your domain cannot be verified, along with information about your existing DNS entry, and an additional DNS entry that needs to be made. This is normal. Copy the second entry under the Name, Label, or Host entry to your clipboard.
  10. Go back to the window or tab containing the Zone Editor in your Digital Scholar cPanel. Create another records by clicking Add a Record. Paste the text you just copied into the Name field. This information will be different for each domain. Set the TTL field to 14400, and the Type drop-down menu to CNAME
  1. Go back to the window or tab containing the Blogger Advanced settings panel, and copy the second entry under the Destination, Target, or Points to column to your clipboard.
  2. Go back to the window or tab containing the Advanced DNS Zone Editor in your digitalscholar.rochester.edu cPanel. In the Zone File Records section, find the domain you were editing Action for and paste the text you just copied into the CNAME field. This information will be different for each domain. Click Add record when you are done.
  3. Return to the window or tab containing the Blogger Advanced settings panel, and click Save.
  4. If everything was successful, your domain will now appear as the Blog Address. Keep in mind that it may take up to 72 hours for your domain or subdomain to correctly point all visitors to the correct location.

For further instructions, click here.

WordPress

WordPress is an online, open source blog application. Powering over 30% of the web, WordPress is easily one of the most popular content management systems (CMS) in existence today. WordPress forked from b2/cafelog in 2003, and WordPress MU multiple website functionality has been integrated since 2010. You can read more about the WordPress backstory here.

 

Mediawiki

MediaWiki is an open-source publishing platform that can be used for creating a collaborative document repository. It’s the software that drives the Wikipedia website.

You can learn how to use this application at the official MediaWiki Help Pages. This support documentation wiki will show you how to manage all aspects of your wiki, including customizing its appearance, editing content, and changing user settings.

Omeka

Omeka is an open-source web application that can be used to create and display online digital collections. Developed by programmers at George Mason University, Omeka was designed to be user-friendly, both during installation and setup and during daily usage.

You can learn how to use this application in the official Omeka Support Documentation. This support guide will help you get started and begin creating your Omeka site.