<?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>AskApache &#187; Search Results  &#187;  Google+Analytics</title>
	<atom:link href="http://www.askapache.com/search/Google+Analytics/feed/rss2/" rel="self" type="application/rss+xml" />
	<link>http://www.askapache.com</link>
	<description>Advanced Web Development</description>
	<lastBuildDate>Sun, 29 Jan 2012 12:04:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Htaccess Rewrites for Moving Urls</title>
		<link>http://www.askapache.com/htaccess/htaccess-rewrites.html</link>
		<comments>http://www.askapache.com/htaccess/htaccess-rewrites.html#comments</comments>
		<pubDate>Sat, 29 Oct 2011 14:41:55 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Htaccess]]></category>
		<category><![CDATA[301 Redirects]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=5231</guid>
		<description><![CDATA[<p><a href="http://www.askapache.com/htaccess/htaccess-rewrites.html"></a><a href="http://www.askapache.com/htaccess/htaccess-rewrites.html"><cite>AskApache.com</cite></a></p><p>This is part 2 of the <a href="http://www.askapache.com/htaccess/htaccess.html" title="Htaccess Tutorial like no other">exhaustive Htaccess Tutorial</a>.  I realized it was so lengthy that search engines and visitors were having real problems with it, so I moved half of it here.  But this gave me the opportunity to add a ton of new stuff that I hadn't been able to add to the main htaccess tutorial.  &#8230; <a href="http://www.askapache.com/htaccess/htaccess-rewrites.html" class="read_more">Read the rest</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/htaccess/htaccess-rewrites.html"></a><a href="http://www.askapache.com/htaccess/htaccess-rewrites.html"><cite>AskApache.com</cite></a></p><p>This is part 2 of the <a href="http://www.askapache.com/htaccess/htaccess.html" title="Htaccess Tutorial like no other">exhaustive Htaccess Tutorial</a>.  I realized it was so lengthy that search engines and visitors were having real problems with it, so I moved half of it here.  But this gave me the opportunity to add a ton of new stuff that I hadn't been able to add to the main htaccess tutorial.  And now this new part 2 is already twice as big as the original!  To sum up, this is a work in progress.</p>


<h2>Moving Half of Original Tutorial to a new URL - SEO Rewriting</h2>
<p>Well, the original tutorial was at /htaccess/apache-htaccess.html, but it was such a huge article that search engines were dropping it!  So I split it into 3 new urls.</p>
<ol>
<li>/htaccess/htaccess.html - 1</li>
<li>/htaccess/htaccess-rewrites.html - Rewrites</li>
<li>/htaccess/apache-htaccess-2.html - Part 2</li>
</ol>

<p>The /htaccess/apache-htaccess-2.html is a lot of unfinished new stuff, and the /htaccess/htaccess-rewrites.html (this very page) still needs to be split several times to get the filesize down.</p>

<h3>301 Link Juice</h3>
<p>The /apache-htaccess.html url has been around since 2006, and it was full of original ideas and examples for using htaccess.  Almost every htaccess guide or tutorial published since then has many of the examples and ideas from that tutorial, (I encourage people to modify and republish everything on this site according to copyright).  I know it, the authors sometimes know it, but the main point is Google for sure knows it.  That's the beauty of creating unique content, Google sees that.  So that /apache-htaccess.html link has extreme link juice, from all the sites, books, papers, and presentations that have linked to it since 2006.</p>

<h4>Filesize Is important</h4>
<p>I like to use my blog as a way to keep notes about my research organized, and I am extremely good at doing research, unfortunately, that means I have a huge article.  The filesize for the html alone is larger than all the other resources like javascript and images, combined.</p>
<ul>
<li>So that means it is very difficult to view on a mobile device, or a slow connection.</li>
<li>For google-bot and other search engine crawlers and robots, this is a huge problem (I made a big mistake letting it get that size).</li>
<li>The robot has to parse an enormous single html file, containing hundreds/thousands of external and internal links, and its such an issue they can decide to just skip indexing that url until the filesize is manageable.</li>
<li>Once again, it's all about the human experience, a huge single file is not good for anyone who isn't printing it out to read offline.</li>
</ul>

<h4>Starting Fresh without losing juice</h4>
<p>So since the page wasn't being indexed much since it was so huge, I decided to split up the content into new separate urls and utilize a 301 Redirect to transfer all the link juice from /apache-htaccess.html to /htaccess.html.</p>


<h2>301 Redirect Timeline</h2>
<ol>
<li>Now, the idea is to take the first pages from the original multi-page guide, do a little improvement on that content, and save it to the new url /htaccess.html.</li>
<li>Then just continue taking the next page from the remaining original guide and creating new pages using the original links structure.  /apache-htaccess-2.html, /apache-htaccess-3.html, etc.. This is a secondary backup to the new /htaccess.html url, which will receive the 301 link juice from the old url, but these secondary pages will help keep the links on external sites good.</li>
<li>Then, I setup a 301 Redirect in my .htaccess file to redirect the old url to the new /htaccess.html url.</li>
<li>Finally, I delete the old url and it is replaced forever by a 301 Redirect pointing to my new location, filesize problems eliminated.</li>
</ol>

<h3>301 Redirect Code Used</h3>
<p>This is so easy to do with RedirectMatch, way faster and easier than using mod_rewrite to handle this, and much less overhead.  Note that this is a general command that I will leave up for a few weeks and slowly tighten it up by looking at my Google Analytics and Apache Logs.  For instance, this first redirectmatch rule is an older RedirectMatch I still have active to redirect all the old links pointing at /2006/htaccess/apache-htaccess.html to /htaccess/apache-htaccess.html from when I ditched the date-based permalinks back in 2007, and you can see it is a little tighter than the 2nd one which also redirects requests for apache-htaccess.html/feed/ or trackback or whatever.</p>
<pre>RedirectMatch 301 ^/2006/.*apache-htaccess.html$ http://www.askapache.com/htaccess/apache-htaccess.html
RedirectMatch 301 ^/.*apache-htaccess.html(.*)$ http://www.askapache.com/htaccess/htaccess.html$1</pre>



<h2>Advanced 301 Redirects for SEO</h2>
<p>I wrote a couple of articles that go into detail about maximizing the SEO with linking and redirects, it remains one of my most helpful articles to anyone trying to rank higher the right way, the Google way.. <a href="http://www.askapache.com/seo/seo-advanced-pagerank-indexing.html">SEO Secrets of AskApache Part 2</a></p><p><a href="http://www.askapache.com/htaccess/htaccess-rewrites.html"></a><a href="http://www.askapache.com/htaccess/htaccess-rewrites.html">Htaccess Rewrites for Moving Urls</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/htaccess/htaccess-rewrites.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Top 3 Speed Tips for Sites using Google Analytics</title>
		<link>http://www.askapache.com/google/google-analytics-speed-tips.html</link>
		<comments>http://www.askapache.com/google/google-analytics-speed-tips.html#comments</comments>
		<pubDate>Fri, 17 Oct 2008 06:31:23 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=1689</guid>
		<description><![CDATA[<p><a id="id23" href="http://www.askapache.com/javascript/google-analytics-speed-tips.html" class="IFL" title="Tips for Sites using Google Analytics"></a>Top 3 ways to speed up websites that use Google Analytics.  Host Script Locally, Fix Google-Analytics Cookie Domain, and Failsafe Loading for optimum tracking statistics.<br class="C" /></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/google/google-analytics-speed-tips.html"></a><a href="http://www.askapache.com/google/google-analytics-speed-tips.html"><cite>AskApache.com</cite></a></p><p><a id="id23" href="http://www.askapache.com/javascript/google-analytics-speed-tips.html"></a>I've written alot about how I speed up websites, but there is much more to cover.  Here are the 3 ways I speed up my site by playing with the Google Analytics Tracking Code.<br class="C" /></p>

<ol>
<li><a href="http://www.askapache.com/javascript/google-analytics-speed-tips.html#googleanalyticshosting">Host the Google-Analytics ga.js file locally</a></li>
<li><a href="http://www.askapache.com/javascript/google-analytics-speed-tips.html#googleanalyticsdomain">Set Correct Cookie Domain</a></li>
<li><a href="http://www.askapache.com/javascript/google-analytics-speed-tips.html#googleanalyticsloading">Make Sure Google Analytics Loads</a></li>
</ol>


<h2><a id="googleanalyticsdefault">Default Google-Analytics Tracking Code</a></h2>
<pre>&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src=&#039;" + gaJsHost + "google-analytics.com/ga.js&#039; type=&#039;text/javascript&#039;%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
var pageTracker = _gat._getTracker("UA-2452345-5");
pageTracker._trackPageview();
&lt;/script&gt;</pre>
<hr class="C" />

<h2>1. <a id="googleanalyticshosting">Hosting the Google ga.js file locally</a></h2>
<p>Instead of calling the <a href="http://www.google-analytics.com/ga.js">http://www.google-analytics.com/ga.js</a> file in your site's html, you can instead save the <code>ga.js</code> source code and serve it from on your own server!  This <strong>reduces DNS lookups</strong>, gives you <strong>control over caching</strong>, and if you combine the <code>ga.js</code> with a javascript file already on your site like I do, you <strong>reduce HTTP Requests</strong>, <strong>reduce browser cache lookups</strong>, etc.</p>
<p>For this site, I added the ga.js code to my http://static.askapache.com/z/j/apache-999.js file, then I <a href="http://www.askapache.com/tools/online-compression-tool-compares-packer-jsmin-dojo-and-yui-compressor.html">compressed it online</a> and saved to serve!</p>
<p class="anote"><strong>How to Do it: </strong><a href="http://www.askapache.com/javascript/serve-external-javascript-files-locally-for-increased-speed.html">Serve External Javascript Files locally for Increased Speed</a></p>
<hr class="C" />


<h2>2. <a id="googleanalyticsdomain">Set Correct Domain for Cookie</a></h2>
<p>For those websites who employ <a href="http://www.askapache.com/htaccess/apache-speed-subdomains.html">multiple sub-domains to serve static content</a>, and you are using the default google-analytics javascript code for website statistics, you may be able to get some speed by forcing the google analytics cookie to only be sent for your non-static subdomain.</p>
<p>I just noticed this on my site the other day while watching the wire:</p>
<p>The Google Analytics cookie was being set for the domain <code>.askapache.com</code> and so it was being sent needlessly with every request to every subdomain, when it only should be sent for requests to <code>www.askapache.com</code>.</p>

<h3>Specify Google-Analytics Cookie Domain</h3>
<p>So I googled for an answer for awhile and finally found the solution in the ga.js code itself.  There is a command called <code>_setDomainName</code> that lets you set the domain for the cookie.  The following code sets the GA cookie for <code>.www.askapache.com</code>, ensuring that the cookie will not be sent needlessly for images and other static content.</p>
<pre>var pageTracker = _gat._getTracker("UA-732153-7");
pageTracker._setDomainName("www.askapache.com");
pageTracker._trackPageview();</pre>
<hr class="C" />

<h2>3. <a id="googleanalyticsloading">Make Sure Google Analytics Loads</a></h2>
<p>Look at the source code for this page to see how I do it.  Here is what is going on:</p>
<ol>
<li>Add the google javascript at the bottom of my source code to make sure the HTML and DOM is fully loaded before first calling the script for download.</li>
<li>Check that the google-javascript is loaded by testing that the object called _gat exists, which is the internal object created.</li>
<li>Initiate google-analytics</li>
</ol>

<h3>The Safer Google-Analytics Include Code</h3>
<pre>&lt;script type="text/javascript"&gt;
if (typeof(_gat) == "object") {
  var pageTracker = _gat._getTracker("UA-732153-7");
  pageTracker._setDomainName("www.askapache.com");
  pageTracker._initData();
  pageTracker._trackPageview();
}
&lt;/script&gt;</pre><p><a href="http://www.askapache.com/google/google-analytics-speed-tips.html"></a><a href="http://www.askapache.com/google/google-analytics-speed-tips.html">Top 3 Speed Tips for Sites using Google Analytics</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/google/google-analytics-speed-tips.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Serve External Javascript Files locally for Increased Speed</title>
		<link>http://www.askapache.com/javascript/serve-external-javascript-files-locally-for-increased-speed.html</link>
		<comments>http://www.askapache.com/javascript/serve-external-javascript-files-locally-for-increased-speed.html#comments</comments>
		<pubDate>Wed, 01 Oct 2008 06:55:46 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=1542</guid>
		<description><![CDATA[<p><a class="IFL hs hs16" href="http://uploads.askapache.com/2008/10/google-external-javascript.png" title="Screenshot of bash shell script for downloading externally hosted javascript files"></a>One way I speed up AskApache.com is by downloading external third-party javascript files to host on my own server instead of externally.  In addition to the obvious speed boost, this lets you configure the caching and compression settings for the files.<br class="C" /></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/javascript/serve-external-javascript-files-locally-for-increased-speed.html"></a><a href="http://www.askapache.com/javascript/serve-external-javascript-files-locally-for-increased-speed.html"><cite>AskApache.com</cite></a></p><p><a class="IFL hs hs16" href="http://uploads.askapache.com/2008/10/google-external-javascript.png" title="Screenshot of bash shell script for downloading externally hosted javascript files"></a>One of the ways I speed up AskApache.com is by downloading all the external javascript files to my server and then serve them from my own server instead of the external site.  Currently I'm using this method to serve the <a href="http://www.google-analytics.com/ga.js">Google Analytics</a> javascript file, and the <a href="http://edge.quantserve.com/quant.js">Quantcast</a> javascript file.<br class="C" /></p>


<h2>Speed Benefit</h2>
<p>The speed benefit occurs because normally a site visitor has to perform a DNS query for both the google-analytics.com and quantcast.com servers, create a connection to each server, and then download the files.  By hosting these scripts on your own server you remove all the extra DNS queries, and by hosting all the files on your single server you enable advanced HTTP 1/1 protocol features like Pipelining the requests, which means a single connection for multiple files.</p>


<h2>Cache and Compression Control</h2>
<p>Serving these javascript files from your own server gives you complete control over the caching and compression settings of those files, which may not seem like a big deal... unless you know about the advanced caching and compression techniques available to make your site super-fast.</p>

<h3>Caching Control</h3>
<p>By using the <a href="http://www.askapache.com/htaccess/mod_rewrite-fix-for-caching-updated-files.html">mod_rewrite cache hack</a> like I do, you can make sure that a fresh version of the <code>.js file</code> is used by your visitors.</p>

<h3>Compression Control</h3>
<p>You can also specify advanced compression for these files, which could mean using Apache's mod_deflate or mod_gzip modules, or you can even use a compression tool like Dojo's Shrinksafe, Packer, JSMin, or YUICompressor to further compress the javascript files.</p>


<h2>Automated Downloading with Crontab</h2>
<p>Using crontab I tell my web server to run this shell script every day, to make sure I have updated versions of all the files.  Here's the crontab entry I use to run this shell script every day.</p>
<pre>@daily /bin/sh /home/cron-scripts/grab_javascripts.sh 2&gt;&amp;1 &amp;&gt;/dev/null</pre>


<h2>Shell Script to Download JS</h2>
<p>I created a simple Bash shell-script to download the javascript files.  All you need to do is modify the variables to save to your directory and send your site as the Referring URL and you are good to go.  You can add as many files as you want by adding them to the JSFILE array.</p>
<p>You can also download the shell-script: <a href='http://uploads.askapache.com/2008/10/grab_javascripts.sh'>grab_javascripts.sh</a></p>
<pre>#!/bin/bash
# 2008-09-30
umask 022
VER="2.0"
&nbsp;
### Set as the referring url for downloads
SITE=http://www.askapache.com/
&nbsp;
### Directory to save the downloaded files
JSD=$HOME/j/
&nbsp;
### The files to download
JSFILE[0]=http://www.google-analytics.com/ga.js
&nbsp;
### run script with args to turn on debugging
[[ $# -ne 0 ]] &amp;&amp; set -o xtrace &amp;&amp; set -o verbose
&nbsp;
### SHELL OPTIONS
set +o noclobber # allowed to clobber files
set +o noglob # globbing on
set -e # abort on first error
shopt -s extglob
&nbsp;
#--=--=--=--=--=--=--=--=--=--=--#
# pt
#==-==-==-==-==-==-==-==-==-==-==#
function pt(){
  case ${1:-d} in
   i) echo -e "${C6}=&gt; ${C4}${2} ${C0}"; ;;
   m) echo -en "\n\n${C2}&gt;&gt;&gt; ${C4}${2} ${C0}\n\n"; ;;
   *) echo -e "\n${C8} DONE ${C0} \n"; ;;
  esac
}
&nbsp;
#=# CATCH SCRIPT KILLED BY USER
trap &#039;kill -9 $$&#039; SIGHUP SIGINT SIGTERM
&nbsp;
#=# MAKE MAIN SCRIPT NICE AS POSSIBLE SINCE IT DOESNT DO MUCH
renice 19 -p $$ &amp;&gt;/dev/null
&nbsp;
#=# TURNS ON COLORING ONLY FOR TERMS THAT CAN SUPPORT IT
C="\033[";C0=;C1=;C2=;C3=;C4=;C5=;C6=;C7=;C8=;C9=;
  C0="${C}0m";C1="${C}1;30m";C2="${C}1;32m";C3="${C}0;32m";C4="${C}1;37m"
  C5="${C}0;36m";C6="${C}1;35m";C7="${C}0;37m";C8="${C}30;42m";C9="${C}1;36m";
clear
echo -e "${C1} __________________________________________________________________________ "
echo -e "| ${C2}             ___       __    ___                 __             ${C1}         |"
echo -e "| ${C2}            / _ | ___ / /__ / _ | ___  ___ _____/ /  ___        ${C1}         |"
echo -e "| ${C2}           / __ |(_-&lt;/  &#039;_// __ |/ _ \/ _ \`/ __/ _ \/ -_)       ${C1}         |"
echo -e "| ${C3}          /_/ |_/___/_/\_\/_/ |_/ .__/\_,_/\__/_//_/\__/        ${C1}         |"
echo -e "| ${C3}                               /_/                              ${C1}         |"
echo -e "|                                                                          |"
echo -e "|                 ${C4} LOCAL JAVASCRIPT FILES SCRIPT Version ${VER} ${C1}              |"
echo -e "${C1} __________________________________________________________________________ ${C0} \n\n"
&nbsp;
#=# BUILD INCOMING DIRS
[[ ! -d "${JSD}" ]] &amp;&amp; pt m "BUILDING DIRS" &amp;&amp; mkdir -p $JSD &amp;&gt;/dev/null &amp;&amp; pt i "CREATED $JSD" &amp;&amp; pt
&nbsp;
#=# DOWNLOAD JAVASCRIPT FILES
cd $JSD &amp;&amp; pt m "DOWNLOADING JAVASCRIPT FILES"
for theurl in "${JSFILE[@]}"; do
pt i "${theurl}"
curl -m 60 --connect-timeout 10 --retry 10 --retry-delay 180 -s -S -L -e &#039;${SITE}&#039; -A &#039;Mozilla/5.0&#039; -O "${theurl}"
done
pt &amp;&amp; cd $OLDPWD
&nbsp;
######## curl options
# -S Show error. With -s, make curl show errors when they occur
# -s Silent mode. Don&#039;t output anything
# -e  Referer URL (H)
# -H &lt;line&gt; Custom header to pass to server (H)
# -L  Follow Location: hints (H)
# -A &lt;string&gt; User-Agent to send to server (H)
# -m &lt;seconds&gt; Maximum time allowed for the transfer
# --connect-timeout &lt;seconds&gt; Maximum time allowed for connection
# --globoff  Disable URL sequences and ranges using {} and []
# -O  Write output to a file named as the remote file
# --retry &lt;num&gt;  Retry request &lt;num&gt; times if transient problems occur
# --retry-delay &lt;seconds&gt; When retrying, wait this many seconds between each
# --retry-max-time &lt;seconds&gt; Retry only within this period
#############################################################################
&nbsp;
exit 0</pre><p><a href="http://www.askapache.com/javascript/serve-external-javascript-files-locally-for-increased-speed.html"></a><a href="http://www.askapache.com/javascript/serve-external-javascript-files-locally-for-increased-speed.html">Serve External Javascript Files locally for Increased Speed</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/javascript/serve-external-javascript-files-locally-for-increased-speed.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>About AskApache</title>
		<link>http://www.askapache.com/about</link>
		<comments>http://www.askapache.com/about#comments</comments>
		<pubDate>Mon, 15 Sep 2008 12:26:49 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
		
		<guid isPermaLink="false">http://www.askapache.com/about/</guid>
		<description><![CDATA[<p><a href="http://www.askapache.com/about"></a><a href="http://www.askapache.com/about"><cite>AskApache.com</cite></a></p><p>The goal of AskApache.com is simple - To provide free access to knowledge and data with the goal of empowering people.. or more melodramatically:  <strong>"Power to the People!"</strong></p>
<p><strong>Why the name AskApache?</strong>  AskApache was chosen to show and pay <strong>respect</strong> to the contributors of the <a href="http://httpd.apache.org">Apache Web Server</a>.  Literally it means to ask Apache when facing a problem, &#8230; <a href="http://www.askapache.com/about" class="read_more">Read the rest</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/about"></a><a href="http://www.askapache.com/about"><cite>AskApache.com</cite></a></p><p>The goal of AskApache.com is simple - To provide free access to knowledge and data with the goal of empowering people.. or more melodramatically:  <strong>"Power to the People!"</strong></p>
<p><strong>Why the name AskApache?</strong>  AskApache was chosen to show and pay <strong>respect</strong> to the contributors of the <a href="http://httpd.apache.org">Apache Web Server</a>.  Literally it means to ask Apache when facing a problem, by searching the <strong>Open-Source</strong>, contacting a board/list, or browsing the documentation.</p>

<h2>The Author</h2>

<p>I work for a multimedia production / brand development &amp; marketing company here in Indianapolis, the greatest city in the world!  I started this blog in Dec., '06 to familiarize myself with WordPress as a blogging platform among other things for my job.  I help expand/create a growing companies market-share online (and offline) by managing and building the brand and developing high-quality leads and loyal customers by building online funnels fed by SEO traffic and on/offline marketing campaigns.  Other than the design and development costs for our minimum 12 month contract, we operate using a gain-share formula where we receive a percentage of the increased revenue that results from our services.  This translates to fanatical attention to improving the bottom-line, and focus on long-term sustainable growth and overall success.<br class="C" /></p>

<p>It's important to me to note that unlike most systems set up like this, we are absolutely interested in creating customers/leads/whatever by providing real value for them.  It's much more difficult and takes a lot longer, but it is also self-sustaining as value attracts in an exponential manner.  We are likely different than any model you've seen before in terms of lead-sales-marketing types.</p>


<h3>My Background</h3>
<p>I started on DOS, then Windows 2.11 (released 1989), and learned BASIC for my first language...  then IBM PC assembly followed by Java, which I used as an excuse to stop learning assembly..  And the visual studio suite I used for several years around win95 era.  Hearing so much about linux I went out and immersed myself in Red Hat, which had great documentation and books.  Then came the BSD's..  The first computer I had access to was DOS but not windows yet, so thats why I learned the BASIC languages.  I liked DOS so much I got some DOS POWER TOOLS books from PC Mag and was able to do whatever.  DOS was like my gameboy or xbox, and knowing it so well has really come in handy since a form of DOS is still to this day in Windows, it's kinda like having cheat codes.</p>

<p>C and C++ are the only languages I ever took a class on in school and I know them decent enough.  The thing is, I've spent my whole computer life reverse-engineering everything I can get ahold of, and so I read source code more than I would care to say.  Almost all of it is C, perl, or more unusual stuff like yacc, bison, or some type of scripting.   Sometimes I get my best ideas from reading source code and am always looking for new more optimized ways to get something done in the worlds best code.  I read it like a book more than code because I've just been doing that my whole life.  Nobody said hey here's a computer, this is called DOS, and here's how you do this:..  I literally didn't even know what a computer did, so I learned DOS at first by traversing the whole dir-tree and trying to open everything.  The worst part is that unlike any linux windows doesn't have any kind of man pages, so I learned by doing something and seeing what happened!  It's amazing what you can learn by viewing every file included with an operating system, and that was my start.</p>

<p>I've used javascript for maybe 10 years.. CSS and xhtml I've learned in great detail since 03.  Flash, actionscript, pretty much anything ever released by Adobe/Macromedia I've been using since 2000.  PERL was the first main language I learned when I switched to linux, I also code in PYTHON, RUBY, and OCAML, but now I use PHP more than anything for web dev.</p>

<p>The only formal programming classes I've taken was a semester of C in a high school AP class back in the day.   BASIC and QBASIC was a game to me, found it by accident.  At that point I was maybe around 8 or so, and I went to the public library and got a book on Assembly called (<em>it's currently sitting on my bookshelf</em>) "Assembly language primer for the IBM PC and XT".  I remember going through it page by page and taking detailed notes and following along with the book.  Definately the hardest thing I had ever tried to learn in my life, but I stuck with it for a whole summer since I didn't know any better, and wrote a few simple programs from within DOS.   I'm convinced that experience of trying to learn assembly before even knowing much about ocmputers is the reason why I find languages so intuitive, nothing else I code is even close to being as difficult as learning assembly, which is about as low-level as you can get, its been around for over half a century.</p>

<p>So I'm definately not even close to being as good as the best coders of the world and their various specialty languages..  But on the other hand I am totally flexible attaining the best possible solution, so it's like the Bruce Lee method of having no method, and this lets me be extremely flexible when going about trying to find the best solution.  I look at the whole spectrum from the network level to the host and app level and my experience at reverse-engineering security, networks, and software gives me a very different way of looking at things.  Coders are taught to plan and build from start to finish.  I have always done the exact opposite.  Once I know the finish point it's a done deal, I will be able to get there no matter what and the code is usually much smaller and leaner doing it that way..  Or maybe I'm just dyslexic or something like that.</p>

<p>Of all the areas of study relating to computers, I was most fascinated with networking and communication, and wanted to reverse-engineer everything to really understand it.  Somehow I figured out how to use the hyperterm of windows 3x and hooked the computer up like the fax machine was and all of a sudden my world became much much bigger as I discovered the web, arpanet,gopher repos, telnet servers, etc..  </p>

<p>I frequented BBS's regularly before the "Internet Browser" became available with mosaic.  At that time before HTTP was standardized it was like, 100% text only, no presentation or style.. it was all about the content.  I taught myself how to use terminal and a modem to wardial (calling phone numbers sequentially searching for a computer) based on that old War Games movie, and it actually worked.  The first machine I got access to in this way was a Sun machine used by a library.  That was my first network experience and within 5 years me and a couple friends had gained access to machines all over the world, including the Indianapolis International Airport Ticket Terminals and the Air Traffic Control itself!  But then HTTP and Mosaic exploded on the scene and were soon followed by the great censor AOL.  After the novelty wore off and everyone used AOL, that's when today's Internet was born in my opinion.  AOL censored the net and was really it's own network, and that is what people got used to thinking about the Internet in terms of what it was.</p>



<h3>Security Focus</h3>
<p>Most people like me who were lucky enough to discover the Internet (gopher, ftp, etc.) at the time when you could only surf the web using text-based tools were also lucky to learn alot of great security information that was freely shared all over the world by various hackers and groups.</p>

<h3>Security Path</h3>
<p>From those early days on I was heavily involved in the security research scene, mostly networking security, then server/application security.  I know quite a bit about the malicious activities one hears about from time to time, but other than learning how they work and how to execute them (against a test system mostly) I stayed away from cracking.</p>
<p>Of course back in those days I would occasionally create a virus or trojan but just for fun and not for exportation.  Does anyone else remember all those automatic virus creation tools that came out once Windows 95 was released?  Haha those old progs rock!<br class="C" /></p>


<h2>Working for an ISP</h2>
<p>Around the turn of the Millenium I worked for a small Internet Service Provider.  I learned how to wire buildings, houses, and the networking devices required by the ISP to connect to the backbone and customers.  My boss's previous job was for the US Military, and all he could tell me about his work there was that it was top-secret cryptography work.  I learned alot about OS security and Network Security while working there.</p>

<p>The coolest thing about working for an ISP was learning about the Networking and Administrative capabilities and requirements specific to ISP's..  I learned how to setup, operate, debug, and admin switches, hubs, routers, servers, backup systems, ISDN connects, etc..</p>

<h2>Unix - Linux - BSD</h2>
<p>Working at the ISP opened my eyes to the power of BSD/Unix, and I've spent almost a decade using hundreds of linux distro's and all BSD flavors.  My favorite Linux distro's are Arch Linux, BackTrack 4, Gentoo, Ubuntu, and Slackware, in that order.  I love debian.  I run OpenBSD 24/7 but I also always like to have 1 computer running FreeBSD for "fun."</p>

<h2>Education Background</h2>
<p>For a longgg time I was planning on going to school for an advanced network security degree, available at only a couple of colleges in the whole country.  So I took all the networking/computer courses available at my college, and I even managed to convince the Department Head to allow me to skip all pre-requisites for any CIS courses and enrolled as a freshmen in the advanced classes.</p>

<p>I was immediately frustrated with the curriculum, none of it was challenging or new... it was just the same boring path towards a degree :(.  So I kept the books, ditched class for a couple years, and went into business for myself doing freelance custom security audits for organizations and interested parties. That allowed me to spend my time hacking and educating myself, and paid the rent in my one-bedroom apartment.</p>

<h2>Employed as a Security auditor/analyst</h2>
<p>For about 5 years I helped small but very privacy-conscious organizations identify exploits in their operations and policies.. Basically I hacked until I got in or got fired.. A couple times I got root the same day I started the initial recon, but those were ALL Windows machines run by amateurs so it doesn't really count..</p>

<p>Most of the time it would take several weeks or months of mapping.. probing.. reading.. reading.. reading.. and packet-crafting before I had to give up on what I think of as the <strong>Technical phase</strong> of an operation.  I was unsuccessful many, many, times at this phase, but rarely unsuccessful after the second phase, which is where I would utilize sneaky social engineering.</p>

<p>One technique that worked extremely well was to spoof an email from some service company used by the target organization to an employee's email account and immediately call that employee and walk them through opening the email and unknowingly installing my customized trojan.  The customized trojans were really devious and really really cool.  These were the precursors to the IRC botnet virii.  Once I had the trojan installed I could generally get to any computer on the network within a day or two.</p>

<h3>Areas I worked in</h3>
<p>While I was a security consultant I was basically a Jack-of-all-trades kind of resource.  The audits I performed were incredibly lengthy and all were done remotely.  Meaning that I wasn't going to visit your organization and run diagnostics and security scanners on your internal network, I would literally insist that my clients only provide me with a public facing node, mostly a domain/server address.</p>

<p>This allowed me to perform the audit the same way that a real hacker would.  And which was a methodology I had used for several years and was comfortable with.  The goal with every audit was to systematically look for vulnerabilities or misconfigurations that when exploited would provide me with root access to the internal/external network of the organization.</p>

<p>Most of the exploits that I used to gain access were application-level vulnerabilities like sendmail, ssh, phpBB, shopping carts, etc..  Nothing very advanced, just a lot of research and testing.</p>

<p>Once I achieved access (a few times I was totally unsuccessful) and outlined how I did it and/or how to fix the vulnerabilities I was basically done.  More often than not my clients would be pretty happy about my services and would ask me to do other misc. work.</p>

<p>I was involved in securing and locking down many web applications like phpBB, Joomla, Shopping carts, etc.. and also was hired to setup or re-configure servers and software to be more secure.</p>

<p>Alot of my clients would want hire me to provide information about someone.  I would be enlisted to trace and locate various entities, such as:</p>
<ul>
<li>The source of a DDOS attack against a website (potentially one hired by a competitor)</li>
<li>A spammer masquerading as my client</li>
<li>A cracker selling stolen credit card numbers or other merchandise on the internet black market</li>
<li>A person spreading lies or talking bad about my client on the Web</li>
</ul>

<p>I became pretty proficient at being able to identify, find, and locate anyone using the Internet for communication.  For example, many times a client would locate some private information that wasn't supposed to be public posted anonymously on some forum or message board or email.  I was very successful at this, and I don't think I ever failed to trace the owner of an email account.  This activity got me involved with honeypots and honeynets, among other tracking tech.</p>


<h2>Leaving Security to Pursue Web Development</h2>
<p>So I was all fired up to get my Masters degree from the best school in the country and that degree would guarantee me a good job in a field I absolutely love, but around 2006 I switched.</p>


<h3>Government, Public Sector, Private Sector Security Ambitions</h3>
<p>Ok so in the security world, everybody knows that Governments have the best toys, the secret technology, carte blanche for its employees, basically everything on my "Top 10" list.  But most people also know that the Government doesn't pay very well and there are some personal security concerns that crop up when working for a Superpower.  I disdain money..To me its an invention someone came up with a long time ago, and I won't let the economic vultures steal my dreams.</p>

<p>After graduation I was interested in working for the US Air Force, which has some of the highest tech in the world, or for an intelligence-related government agency.  I am not that into cryptography, so the NSA didn't look like a good fit.  Today there are dozens of Government computer security agencies and groups, and most of the major nations are building the armies of the future cyber wars today and have been for years.  Some big players:  China, U.S., Soviet-Union Countries, N. Korea, Italy, France, Japan, and Germany.</p>


<h3>Exact Moment I switched to Web Development</h3>
<p>Of course security means constant never-ending research, and I had been researching the possible ways of exploiting a systems security by hijacking the boot-up process.  Mostly this requires physical access, such as plugging in a USB drive, CD, serial line, etc.. But I was also learning about the boot process that networking devices like switches and routers execute.  Many of these devices automatically look for configuration files, operating-system upgrades, or boot files on their network while booting up, and to make a long subject short by using some network hacking you could talk to these devices and provide them with modified files, effectively taking over the device.</p>

<p>For regular computers I was learning about the various boot loaders used by the different operating systems like Windows, BSD, Linux, etc.. (think grub, lilo, etc.).  The exciting thing I learned was that all these OS's that can be booted from a floppy or CD basically can write data directly to specific areas on the actual root drive...</p>

<p>During my research of the various OS's boot process (from when you turn on the machine to when the operating system starts) I learned alot about rootkit technology.. kernel-level rootkits interested me and led me to some very dangerous areas on the net.  At this point I was surfing the web from a Linux machine using a VMWare Virtual workstation for extra protection.  That machine's internet connection came through a customized OpenBSD Machine that was running Snort for Intrusion Detection and IPTables - a fully stateful firewall.  That firewall was connected to the net through an additional Stateful firewall/router.  So I was being very very careful to avoid getting cracked.</p>

<p>I won't divulge what exactly I was researching, but I discovered an incredible resource of information on some security topics that I had never before (or since) seen.  The day after I found this site my VMware workstation was rooted, my underlying linux operating system was rooted, and my firewall/IDS was rooted. Luckily I had configured an older 3rd machine as a syslog server and cut the TX wires so it was invisible, and thats how I discovered the intrusion.  All I will say about it is that the intrusion was so sophisticated and the attackers tracks so well covered that I took out all the hard-drives and put them in storage so I could examine them in a few years with better tools and hopefully I can discover the methods used by the attacker and maybe discover where they came from.  Needless to say, I was out of my league and someone was watching me.</p>


<h2>Web Development Opportunity</h2>
<p>So I had spent all those years learning about the vulnerabilities of various software and hardware, and then learning how to fix and correctly setup and run them.  I already knew html, javascript, basic perl/php/shell-scripting, and I was experienced at running and administrating web servers at this point, so when one of my clients called me late on a Friday and begged me to help them build a website due on Monday I decided to give it a shot.</p>

<h3>My First Website</h3>
<p>OWWW!  Thats me howling in pain when I recall that weekend of web design hell.  I built the whole site using Microsoft Frontpage, something which should be outlawed, and not knowing much about CSS I built the whole 4 page site using HTML tables.</p>

<p>The site was completed on time and opened my eyes to the endless possibilities of web development.  I spent the next year trying to MASTER CSS and best-practice standards-based coding, then I learned more about Ajax and javascript, and also started using server-side programming quite a bit.</p>

<p>My first 10 or so websites were each drastically better than the last, and all of them were created by hand in code without templates of any kind.  A good 15+ page site would take me about 3weeks to 5weeks to complete back then, now I build online presence's designed to increase the clients bottom line.  This includes everything and anything our client wants and to start we do a 1year contract, it takes a lot of time and effort over a long period to really achieve greater market share (leads) using the web in high-competition markets.  I tell the sales/marketing people who work with me to tell the clients that we can do anything, because we pretty much can.  I'm just so thrilled at how easy all this web development stuff is compared to the security stuff... It's night and day and I'm really enjoying myself.</p>



<p><a id="partnerup" name="partnerup"></a></p>
<h2>Ideal Candidate looking to work with me</h2>
<ol>
    <li>The right attitudes</li>
    <li>Willing to challenge and be challenged</li>
    <li>Scrappy &amp; will do whatever it takes</li>
    <li>High attention to detail</li>
    <li>Want to make history not read it</li>
    <li>You have a history of achievement at whatever level you've been at.</li>
    <li>You are the best person you know at what you do.</li>
    <li>You are faster than fast</li>
    <li>You can be competitive but nice at the same time</li>
    <li><strong>Skills</strong></li>
</ol>

<p>If you fit these characteristics then you should definately NOT send your resume as I hate computer science resumes, what a freaking waste of time.  I don't care if you are physically and mentally handicapped or even completely just a repulsive individual :)  Truly, the only thing that counts with me is skills. . .  either technical prowess or non-technical business know-how -- I always enjoy meeting new people in the industry so send me an email and introduce yourself, It's great fun to call up fellow developers in London and Japan... Feels cool so it must be!</p>










<h3>Technology Interests</h3>
<ol>
    <li><strong>CSS</strong></li>
    <li><strong>XHTML</strong> (<em>strict!</em>)</li>
    <li><strong>Javascript</strong> (<em>unobtrusive, strict!</em>)</li>
    <li><strong>NetSec</strong> (<em>network security, hack the planet</em>)    </li>
    <li><strong>PHP, Python, Ruby, Perl, Ocaml, Shell-Scripting</strong> (<em>strict mostly!</em>)</li>
    <li><strong>AJAX</strong> (<em>strict,crossbrowser,degrades gracefully!</em>)</li>
    <li><strong>Linux</strong> <em>{Arch-Linux, Slackware, Gentoo, Red Hat, Fedora}</em></li>
    <li><strong>BSD/Unix</strong> <em>{OpenBSD, FreeBSD, NetBSD}</em></li>
    <li><strong>Software</strong> <em>{Photoshop, Dreamweaver, Sorenson, Flash, QuickTime, ffmpeg, nirsoft, sysinternals, Adobe Creative Suite, etc.}</em></li>
    <li><strong>Windows</strong> <em>{for Workgroups, 3.1, 95, 98, me, 2000, NT Workstation&amp;Server,  XP Pro&amp;Home SP1&amp;SP2}</em></li>
    <li>And of course, if not especially, the <strong><a href="http://www.askapache.com/htaccess/htaccess.html">Apache Web Server, .htaccess, and mod_rewrite</a>!</strong></li>
</ol>



<h3>AskApache.com Info</h3>
<ol>
    <li><a href="https://plus.google.com/101616558702207714980" rel="me">Google +</a></li>
    <li>Popular Web Design and Development Blogs on Google</li>
    <li><a href="http://www.alexa.com/topsites/category/Top/Computers/Internet/Web_Design_and_Development/Weblogs">Top Weblogs on Alexa</a></li>
    <li><a href="http://www.technorati.com/people/technorati/askapache">Technorati</a></li>
    <li><a href="http://twitter.com/AskApache">AskApache Twitter</a></li>
    <li><a href="http://profile.typekey.com/AskApache/">Typekey</a></li>
    <li><a href="http://askapache.stumbleupon.com/">Stumbleupon</a></li>
    <li><a href="http://www.last.fm/user/AskApache">Last.fm</a></li>
    <li><a href="http://www.seomoz.org/users/view/25352">seomoz</a></li>
    <li><a href="http://www.livejournal.com/userinfo.bml?userid=15825935&amp;t=I">LiveJournal</a></li>
    <li><a href="http://digg.com/users/apachehtaccess">Digg</a></li>
    <li><a href="http://flickr.com/people/htaccess/">Flickr</a></li>
    <li><a href=" http://www.mybloglog.com/buzz/members/AskApache">MyBlogLog</a></li>
    <li><a href="http://wordpress.org/extend/plugins/profile/askapache">WordPress Plugins</a>, <a href="http://wordpress.org/support/profile/407510">Support Forum</a>, <a href="http://codex.wordpress.org/User:AskApache">Codex Wiki</a></li>
    <li><a href="http://www.blogcatalog.com/user/askapache">BlogCatalog</a></li>
</ol>


<h2>More AskApache</h2>
<ol>
    <li><a rel="nofollow" href="http://www.blogcatalog.com/blogs/askapache-web-fire.html">BlogCatalog</a></li>
    <li><a rel="nofollow" href="http://www.statsaholic.com/askapache.com">StatsAholic</a></li>
    <li><a rel="nofollow" href="http://www.alexa.com/data/details/main?url=askapache.com">Alexa</a></li>
    <li><a rel="nofollow" href="http://www.technorati.com/search/askapache.com">Technorati</a></li>
    <li><a rel="nofollow" href="http://siteanalytics.compete.com/askapache.com/">Compete</a></li>
    <li><a rel="nofollow" href="http://www.quantcast.com/askapache.com">Quantcast</a></li>
    <li><a rel="nofollow" href="http://whois.domaintools.com/askapache.com">DomainTools</a></li>
    <li><a rel="nofollow" href="http://search.live.com/results.aspx?q=%2Bsite%3Awww.askapache.com">Live</a></li>
    <li><a rel="nofollow" href="http://www.google.com/search?q=site%3Aaskapache.com">Google</a></li>
    <li><a rel="nofollow" href="http://www.findforward.com/?q=askapache&amp;t=world">FindForward</a></li>
    <li><a href="http://www.alexa.com/topsites/category/Top/Computers/Internet/Web_Design_and_Development/Weblogs">Alexa Directory</a><a href="http://www.alexa.com/search?q=askapache.com">Alexa Info</a></li>
    <li><a rel="nofollow" href="http://www.mybloglog.com/buzz/community/apache-htaccess/">MyBlogLog htaccess Group</a></li>
</ol>


<h2>AskApache mirrors</h2>
<p>Every once in awhile I come across a project that is so indescribably great that I decide to help out by mirroring and contributing to the content.</p>
<ul>
    <li><a href="http://curl.askapache.com/" title="curl, libcurl">cURL / libcurl</a></li>
    <li><a href="http://nongnu.askapache.com/" title="Savannah Non-gnu free software">Savannah - nongnu</a></li>
    <li><a href="http://wireshark.askapache.com/" title="WireShark">WireShark Network God</a></li>
</ul>
<p><em>Google if you are reading this, I'm willing to relocate. ;)  Microsoft, no thanks.</em></p><p><a href="http://www.askapache.com/about"></a><a href="http://www.askapache.com/about">About AskApache</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/about/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>SEO Secrets of AskApache.com</title>
		<link>http://www.askapache.com/seo/seo-secrets.html</link>
		<comments>http://www.askapache.com/seo/seo-secrets.html#comments</comments>
		<pubDate>Thu, 29 May 2008 01:45:02 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=566</guid>
		<description><![CDATA[<p><a rel="lb" class="IFL hs hs31" href='http://www.askapache.com/seo/seo-secrets.html' title="SEO Secrets for Google High Ranking"></a>Learn how in a year, with no previous blogging experience this blog was able to rank so high in search engines and achieve 15,000 unique visitors every day.  Uses combination of tricks and tips from throughout AskApache.com for Search Engine Optimization.<br class="C" /></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/seo/seo-secrets.html"></a><a href="http://www.askapache.com/seo/seo-secrets.html"><cite>AskApache.com</cite></a></p><p><a rel="lb" class="IFL hs hs31" href='http://uploads.askapache.com/2008/04/google-rankings.png' title="SEO Secrets for Google High Ranking"></a>First let me say that I don't read SEO stuff, I don't participate in the SEO community, I only have an interest in regards to the technology used by the search engines.  All websites are hosted on servers, mostly Apache, and that is the primary topic of this blog.  During the past year of this blog, my research into non-seo areas has turned up some very valuable SEO techniques.. All of them legal, ethical, and genuinely good for the Internet at large.<br class="C" /></p>

<p class="anote"><strong>Update:</strong> <a href="http://www.askapache.com/seo/seo-advanced-pagerank-indexing.html">SEO Secrets part II:  Advanced Indexing and Pagerank Control</a></p>


<h2>Some Background</h2>
<p>I started this blog in late 2006, my first foray into blogging, and I've been extremely successful at achieving top ten google rankings and maintaining on average 15K unique visitors/day (per google analytics) 85% of which come from search engine traffic.</p>

<p class="cnote"><strong>NOTE:</strong>  I take it for granted that anyone reading AskApache is an expert of some skill, if you aren't I apologize, I can't waste time on the easy stuff.</p>

<h2>Prerequisite SEO</h2>
<p>There are literally hundreds of thousands of SEO articles on the net, 99.9% of which are absolute garbage.  Especially in the sense that they just repeat the same 10 year old stuff.  However, to do any kind of advanced SEO like I am going to discuss in this article, I am assuming that you, the intelligent reader, has already read those and has a basic understanding of SEO fundamentals like meta tags, titles, keywords, etc.</p>


<h2>First, Great Content</h2>
<p>The foremost and most important step in achieving any kind of traffic is to produce great content.  I'm sure you've heard that a million times, but let me break it down how I perceive it.  Before I even started to mess with SEO for AskApache.com I began by writing articles.  At that point I didn't have a clue what my blog was going to be about or even if I was going to be doing it after a week.</p>

<h3>What is Content</h3>
<p>For me, being a top-paid professional web developer, I spend about 80% of my time doing research.  I think that is a bit uncommon, but its a throwback from the 10 years I spent in the network/computer security field, where research is 99% of the job, a story for another time perhaps.</p>

<p>So the research I was doing at that time was about best-practice standards-based web design, mainly <a href="http://www.askapache.com/xhtml/">XHTML Strict</a>, <a href="http://www.askapache.com/css/">CSS</a>, and <a href="http://www.askapache.com/javascript/">unobtrusive javascript</a>.  Each of those subjects has become near and dear to my heart, and each should also be mandatory learning for anyone interested in SEO.  The best advice I can give towards that end is checking out the CSS, Javascript, and XHTML Strict source code for this page and site.  And of course the holy <a href="http://www.w3.org/QA/">W3.org</a>.</p>

<p>In addition to striving to master those 3 subjects, I was also and always will be researching web programming languages like <a href="http://www.askapache.com/php/">PHP</a>, Ajax, Ruby, and Server Technology like <a href="http://www.askapache.com/apache/">Apache</a>.   Although I should note that my research into Apache and server technologies is more of a hobby than a job requirement, also a throwback to my days in the security industry and of course my love for <a href="http://nongnu.askapache.com/">open source software</a>.</p>

<h3>My Content</h3>
<p>So basically I was spending 25% of my time at work actually working, and the other 75% of the time I would research how to do something better, faster, the best.  Incredibly, I discovered or re-discovered a ton of tips, tricks, and methods to aid me in my work.  I was learning so much valuable information that I joined a couple of forums to discuss them and get feedback on making them even better.  Soon I realized that I was one of a small few who actually post content to a forum instead of just questions, so I decided to write my tutorials down on a blog, and AskApache was born.</p>

<p>So that is why this blog is comprised of almost 100% tutorials, and why almost all of them are completely original works you won't find elsewhere.  That's how I create content, but you might do something different.  Whatever it is that you do for content, just make sure you are providing VALUE with everything you do.  Not to everyone, just stuff that you would consider to have value if you were reading it.</p>

<h2>Second, Great Site</h2>
<p>Ok so I had 10 or so great articles that I knew would provide value for many web developers, but so what?  Nobody cares you know..  That's when I decided to take a closer look at the software that was running my new blog, WordPress, and I've been <a href="http://www.askapache.com/wordpress-plugins/">hacking the code</a> ever since on my never-ending quest to be the best and know the most advanced web development.  You'll see why in a couple paragraphs.</p>

<h3>I Mean, a Really Great Site</h3>
<p><a class="IFL" rel="lb" href='http://uploads.askapache.com/2008/04/the-web.png'><img src="http://uploads.askapache.com/2008/04/the-web-200x200.png" alt="Google Want A Spider Web" title="the-web" /></a>By great, I mean you need to make it incredibly user-friendly.  Every design and development decision you make should be about the visitor.  THATS the number one key to success on the net, regardless of endeavor.  Here is a list of things you definately need to have before you do SEO, I'm not listing obvious stuff like descriptions, titles, and good writing.<br class="C" /></p>
<ol>
<li>Intuitive and circular, your website should be a spider-web of urls.</li>
<li>Easy to read, plenty of white-space, design is your decision but I like minimalistic.</li>
<li>Super fast rendering.  You need effective <a href="http://www.askapache.com/web-cache/">caching and optimization</a>.</li>
<li>A very <a href="http://www.askapache.com/seo/google-ajax-search-seo-tips.html">helpful 404 error page</a>, hopefully never seen.</li>
</ol>


<h2>Focus in on your URL's</h2>
<p>Many sites that use a CMS of some kind, be it <a href="http://drupal.org/">Drupal</a> or <a href="http://wordpress.org/">WordPress</a>, have hundreds or thousands of URL's even if they only have 10 actual posts/articles.</p>

<h3>Removing Duplicate Content</h3>
<p>You've all heard this before, but almost no-one has taken it to the level I am going to discuss.  Bear with me.</p>

<p>Removing duplicate content is actually a very straightforward process if you know what you are doing, and if you don't, well that's why I'm going to quickly explain how to really do a good job.</p>

<h3>Locate Duplicate Content and URLS</h3>
<p>People misunderstand that you should just not repeat the same paragraph in a different article, that is partially true, but the main impact this has on your site is if you can access the same article from more than a single URL.</p>

<p>I hope you realize you MUST use pretty urls like my site and not codey looking ones with question marks.  You can find any potential <a href="http://www.askapache.com/htaccess/rewriterule-viewer-plugin.html">duplicate urls on wordpress</a> with the rewriterules plugin. Also look at Google's webmaster tools to look for any duplicate urls, and you can use xenus link sleuth tool as well.</p>

<h3>Remove Duplicate Urls with .htaccess</h3>
<p>Once you've found duplicate urls, you need to instruct google and other search engine robots to be redirected to the correct url.  By doing a 301 redirect you tell the search engines NOT to index the bad url, only the good one.  Below are some of the .htaccess code I use on this site to accomplish this technique, this is gold I myself use so pay attention.  It works.</p>

<h4>301 Redirects with mod_rewrite</h4>
<p>First lets start with one everyone should know, and the most common, <em>to www or not to www?</em></p>
<pre>RewriteCond %{HTTP_HOST} !^www\.askapache\.com$ [NC]
RewriteRule ^(.*)$ http://www.askapache.com/$1 [R=301,L]</pre>


<p>Its a highly rare individual who has seen this one, which forces requests for <code>.html/</code> to <code>.html</code></p>
<pre>RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /[^\.]+\.html/\ HTTP/ [NC]
RewriteRule ^(.*)\.html/$ http://www.askapache.com/$1.html [R=301,L]</pre>


<h4>301 Redirects without mod_rewrite</h4>
<p>For the rest of the duplicate urls that you find, I like to use Redirect and RedirectMatch.</p>

<p>This redirects requests that start with an <code>&amp; or /&amp;amp or /(</code>  to my homepage. </p>
<pre>RedirectMatch 301 ^/&amp;(.*)$ http://www.askapache.com/
RedirectMatch 301 ^/&amp;amp(.*)$ http://www.askapache.com/
RedirectMatch 301 ^/([\(]+)(.*)$ http://www.askapache.com/</pre>

<p>This redirects requests with <code>//whatev</code> to <code>/whatev</code></p>
<pre>RedirectMatch 301 ^//(.*)$ http://www.askapache.com/$1</pre>

<p>But this is just a brief look at what you will have to spend some time on.  There are detailed guides to doing this with <a href="http://www.askapache.com/htaccess/mod_rewrite-tips-and-tricks.html">mod_rewrite</a> and using <a href="http://www.askapache.com/htaccess/seo-search-engine-friendly-redirects-without-mod_rewrite.html">Redirect</a> on my blog.  Its time now for <strong>some real SEO tips</strong>.  The heart of the matter, as it were.</p>


<h2>Wrap It Up</h2>
<p>So I realize that was brief, so I want to really stress 2 things or you won't take away much from part 1.</p>

<h3>Locate Duplicate URLS</h3>
<p>This is truly one of the most important things in my personal experience.  I personally take this as extreme as I can, I regularly grep my access files, mod_security and error log files looking for bad URLS.  I am always checking them out to see if someone has a bad link to me somewhere, or if someone just typed it in wrong.   If its a bad link on a site, I will very politely attempt contacting the webmaster about it until they fix it.</p>

<p>Even I, with my many colorful years of Internet travel, was caught off-guard by the variety and creativity and the sheer number of urls people are using to link to my site.  I found that often bad links would be published because my URL was just too long, so I shortened the URL's.  Now of course bad links can't really even touch my site with all my 301's in place.</p>

<p>Besides grepping your server's logs, the 2nd best place to locate duplicate urls or just plain wrong urls is by using Googles free webmaster tools.  They keep track of all the bad urls linking to your site and allow you to download this data in a .csv spreadsheet format.  The first time I checked into this I found over 1,000 bad links, after a couple months with my RewriteRules and 301 Redirects, I've narrowed the list down to under 50 most months.  That is a powerful reason to use 301 Redirects, as we'll really get into in part 2.</p>


<h3>301 Redirect Bad URLS</h3>
<p>Finding the bad urls takes some time, a couple hours even, and then the whole reason you do that is to be able to create 301 Redirects for all of those bad urls to good urls.</p>

<p>One reason that I wasn't even aware of until several months ago is that when Googlebot locates a bad URL for your site, it tries to access it, and if you haven't planned for this in advance, your page most likely will return a <code>200 OK</code> status header, or if you are lucky a <code>404 Not Found</code> error, both of which really hurt you.</p>

<p>Basically, a 200 response will produce duplicate content in 99.9% of the time, and 404 responses will whisper to Google's algorithms that you don't know what you are doing and your site isn't authoritative.  200 means google will index your site, 404 means google won't index your site, but it also won't give up trying for awhile, which takes away from your real urls.</p>

<h4>What a 301 Response tells Google</h4>
<p><a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#status-301">301 Responses</a> were practically invented for user-agents/clients/web-crawling robots like google.  They instruct the client, whether that be a persons browser or a googlebot, that the resource/page that they are looking for is actually at a different URL.  This is an authoritative response that makes googlebot and other search engines ecstatic because now they can give up on the 200 and 404 responses that didn't really give them an answer either way.</p>

<p>On the other hand, a <a href="http://www.askapache.com/seo/404-google-wordpress-plugin.html">great 404</a> can and should be just as powerful as a 301, but hardly anyone uses them in the correct way according to HTTP 1.1 or 1.0 Specifications.  We'll tear that subject apart further down the road.</p>

<p>I'll leave this topic for now with one last idea, 301 Redirects when implemented and used correctly, actually redirect the page rank and search engine ranking for itself to the redirected / correct url.  That means if you have 1000 unique links pointing to your article, and all of them are incorrect in some way, if you can 301 redirect all of those bad links to your correct link you now have 1000 new good links!  It has to be done right and in a classy way though of course.</p>

<p class="cnote"><strong>Now that you have content and a great site, its <a href="http://www.askapache.com/seo/seo-advanced-pagerank-indexing.html">time to SEO like a mofo</a></strong>.</p><p><a href="http://www.askapache.com/seo/seo-secrets.html"></a><a href="http://www.askapache.com/seo/seo-secrets.html">SEO Secrets of AskApache.com</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/seo/seo-secrets.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

