How to Install WordPress on Root Folder & Sub Folder on a Windows IIS Server at Godaddy

One of my clients uses Windows hosting on Godaddy. They wanted to host a new WordPress website on a new subdomain when a WordPress website was already installed on the their primary domain. I wasn’t familiar with Windows IIS hosting at the time (WordPress is normally hosted on Linux servers), and so gathering this information took several days and a call to Godaddy Support before I figured it all out.

Here are the 4 steps to install WordPress on a subdomain in Windows IIS in Godaddy when a WordPress installation already exists on the primary domain:

  1. Upgrade to Deluxe or Ultimate Hosting
  2. Setup the Subdomain and Subfolder
  3. Create the web.config file in the Subdirectory
  4. Install WordPress Like Normal

Godaddy Hosting Control Panel

1. Upgrade to Deluxe or Ultimate Hosting

Because they used Godaddy, they first had to upgrade to a deluxe hosting package as the base, “Economy” hosting plan does not allow you to host websites on subdomains. An upgrade was an extra $2 a month. Thanks to Chip O’Toole for this tip.

2. Setup the Subdomain and Subfolder

In Godaddy, this is done in the hosting control panel under “Manage Domains”. Click the domain you want to manage, and then create a new subdomain. It will prompt you to create a folder with the same or different name after that. Once a folder is created, go back to the control panel and setup a new FTP user account to access that folder if needed.

3. Create the web.config file in the Subdirectory

Once the hosting was upgraded, the subdomain still did not ‘show up’, but simply redirected to the primary domain’s website. To fix that, you have to create a web.config file in the subdirectory you created in step 2. To do that, go back to the hosting control panel and click on “File Manager”. Browse to the subfolder and then click new. Copy and paste the following code:

<!--?xml version="1.0" encoding="UTF-8"?-->
<configuration>
<system.webserver>
<rewrite>
<rules>
<clear>
<rule name="SubWordpressFolder" stopprocessing="true">
<match url=".*">
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?youranotherdomain.com">
<add input="{PATH_INFO}" pattern="^/" negate="true">
</add></add></conditions>
<action type="Rewrite" url="\your\sub\domain\directory\path\{R:0}">
</action></match></rule></clear></rules></rewrite></system.webserver></configuration>

<rule name="SubWordpressFolder-wp" patternsyntax="Wildcard">
<match url=".*">
<conditions>
<add input="{REQUEST_FILENAME}" matchtype="IsFile" negate="true">
<add input="{REQUEST_FILENAME}" matchtype="IsDirectory" negate="true">
</add></add></conditions>
<action type="Rewrite" url="index.php">
</action></match></rule>



Thanks to Samrat Saha on the WordPress Forums for this solution, which is based on this “Install WordPress on IIS” tutorial from Microsoft.

Note:Be sure to change the “www” to your subdomain name, “youranotherdomain.com” to your primary domain name, and “\your\sub…” directory path to the actual path.

PS. The “R:0” are “back-references to condition patterns“.

4. Install WordPress Like Normal

You may not be able to use the one-click install application in Godaddy for a subdomain, but you can still manually install WordPress. First create a MySQL database. Record all of the info from setup such as database name, username, password, and host name. You’ll need all of that to configure WordPress. Next, download the latest installation files from WordPress.org. Unzip the file and upload to your sub-folder using FTP. Once the files have been uploaded, go to [subdomain.primarydomain] and follow the prompts to create a configuration file.

How I Almost Lost Everything

Well, not everything, but my entire blog.

I went to create a blog post yesterday and instead of a publish button, there was a “Submit for Review”. Not really thinking, I just clicked it anyway, the page refreshed, and the post was gone.
After doing some research it appeared that the database was full. I was using 150.6 MB out of an allotted 100 MB.
While modern databases now come in 1000MB chunks, this database was started back when the standard was 100 MB and they had graciously let me go over by 50% until cutting me off (without notice).
What else happened because of this?
Backups had stopped running. Since there was no way for the plugin to add more data to the database, a new backup could not be created.
One option was to clean up the database with a plugin, but I couldn’t add any new plugins because again, the database was so full, it couldn’t make an entry.
How did I fix it?
I created a new 1000 MB database, did an export, then attempted to import into the new database using WordPress’ import tool, but the file was too big (6 MB). The max size is 2 MB.
So instead I went into the web host and used PHPMyAdmin to manually export and attempt to import the data. This also didn’t work because it exceeded the “max packet size”.
Now I was starting to get a little panicked.
I went back to the website and deleted all spam messages (~3000), which freed up enough space to install a plugin called WP-Optimize. I ran that, which deleted all revisions, freeing up almost half of the database, but the export file was still just as big.
Another thing I noticed was that the theme I recently installed (Jupiter) had created several new tables and may have been what put me over the top in space so I removed it.
Finally I remembered that posts can be exported by category, author, or date range so I exported them individually by category, which kept each file under 2 MB.
I imported them into the new WordPress database 1 by 1, semi-automatically restoring the data to the new database. This worked.
All 619 posts and all 5 pages have been restored.
This is just another example of The White Album Problem. As databases outgrow their restraints they will need moved to larger databases over time and knowing how to manage this data transfer process is critical to preventing data loss.
In addition, this process highlighted the need to monitor database usage at least on an annual scale.
It would be nice if the web host would provide a function to expand out an existing database, but maybe this is an option they or some enterprising young entrepreneur will do in the future.

Content Management Systems vs. Managing Content

If I were tweeting today I would have wrote: WordPress is not so much a content management system as much as a content display system.

Content Management Systems vs. Managing Content

A content management system (CMS) designed by Erich Stauffer would allow content to be platform-agnostic. In DRY (don’t repeat yourself) terms, the content would be an object who’s repurposing could be tracked. Essentially, the content management system would not store the content, but report on the status and whereabouts of the content. Let me explain with an example.

Example: A blog post is written in WordPress. The dashboard in the CMS sees this new post via RSS and prompts the viewer to describe (via checkboxes) whether or not the material has been repurposed as a video, soundcloud, podcast, slideshare presentation, or as part of an email has been backlinked from Twitter, Facebook, and Google+.

In essence, the CMS would work more as a marketing automation workflow tool – guiding you through the process of wringing out as much value from each initial post as possible. This same process could be accomplished via any sort of trusted system: pencil and paper, Word worksheets, Excel spreadsheets, Trello, or even WordPress itself via custom code.

I have yet to do it manually even once, yet I have recommended it to others many times. I’m not sure a tool would make me want to do it more, but ‘doing’ is not what I do. ‘Changing’ is what I do. That’s how I’m wired and I’m fine with that, but it doesn’t mean the ideas aren’t good or helpful for production workers who are more comfortable creating content in a structured environment.

It’s not that I don’t do stuff. I do practically whatever anyone tells me to do. I guess it would make more sense to put that line in context. I once worked in a corporate department where my boss used an analogy about us being the rudder and ‘ops’ being the engine. I had very little ‘corporate’ experience prior to working there and had never worked as a business analyst before. (I am very thankful for the opportunity as I feel it was one of the best jobs I ever had.)

As a result of my intial ignorance of how to be a business analyst, I wasn’t aware that other people had a similar or different opinion on the subject of how organizations should be organized. I only knew of it as ‘how my boss thought’. It wasn’t until after I visited the “Indianapolis Leadership Circle” (formerly known as the Leadership Mastery Group) put on by Tony Piazza that I heard something similar from the speaker, Scotty Bevill. He said (paraphrased for convenience):

[Project managers] don’t like to run things – we like to build, change, and refine things. That’s just who we are as people.

I use that word “people” specifically as Scotty was very adamant about business being “people dealing with people” and that we shouldn’t try to take the “human” out of who we are. The people in the room at the leadership meeting were mostly project managers who were mostly former IT workers. The other people in the room were current IT workers (such as myself, who is currently an IT Specialist in my day job). This is more of a belief about who we are as workers, not as much about the willingness to do or not do work. People like us (project managers and business analysts) prefer to be change agents, not production workers.

Content Management Systems vs. Managing Content

Permission to speak freely? Okay, for a second here I’m going to throw out all preconceived notions of what I should or should not do, what I am or am not capable of, and what does or does not make business sense. I’m just going to say what I think I want to do and then step back to see what sticks. As Scotty Bevill says, “Start with what is known.” Here’s what I know: I have found a way to add a sales funnel dimension to keyword research. Let’s call these “buyer keywords”.

  • Once you have identified ‘buyer keywords” you can start to write content that attracts those searchers.
  • Once content is created it can be both backlinked from social media and repurposed into other content.
  • Once visitors start coming to the content, the content can be optimized to increase conversions.

Compendium, a business blogging platform which recently got purchased by Oracle, has 3 steps to create content which are 1) Research 2) Organize and 3) Create. I’d like to create a service that does 1) SEO Keyword and Competition Research 2) Creates and Manages Content and 3) does A/B Optimization.

Content Repositories

Update: Since writing this I’ve since discovered something called a “Content Repository“. There are several types, but what they all have in common is a clear separation between the content and the presentation of the content. What I’m still looking out for (and willing to provide as a service until software can be built around it) is a way to track all content like a database and know when and/or how often it’s been linked out via social media or to certain social bookmarking sites and whether or not it’s been repurposed to a pre-defined selection such as Youtube, Soundcloud, or Podcast.

So when you take what I consider to be my ‘flux capacitor moment’ where I realized I had this ‘super power’ to attract customers to me by writing what matters to the customer and add in what I’ve since learned about content marketing, customer acquisition systems, and customer development I’ve got a knowledge base that is poised to be leveraged with the right content management system. By system I mean the methods (processes + tools) that can multiply the efforts of a content marketer by first finding out who is already seeking their product and writing directly to that person.

I’m not sure how to do this, but those are my collection of ideas.