<?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></description>
	<lastBuildDate>Mon, 24 Oct 2011 18:43:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<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></p><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></p><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>
<pre class="brush: php; title: ; notranslate">define('WP_ALLOW_MULTISITE', true);</pre>
<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>
<pre class="brush: php; title: ; notranslate">define( 'SUBDOMAIN_INSTALL', true );</pre>
<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>5</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></p><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>
<pre class="brush: plain; title: ; notranslate">
&lt;FilesMatch &quot;my-file.pdf&quot;&gt;
Header set Link '&lt;http://makeitrank.com&gt;; rel=&quot;canonical&quot;'
&lt;/FilesMatch&gt;
</pre>
<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></p><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></p><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>30</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></p><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>

