<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Make it Rank</title>
	<atom:link href="http://makeitrank.com/feed" rel="self" type="application/rss+xml" />
	<link>http://makeitrank.com</link>
	<description>Kevin Spence&#039;s SEO Blog</description>
	<lastBuildDate>Thu, 17 May 2012 02:35:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Your high bounce rate is killing your analytics</title>
		<link>http://makeitrank.com/bounce-rate</link>
		<comments>http://makeitrank.com/bounce-rate#comments</comments>
		<pubDate>Wed, 16 May 2012 13:31:22 +0000</pubDate>
		<dc:creator>Kevin Spence</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://makeitrank.com/?p=1349</guid>
		<description><![CDATA[This site has a very high bounce rate (90%+). And when visits come from search, the bounce rate is even higher. For a site like mine, a high bounce rate from search isn&#8217;t necessarily a bad thing. My content is geared towards helping people solve one specific problem. They read one page to help them [...]]]></description>
			<content:encoded><![CDATA[<p>This site has a very high bounce rate (90%+). And when visits come from search, the bounce rate is even higher.</p>
<p>For a site like mine, a high bounce rate from search isn&#8217;t necessarily a bad thing. My content is geared towards helping people solve one specific problem. They read one page to help them solve it, and then they bounce. So long as they find what they&#8217;re looking for, I&#8217;m a happy camper.</p>
<p>But I&#8217;m not happy about my analytics reports. Each time I log in, I&#8217;m presented with pages that look something like this:</p>
<p><img class="alignnone size-full wp-image-1350" title="bounce-rate" src="http://makeitrank.com/wp-content/uploads/2012/05/bounce-rate.png" alt="" width="700" height="282" /></p>
<p>These numbers are so bad that it makes me want to hole myself up in my bedroom and spend entire days staring at the ceiling fan like Martin Sheen at the beginning Apocalypse Now.</p>
<p>You can see that the bounce rate is 100% for all keywords, and the average visit duration is zero seconds.</p>
<p>Zero seconds on site. So not only is my design repulsive, but my readers are equipped with cheetah-like reflexes. How can that be?!</p>
<p>Thankfully, there&#8217;s a simple explanation &#8212; and my bounce rate is to blame.</p>
<h3>How Google Analytics measures time on site</h3>
<p>When you install Google Analytics (or any other analytics software) on your site, it&#8217;s as simple as copying a neat little JavaScript function they provide you and pasting it onto the pages of your site. This script is then executed each time one of your pages loads.</p>
<p>This is how time on site measurements work:</p>
<ol>
<li>When a visitor enters your site, the time of the initial pageview is logged.</li>
<li>As a visitor navigates through your site, the time of each subsequent pageview is logged.</li>
<li>Time on site is calculated by subtracting the time of the initial pageview from the time of the last pageview.</li>
</ol>
<p>See the problem?</p>
<p>When a visitor views only one page, there&#8217;s nothing to subtract the timestamp from. Your analytics software has no way to calculate time on site, so they give you a big fat zero.</p>
<p>Your bounce rate is absolutely killing your analytics.</p>
<h3>What to do about it</h3>
<p>This is a frustrating problem. My bounce rate is making my analytics next to worthless when it comes to measuring engagement.</p>
<p>I have accepted that the high bounce rate is just a fact of life (until I do something to try and reduce it), but it sure would be nice to know how users are interacting with my pages. Are they reading the entire articles? Are they just reading a sentence and then bouncing?</p>
<p>With a little bit of creativity, you can setup Google Analytics to measure scroll depth. This allows you to see how far people scroll down on your content pages (in terms of percentages).</p>
<p>Scroll depth is not a perfect metric by any means, but it at least gives you an idea of how people are interacting with your site (some information is always better than no information).</p>
<p>With scroll depth events enabled, I can see reports that look something like this:</p>
<p><img class="alignnone size-full wp-image-1354" title="scroll-events" src="http://makeitrank.com/wp-content/uploads/2012/05/scroll-events.png" alt="" width="600" height="236" /></p>
<p>If you&#8217;d like to implement scroll depth events within Analytics, <a title="scroll depth analytics jquery" href="http://www.ravelrumba.com/blog/tracking-scroll-depth-jquery-google-analytics/">check out this jQuery plugin by Rob Flaherty</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://makeitrank.com/bounce-rate/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How soft 404s can signify a hacked website</title>
		<link>http://makeitrank.com/soft-404-errors</link>
		<comments>http://makeitrank.com/soft-404-errors#comments</comments>
		<pubDate>Wed, 02 May 2012 12:07:42 +0000</pubDate>
		<dc:creator>Kevin Spence</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://makeitrank.com/?p=1269</guid>
		<description><![CDATA[Note: This post is a case study. I haven&#8217;t posted a case study on the site before, so let me know if you feel it&#8217;s valuable. If you do, I will try to post this sort of content regularly. A few weeks ago, I was contacted by a site owner who had a very serious [...]]]></description>
			<content:encoded><![CDATA[<p><em>Note: This post is a case study. I haven&#8217;t posted a case study on the site before, so let me know if you feel it&#8217;s valuable. If you do, I will try to post this sort of content regularly.</em></p>
<p>A few weeks ago, I was contacted by a site owner who had a very serious problem: He was noticing what he believed to be a lot of false positive soft 404 errors in his Google Webmaster Tools account. Alarmed, he started checking his pages in Google, and noticed that a lot of his content had been completely de-indexed.</p>
<p>Curious, I took a look at his site, and my initial impression was positive. It was well architected, and home to a lot of original and high quality content that demonstrated a solid understanding of its audience. A quick check of his backlinks removed any suspicion that he was engaged in anything he shouldn&#8217;t have been. Everything appeared to be in top shape.</p>
<p>Stranger still, the pages that Google was reporting as soft 404s appeared to be unique and valuable. Aside from the header and footer, they had nothing at all in common with his real 404 pages (which sent the proper response code).</p>
<p>Why was Google throwing the soft 404 flag and removing his content from their index?</p>
<p>I was interested in helping him solve this problem and agreed to help.</p>
<h3>Where things got nasty</h3>
<p>With the initial research out of the way, I fired up Firefox and used <a title="user agent switcher firefox" href="https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/">this user agent switcher plugin</a> to see the site as Google sees it.</p>
<p>The news wasn&#8217;t good. I&#8217;m pretty sure I reacted the same way Samuel L Jackson reacted in Jurassic Park when the electricity in the raptor fences went down. That is, mumbling obscenities to myself and warning everyone to hold onto their butts.</p>
<p>In short, I saw that<strong> the site had been hacked</strong> to show pharmacy spam links to Google, and the regular site to everyone else. With the Googlebot user agent activated, every page on the site looked like this:</p>
<p><img class="alignnone size-full wp-image-1311" title="hacked-site" src="http://makeitrank.com/wp-content/uploads/2012/05/hacked-site.png" alt="" width="231" height="76" /></p>
<p>Suddenly, the problem made sense. In Google&#8217;s eyes, the content of every page on his site was identical to his 404 pages (which were also hacked). Hence the soft 404 errors.</p>
<p>And they were de-indexing the site because every page was a duplicate of every other page on the site (not to mention the content was nothing but spam links).</p>
<h3>Can we fix it? Yes we can!</h3>
<p>I requested the login credentials for his site and cpanel admins.</p>
<p>The site used Joomla as its CMS, which I&#8217;m not terribly familiar with, and it took some time to get acquainted. As I was starting to get a handle on how all the pieces worked together, I stumbled across a php file that was buried in a very deep folder.</p>
<p>In it, I found what must be the simplest malicious code in the history of malicious code. It was a just a couple lines of php  that looked like this:</p>
<p><img class="alignnone size-full wp-image-1307" title="hacked-code" src="http://makeitrank.com/wp-content/uploads/2012/05/hacked-code1.png" alt="" width="462" height="94" /></p>
<p><em>*note* I&#8217;ve removed the actual URLs from the screenshot because I promised anonymity &#8212; I don&#8217;t want you super sleuths digging through backlinks and identifying the hacked site. </em></p>
<p>In case you can&#8217;t read the code, basically what it&#8217;s doing is checking to see if the user agent of the visitor is Googlebot. If it is, then it shows the pharmacy spam links. If it isn&#8217;t, then it shows the site as normal.</p>
<p>Fixing the site was as simple as removing that conditional statement.</p>
<h3>The recovery</h3>
<p>Within one week, many of the de-indexed pages started making their way back into the index.</p>
<p>Within two and a half weeks, the site made a full recovery. All of its pages were back in the index, and traffic had returned to normal.</p>
<p>In this case, the site benefited greatly by having someone in charge who was monitoring Google Webmaster Tools, saw the soft 404 errors, and noticed that pages were dropping from the index. I suspect that if the site had continued to show those spam links for an extended period of time, recovery could have been much slower.</p>
<p>In the end, the relatively quick recovery was great news for them. Unfortunately, not everyone is so lucky.</p>
<p>Check your Webmaster Tools each day, ladies and gentlemen.</p>
]]></content:encoded>
			<wfw:commentRss>http://makeitrank.com/soft-404-errors/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How my music addiction led to a career in affiliate marketing</title>
		<link>http://makeitrank.com/how-i-became-an-affiliate-marketer</link>
		<comments>http://makeitrank.com/how-i-became-an-affiliate-marketer#comments</comments>
		<pubDate>Tue, 13 Mar 2012 19:50:44 +0000</pubDate>
		<dc:creator>Kevin Spence</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://makeitrank.com/?p=1072</guid>
		<description><![CDATA[The first time I heard Smells Like Teen Spirit, it was like a freight train sucker punched me in the chest.  I was a teenager at the time and I&#8217;d listened to a lot of music before, but I&#8217;d never felt *it* until I heard that song come over the radio for the first time. It [...]]]></description>
			<content:encoded><![CDATA[<p>The first time I heard Smells Like Teen Spirit, it was like a freight train sucker punched me in the chest.  I was a teenager at the time and I&#8217;d listened to a lot of music before, but I&#8217;d never felt *it* until I heard that song come over the radio for the first time. It was the beginning of something.</p>
<p>I immediately went on a record store rampage, spending all the money I could earn on CDs by bands I&#8217;d never heard of, trying to rediscover that feeling of *it* I experienced when I heard that song for the first time.</p>
<p>I remember starting with the Pixies (the guy at the record store told me they were a big influence on Kurt Cobain. He was right). Then I started moving backwards through time to Talking Heads, David Bowie, The Beatles, and on and on until I finally made it all the way back to Bo Diddley and his little square guitar.</p>
<p>I ended up falling in love with the psychedelic music of the 60s and 70s, because to me it felt less like a product and more like an adventure. And after my first viewing of The Wall, I promised myself that no matter how old I got, <strong>I would never become a cog in the machine</strong>.</p>
<p>My definition of a cog: when you sacrifice your freedom or individuality for the good of someone else.</p>
<p>Our lives take strange paths sometimes. Though I never would have guessed it (nor would it have even been possible to at the time), my love of music directly led to my career in affiliate marketing.</p>
<p>This is how.</p>
<h3>I don&#8217;t need no stinking diploma</h3>
<p>I had no interest in going to college when I graduated high school. Not because I didn&#8217;t like to learn (I loved it and still do), but because I recognized that I had no idea what I wanted to do with myself. At that point, I only knew what I <em>didn&#8217;t</em> want to be:  a <strong>cog in the machine</strong>.</p>
<p>I was certain that going to college without a clear direction would just accelerate my transition into being a <strong>cog</strong>. Within 10 years <strong>I&#8217;d wind up like Patrick Bateman</strong>, applying a wax face each morning and debating the artistic merits of business cards.</p>
<p>Meanwhile, I&#8217;d run into a musical rut. I wasn&#8217;t feeling *it* anymore. All the music I could find in the record store was feeling old and tired. It was around this point that a guy I worked with gave me an audience recording of a Phish show (<a title="phish 3/12/93" href="http://mail.etree.org/pipermail/bittorrent/2006-November/014184.html">3/12/93</a>, for those of you who you care), and turned me on to live music.</p>
<p>So while my friends were all packing up their stuff for college, I took the money I&#8217;d saved from working after school as a steakhouse cook and hit the road in search of *it*.</p>
<h3>Ladies and gentlemen, the Phish from Vermont!</h3>
<p>I spent the better part of 3 years following Phish around the country, and it was one of the defining experiences of my life.</p>
<p>I got to see the country, experienced *it* on a near nightly basis, achieved a great perspective of what&#8217;s actually important in life (hint: not business cards),  met a lot of great people (including my future wife), and I learned how to make money on the road.</p>
<p>While following Phish, I learned these key lessons about life and business:</p>
<p>1. Look like you&#8217;re supposed to be there and nobody will question you. Sometimes you might have to carry around different colored wrist bands in your backpack.</p>
<p>2. Value is relative. I used to sell bottled water in the parking lots for gas and food money. I did ok. But it was much more valuable to people when I stood right by the entry gates (I sold more and for higher prices).</p>
<p>3. Provide value and people will love you &#8212; even on your off nights. I learned this from the band.</p>
<p>4. Authority is an illusion.</p>
<p>5. If you&#8217;re good to people, you will always be welcome. I quit so many jobs to go on tour, but always tried hard to leave gracefully. I was always welcomed back when I got home.</p>
<p>6. Freedom is worth a whole lot more than money. I didn&#8217;t get any value out of money beyond what I needed for food and gas. Once those basic needs were met, money wasn&#8217;t good for much.</p>
<p>It was an adventure. But it couldn&#8217;t last forever.</p>
<h3>Get a job, hippie</h3>
<p>When my daughter was about a year old, we moved to Charlottesville, VA. I needed a job, but I wasn&#8217;t willing to sell my happiness for money. As luck would have it, I managed to get what was a dream job for me at the time: working in merchandising for Dave Matthews Band.</p>
<p>Now, when I say that I worked in merchandising, what I really mean is this: when people ordered Dave Matthews merchandise online, I would grab the order sheet off the printer, take the merch off a shelf, put it in a mailer, and drop it in a bin that the mailman would pick up at the end of the day.</p>
<p>It was a simple job, but it was my first exposure to how online business worked. It wasn&#8217;t long before my wheels started spinning. <strong>I wanted to make money online for myself.</strong> But how?</p>
<p>I didn&#8217;t have the answer to that question right away, but I knew right then that I wanted to learn how to build websites.</p>
<p>With a clear direction in mind, it was time to go to college.</p>
<h3>On second thought, I&#8217;ll take that diploma</h3>
<p>After a long educational hiatus I applied to <a title="william and mary" href="http://www.wm.edu/">The College of William and Mary</a>, got in, and enrolled in the computer science program. It was *tough* going to school full-time with a family, but the experience taught me a strong work ethic and I tip my hat to everyone who makes it through it. When I left college, I had a good foundation of the technical skills I needed to make a living online, but I didn&#8217;t have the business sense.</p>
<p>I took an entry-level job working in the online advertising department at <a title="media general" href="http://www.mediageneral.com">Media General</a> (a pretty big news corporation in the southeast). I made considerably less money in that position than I would have as a programmer, but it was a trade-off I was willing to make for more exposure to the business side of running a website.</p>
<p>I ended up learning a ton about how the advertising business works on the internet, and it wasn&#8217;t long before I started building my own affiliate sites in my spare time and applying what I learned at work (for the following five years, I would spend 2-3 hours a night working on my sites after the kids went to bed. That&#8217;s what it takes when you have a job, wife and kids. There is no golden bullet.).</p>
<p>I learned SEO as I went along, and with a lot of practice I started getting pretty good at it. I eventually took over SEO for Media General, and it wasn&#8217;t too long before I quit for an in-house SEO position at Snagajob. And again, I applied everything I learned to my own sites.</p>
<p>I enjoyed my job, and I worked with great people. But I&#8217;d started noticing something about myself. I was taking things too seriously. I was losing my perspective on what&#8217;s really important (not business cards). And I&#8217;d started to hit that point on the professional development scale where I was sacrificing freedom for money.</p>
<p>When I looked into my future, I could see only one path remaining: <strong>a cog</strong>.</p>
<p>It was nobody&#8217;s fault but own. And I didn&#8217;t like it.</p>
<h3>I quit</h3>
<p>On February 3rd, 2012 I quit my job. I&#8217;m hopeful that it&#8217;s the last job I&#8217;ll ever have to quit.</p>
<p>After five years of steady work, my affiliate sites were successful enough that I believed I could match my salary in six months with full-time dedication.</p>
<p>I hope I&#8217;m right, but only time will tell. Either way, I&#8217;m happier now than I&#8217;ve been in years. I have the freedom that I&#8217;ve always needed to be happy. And I owe it all to rock and roll.</p>
]]></content:encoded>
			<wfw:commentRss>http://makeitrank.com/how-i-became-an-affiliate-marketer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Real Reason Google Turned off Keyword Referrals for Logged in Users?</title>
		<link>http://makeitrank.com/its-google-stupid</link>
		<comments>http://makeitrank.com/its-google-stupid#comments</comments>
		<pubDate>Sat, 22 Oct 2011 21:16:41 +0000</pubDate>
		<dc:creator>Kevin Spence</dc:creator>
				<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://makeitrank.com/?p=991</guid>
		<description><![CDATA[If you work in the search marketing world, you know the story by now &#8212; Google has decided not to pass in keyword data when users are logged into their Google accounts. The last part of that sentence (in bold) is incredibly important, and we&#8217;ll get to that in a minute. Google claims that they&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>If you work in the search marketing world, you know the story by now &#8212; <a href="http://analytics.blogspot.com/2011/10/making-search-more-secure-accessing.html">Google has decided not to pass in keyword data</a> when users are <strong>logged into their Google accounts</strong>. The last part of that sentence (in bold) is incredibly important, and we&#8217;ll get to that in a minute.</p>
<p>Google claims that they&#8217;re making this change for privacy reasons &#8212; and <span style="text-decoration: line-through;">strangely</span> predictably, nobody believes Google. <strong>But I do</strong>. And I will tell you why.</p>
<p>But before we go down that path, let&#8217;s get a couple things straight: This isn&#8217;t about premium analytics packages. This isn&#8217;t about other advertising networks using Google&#8217;s keyword data for retargeting. This is about how Google grossly compromised user privacy for more than one month for the sake of getting a product to market as quickly as possible.</p>
<p>And now they&#8217;re trying to clean it up before anyone notices.</p>
<p><strong>The REAL Privacy Problem</strong></p>
<p>From September 15, 2011 &#8211; October 18, 2011, it was possible for any webmaster with a hacker-leaning mindset to do something we never could have imagined before: to tie an individual Google search back to the actual human being who typed it into their search box &#8212; <strong>if that user was logged into their Google account</strong>.</p>
<p>Take a second to think about the impact there. We use Google to find help for private and sensitive things that we don&#8217;t want others to know. We put a great deal of trust in Google to keep our searches private. The thought of our privacy being compromised is scary enough on its own &#8212; but it&#8217;s even scarier when you realize that this wasn&#8217;t even a hack.</p>
<p>Google provided all of the tools anyone would need to do this.</p>
<p>They made it possible by launching the Google+ API before it was safe.</p>
<p><strong>How it Worked</strong></p>
<p>As with all social APIs, developers using the Google+ API can access public parts of any user&#8217;s profile data.</p>
<p>So for one month, each time your keyword data was passed through in the referrer to a given website and you were signed into your Google account, anyone could write a simple program with the API to tie YOU back to the search that brought you to the site.</p>
<p>By closing keyword referrals for logged in users, <strong>Google is cleaning up the gaping privacy hole that left our searches exposed for over a month.</strong></p>
<p>How do you think the FTC would feel about this? What about privacy advocacy groups? The United States Congress?</p>
<p>It&#8217;s no wonder that Google has remained uncharacteristically silent on their motivations for making the switch.</p>
<p><strong>Google Hasn&#8217;t Gone Far Enough</strong></p>
<p>By blocking keyword referrals for logged in users, Google is taking good steps towards cleaning up this privacy mess &#8212; but they need to go all the way.</p>
<p>First, I know my PPC friends won&#8217;t like to hear this, but if Google wants to make things right, they need to close off the referring keywords for Adwords customers as well. Sorry, it sucks, but you&#8217;ll learn to deal with it.</p>
<p>Second, Google needs to come clean. All of their users have a right to know.  A vague post on their Analytics blog just isn&#8217;t going to cut it.</p>
]]></content:encoded>
			<wfw:commentRss>http://makeitrank.com/its-google-stupid/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Run Multiple Domains from a Single WordPress Install</title>
		<link>http://makeitrank.com/multiple-domains-on-wordpress</link>
		<comments>http://makeitrank.com/multiple-domains-on-wordpress#comments</comments>
		<pubDate>Wed, 20 Jul 2011 14:02:23 +0000</pubDate>
		<dc:creator>Kevin Spence</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[MultiSite]]></category>

		<guid isPermaLink="false">http://makeitrank.com/?p=893</guid>
		<description><![CDATA[In this tutorial, I will walk you through the installation of WordPress Multisite and explain how to configure it so that you can run multiple domains from the same WordPress installation. Why Use WordPress MultiSite? Managing multiple sites from the same WordPress installation has a lot of nice advantages. One of the basic advantages is [...]]]></description>
			<content:encoded><![CDATA[<p>In this tutorial, I will walk you through the installation of WordPress Multisite and explain how to configure it so that you can run multiple domains from the same WordPress installation.</p>
<h3>Why Use WordPress MultiSite?</h3>
<p>Managing multiple sites from the same WordPress installation has a lot of nice advantages.</p>
<p>One of the basic advantages is that you won&#8217;t have to install the same plugins over and over again as you start new sites (this is especially helpful if you&#8217;re using plugins like Akismet or <a href="http://makeitrank.com/product/gravity-forms" rel="nofollow">Gravity Forms</a> where you always have to hunt for your license/API keys). Now, you can just network enable your plugins and use them on any site you want to. You also won&#8217;t have to upgrade multiple WordPress installations whenever a new version is released &#8212; a single click of the button will get all your sites completely up to date. And adding a new domain takes only a minute.</p>
<p>There are many advanced possibilities as well. If you&#8217;re a developer, you&#8217;re probably familiar with the pains of maintaining multiple code bases, or upgrading multiple instances of the same theme thanks to the hell that is cross-site PHP scripting. Well, you can kiss those pains goodbye now. We&#8217;ll be setting up virtual sites here, so you&#8217;ll be able to access the same files/themes/plugins/whatever you want from any site on your WordPress installation &#8212; this is powerful stuff.</p>
<h3>Please Note</h3>
<p>This is a relatively advanced tutorial as far as most WordPress tutorials go. You don&#8217;t have to do any programming, but you will have to make some edits to files that will completely crash your site if you make a mistake. A basic understanding of htaccess and php is recommended.</p>
<h3>Requirements</h3>
<ul>
<li>Your existing WordPress installation *must* be in the root of your site (not a subdirectory like /blog ).</li>
<li>You must have access to a control panel like cPanel or Plesk.</li>
<li>Your host must allow the creation of subdomains.</li>
</ul>
<h3>Before You Begin</h3>
<p>At this point, it&#8217;s a good idea to go ahead and set your DNS settings on the sub-sites that you want to work with (ie: you want to add mysite2.com to the mysite1.com installation). This should ensure that the DNS propagation will be complete by the time you complete this tutorial.</p>
<p><strong>The nameservers on your &#8216;secondary&#8217; sites should match those of the root domain (mysite1.com) that we&#8217;ll be working with here.</strong></p>
<h3>Installing WordPress Multisite</h3>
<p>One of the nice things about post 3.0 WordPress is that MultiSite is prepackaged, just waiting for you to enable it &#8212; much like a War of the Worlds invasion.</p>
<p>To enable WordPress Multisite, open your wp-config.php file and add the following line directly above where it says /*That’s all, stop editing! Happy blogging */</p>
<p>[php]define(&#8216;WP_ALLOW_MULTISITE&#8217;, true);[/php]</p>
<p>There are two primary options that you need to be aware of when configuring MultiSite:</p>
<ol>
<li>Your sites can be in subfolders ( /blog/) or</li>
<li>Subdomains ( blog.yoursite.com )</li>
</ol>
<p><strong>If you want to run multiple domains on the same installation, you&#8217;ll need to use subdomains.</strong> To ensure that all new sites you create are setup as subdomains, add this line to wp-config.php as well, directly below the command above.</p>
<p>[php]define( &#8216;SUBDOMAIN_INSTALL&#8217;, true );[/php]</p>
<h3>Create a New Directory</h3>
<p>Before you can enable your network of sites, you will need to create a directory named blogs.dir inside your /wp-content/ directory. This is the directory that will be home to all of your uploaded media files (images, etc). Make sure that the blogs.dir directory has the same permissions as your /wp-content/ directory (most likely 755).</p>
<p><img class="alignnone size-full wp-image-896" title="blogs dir" src="http://makeitrank.com/wp-content/uploads/2011/07/blogs-dir.png" alt="blogs dir" width="331" height="396" /></p>
<h3>Enable Your Network</h3>
<p>Now that you&#8217;ve created the blogs.dir directory, you need to enable your network of sites in WordPress. To do so, login to WordPress and click the Network Setup link on the left hand nav:</p>
<p><img class="alignnone size-full wp-image-913" title="wordpress network setup" src="http://makeitrank.com/wp-content/uploads/2011/07/network-setup.png" alt="wordpress network setup" width="144" height="122" /></p>
<p><em>Note: You will have to temporarily deactivate your plugins to successfully enable the network. Don&#8217;t worry, it will only take a minute.</em></p>
<p>Once you&#8217;ve deactivated your plugins, enter your Network Title and email address into the form and click the Install button.</p>
<p><img class="alignnone size-full wp-image-894" title="wordpress network" src="http://makeitrank.com/wp-content/uploads/2011/07/wordpress-nework.png" alt="wordpress network" width="703" height="412" /></p>
<p>You will now be presented with either two or three text boxes filled with code (depending on your original wp-config setup). These are simple copy+paste jobs.</p>
<p>Follow the instructions preceding each text box &#8212; you will be editing your wp-config.php and .htaccess files. Be very careful, and make a backup of each file before editing: making a mistake in either of these files will completely crash your site.</p>
<p>When you finish making the changes and verify that your site is still running, you will need to logout and back into WordPress.</p>
<p>When you log back in, you&#8217;ll need to make sure that you&#8217;re in the Network Admin and not Site Admin. To switch to Network Admin, mouse over your username at the top right of your WordPress admin UI, and you&#8217;ll see something like this:</p>
<p><img class="alignnone size-full wp-image-915" title="network admin" src="http://makeitrank.com/wp-content/uploads/2011/07/network-admin.png" alt="network admin" width="123" height="115" /></p>
<p>Select Network Admin from the list, and then go ahead and reactivate your plugins (Network Enable any plugins that you want to use on multiple sites).</p>
<h3>Enable Wildcard Subdomains</h3>
<p>Before you can create new subdomain sites that actually work, you&#8217;ll need to enable wildcard subdomains. If you&#8217;re using cPanel, you can enable your subdomains by navigating to your site&#8217;s control panel (click List Accounts on the left nav, and then the cPanel icon next to the site you want to add the subdomain to) and adding a new subdomain. To add a wildcard subdomain, put a * in the subdomain field as pictured below.</p>
<p>Also, make sure that you set the value of the Document Root field to the root level of your WordPress install (which should be the root of your site).</p>
<p><img class="alignnone size-full wp-image-917" title="wildcard subdomain" src="http://makeitrank.com/wp-content/uploads/2011/07/wildcard-subdomain.png" alt="wildcard subdomain" width="504" height="180" /></p>
<p>If you&#8217;re using Plesk, <a href="http://codex.wordpress.org/Configuring_Wildcard_Subdomains_for_multi_site_under_Plesk_Control_Panel">follow these instructions</a>.</p>
<h3>Install WordPress MU Domain Mapping Plugin</h3>
<p>The WordPress <a href="http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/">MU Domain Mapping</a> plugin will handle all of the redirects needed to turn your subdomains into real domains of their own. Either download it <a href="http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/">here</a> or install through your WordPress UI.</p>
<p>Once it’s installed, you will need to make some manual adjustments.</p>
<p>1. In your FTP client, navigate to the WordPress MU Domain Mapping directory. Download sunrise.php to your desktop, and re-upload into /wp-content/. If you already have a sunrise.php file (you probably won’t), you will need to merge the two.</p>
<p>2. Edit wp-config.php and add this line above the last “require_once” command:</p>
<p>define( &#8216;SUNRISE&#8217;, &#8216;on&#8217; );</p>
<h3>Set WordPress MU Domain Mapping Options</h3>
<p>In WordPress (still in Network Admin), go to Settings-&gt;Domain Mapping.</p>
<p><img class="alignnone size-full wp-image-980" title="domain mapping" src="http://makeitrank.com/wp-content/uploads/2011/07/domain-mapping1.png" alt="" width="147" height="121" /></p>
<p>On the following screen, you will presented with the options below. I have found that the following settings work well for my needs:</p>
<p><img class="alignnone size-full wp-image-900" title="domain mapping options" src="http://makeitrank.com/wp-content/uploads/2011/07/domain-options.png" alt="domain mapping options" width="690" height="219" /></p>
<h3>Adding a New Domain To Your Network</h3>
<p>In WordPress, go to Sites-&gt;Add New</p>
<p>Enter the subdomain for this site, your site’s title, and your email address.  Here&#8217;s how I set mine up:</p>
<p><img class="alignnone size-full wp-image-906" title="add site" src="http://makeitrank.com/wp-content/uploads/2011/07/add-site.png" alt="add site" width="678" height="339" /></p>
<p>When finished, click the Add Site button.</p>
<p>Now go to Sites-&gt;All Sites. Mouse over the new subdomain you just created, and watch the tooltip at the bottom of your browser to see the destination URL. You’ll see a URL parameter called ‘id.’ This parameter stores that site’s unique numerical ID. Write it down &#8212; you’ll need it in a second.</p>
<p>Now we’re ready to configure the domain mapping in the WordPress MU Domain Mapping Plugin.</p>
<h3>Configure Domain Mapping</h3>
<p>In WordPress, click ‘Domains’ from the Settings section of the left nav. When the page loads, focus your attention on the &#8216;New Domain&#8217; section of the page. Here, there are two fields. One is the site’s ID (the unique number you wrote down a second ago) and the domain. Basically, you are telling the plugin that the subdomain behind Site ID x should resolve to the domain you’re putting in the Domain box.</p>
<p>Here are my settings:</p>
<p><img class="alignnone size-full wp-image-908" title="domain mapping" src="http://makeitrank.com/wp-content/uploads/2011/07/domain-mapping.png" alt="domain mapping" width="414" height="222" /></p>
<p>Once you have things the way you want them, click the Save button.</p>
<h3>Park Your Domain</h3>
<p>This is the last step (woot). Here, we&#8217;re going to park your secondary domain (mynewsite.com) on top of your primary domain (in my case, makeitrank.com).</p>
<p>If you&#8217;re using cPanel, navigate to DNS Functions -&gt; Park a Domain.</p>
<p><img class="alignnone size-full wp-image-981" title="dns functions" src="http://makeitrank.com/wp-content/uploads/2011/07/dns-functions.png" alt="dns functions" width="200" height="211" /></p>
<p>Here, we&#8217;re parking the new domain on top of the &#8216;root&#8217; domain we&#8217;re already running WordPress on.</p>
<p><img class="alignnone size-full wp-image-920" title="park domain" src="http://makeitrank.com/wp-content/uploads/2011/07/park-domain.png" alt="park domain" width="888" height="201" /></p>
<p><em>(I scratched out my username in the screenshot above because&#8230;well&#8230;it wouldn&#8217;t be secure to show you that, would it?)</em></p>
<p>Click the &#8216;Submit&#8217; button, and check on your site. Your new domain should be running perfectly.</p>
<h3>In Closing</h3>
<p>From here on out, when you want to create a new site all you have to do is:</p>
<ol>
<li>Add a new site within WordPress</li>
<li>Set the DNS on your new site to match the settings on the &#8216;root&#8217; site</li>
<li>Configure the site in the Domain Mapping plugin</li>
<li>Park the new domain on top of the &#8216;root&#8217; domain</li>
</ol>
<p>I hope you found this useful. If you have any questions/comments, leave them in the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://makeitrank.com/multiple-domains-on-wordpress/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>How to set Canonical HTTP Headers</title>
		<link>http://makeitrank.com/how-to-set-http-header-canonical-links</link>
		<comments>http://makeitrank.com/how-to-set-http-header-canonical-links#comments</comments>
		<pubDate>Wed, 13 Jul 2011 02:48:16 +0000</pubDate>
		<dc:creator>Kevin Spence</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[canonical]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[http headers]]></category>

		<guid isPermaLink="false">http://makeitrank.com/?p=851</guid>
		<description><![CDATA[It&#8217;s been a few weeks since Google announced support for canonical links using HTTP headers. Aside from the obligatory articles announcing the news, the SEO community has been pretty quiet about this new development &#8212; and I&#8217;m a little surprised. This is a really big deal that could positively impact thousands of sites, yet I [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a few weeks since <a href="http://googlewebmastercentral.blogspot.com/2011/06/supporting-relcanonical-http-headers.html" title="google announces support for canonical http header">Google announced support</a> for canonical links using HTTP headers. Aside from the <a href="http://www.seroundtable.com/google-canonical-http-headers-13584.html">obligatory</a> <a href="http://searchengineland.com/google-relcanonical-now-supported-in-http-headers-82266">articles</a> announcing the news, the SEO community has been pretty quiet about this new development &#8212; and I&#8217;m a little surprised. </p>
<p>This is a <i>really</i> big deal that could positively impact thousands of sites, yet I haven&#8217;t seen any tutorials cropping up on *how* to set the header.</p>
<p>I suspect the silence is largely due to people&#8217;s uncertainty about when or how to use canonical HTTP headers, so I&#8217;ll take some time to explain both when to use them and how to use them (scroll to the bottom of the post for a code sample if that&#8217;s what you&#8217;re after).</p>
<h3>When to use Canonical HTTP Headers</h3>
<p>In a nutshell, you should use canonical HTTP headers whenever you need to set a canonical tag on a non-HTML document. </p>
<p>If you&#8217;re still not sure when to use them, consider this example:</p>
<p>A lot of businesses like to publish case studies on their sites, and they often publish two versions: an HTML version and a PDF version. This is fine &#8212; it&#8217;s nice to offer your users multiple formats so they can choose the one that&#8217;s best for them. </p>
<p>The only problem is that PDF versions often outrank the HTML versions, which is ok &#8212; but it&#8217;s less than ideal for many sites. PDF downloads won&#8217;t show up in your analytics (unless you&#8217;re looking at weblogs, which few site owners do), and they don&#8217;t contain lead forms/other nice things that our websites use to generate income. In short, you&#8217;re potentially missing out on a lot of things if your HTML content is getting outranked by a PDF. Canonical HTTP headers will help with that.</p>
<h3>Tutorial: How to Use HTTP Header Canonicals with htaccess</h3>
<p>For a lot of people, HTTP headers are something of a mystery &#8212; they just sort of magically happen. The good news is that they&#8217;re really easy to understand and even easier to control. When it comes to setting the canonical on non-HTML documents, the easiest way for most people to control the headers is through your htaccess file. </p>
<p>For the sake of this example, let&#8217;s say that I have a PDF named my-file.pdf in the root of my site &#8212; and for some reason, I want to set the canonical to my homepage (not a good idea, but it makes the example simpler).</p>
<p>All I would need to do to make this happen is add the following code to my htaccess file:</p>
<p>[plain]<br />
&lt;FilesMatch &quot;my-file.pdf&quot;&gt;<br />
Header set Link &#8216;&lt;http://makeitrank.com&gt;; rel=&quot;canonical&quot;&#8217;<br />
&lt;/FilesMatch&gt;<br />
[/plain]</p>
<p>Once you&#8217;ve added that to your htaccess file, you&#8217;ll want to test your header to make sure that it&#8217;s correctly. </p>
<p>To test it, pop open the Net tab in <a href="http://getfirebug.com/" title="firebug firefox plugin">Firebug</a> or a use a specialized plugin like <a href="https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/" title="live http headers plugin">Live HTTP Headers</a> and then open your PDF (or other document) if your web browser.</p>
<p>This is what the canonical header looks like for my example &#8212; yours should follow the same format:</p>
<p><img src="http://makeitrank.com/wp-content/uploads/2011/07/canonical-header.png" alt="canonical http header" title="canonical-header" width="332" height="58" class="alignnone size-full wp-image-871" /></p>
<p>That&#8217;s it! I hope that you see the power in controlling canonicals this way &#8212; it&#8217;s a fantastic way for us SEOs to control the weight of all documents in a way that was never before possible. </p>
<p><i>Note: This method is fine if you want to set only a few headers (if you have a lot, your htaccess file can get very big very quickly). I have not included an example of handling many canonicals with a single command, because it will need to be algorithmic in nature and the code will be largely dependent on the file structure of your individual site.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://makeitrank.com/how-to-set-http-header-canonical-links/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to mask affiliate links from a datafeed</title>
		<link>http://makeitrank.com/how-to-mask-affiliate-links-from-a-datafeed</link>
		<comments>http://makeitrank.com/how-to-mask-affiliate-links-from-a-datafeed#comments</comments>
		<pubDate>Thu, 10 Feb 2011 18:05:40 +0000</pubDate>
		<dc:creator>Kevin Spence</dc:creator>
				<category><![CDATA[Affiliate Marketing]]></category>

		<guid isPermaLink="false">http://makeitrank.com/?p=797</guid>
		<description><![CDATA[One of the more common affiliate marketing tips is that you should mask your outbound affiliate links by pointing them at an internal URL, and then redirecting to the affiliate link. This should be done for a variety of reasons, and it&#8217;s an easy thing to do when you&#8217;re working with just a handful of [...]]]></description>
			<content:encoded><![CDATA[<p>One of the more common affiliate marketing tips is that you should mask your outbound affiliate links by pointing them at an internal URL, and then redirecting to the affiliate link. This should be done for a variety of reasons, and it&#8217;s an easy thing to do when you&#8217;re working with just a handful of links &#8212; but how do you make it work with a product feed where you don&#8217;t know what the link will be before you grab it?</p>
<p>Fortunately, masking affiliate links from a feed is easier than you think, and I&#8217;ll show you how to do it.</p>
<p>I only make two assumptions in this article:</p>
<ol>
<li>You already know how to parse a product feed (I can write a separate tutorial on this if there&#8217;s enough interest).</li>
<li>Your server is running Apache and PHP is installed. Affiliate URL masking can certainly be done in other platforms/languages, but here we&#8217;ll be working with PHP and htaccess because a) it&#8217;s what I know best and b) affiliates love them some WordPress.</li>
</ol>
<p><strong>Getting Started</strong></p>
<p>The first thing you&#8217;ll need to do is think of a dummy directory off the root of your site &#8212; this is going to be where we point our affiliate links. You can name it anything you want to, but it&#8217;s important to make sure that this directory is not actually used anywhere on your site &#8212; else you&#8217;re going to break a lot of stuff. For the sake of this example, I&#8217;m going to name my directory &#8216;product.&#8217;</p>
<p><strong>htaccess Rules</strong></p>
<p>Open up your htaccess file and add the following two lines of code (just be sure to replace &#8216;product&#8217; with the name of your dummy directory, and amazon.com with the domain you will be redirecting to):</p>
<p><code>RewriteEngine on</code></p>
<p><code> </code></p>
<p><code>RewriteRule ^product/(.*)$ http://www.amazon.com/$1 [L]</code></p>
<p>Save your htaccess file and close it &#8212; we&#8217;re finished here.</p>
<p><strong>Manipulate the link from the feed</strong></p>
<p>Now we just have to use PHP to take the product URL given in the feed and make it look like an internal link.</p>
<p>At this point, I&#8217;m going to assume that you&#8217;ve already parsed the feed and have stored an affiliate product URL in a variable called $url. The following line basically does a find and replace in the URL, swapping out the destination domain with your own, and adding your dummy redirect directory:</p>
<p><code>$myurl = str_replace("www.amazon.com/", "mysite.com/product/", $url);</code></p>
<p>Now when you create a link with your $myurl variable, it will automatically redirect to the product page given in your feed.</p>
<p>As a note, I would strongly suggest slapping a nofollow on these links, and also blocking the product directory via robots.txt.</p>
]]></content:encoded>
			<wfw:commentRss>http://makeitrank.com/how-to-mask-affiliate-links-from-a-datafeed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 htaccess Hacks Every SEO Should Know</title>
		<link>http://makeitrank.com/10-htaccess-hacks-every-seo-should-know</link>
		<comments>http://makeitrank.com/10-htaccess-hacks-every-seo-should-know#comments</comments>
		<pubDate>Wed, 07 Oct 2009 03:17:30 +0000</pubDate>
		<dc:creator>Kevin Spence</dc:creator>
				<category><![CDATA[htaccess]]></category>

		<guid isPermaLink="false">http://makeitrank.com/?p=663</guid>
		<description><![CDATA[There’s a lot that you can do with an htaccess file, and of course, things can get pretty advanced in a hurry. Here, we’re going to keep things pretty simple. These are the 10 basic htaccess hacks that every webmaster should know. 1. Force Caching with htaccess Use: The following htaccess code won’t help the [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">There’s a lot that you can do with an htaccess file, and of course, things can get pretty advanced in a hurry. Here, we’re going to keep things pretty simple. These are the 10 basic htaccess hacks that every webmaster should know.</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">1. Force Caching with htaccess</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Use: The following htaccess code won’t help the initial pageload, but it will significantly help subsequent pageloads by sending 304 status when requested elements haven’t been modified.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">FileETag MTime Size<br style="padding: 0px; margin: 0px;" />ExpiresActive on<br style="padding: 0px; margin: 0px;" />ExpiresDefault “access plus x seconds”</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">I generally set the cache for one day (86400 seconds). You can also set different expirations for each file type by breaking each file type up into separate ExpiresByType lines such as:</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">ExpiresByType image/gif “access plus x seconds”<br style="padding: 0px; margin: 0px;" />ExpiresByType text/css “access plus x seconds”</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Simple!</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">2. Set a Custom 404 Page with htaccess</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Use: I think this one is self explantatory. Just change ‘/notfound.html’ to match the path to your custom 404 page.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">ErrorDocument 404 /notfound.html</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">3. Implement a 301 Redirect with htaccess</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Use: If you have permanently changed the URL structure on your site (via either optimization change or CMS migration), you will want to implement 301 redirects from the old URL to the new URL.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">The syntax for a basic 301 redirect is:</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">Redirect 301 relative/path/to/oldurl/ http://www.domain.com/newurl/</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Explanation:<br style="padding: 0px; margin: 0px;" />The first URL should be a relative path to the old URL and the second one should be an absolute path to the new URL.</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">4. Only allow specific IP addresses in certain directories</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">This is especially useful for admin directories. I generally set my home IP and work IP as the only allowable IPs who can even attempt a login. Unlike other .htaccess hacks, this one doesn’t work from the root folder. You will need to create a new .htaccess file, put the following code in it, and upload it to your admin directory.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">AuthUserFile /dev/null<br style="padding: 0px; margin: 0px;" />AuthGroupFile /dev/null<br style="padding: 0px; margin: 0px;" />AuthName “Example Access Control”<br style="padding: 0px; margin: 0px;" />AuthType Basic</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">order deny,allow<br style="padding: 0px; margin: 0px;" />deny from all<br style="padding: 0px; margin: 0px;" />allow from xx.xx.xx.xx</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">To allow a second IP, just add another ‘allow from’ line.</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">5. Prevent Image Hot Linking with htaccess</h3>
<p>Removed. Here is a MUCH better way to go about this thanks to <a href="http://www.polepositionmarketing.com/seo-sem/link-building-secrets/maurizio-petrone.php"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: 14px; font-weight: bold; line-height: 20px; text-align: left;">Maurizio Petrone</span></a></p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">6. Enable gzip with htaccess</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Gzip is a means of compressing the files on your server so they will load faster. To enable gzip, just</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript<br style="padding: 0px; margin: 0px;" />BrowserMatch ^Mozilla/4 gzip-only-text/html<br style="padding: 0px; margin: 0px;" />BrowserMatch ^Mozilla/4.0[678] no-gzip</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">BrowserMatch bMSIE !no-gzip !gzip-only-text/html</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">7. Remove ‘category’ from a URL with htaccess</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Many content management sytems use the ‘category’ URL segment. For instance:</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">http://makeitrank.com/category/category-name</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Well, that’s fine, and it’s necessary to make the CMS work the way it’s supposed to, but it doesn’t need to be visible to do its job. Just drop the following code into your htaccess file to get rid of it.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">RewriteRule ^category/(.+)$ http://www.yourdomain.com/$1 [R=301,L]</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">8. Define any page as the home page with htaccess</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">You can set any page as the homepage by adding the following to the htaccess file in your root directory.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">DirectoryIndex myfile</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">9. Disable Directory Browsing</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">You want to keep people out of any directories that might reveal security weaknesses — for instance, plugin directories.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">You can block vistors from browsing the directories by adding the following line to the htaccess file in the directory you’d like to block:</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">Options All -Indexes</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">10. Protect your htaccess file</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Lastly, you want to protect your htaccess file. Hopefully your host has protected it for you, but you can’t be too safe with these things. The following hack will prevent anybody from accessing your htaccess:</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">&lt;Files .htaccess&gt;</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">order allow,deny<br style="padding: 0px; margin: 0px;" />deny from all</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;">&lt;/Files&gt;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Are there any useful htaccess hacks I’ve left out? Let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://makeitrank.com/10-htaccess-hacks-every-seo-should-know/feed</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Checking Backlinks with Yahoo Site Explorer</title>
		<link>http://makeitrank.com/checking-backlinks-with-yahoo-site-explorer</link>
		<comments>http://makeitrank.com/checking-backlinks-with-yahoo-site-explorer#comments</comments>
		<pubDate>Fri, 04 Sep 2009 03:14:50 +0000</pubDate>
		<dc:creator>Kevin Spence</dc:creator>
				<category><![CDATA[General SEO]]></category>

		<guid isPermaLink="false">http://makeitrank.com/?p=661</guid>
		<description><![CDATA[Google is less than forthcoming when it comes to checking backlinks with the link: command. Their data is generally incredibly outdated and incomplete, and probably with good reason (I assume they want you to use webmaster tools to check your own backlinks, and their web spam team probably doesn’t really want you to build links [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Google is less than forthcoming when it comes to checking backlinks with the link: command. Their data is generally incredibly outdated and incomplete, and probably with good reason (I assume they want you to use webmaster tools to check your own backlinks, and their web spam team probably doesn’t really want you to build links by checking the backlinks of your competitors). Thankfully, Yahoo gives us a great way to check backlinks for any site on the internet.</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">Basic Yahoo Backlink Checking Syntax</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">The best way to check backlinks in Yahoo is with the linkdomain: command, which will show backlinks for your entire domain.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">You use the linkdomain command like this:</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">linkdomain:mysite.com</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">While that is pretty good on its own, if you spend much time looking through the results, you’ll notice that internal links are also listed, and that isn’t really helpful.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">To remove internal links from the results, you just have to tell Yahoo to ignore them. You can do that with the -site:mysite.com command. So if you wanted to see all backlinks for a site without the internal links listed, the entire command would be:</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">linkdomain:mysite.com -site:mysite.com</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">Removing Specific Domains from Backlink Search</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">Just as you can remove your own site from the backlink search by using the -site: command, you can also remove any site of your choosing from the results. This is especially helpful if you have some sitewide links from certain sites that are clogging up your results and making them difficult to weed through.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">The syntax here is exactly the same as above, but note that you can remove inbound links from more than one site at a time:</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">linkdomain:mysite.com -site:mysite.com -site:linkingdomain1.com -site:linkingdomain2.com</p>
<h3 style="margin-top: 1.8em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; font-weight: normal; font-size: 1.25em; line-height: 1.2em; color: #111111; padding: 0px;">Removing Backlinks from Pages with a Particular Keyword Phrase</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">While it may not sound particularly useful to remove results based on keyword phrase, I have found many good uses for it. For instance, I have had some entries scraped, or syndicated around the internet that resulted in hundreds of backlinks, all with the same title. So if I wanted to see the backlinks without that title in the results, I would use:</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">linkdomain:mysite.com -intitle:the syndicated title</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">You can also choose to remove backlinks that have certain words in the URL with:</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding: 0px;">linkdomain:mysite.com -inurl:keyword</p>
]]></content:encoded>
			<wfw:commentRss>http://makeitrank.com/checking-backlinks-with-yahoo-site-explorer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

