All posts by Cory

Suzy - Watercolor by Cory Gugler

Using domain registration to optimize your search engine ranking

There are many ways your domain name can help or hurt your search engine ranking. You can use a few of the following tips when registering your domain, or registering domains for micro-sites or campaigns for your business.

Keywords in domain name

Placing the most important keywords in your domain name can significantly contribute to a page ranking. There are many ways you can incorporate a keyword in a domain name.

Exact match domain

This is great for a campaign or a micro-site. If a customer is searching for ‘recycled shoes’, will have an advantage over other domains since the domain name matches the search query exactly. Beware that spammy sites do this all the time, and many exact matches might be hard to obtain. If you find one that works for you, make sure you provide useful content on the site. This is where creating a useful micro-site based around a single product, or subset of products will help. Redirecting the domain to your main business domain is likely to gain you nothing.

Keyword in domain

Just having one of your main business focus keywords in your domain will help your ranking. If your company is named ‘Acme’, and you focus on tools, will be a better domain than just Acme.

Making the keyword the first word in the domain name is also a popular strategy. There is evidence that this technique may be more beneficial than placing a targeted anywhere else. In this example we could try:

There is also evidence that keywords as sub-domains are factored into rankings. This is great for micro-sites as well. You might run a campaign to push anvils, so you would set up a site at targeting anvil sales.

Domain age

Domain age and registration length is also known to be a factor. Both have been mentioned by Google’s resident webspam team member Matt Cutts. 

There isn’t much you can do about domain age except to register early and never let your domain expire. Spend the extra money and register your domain for longer than a year at least. There is controversy around whether the registration length is really a factor, but if you plan to stay around for a few years it makes sense to go ahead and register long term.


Private domain registration has been mentioned as a factor by Matt Cutts before. There are legitimate reasons to have a private domain. If you’re running a solo home based business and you don’t want to broadcast your address and phone number on WHOIS it you may want to stay private. Most small businesses with a phone number and a PO box should list it publicly on their domain WHOIS. This lets Google and everyone else know you’re a legitimate business.

If you operate specifically out of a certain country, or provide a local service, consider using a country specific TLD, like .uk, .ca, .jp, etc… This helps search engines know what country you operate out of, although it’s not the only way they determine your locality. Consider registering multiple TLD’s localized to each area you operate.


Your domain name is just a small factor in your overall search engine ranking, some of these tips will help push you above the competition. This is all provided you have actual useful content on your site. Content is always king, but every little optimization helps.

Indeterminate - Cory Gugler

Setting up a TLD for local web development in Ubuntu

Like any good developer, I have a local LAMP server set up so I can develop locally before pushing a site or app to a live production site. This allows me to completely test any modifications to the code base and helps minimize and prevent any possible bugs once the site is live. Once everything is well tested and good to go, I can easily push to production, test again, and be confident everything is working correctly.

My development server is a 64-bit Debian Server running inside a VirtualBox VM on my desktop PC. I run Ubuntu based Linux distributions on all my PC’s, so I could install a LAMP stack on any of them, but I prefer to keep it separated. By using a virtual machine I can more closely emulate the most common server I deploy to, which also minimizes any bugs I might run in to.

So what does all this have to do with setting up a local development top level domain?

Well, my standard process has always been something like this:

  1. Create a directory for project on local server
  2. Set up new virtual host in Apache (usually ‘’)
  3. Update /etc/hosts file to point ‘’ to virtual machine’s ip

That works fine, but I have to add to any computer on the network that I want to be able to access the .dev site. It’s one of those things that I just have been doing for so long that I do it unconsciously. As a developer, I’m always looking for ways to streamline processes and be more efficient.

Enter dnsmasq

What I want is to make the .dev TLD always point to my virtual machine. Wildcards are not supported in your /etc/hosts file on Linux, so we’ll use dnsmasq.

Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP server.

You can set up dnsmasq on all the local computers on your network to make them all hit your development VM for all request to *.dev.

If dnsmasq is not already installed on your Ubuntu based distro, a simple ‘sudo apt-get install dnsmasq’ will do.

Next, edit /etc/dnsmasq.conf and add this one line:


Where is the ip of your VM. My VM is exposed with a bridged connection to allow it open access to the internet and the local network.

You may need to restart network-manager & dnsmasq:

sudo service network-manager restart
sudo service dnsmasq restart

And you’re good to go. Now you can clean out that /etc/hosts file you’ve been piling domains on.

This is a simple, easy, and somewhat obvious fix, but sometimes you get into a routine and forget to check if your processes can be optimized.

Watercolor Painting By Cory Gugler

Five minute writing sprint

So you’re sitting around, you finally have a moment to focus on your website and you think, “I need to get some more content up here”.

You don’t have the budget to hire a writer or a marketing expert to help write your content so instead you write everything yourself.

You sit down but your mind is blank, you expect yourself to write the next most viral content the web has ever seen, making your business blow up, wherein you become a billionaire philanthropist and spend the rest of your life making the world a better place.

But you still have no idea how to start.

I propose a five minute writing sprint.

Sit down, get a timer, use your phone or the classic kitchen timer for added dramatic effect, set it for five minutes and go.

But I still have no idea what to write you say!

Stop! No backspace key allowed. Write whatever is in your head in the moment.

Imagine this:

You start your timer and realize you really should have hit the restroom before you started, well, suck it up, it’s only five minutes.

Start by writing that.

Once your fingers start relentlessly pounding on the keyboard and you command them keep going, the ideas will start pouring out of your brain. Some will be terrible, some will be great, some you will have no idea where they came from. This is the beauty of the 5 minute writing sprint.

As you’re writing, new ideas start popping into your head and you start to get into a deeper flow. Your timer all of the sudden goes off, but it feels like you’ve only been writing for 30 seconds, so you keep going.

If you are having trouble, use the five minute writing sprint to get started and you’ll be amazed with what you come up with.

Don’t worry about editing, that will come easily once you’re done.

Writing as fast as you can will kill your inner critic and help you spew out as many ideas as you can, eventually you might run out of gas, but I bet it will take longer than you realize.

You may write things in a crazy random order. Ideas may come to you in the wrong order. Just keep writing, that is what editing is for. We’re just here to work out ideas and a general outline for the first run through.

Afterwards you may have one complete article, or 5 separate ideas for articles to write. You can expand on these with additional 5 minute sprints or just write normally.

The point is to get started. Half the battle is just opening up your writing environment and go go going. If you notice yourself slowing down to think just start jamming the keyboard fast and without regard.

After all, all you need are words, that you turn into sentences, that you turn into paragraphs, that you turn into sections, that you turn into articles.

If you already have an idea, or if you’re starting round two you can just start freestyle writing on your idea with an outline.  An outline will help you keep some semblance of structure and keep things readable. You may even find that writing with an outline will give you one shot articles. Great, interesting and fun articles that you’ve written in no time.

If you’re a small business owner and you can’t afford a writer or content creator this may be the best piece of advice for you. Anyone can write, and the more you write the more you’ll figure it out. The more things you try the more you learn what works. screenshot

Ally Construction

I worked with the owner of Ally Construction to launch their web presence. After we worked out their requirements and the needs of their customers, we determined a content management system based on Drupal would be the most effective solution to build their on-line presence quickly and efficiently.

I designed and developed a custom responsive theme with backwards compatibility for older web browsers. I also created icons for the site and selected customer provided images for the site.

After the site was completed and launched, I provided support in the initial site marketing, wrote much of the sites content, and provided off-site search engine marketing. As a result, Ally Construction is ranked very highly in Google and has many first page results for local search terms.


Technologies: HTML5, CSS, JavaScript, jQuery, PHP, MySQL, Drupal, Responsive design

Liftoff painting by Cory Gugler

Learn this one insane trick used by Nobel laureates to create outstanding article titles!

Okay, bear with me and hopefully you’ll understand the [ridiculous] title to this post afterwards.

First, check out this webcomic from the great xkcd.

xkcd comic

You’ve almost certainly seen similar headlines while browsing the web, and if you haven’t noticed, you’ll probably notice them everywhere now. Headlines like these are common headlines for content, sometimes referred to as Link bait.

Obviously the headlines in the comic are filled with sarcasm but they illustrate a lot of concepts used in writing interesting headlines. Headlines need to grab people’s attention and get them to choose to read one article over the millions of other similar articles out there.

So, how do you get someone to read the article you’ve spent days pounding out on your keyboard? Start with a good headline.

 Associate with someone of power

“How a shocking new theory, discovered by a Dad, proves scientists are wrong about everything” is a decent example of this, although it could be taken even further. The idea of scientists theories being uprooted by a Dad is supposed to be surprising, which is interesting enough for someone to want to know more.

Also, claiming ‘Nobel laureates’ create outstanding article titles is an example of trying to use a perceived authority figure to grab a readers attention. I did a quick search and couldn’t find any references from Nobel Prize (in Literature) winners regarding writing interesting titles. When I do find one I’ll post it here. I would recommend not using this unless you really have a reference. 🙂

Shh, it’s a secret

Simple things often aren’t revealed in the headline in order to compel people to click and read the article. It’s like you’re keeping a secret from your audience until the last possible moment. These are the ‘one weird trick’ articles.

Imagine trying to get someone to read an article about cutting their hair every other week. Yeah, right, who would read that?

“Get a hair cut from a qualified hair stylist biweekly to maintain your desired hair length.”

That sounds like the most ridiculous article and reading it would most definitely cause a mass departure of brain cells. I would not bother to click on an article like this, and I’d probably put whatever site served that article on my block list. However, how about something like this:

“This one crazy productivity hack eliminates unnecessary hair length!”

Alright, so I wouldn’t read this article either. It sounds terrible, and come on, it’s an article about hair. It sounds a little more interesting though, right?

61047 ways to write winning headlines

People love lists.

I’ve read many theories on why list posts are effective. People are busy and like to know how much they are going to have to read. List posts make an article easier to scan. People like lists in general.

If you hadn’t already noticed the massive amount of informational ‘list posts’, now you will see them everywhere.

Although list posts are pretty effective, use them sparingly. They can be effective but with so many articles based on lists these days they can also be perceived as a joke. Not everything is a list, and in general you should stick to covering one topic in an article. Don’t use the list post format for something that clearly doesn’t need to be structured as a list.

Can writing an article about writing headlines make me a better writer?

Steal some clicks by asking a question. I ask you a question, and you feel compelled to answer. I read a question, at least an interesting one, and I want to know the answer. I’m curious, everyone is curious. What’s the answer?

Asking your potential readers a question is a great technique to interest them in reading further. Make it an interesting question and make sure you have an interesting answer.

Don’t lead anyone on though. Give a terrible or generic answer and you alienate your readers.


These are just a few standard techniques to write interesting headlines. Whatever you do, make sure your content lives up to the hype of your headline. Find the right balance for the type of reader you want into what kind of direction you take your headlines.

The goal is not to ‘trick’ someone into reading your content, but to write interesting headlines so your target audience will find and appreciate it.

Icey-u Painting Cory Gugler

Images and Search Engine Optimization

While the bulk of content on the web is text, images play an important role. Images support your content and can help illustrate concepts more clearly or provide an interesting break from content. They can also encourage people to read your content, but not every visitor to your site necessarily has images enabled.

In this post we’ll be talking about the best practices when it comes to using images on the web.

To insert an image into an html document we use the <img> tag. We need at least the src and alt attributes, and preferably the width and height attributes as well.

Image tag attributes

There are four important image tag attributes. The only required attribute is the ‘src’ attribute, however the other three mentioned here are important as well.


The src attribute is pretty straightforward, it tells the browser the location of the file.


The alt attribute is used to describe the image. This description will be visible before the image loads (like on a slow connection), by screen readers (blind users or users with poor site), or if an image referred to by the src attribute cannot be found.

width & height

The width & height attributes are important to specify so the browser knows before beginning to render how much space the image will need. However, this may also depend on the layout of the site and if responsive/fluid images are being used.

Optimizing for Search

There are a couple important factors to consider when optimizing images for a website. Here we’ll talk about the alt tag and image size and compression.

Optimizing your alternate text for images

The alt attribute is very important, not just for search but to ensure your website is accessible to all users. Well written alternate text is human readable (not just a list of keywords) and concise (aim for less than 10 words). Search engines will use this text to index your images. While it’s not the only technique that may be used (surrounding context, file name, and other factors may contribute as well), it is best practice to always include alt text.

Optimizing image size

Site speed is important to both users and search engines. If your site does not load quickly enough users are more apt to click the back button and look somewhere else. If your site is really slow search engines like Google are likely to rank your site lower or even not index it at all.

Images often make up the bulk of the size of a page, so it’s important to ensure that the correct image format and compression is used.

When saving an image for the web you will want to make sure it’s saved at the size it will be shown on the web. I’ve often encountered images taken directly from a camera uploaded to a website and re-sized by the web browser. The sizes can differ wildly, but this can easily be the difference between downloading a 12 megabyte image vs a 40 kilobyte image.

It’s very simple to open your image up, re-size to a smaller size, and save as a .jpg. In software like The Gimp, when saving as a .jpg you will be given the option of choosing compression quality and be able to preview the result.

This week was just a brief overview of what to consider when using images on the web. I’ve gone through the basics, but there is plenty more to learn out there, such as responsive images, svg format images, image sprites, and more image optimization tips.

Hugs - Painting by Cory Gugler

Let’s talk about HTML basics for SEO again.

Alright, so maybe my previous post on html wasn’t the ‘least amount’ you should know. You can never know too much about anything. The more you know about the underlying structure of your website the easier it is to optimize every single detail. Let’s go further down the HTML rabbit hole and learn more about some important tags and attributes.

Write an attention grabbing title!

The <title> tag in your html document always resides within the <head> tag. If you haven’t guessed by now, the title tag determines what is displayed on your browser title bar. This will also be the text that search engines link to your site-the text people will first see when a page on your site shows up in their search results.

Website title in search results

It should be pretty obvious that you want your titles to be attention grabbing and descriptive of the content. They should be concise and to the point, and sometimes maybe a little surprising.

For SEO, titles should be less than 80 characters long. Anything longer is likely to get cut off or not used at all in a search  result. Your targeted keywords should be as close to the beginning of the title as possible. When your page comes up in a search result, users are more likely to notice and click on links with their keywords more prominently placed near the beginning of the result.

Each title should be unique. It’s alright to have a few words in the title on all your pages, like your company name, etc… You should not however have any duplicated titles across your site. Similar or duplicate titles will be confusing for your visitors, search engines, and yourself. Duplicate content is something to be avoided like the plague.

I wrote a meta tag describing my meta tags, meta!

Meta tags are used to tell browsers and search engine crawlers specific information about a page. Meta tags are placed within the <head> of your html page. There are only two meta tags you need to concern yourself with in regards to SEO.

Meta description

The meta description tag tells the search  engine what your page or site is about. It should be a well written human readable description less than 155 characters. On a Google search result page this description is the text displayed beneath the title of the result displayed.

Website meta description

It must be written for a normal human to understand and not just a list of keywords. Google’s algorithm will analyze this description and may not use it at all if it’s determined to not represent the page it’s describing.

Here’s an example of a meta tag:

<meta name="description" content="Great Choice Dog food is a well-balanced nutritional food for your favorite pet. Serve your best friend only the tastiest treats and make him or her a happy dog!">

Writing a great description will also help you get more people to click through to your site. Users usually scan through the first search result page and an enticing description will be much more effective than one generated by the search engine itself.

The robots are taking over

Robot telling a human to get to work

The robots meta tag is something you won’t likely have to concern yourself with, but it is important to know about nonetheless. If you would like a page not to show up on a search engine results page this is the tag you would use.

The robots tag can be used to give a search engine crawler some rules regarding how it can use the content on the page. Most major search engine crawlers will respect these rules but they don’t necessarily have to. What this means is that a spam crawler, or other malicious web crawlers may ignore all robot rules and do what it pleases.

By default, without a robots tag on your page, a search engine will index your page and use it in it’s search results. You can specify ‘noindex’ in a robots tag to tell the search engine you do not want the page to show up in their search results.

The robots meta tag looks like this:

<meta name="robots" content="noindex">

You can read a little more about the other available options to use in the robots meta tag over at Google developers.

Headings, sub-headings, sub-sub-headings, oh my!

We already talked a bit about headings in the article about content hierarchy but I think we should revisit them briefly.

Often your content management system will use an <h1> heading to represent the title of your blog post or page. This same content is often what is also automatically placed in your <title> tag as well.

In WordPress you can use a plugin, such as the Yoast SEO Plugin to tweak the title of your page and make it completely different than the title of your article. You will want to keep your <title> still closely related to your page or post title, but often it’s a good idea to tweak it just a bit to move keywords closer to the beginning of the line or rephrase it target more keywords.

Screenshot of Yoast SEO Plugin

Since most people scan documents before reading, you should split your content up into easily digestible parts and important points. Using layers of headings and sub-headings to split up sections and direct their attention where you want it.

As with any document, online or offline, your headings are just title’s for sections of content. You should treat them like you would the title. They should be well written, descriptive, and have keywords near the beginning. When someone is scanning through an article they will generally read the headings and the first sentence or two before deciding whether to more thoroughly read through it.

If your post or article title is and <h1>, your content will split up into various <h2> sub-headings and <h3> sub-sub-headings. Of course, you can continue to go <h4> and above this depends what you’re writing about.

The following is a heading hierarchy example (albeit not a great one).

<h1>Ways to get around town!</h1>
  <h2>Get around town in style on wheels</h2>
    <h3>Two wheeled transportation is economical</h3>
      <h4>Fast lightweight bikes for rent</h4>
    <h3>Four wheeled transportation for comfort and style</h3>
      <h4>Try a car</h4>
        <h5>Compact cars for fuel efficiency</h5>
        <h5>Mid-Size cars for extra room</h5>
  <h2>Get around town on Foot</h2>
    <h3>Wear comfortable sneakers for long walks</h3>
    <h3>Boots are best in the rain</h3>


There are many html tags, and to ensure search engine crawlers and humans alike understand your content, you must understand how to correctly use them. I can’t go over all of them in this one post, so I’ll continue to talk more about the different tags available, their semantic meaning, and how to use them correctly.

Next week: Images.

Until then, keep it semantic. 😉


Watercolor Painting - HillKing - By Cory Gugler

How to create massive amounts of quality content quickly

So you know the cornerstone of good SEO is to have an authoritative presence online and provide plenty of valuable and interesting content. Now you’re wondering, ‘How do I make all this content? How much is it going to cost me? I want it done soon and quickly because I want to triple my web traffic this week!’

I’m sorry to tell you that isn’t how it works. There are no shortcuts. Well, there are no good shortcuts. There is an entire industry of ‘black hat’ SEO experts out there that use some shady tactics that just may get you a good ranking. Lets talk about why we don’t want to do that.

Black Hat: SEO’s Dark Side

There are a few problems with ‘Black Hat’ SEO strategies. ‘Black Hat’ is loosely defined, but in general it is knowingly trying to game the search engine algorithms with garbage content and spam. The problem is that it fills the web with garbage.

Drawing of the Internet

What kind of garbage? Well, comment spamming for one. You’ll often notice completely off topic comments or poorly worded general comments that contain a link to another site. Most of the time these are spam comments trying to insert links to their site. The theory behind this is that search engines will pick up this link as an honest link from one site to another and increase the linked sites ranking (One link likely won’t matter, but imagine thousands of spam links spread across thousands of blogs).

Black Hat also provides us with the multitude of awful ‘spun’ content. What is ‘spun’ content?

Spinning Top

Spinning content involves writing an article, or better yet, copying an article from somewhere else and passing it through article spinning software. What this software does is help the user create very rough rewritten articles replacing words and phrases with synonyms and like phrases. Most of the time these new articles are near impossible to read without editing, and in general no one edits the end result. They are used to produce ton’s of unreadable content that appears to be unique.

These strategies also cost money for many companies trying to provide valuable free services to people. Just check out this post from one small startup about dealing with spam:

Employing anyone that uses these strategies is taking a gamble with your reputation and Google is constantly updating their search algorithms, so you may someday find your site has dropped off the map.

So how do I create all this awesome content?

The key is to use a slow burn tactic. Create consistency. Even if you just post something once a week you’ll begin building an archive of valuable content that will be indexed by Google. 

Master key

It will take time, but the more often your write content, the better you will get at coming up with ideas and writing great unique content. If you don’t have the time to do this, make the time. If you really, really, can’t find the time because you’re too busy running the day-to-day operations of your business then hire someone to write for you. Even if just part-time, you need to be providing content on your site regularly in order to build up a large archive.

If you do hire a content writer, make sure they understand your product or service. Even better if they are a passionate user or customer.

Focus on quality. Make sure your content is worth having archived online. The more timeless information your site contains the better it will be perceived. It’s better to write one quality article a week, or bi-weekly, than one 20 word throw-away article daily.


I hope this has given you an idea of what to avoid and how to get started. We’ll talk more about coming up with content ideas in the future. The key is to just be consistent and start writing regularly on your company blog, newsletter, or whatever method you use to reach out to your customers.

Satisfying Records screenshot

Satisfying Records

Designed and developed complete website for indie record label Satisfying Records. The site is completely responsive and adapts to both desktop and mobile browsers. It also includes compatibility with older browsers.

I developed a completely custom CMS in PHP utilizing the Laravel PHP framework, enhanced with JavaScript, to allow the critical parts of the site to be updated effortlessly. I also created a simple API to provide the most recent tour dates to other websites in JSONP format.


Technologies: HTML5, CSS, JavaScript, PHP, Laravel, jQuery, Responsive design

Gimp Script-FU Screenshot

Script-FU – My dive into Gimp scripting

Last week I took my first foray into Gimp scripting.

I use Gimp pretty much exclusively for raster image editing. It has all the functionality I need in an image editor and migrating from Photoshop (years ago) wasn’t too difficult. It has it’s quirks but it is really powerful software once you learn it.

I’ve been meaning to dive into scripting for some time now, to automate a few tedious tasks I do regularly. I often need to mirror images both horizontally and vertically to create tiles so I decided to start with a couple simple scripts to mirror images.

There are couple scripts in the Filters->Map menu already in Gimp that can accomplish what I want, but they also contain many unnecessary options and are a little too complicated for my simple needs. I like to save as much time as possible and I’d rather click one button than have to mess with a bunch of settings every time I need to mirror something in a different way.

Starting with these fairly simple scripts also provided a way for me to get my feet wet in Gimp Script-FU.

Script-Fu is the default scripting language used in Gimp and it’s based on scheme. Luckily I am already familiar with the syntax of scheme from a functional programming course I took on Coursera.

I’m not 100% satisfied with the code but the scripts work exactly how I intended. I can however forgive my code for sucking, as learning Gimp scripting while utilizing a recently learnt programming style was a bit of a challenge. I must say I didn’t use much of a functional style of programming aside from using a language designed to facilitate that style.

I wrote three scripts, one of which might not be as useful to anyone but myself, but I put it up as well.

Horizontal Mirror mirrors the current image across the x axis (doubling the width).

Horizontal Vertical mirrors across the x axis first, then the y axis, creating a tileable image.

Generate Header Images mirrors the current image across the x axis, and chops the image up into new layers of 190 pixels each. I use this for some of the watercolor headers on this site.

They all install into the Image->Translate menu.

They’re all available on github here:

Or individually:

Horizontal Mirror
Horizontal Vertical
Generate Headers