<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>The Website Owner's Manual</title>
	
	<link>http://www.nurelm.com/themanual</link>
	<description>Tips and tricks from the trenches. Written by people who like the Web so much that they decided to turn obsessive surfing habits into career choices.</description>
	<lastBuildDate>Wed, 01 Feb 2012 02:46:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/websiteownersmanual" /><feedburner:info uri="websiteownersmanual" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>39.899167</geo:lat><geo:long>79.723333</geo:long><image><link>http://www.nurelm.com/themanual</link><url>http://www.nurelm.com/themanual/logo.png</url><title>The Website Owner's Manual</title></image><item>
		<title>Boss Blog, Part 1: Choosing the Right Domain Name</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/ylsa4hYJaf0/</link>
		<comments>http://www.nurelm.com/themanual/2012/01/31/boss-blog-part-1-choosing-the-right-domain-name/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 17:27:24 +0000</pubDate>
		<dc:creator>mona</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=2054</guid>
		<description><![CDATA[The impetus for the &#8220;Boss Blog&#8221; series is that, as a non-technical professional working with a bunch of nerds, I have been charged with better educating myself on the &#8220;ins&#8221; and &#8220;outs&#8221; of what they do. The &#8220;Boss Blog&#8221; series will be a painstakingly detailed and accurate tutorial on exactly how to set up a successful blog. I will leave [...]]]></description>
			<content:encoded><![CDATA[<p>The impetus for the &#8220;Boss Blog&#8221; series is that, as a non-technical professional working with a bunch of nerds, I have been charged with better educating myself on the &#8220;ins&#8221; and &#8220;outs&#8221; of what they do.</p>
<p>The &#8220;Boss Blog&#8221; series will be a painstakingly detailed and accurate tutorial on <em><strong>exactly</strong></em> how to set up a successful blog. I will leave no stone unturned. So, if you are like me, a non-technical (or quasi-technical) person whose talents lean more toward the creative end of things, you may enjoy this series.<span id="more-2054"></span></p>
<p>The very first baby step in setting up your blog is, of course, selecting an appropriately memorable and catchy domain name. The perfect domain name can go a long way toward helping you achieve your blogging goals, whether you&#8217;re starting a business blog or simply want your own little corner of the Web where you can express yourself.</p>
<p>Dot com domain name suffixes are still the best choice and most sought after, especially for  business blogs. Beware of the &#8221;low rent&#8221; suffixes like .biz. The exception to this rule is if you are a nonprofit, in which case you would purchase a .org suffix, although it&#8217;s still a good idea to also buy the .com suffix of the same name, if it&#8217;s available, since some prospects will mistakenly type in the .com when searching for you.</p>
<p>Let&#8217;s say you have a similarly named competitor with a .com suffix. You really have your heart set on a certain name so you buy a domain name with a .net suffix or other much less popular suffix in order to get the name you want. Your website traffic will suffer, and your competitor (or similarly named non-competitor) will benefit from your domain name selection by circumventing many of your leads.</p>
<p>Even if your visitors find you through search engines, don&#8217;t think that your domain name doesn&#8217;t matter. You will be ranked higher in Google searches if your domain name has specific relevance to your content, such as my upcoming blog, keysbestdeals.com, which will be a blog about where to go in the Florida keys to get the best happy hour and food specials.</p>
<p>Be creative when selecting your blog domain name. There are still some good .coms out there if you think out of the box.</p>
<p>Think simple, short, easy. It&#8217;s better to make your name memorable than accurate. If you have a long business name there is no need to stuff the entire name in there.</p>
<p>Here is a  good article on the <a href="http://www.seomoz.org/blog/how-to-choose-the-right-domain-name">12 Rules for Choosing the Right Domain Name</a> which offers sound advice on all aspects to consider.</p>
<p><em><strong>For more information on how to set up your own successful blog check out the next several issues of Internet Innovations. Or, if you are a busy professional and would like to get your business blog up and running quickly and efficiently, call <a href="http://www.nurelm.com/">NuRelm</a> for a quote on a &#8220;plug and play&#8221;  successful and  affordable business blog. Call (877) 268-7356 and mention this article for a special discount and three months free hosting for a limited time.</strong></em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ylsa4hYJaf0:rg_YBayViSg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ylsa4hYJaf0:rg_YBayViSg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=ylsa4hYJaf0:rg_YBayViSg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ylsa4hYJaf0:rg_YBayViSg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=ylsa4hYJaf0:rg_YBayViSg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ylsa4hYJaf0:rg_YBayViSg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ylsa4hYJaf0:rg_YBayViSg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=ylsa4hYJaf0:rg_YBayViSg:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2012/01/31/boss-blog-part-1-choosing-the-right-domain-name/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2012/01/31/boss-blog-part-1-choosing-the-right-domain-name/</feedburner:origLink></item>
		<item>
		<title>Who is the Fairest Linux Remoting Server of Them All?</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/tK6Gf92Rf-c/</link>
		<comments>http://www.nurelm.com/themanual/2012/01/30/who-is-the-fairest-linux-remoting-server-of-them-all/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 02:16:00 +0000</pubDate>
		<dc:creator>sam</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[FreeNX]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[NoMachine]]></category>
		<category><![CDATA[RDP]]></category>
		<category><![CDATA[remote desktop server]]></category>
		<category><![CDATA[VNC]]></category>
		<category><![CDATA[X Windows]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=2031</guid>
		<description><![CDATA[I love Linux desktops in a way that some may consider unnatural.  The infinitely flexible KDE (sorry Gnome, you used to be my favorite before you sucked), the choice between polish and under-the-hood control at every turn, the brilliant application packaging systems, all steeped in the fruits of the open source development model gone very, [...]]]></description>
			<content:encoded><![CDATA[<p>I love Linux desktops in a way that some may consider unnatural.  The infinitely flexible KDE (sorry Gnome, you used to be my favorite <a href="http://ingeek.com/yes-gnome-3-sucks/">before you sucked</a>), the choice between polish and under-the-hood control at every turn, the brilliant application packaging systems, all steeped in the fruits of the open source development model gone very, very right &#8230; these things make me happy like <a href="http://lavaloungepgh.com/events.html">Friday 80&#8242;s night</a> or the giant puffy bread at <a href="http://www.udipicafepittsburgh.com/13.html">that Indian place in Monroeville</a>.</p>
<p>This unwholesome enthusiasm makes me long for the gentle, nerdy embrace of my favorite OS (hey, wait, or was that a grope?!) when working outside of the office (which, due to NuRelm&#8217;s awesome telecommuting policy, we all do quite a bit).  So I recently embarked on a quest to find the best way to do that, thinking, naturally, that the Linux/open source community would yield a perfect solution, especially in light of the fact that one area where Microsoft&#8217;s far less exciting OS has done something surprisingly well is with its very fast Remote Desktop Protocol.  Like any worthy quest, there were some ups and downs, and I&#8217;d like to share my impressions so far:</p>
<ul>
<li><strong><a href="http://sourceforge.net/apps/mediawiki/tigervnc/index.php?title=Welcome_to_TigerVNC">TigerVNC</a></strong>.  I don&#8217;t like saying bad things about VNC, because it&#8217;s been the workhorse of the Linux remote desktop server for so long, but I will anyway: I hate using it.  It&#8217;s slow and klunky and I have to turn the color depth so low when remoting over a WAN that I feel like I&#8217;m playing Astroids again on the ole <a href="http://en.wikipedia.org/wiki/Atari_2600">2600</a>.  I guess part of the beauty of VNC is that it doesn&#8217;t have to understand much about the window system being remoted, it just ships pixels and tries to not be horrendously slow by compressing them in various ways.  But that doesn&#8217;t make for an elegant or snappy experience, so onward to the next candidate.</li>
</ul>
<p style="padding-left: 60px;">Conclusion: Please don&#8217;t let VNC be the only answer.</p>
<ul>
<li><strong><a href="http://en.wikipedia.org/wiki/X_Window_System">X Windows</a></strong>.  Please allow me to take you back, for a moment, to 1991.  Pearl Jam and Boyz II Men were on the radio, SCUD missiles were on the news, and I was working a summer job as a research assistant at <a href="http://www.wvu.edu/">WVU</a> in Knapp Hall,  on the fabulously hard-to-make-go-fast <a href="http://en.wikipedia.org/wiki/CM-5">CM-5 parallel computer</a>.  These were wild days before RDP was a twinkle in Microsoft&#8217;s eye, yet we were logging into Sun workstations, exporting the display, and doing our thing remotely on crappy green screen thin clients.  Surely the modern descendant of that ancient variant of X Windows, which is still running on every Linux desktop in all the land, and which was brilliantly conceived to run over a network, would be the answer to my remoting quest.  It turns out that setting this up is still just as easy as ever, even if your remote machine is running MS Windows (just install <a href="http://x.cygwin.com/">Cygwin&#8217;s X Server</a> on the remote machine, ssh into your server with X11 forwarding [the -Y option], run whatever you want from the command line, and it will magically appear on your screen).  However, over a slow-ish WAN, it is NOT fast.  In fact, it is decidedly slow (<a href="http://www.vanemery.com/Linux/XoverSSH/X-over-SSH2.html">a fine and detailed article</a> containing a chart at the end with rough bandwidth requirements of various apps over X).</li>
</ul>
<p style="padding-left: 60px;">Conclusion: Exporting a display over X is an excellent way to run apps remotely if you are on your LAN or an otherwise speedy connection.  But if upstream bandwidth on your server is tight, this will be unusably slow.</p>
<ul>
<li><strong><a href="http://en.wikipedia.org/wiki/NX_technology">NX</a></strong>. A company called <a href="http://www.nomachine.com/">NoMachine</a> has developed a technology that strives to make X Windows great again, by putting X in a pot and sprinkling in a generous helping of caching and compression.  The idea is that it is fast enough to be used over a very slow connection (they claim fast enough for dial-up &#8230; the eerie screech of the phone connecting via dial-up still haunts my dreams).  Setup was a breeze, and NX just uses your existing ssh service and nothing else, so no new listeners or ports need to be opened to make it work.  My tests (using <a href="http://freenx.berlios.de/">FreeNX</a> on the server and <a href="http://www.nomachine.com/download-package.php?Prod_Id=3655">NoMachine&#8217;s client</a> on the remote machine) over a LAN show it to be way snappier than VNC, and I&#8217;ll report back as soon as a truly slow WAN test is done.</li>
</ul>
<p style="padding-left: 60px;">Conclusion:  This could be the answer to your remoting-to-a-Linux server needs.  There doesn&#8217;t seem to be an MS Windows server, but that&#8217;s ok since RDP works just fine in that case. FreeNX seems to be a good server, and Google&#8217;s got a server called <a href="http://code.google.com/p/neatx/">neatx</a> that I have not yet tried. NoMachine&#8217;s client works well, as does the open source <a href="http://opennx.net/">OpenNX</a> client.</p>
<p>Continuing the question from here: an interesting remoting technology that would be fun to test drive is <a href="http://www.thinstation.org/">Thinstation</a>, an open source thin client that can interact with all sorts of remote server technologies (NX, RDP, and quite a few more).</p>
<p>Happy remoting!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=tK6Gf92Rf-c:Z-eRaBI1yKk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=tK6Gf92Rf-c:Z-eRaBI1yKk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=tK6Gf92Rf-c:Z-eRaBI1yKk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=tK6Gf92Rf-c:Z-eRaBI1yKk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=tK6Gf92Rf-c:Z-eRaBI1yKk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=tK6Gf92Rf-c:Z-eRaBI1yKk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=tK6Gf92Rf-c:Z-eRaBI1yKk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=tK6Gf92Rf-c:Z-eRaBI1yKk:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2012/01/30/who-is-the-fairest-linux-remoting-server-of-them-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2012/01/30/who-is-the-fairest-linux-remoting-server-of-them-all/</feedburner:origLink></item>
		<item>
		<title>Running CakePHP Command Line Tools in Windows</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/itZ7-ntpOuA/</link>
		<comments>http://www.nurelm.com/themanual/2012/01/30/running-cakephp-command-line-tools-in-windows/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 19:35:21 +0000</pubDate>
		<dc:creator>Melissa</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=1973</guid>
		<description><![CDATA[As a newbie to command line tools, I found myself overwhelmed while attempting to configure CakePHP&#8217;s command line console within a Windows 7 environment. Most of the tutorials that I found either referred to an older version of Windows, or a previous version of CakePHP. To developers new to command line or CakePHP, running the [...]]]></description>
			<content:encoded><![CDATA[<p>As a newbie to command line tools, I found myself overwhelmed while attempting to configure CakePHP&#8217;s command line console within a Windows 7 environment. Most of the tutorials that I found either referred to an older version of Windows, or a previous version of CakePHP. To developers new to command line or CakePHP, running the command line console may seem like a daunting task, but it is actually quite simple.</p>
<p>This tutorial will review how to set up the CakePHP 2.0.5 command line console for Windows 7 running <a href="http://www.wampserver.com">WAMP</a>, but the instructions should be similar for Windows Vista and XP as well. We will assume that you already have CakePHP installed, and that your database is configured correctly.</p>
<p>First, we need to set Environment Variables so that Windows can run cake from the command console:</p>
<ol>
<li>Open &#8220;Computer&#8221; under your Windows Start menu</li>
<li>Right-click the &#8220;Computer&#8221; window, and select &#8220;Properties&#8221;</li>
<li>You will be brought to the Control Panel&#8217;s System window. We&#8217;ll need to change our environment variables under &#8220;Advanced System Settings,&#8221; which you can select from the left column menu in this window</li>
<li>Select the &#8220;Advanced&#8221; tab on the System Properties window</li>
<li>Click the &#8220;Environment Variables&#8230;&#8221; button</li>
<li>In the System Variables box, find the &#8220;Path&#8221; variable and click &#8220;Edit&#8230;&#8221;</li>
<li>If there isn&#8217;t one already, add a semicolon to the end of the current &#8220;Path&#8221; variable (a semicolon is used to separate variables)</li>
</ol>
<p>I use <a href="http://www.wampserver.com">WAMP</a> as my local development environment, and store all of my CakePHP projects in the C:\wamp\www directory, so my path variables will refer to this &#8220;wamp&#8221; directory. My CakePHP project also resides in a directory named &#8220;order_system.&#8221;  Yours may differ depending on your development environment and where you have CakePHP installed, so be sure to change these directories to fit your needs</p>
<ol start="8">
<li>At the end of your Path variable add
<pre>c:\wamp\bin\php\php5.3.8\;c:\wamp\www\order_system\app\Console\;</pre>
<p>(The first path should point  to your installation of PHP, and second variable should point to the &#8220;app\Console&#8221; location ofthe project that you are developing)</li>
<li>Click &#8220;OK&#8221; to save your changes.</li>
</ol>
<p>Once the Path variables have been saved, we can run a test to be sure that the variables are pointing to the appropriate locations</p>
<ol>
<li>From the Windows Start menu, search for &#8220;Run&#8221;</li>
<li>In the &#8220;Run&#8221; prompt, type &#8220;cmd.exe&#8221; to execute the Windows command line console</li>
<li>Your command line console will likely be pointing to your User directory initially. Type &#8220;cake&#8221; at the prompt.</li>
</ol>
<p>If your environment variables are correct, you should see a &#8220;Welcome to CakePHP Console&#8221; message, similar to:</p>
<p><a href="http://www.nurelm.com/themanual/2012/01/30/running-cakephp-command-line-tools-in-windows/cakeconsolecorrect/" rel="attachment wp-att-1977"><img class="alignnone  wp-image-1977" src="http://www.nurelm.com/themanual/wp-content/uploads/2012/01/cakeconsolecorrect.jpg" alt="" width="609" height="513" /></a></p>
<p>CakePHP command console is working properly, but it will need to run within our CakePHP project. As you can see from the screenshot, our working path should be the same as our application path. In order to rectify this, simply use the Change Directory (cd) command to change the path to the &#8220;app&#8221; folder inside your CakePHP project:</p>
<pre>cd c:\wamp\www\order_system\app</pre>
<p>Now that we are in the correct directory, we can instruct CakePHP to &#8220;bake&#8221; our project, simply by typing at the prompt:</p>
<pre>cake bake</pre>
<p><a href="http://www.nurelm.com/themanual/2012/01/30/running-cakephp-command-line-tools-in-windows/cakebake/" rel="attachment wp-att-1978"><img class="alignnone  wp-image-1978" src="http://www.nurelm.com/themanual/wp-content/uploads/2012/01/cakebake.jpg" alt="" width="609" height="513" /></a></p>
<p>Alternatively, you can skip the bake menu, and jump right into baking a controller, project, view, etc. by running any of these commands at the command line:</p>
<pre>cake bake db_config
cake bake model
cake bake view
cake bake controller
cake bake project
cake bake fixture
cake bake test
cake bake plugin plugin_name
cake bake all</pre>
<p>For example, instead of entering &#8220;cake bake&#8221; after changing to your project directory, enter</p>
<pre>cake bake controller</pre>
<p><a href="http://www.nurelm.com/themanual/2012/01/30/running-cakephp-command-line-tools-in-windows/quickbake/" rel="attachment wp-att-1979"><img class="alignnone  wp-image-1979" src="http://www.nurelm.com/themanual/wp-content/uploads/2012/01/quickbake.jpg" alt="" width="609" height="470" /></a></p>
<p>&nbsp;</p>
<p>Happy Windows baking!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=itZ7-ntpOuA:xEgz9fX_H1U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=itZ7-ntpOuA:xEgz9fX_H1U:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=itZ7-ntpOuA:xEgz9fX_H1U:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=itZ7-ntpOuA:xEgz9fX_H1U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=itZ7-ntpOuA:xEgz9fX_H1U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=itZ7-ntpOuA:xEgz9fX_H1U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=itZ7-ntpOuA:xEgz9fX_H1U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=itZ7-ntpOuA:xEgz9fX_H1U:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2012/01/30/running-cakephp-command-line-tools-in-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2012/01/30/running-cakephp-command-line-tools-in-windows/</feedburner:origLink></item>
		<item>
		<title>CakePHP: Beyond the Blog Tutorial, Part I</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/jb5FoqJxVZM/</link>
		<comments>http://www.nurelm.com/themanual/2012/01/26/cakephp-beyond-the-blog-tutorial-part-i/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 15:08:13 +0000</pubDate>
		<dc:creator>sam</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=1956</guid>
		<description><![CDATA[CakePHP is a great rapid development framework, and the blog tutorial is a fine starting point on any journey to learn it.  A tutorial covering a few more of the dirty realities of an actual project would have been a welcome next step in my first CakePHP encounter.  This series aspires to being that next [...]]]></description>
			<content:encoded><![CDATA[<p><a title="CakePHP" href="http://cakephp.org/">CakePHP</a> is a great rapid development framework, and <a title="CakePHP Blog Tutorial" href="http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/blog.html">the blog tutorial</a> is a fine starting point on any journey to learn it.  A tutorial covering a few more of the dirty realities of an actual project would have been a welcome next step in my first CakePHP encounter.  This series aspires to being that next step.  The project described here loosely corresponds to a small project we recently completed for a client here at NuRelm which means, hopefully, that it will include enough &#8220;aw man that wasn&#8217;t in the blog tutorial&#8221; spots to make it interesting.<span id="more-1956"></span></p>
<p>These articles will stick to a format of stating requirements for the current programming iteration (fancy <a href="http://en.wikipedia.org/wiki/Agile_software_development#Agile_methods">agile methodology</a> talk for &#8220;the manageable chunk of project that we&#8217;ll work on next&#8221;) in a &#8220;what we&#8217;ll do&#8221; section, outlining the path we&#8217;ll take in a &#8220;how we&#8217;ll do it&#8221; section, then getting to work in a &#8220;let&#8217;s do it&#8221; section.</p>
<p>I&#8217;ll be keeping all the final code for each part of the tutorial under the following Github project:</p>
<p><a href="https://github.com/nurelm/beyondtheblog">https://github.com/nurelm/beyondtheblog</a></p>
<p>The final code after each part of the tutorial will be tagged something like &#8220;part1&#8243; (which is the tag for this part&#8217;s final code) depending so that it will be easy to switch to different stages of our project&#8217;s development.</p>
<p>One more thing before we jump in.  This tutorial is being written with a reader in mind who has a good understanding of the blog tutorial and all the trimmings that go with it.  That reader has gotten her development machine&#8217;s Apache / PHP / MySQL groove on, and has no problems running the blog tutorial, making tables in MySQL, and so on.  That same astute reader also has a working knowledge of <a href="http://book.cakephp.org/2.0/en/cakephp-overview/understanding-model-view-controller.html">MVC</a> and understands how CakePHP&#8217;s convention-based approach negotiates a request.  No problem, right?  Ok, then, let&#8217;s dive in &#8230;</p>
<h2>What We&#8217;ll Do</h2>
<p>We are going to build a very simple order management system.  The project is the sort that every Web developer knows.  It&#8217;s almost simple enough that an email form with some tricks would work, but not quite.  It&#8217;s weird enough that an out-of-the-box system will be a dirty mess to customize.  It&#8217;s small enough that it should not get close to taking your client out of the four digit dollar range.  And it&#8217;s definitely not a project that you want to bill 20 hours for, but spend 40 building.</p>
<p>This particular order system will, initially, just contain two model objects, a User and an Order.  Most order systems will also contain some sort of Line Item object, but this project deals with simple orders that contain a lot of weird fields.   So, just two objects for now, and we&#8217;ll worry about all those weird fields in a later article.  Eventually, we&#8217;ll make the system email orders in the form of CSV files that can be consumed by another system that, for some reason, wants things in that format.</p>
<p>In this article, we&#8217;ll start by creating the model, then use CakePHP&#8217;s scaffolding and Bake to create corresponding views and controllers. As we progress through the series, we&#8217;ll work on a user workflow (introducing some handy view helpers), an admin workflow, authentication / authorization, validation, and view cleanup with layouts / view blocks / elements.</p>
<h2>How We&#8217;ll Do It</h2>
<p>Here are the steps we&#8217;ll be taking:</p>
<ol>
<li>Create our database and tables.</li>
<li>Create corresponding models, complete with the associations we&#8217;ll need.</li>
<li>Use dynamic scaffolding and take a quick look at what it generates.</li>
<li>Use Bake to grab the results of that scaffolding and put them into files we can use as a starting point.</li>
<li>Customize things.</li>
</ol>
<h2>Let&#8217;s Do It</h2>
<p>Fire up a new CakePHP project structure, and we&#8217;ll be waiting right here, ready to dive right in and start by creating a database for use with this model.</p>
<p><strong>Create our database and tables</strong>. Create a new MySQL database, use the name of your choice, and configure CakePHP&#8217;s app/Config/database.php file accordingly, then fire up the MySQL client of your choice and create the following tables / columns:</p>
<p>users: This table should have an id column (as should all CakePHP tables), created and modified columns (nice because CakePHP automagically keeps these updated), username and password fields (if you name them this way, our upcoming article on authentication will be aided by more CakePHP convention magics).</p>
<p>orders: This table should contain the following columns: id, created, modified, and user_id (the reason for this will become clear when we create our models next).</p>
<p>The SQL you use to generate these will look something like this:</p>
<pre class="brush: sql">CREATE TABLE `orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `created` datetime DEFAULT NULL,
  `modified` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(45) NOT NULL,
  `password` varchar(45) NOT NULL,
  `created` datetime DEFAULT NULL,
  `modified` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username_UNIQUE` (`username`)
) ENGINE=InnoDB;</pre>
<p><strong>Create corresponding models</strong>: We&#8217;ll create two model files in /app/Model that should look very familiar, with a minor twist:</p>
<pre class="brush: php">&lt;?php
// app/Model/User.php
class User extends AppModel {
  public $name = 'User';
  public $hasMany = array(
    'Order' =&gt; array(
      'dependent' =&gt; true
    )
  );
}</pre>
<p>and &#8230;</p>
<pre class="brush: php">&lt;?php
// app/Model/Order.php
class Order extends AppModel {
  public $name = 'Order';
  public $belongsTo = 'User';
}</pre>
<p>Did you notice the  $hasMany and $belongsTo variables sitting in our otherwise-normal model files?  The define the relationship between Users and Orders &#8230; one User has many Orders that belong to it.  If sprinkle this little bit of syntax in our model files, and stick to the convention of adding a column in our &#8220;child&#8221; table (Orders in this case) that tracks its parent ID, then CakePHP will do the rest, as we&#8217;ll see as we build our page.  Check out the <a href="http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html">Cookbook&#8217;s section on associations</a> for some details, but we&#8217;ve done all that we need for the purposes of this project.</p>
<p><strong>Scaffolding</strong>. Now let&#8217;s do something fun and magical.  Let&#8217;s get CakePHP to build the rest of our application. Sort of. To do that, create controllers for each of your model objects that look like this:</p>
<pre class="brush: php">&lt;?php
// app/Controller/UsersController.php
class UsersController extends AppController {
  public $scaffold;
}</pre>
<p>and</p>
<pre class="brush: php">&lt;?php
// app/Controller/OrdersController.php
class OrdersController extends AppController {
  public $scaffold;
}</pre>
<p>Then navigate to http://yourdevdomain/users and you should see something like this:</p>
<p><img class="alignnone  wp-image-1963" title="Scaffold Magic!" src="http://www.nurelm.com/themanual/wp-content/uploads/2012/01/scaffold1.png" alt="" width="539" height="295" /></p>
<p>&#8220;What,&#8221; you say, &#8220;parlor tricks?!&#8221;  Yes, you can pretty much do all the basic things that you need to do, but only the basics.  Scaffolding is CakePHP&#8217;s way of allowing you to tinker with your model before nailing things down, but nobody is claiming it is something you can use for a production machine.</p>
<p>Go ahead and create a few users and orders.  While you&#8217;re at it, notice some interesting details:  First, notice that most columns are sortable.  Then, after you create both users and orders, you&#8217;ll see that orders are sorted under the corresponding users (those associations we set up are working).  You might also notice that some nice status messages are passed around to various screens after you perform actions.  So even though this is far from a final application, a lot of niggling little details that make Web developers feel mundane, ugly and slow appear to be handled here, and one suspects that some form of heavenly cleverness lurks behind the scenes.  And indeed there is.  We&#8217;ll take a look at each of these mundane-crushing nuggets in later articles.</p>
<p>For now, wouldn&#8217;t it be ridiculously nice if we could fiddle with our model until we were happy with it using scaffolding to play with the results, then grab the code generated by scaffolding and use it as a starting point? Well it just so happens that you can.</p>
<p><strong>Use Bake to generate initial code</strong>. A 20-project master of CakePHP might prefer hammering away at every project from scratch rather than bothering with a pre-baked starting point.  But that starting point sure helps for the first few projects.</p>
<p>We&#8217;ll be using CakePHP&#8217;s Bake command line console.  Windows users might have to do a little fiddling to get ready to use it, <a href="http://www.nurelm.com/themanual/?p=1973">like so</a> (thanks Melissa), while Linux and Mac users should be ready to roll right out of the gate.  I&#8217;m writing this using a Linux machine for development, so any comments with tips for Windows or Macs would be appreciated.</p>
<p>Bake is easy to use.  Fire up your command line tool of choice, change into your cake app&#8217;s root directory, and fire off the following command:</p>
<pre>bash lib/Cake/Console/cake bake</pre>
<p>If you&#8217;re on Windows, you&#8217;ll leave off the &#8220;bash&#8221; and probably use the &#8220;cake.bat&#8221; file instead of plain &#8220;cake&#8221; &#8230; but, again, any reader kind enough to offer hints in the comments on this will be rewarded by a warm virtual high-5.  However you run it, the result is something like this:</p>
<pre>[sms-home-desk] ~/Documents/cakephp &gt; bash lib/Cake/Console/cake bake
Welcome to CakePHP v2.0.5 Console
---------------------------------------------------------------
App : app
Path: /home/sms/Documents/cakephp/app/
---------------------------------------------------------------
Interactive Bake Shell
---------------------------------------------------------------
[D]atabase Configuration
[M]odel
[V]iew
[C]ontroller
[P]roject
[F]ixture
[T]est case
[Q]uit
What would you like to Bake? (D/M/V/C/P/F/T/Q)
&gt;</pre>
<p>I&#8217;ve only used Bake to build controllers and views.  Models are so incredibly easy once your DB is set up and tables built that I&#8217;ve never tried that option.  At this point go ahead and build both controllers.  Here are the options I used for one controller (do this for both):</p>
<pre>What would you like to Bake? (D/M/V/C/P/F/T/Q)
&gt; c
---------------------------------------------------------------
Bake Controller
Path: /home/sms/Documents/cakephp/app/Controller/
---------------------------------------------------------------
Use Database Config: (default/test)
[default] &gt;
Possible Controllers based on your current database:
1. Orders
2. Users
Enter a number from the list above,
type in the name of another controller, or 'q' to exit
[q] &gt; 2
---------------------------------------------------------------
Baking UsersController
---------------------------------------------------------------
Would you like to build your controller interactively?
Warning: Choosing no will overwrite the UsersController. (y/n)
[y] &gt;
Would you like to use dynamic scaffolding? (y/n)
[n] &gt;
Would you like to create some basic class methods
(index(), add(), view(), edit())? (y/n)
[n] &gt; y
Would you like to create the basic class methods for admin routing? (y/n)
[n] &gt; n
Would you like this controller to use other helpers
besides HtmlHelper and FormHelper? (y/n)
[n] &gt;
Would you like this controller to use any components? (y/n)
[n] &gt;
Would you like to use Session flash messages? (y/n)
[y] &gt;</pre>
<pre>---------------------------------------------------------------
The following controller will be created:
---------------------------------------------------------------
Controller Name:
 Users
---------------------------------------------------------------
Look okay? (y/n)
[y] &gt;</pre>
<pre>Baking controller class for Users...</pre>
<pre>File `/home/sms/Documents/cakephp/app/Controller/UsersController.php` exists
Do you want to overwrite? (y/n/q)
[n] &gt; y
Wrote `/home/sms/Documents/cakephp/app/Controller/UsersController.php`
PHPUnit is not installed. Do you want to bake unit test files anyway? (y/n)
[y] &gt; n</pre>
<p>Then build views for both models.  Here&#8217;s what I did for one set of views (do this for both):</p>
<pre>What would you like to Bake? (D/M/V/C/P/F/T/Q)
&gt; v
---------------------------------------------------------------
Bake View
Path: /home/sms/Documents/cakephp/app/View/
---------------------------------------------------------------
Use Database Config: (default/test)
[default] &gt;
Possible Controllers based on your current database:
1. Orders
2. Users
Enter a number from the list above,
type in the name of another controller, or 'q' to exit
[q] &gt; 2
Would you like bake to build your views interactively?
Warning: Choosing no will overwrite Users views if it exist. (y/n)
[n] &gt; y
Would you like to create some CRUD views
(index, add, view, edit) for this controller?
NOTE: Before doing so, you'll need to create your controller
and model classes (including associated models). (y/n)
[y] &gt;
Would you like to create the views for admin routing? (y/n)
[n] &gt; n</pre>
<pre>Baking `index` view file...</pre>
<pre>Creating file /home/sms/Documents/cakephp/app/View/Users/index.ctp
Wrote `/home/sms/Documents/cakephp/app/View/Users/index.ctp`</pre>
<pre>Baking `view` view file...</pre>
<pre>Creating file /home/sms/Documents/cakephp/app/View/Users/view.ctp
Wrote `/home/sms/Documents/cakephp/app/View/Users/view.ctp`</pre>
<pre>Baking `add` view file...</pre>
<pre>Creating file /home/sms/Documents/cakephp/app/View/Users/add.ctp
Wrote `/home/sms/Documents/cakephp/app/View/Users/add.ctp`</pre>
<pre>Baking `edit` view file...</pre>
<pre>Creating file /home/sms/Documents/cakephp/app/View/Users/edit.ctp
Wrote `/home/sms/Documents/cakephp/app/View/Users/edit.ctp`
---------------------------------------------------------------</pre>
<pre>View Scaffolding Complete.</pre>
<p>Now go peek at your application again &#8230; it should look exactly the same as it did when we were using dynamic scaffolding.  Then go look at your app/View and app/Controller directories, which should look very different, as in, they have things in them that were not there a minute ago.  Bake created the views and controllers behind the scaffolding you saw earlier.</p>
<p>Take a few minutes to thoroughly explore what Bake just created, and make sure you are comfortable with everything going on within these new views and controllers.  Try playing with them a bit to achieve various results, confident in the knowledge that you can easily recreate the whole mess with Bake again if you need to.</p>
<p><strong>Customize things</strong>. I&#8217;ll leave most of the customizing to you, but let&#8217;s make one small change here together.</p>
<p><img class="alignleft size-medium wp-image-1965" title="User Screen" src="http://www.nurelm.com/themanual/wp-content/uploads/2012/01/user1-300x230.png" alt="" width="300" height="230" />Right now, when I click on a user, the New Order button near the bottom of the screen does not automatically create an order associated with the current user.  I feel that it should.  Let&#8217;s change this behavior.</p>
<p>In order to do this, we will only need to make quick changes to the view pictured, along with the corresponding controller.</p>
<p>Let&#8217;s start with the view.  All we want to do is to pass the current User&#8217;s ID onto the controller that will add the Order.  Our URL is http://&lt;yourdevbox&gt;/users/view/1 so, due to CakePHP&#8217;s convention-based naming, we automatically know that our view will be located at app/View/Users/view.ctp.  Upon inspecting that file, we can quickly locate the line of code that creates that button near the bottom of the file:</p>
<pre class="brush: php">&lt;li&gt;&lt;?php echo $this-&gt;Html-&gt;link(__('New Order'), array('controller' =&gt; 'orders', 'action' =&gt; 'add'));?&gt; &lt;/li&gt;</pre>
<p>Checking out CakePHP&#8217;s Html-&gt;link helper syntax, we find that adding one more element to that array allows us to pass a value along with the rest of the link, so we modify that line to use a new action and include our current User&#8217;s ID:</p>
<pre class="brush: php">&lt;li&gt;&lt;?php echo $this-&gt;Html-&gt;link(__('New Order'), array('controller' =&gt; 'orders', 'action' =&gt; 'add_to_user', $user['User']['id']));?&gt; &lt;/li&gt;</pre>
<p>One of the nice things about scaffolding / Bake for beginners is that it allows you to quickly steal commonly used code from other areas of the file you&#8217;re working on, which is a quick way to recall how to retrieve the current User&#8217;s ID in this case.  Once you&#8217;re finished, save your file, reload it, and you should see that the &#8220;New Order&#8221; button now includes your User&#8217;s ID and is going to your new action &#8230; and will break if you click it since we haven&#8217;t created that new action yet.</p>
<p>Now, on to the controller. The URL that our newly rennovated &#8220;New Order&#8221; button points to is something like http://&lt;yourdevbox&gt;/orders/add_to_user/2, so we know the controller we&#8217;re after is going to be /app/Controllers/OrdersController, and the function we&#8217;ll need to create for that action will be called add_to_user.  So, let&#8217;s create a function that takes a GET input, creates a new Order with our User&#8217;s ID, then sends us right back to where we started:</p>
<pre class="brush: php">public function add_to_user($user_id) {
  if (!$this-&gt;request-&gt;is('get')) {
  throw new MethodNotAllowedException();
  }
  $this-&gt;Order-&gt;create();
  if ($this-&gt;Order-&gt;save(array('user_id' =&gt; $user_id))) {
    $this-&gt;Session-&gt;setFlash(__('The order has been saved'));
    $this-&gt;redirect(array('controller' =&gt; 'users', 'action' =&gt; 'view', $user_id));
  } else {
    $this-&gt;Session-&gt;setFlash(__('The order could not be saved. Please, try again.'));
  }
}</pre>
<p>[Edit: As pointed out by mark in the comments, a GET isn't generally considered the way to go for an action that modifies data. We'll talk about why and remedy the situation in a later installment.]</p>
<p>You should now be able to add new orders to your User right from the User screen with wild abandon.  Since our Orders do not yet contain any fields, we skipped the creation view altogether and just bounce the user right back to the User screen &#8230; see the redirect in that action above and figure out how it works.</p>
<p>Now go start working on the 40 other little changes you want to make to this app, and we&#8217;ll be back soon with another installment!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=jb5FoqJxVZM:vRKJDUDW9Qs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=jb5FoqJxVZM:vRKJDUDW9Qs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=jb5FoqJxVZM:vRKJDUDW9Qs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=jb5FoqJxVZM:vRKJDUDW9Qs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=jb5FoqJxVZM:vRKJDUDW9Qs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=jb5FoqJxVZM:vRKJDUDW9Qs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=jb5FoqJxVZM:vRKJDUDW9Qs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=jb5FoqJxVZM:vRKJDUDW9Qs:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2012/01/26/cakephp-beyond-the-blog-tutorial-part-i/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2012/01/26/cakephp-beyond-the-blog-tutorial-part-i/</feedburner:origLink></item>
		<item>
		<title>The Ultimate Awesomeness Search</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/1WWHxRTXkFI/</link>
		<comments>http://www.nurelm.com/themanual/2011/06/23/the-ultimate-awesomeness-search/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 18:46:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=1900</guid>
		<description><![CDATA[NuRelm is on the ultimate quest for awesome Web talent in the Pittsburgh area. Use the following checklist to see if you qualify: 1. Do you like consuming energy drinks while sitting alone in the dark playing Duke Nukem in your underwear? 2. 7 Bizarre Advances in Animal Cyborg Technology (Did you click this link?) [...]]]></description>
			<content:encoded><![CDATA[<p>NuRelm is on the ultimate quest for awesome Web talent in the Pittsburgh area.  Use the following checklist to see if you qualify:</p>
<p>1. Do you like consuming energy drinks while sitting alone in the dark playing Duke Nukem in your underwear?</p>
<p>2. <a href="http://www.cracked.com/article_19191_7-bizarre-advances-in-animal-cyborg-technology.html">7 Bizarre Advances in Animal Cyborg Technology</a> (Did you click this link?)</p>
<p>3. Can you relate to this image:<br />
<a rel="attachment wp-att-1901" href="http://www.nurelm.com/themanual/2011/06/23/the-ultimate-awesomeness-search/tan-lines-from-typical-summer-activities/"><img class="aligncenter size-full wp-image-1901" title="tan-lines-from-typical-summer-activities" src="http://www.nurelm.com/themanual/wp-content/uploads/2011/06/tan-lines-from-typical-summer-activities.jpg" alt="" width="500" height="334" /></a></p>
<p>If you answered yes to any of these and you seek a job in Web development, we want you!  NuRelm is hiring for a full-time Web developer position.</p>
<p>NuRelm is a local Web development company headquartered in Uniontown, Pennsylvania.  We are currently seeking an entry-level Web developer.  This is an incredible opportunity for a recent college graduate and will provide a great deal of experience and plenty of room for professional growth.  This is a full-time position.</p>
<p>For more information about NuRelm, please visit our Web site at <a href="http://www.nurelm.com">www.nurelm.com</a>.</p>
<p><strong>The official job description:<br />
</strong><br />
<strong>Web Developer/Web Production Specialist<br />
</strong><br />
<strong>Status:</strong> Full-Time On-Site + Telecommute + Contract Employee<br />
<strong>Benefits:</strong> Health Insurance, Paid Vacation, Flexible Schedule<br />
<strong>Telecommute:</strong> Work from home 3 days per week</p>
<p><strong>Description </strong> (Percentages are approximates):</p>
<ul>
<li>Develop websites based on designs provided to you, most of which are integrated with a content management system (either our own tool, NuContent, or one of the open source CMSes out there)  – 50%</li>
<li>Provide telephone and email customer support for Web sites and email services  to our clients  &#8211; support involves troubleshooting, modifications, and upgrades – 20%</li>
<li>Troubleshoot and functionally test new releases of software projects – 5%</li>
<li>Administer Linux servers, email services, and perform other systems administration duties – 5%</li>
<li>Provide sales support, give product demonstrations, and provide cost estimates for custom projects for our sales staff – 5%</li>
<li>Define requirements of new projects – 15%</li>
<li>Perform other technical or marketing related duties as necessary</li>
</ul>
<p><strong>Requirements</strong> (Please do not apply if you do not have the following)<strong>:</strong></p>
<ul>
<li>Degree in Computer Science, MIS, Information Technology, Graphic Design, or related field from an accredited institution.</li>
<li>Expert knowledge of basic PC-based software such as Microsoft Office, etc.</li>
<li>Excellent written and verbal communication skills</li>
<li>Strong knowledge of and experience with HTML / CSS</li>
<li>Some knowledge of object oriented programming</li>
<li>Willingness and ability to jump in and perform tasks that may not be in your job description when necessary</li>
<li>Ability to work unsupervised both independently and in small groups</li>
<li>Must be very detail-oriented</li>
<li>Must have a strong work ethic and be able to handle multiple projects at once</li>
</ul>
<p><strong>Desired skills</strong> (These are bonuses – please apply even if you have all of the requirements and none of these)<strong>:</strong></p>
<ul>
<li>Experience using Linux/Unix operating systems</li>
<li>Past experience designing and developing Web sites (provide any sample URLS)</li>
<li>Familiar with the creation of mobile-ready web layouts</li>
<li>An understanding of operations in a small company</li>
<li>Java or PHP programming experience</li>
<li>Knowledge of email systems</li>
<li>Knowledge of domain name registrars, DNS, etc.</li>
<li>Prior experience with Macromedia Studio (Dreamweaver, Fireworks, Flash) and/or Adobe Suite (Illustrator, Photoshop)</li>
<li>Experience with JavaScript and jQuery</li>
</ul>
<p>To apply, submit your resume and any relevant URLs to <a href="mailto:humanresources@nurelm.com">humanresources@nurelm.com</a>.  Only those considered qualified will receive a response.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=1WWHxRTXkFI:I4T_V7BcKhU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=1WWHxRTXkFI:I4T_V7BcKhU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=1WWHxRTXkFI:I4T_V7BcKhU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=1WWHxRTXkFI:I4T_V7BcKhU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=1WWHxRTXkFI:I4T_V7BcKhU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=1WWHxRTXkFI:I4T_V7BcKhU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=1WWHxRTXkFI:I4T_V7BcKhU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=1WWHxRTXkFI:I4T_V7BcKhU:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2011/06/23/the-ultimate-awesomeness-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2011/06/23/the-ultimate-awesomeness-search/</feedburner:origLink></item>
		<item>
		<title>Online Privacy Policy</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/ndQDL49DWPI/</link>
		<comments>http://www.nurelm.com/themanual/2011/04/25/online-privacy-policy-2/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 20:01:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=1151</guid>
		<description><![CDATA[Many of you probably already heard of the girl, Jenny, who quit her job in a rather public way – through photos and a dry erase board. Despite the laughter of the situation and afterward finding out it was an elaborate hoax, average individuals should take warning of what they do online. Type in the [...]]]></description>
			<content:encoded><![CDATA[<p>Many of you probably already heard of the girl, Jenny, who quit her job in a rather public way – through photos and a dry erase board. Despite the laughter of the situation and afterward finding out it was an elaborate hoax, average individuals should take warning of what they do online.</p>
<p>Type in the query “Facebook firing” in Google.  Go ahead.  I&#8217;ll wait.  Surprised at the amount of people terminated because of their actions on a social networking site? I sure as Hell was.  Firings of individuals posting on Twitter or Facebook have happened multiple times.  Lots of average people being canned for what they thought was personal ranting.</p>
<p>People feel comfortable posting any type of content, believing that their message is only going to be read by close friends.  Sadly, those posts are the equivalent of a sandwich board and megaphone on a street corner.  As a business it&#8217;s important to also monitor what your employees are doing online.  An unhappy customer expressing his concerns is bad enough, but no matter how you look at it, negative comments from an employee just look horrible.</p>
<p>The line between what is private and what is public online is getting increasingly blurry.  Therefore,  I&#8217;m going to throw this out Real Talk style. Below I&#8217;m going to outline what you, as an individual and as a business, should do to protect yourself in the digital jungle.</p>
<p>For the Individual:</p>
<p>So you&#8217;ve had a tough day at Crappy Job, Inc and decide to go home and release a little steam on the ole Facebook.  Sadly there might be consequences depending on the context and perceived intent of any posting you do.  Don&#8217;t think your job is worth monitoring? Everyone from business professionals to waitresses have been fired.  So what steps can you take to maintain your opinion and job?</p>
<p>Set up Privacy Settings:</p>
<p>This might work out the same as trying to create a submarine with mesh wiring; still it’s a step that should be completed. Facebook is generally known for its lax behavior when it comes to maintaining security standards. Knowing that setting up privacy settings is the equivalent to locking a door in a glass house, they should still be done because it will keep the computer illiterate and lazy away from your information.  Still, once you realize how public a forum like Facebook is you will, hopefully, be more reserved in your posting.</p>
<p>Do not show employer information:</p>
<p>Creating some distance between you and your employers might be a path you deem appropriate.  If your job does not require you to have a Web presence, then not posting your information provides a nice disconnect between your personal and professional life.  However, employers have still fired employees over content they wrote about on social networking sites without actually naming their employer.  Social Networking is a lot like the Wild West at this point.  The laws are gray and a lot of the land is unregulated. Thus I will state, once again, that social networking sites are pretty transparent and even if you do not state specifics about an employer you might still be soliciting a pink slip. This step is pointless if you have set up and maintain a Linkedin account.  See where I’m going with this?</p>
<p>Be aware:</p>
<p>I realize that I am starting to get a little repetitive.  Good.  The more aware you are that most employers are, or will be, monitoring what you do and say on these sites the better you will effectively judge your comments.  The best approach is to structure your online persona in a professional manner while making sure to never divulge any information about your job. The actions you take on these sites will reflect your current standing at your job and in the future with other potential employers.</p>
<p>For Businesses:</p>
<p>Instate an Online Privacy Policy!</p>
<p>By clearly outlining appropriate practices in relation to online behavior you will eliminate any gray areas that may arise.  These policies should be an extension of your normal Business Conduct Guideline made applicable to the online world.  Spell out common sense when presenting information as well as specific issues that may only occur in your company or industry.  You cannot stop individuals from posting and contributing to content online, but by setting up fair guidelines that promote online use your company can help to create a better online presence through your employees.  IBM has set up an excellent Online Privacy Policy (entitled Social Computing Guidelines) which is worth emulating.</p>
<p>Set up a Reputation Monitoring Dashboard:</p>
<p>If you do not already have a dashboard you should &#8211; regardless of your employees’ actions.  The ability to see how your brand and company is doing online is crucial to understanding your market while quickly responding to any problems customers may have expressed online.  Enacting a dashboard is easy.  Setting up a specific feed to follow all employees that write blogs is another step a business can take to monitor employees’ adherence to the Online Privacy Policy your company has instated.</p>
<p>Whether you are an individual or a company, understanding the importance of the relationship between the two online personas is crucial.  If done properly a company will be able to leverage their employees into a cohesive online unit with multiple interests all following a detailed Online Privacy Policy. Understanding that current/potential employers often use these sites to make hiring/firing decisions will allow you to create a professional Web presence of which you can be proud.</p>
<p>http://www.ibm.com/blogs/zz/en/guidelines.html</p>
<p>http://www.slashfood.com/2009/10/02/waiter-claims-firing-over-jane-adams-twitter/</p>
<p>http://www.msnbc.msn.com/id/37192342/</p>
<p>http://www.canada.com/calgaryherald/news/story.html?id=a627fa6e-8eca-4a84-8c82-45a693d4473d</p>
<p>http://www.itbusinessedge.com/cm/blogs/bentley/facebook-firing-not-the-way-to-go/?cs=40353</p>
<p>http://ohioemploymentlaw.blogspot.com/2010/05/textbook-example-of-facebook-firing.html</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ndQDL49DWPI:tUoDN2dC8vs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ndQDL49DWPI:tUoDN2dC8vs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=ndQDL49DWPI:tUoDN2dC8vs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ndQDL49DWPI:tUoDN2dC8vs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=ndQDL49DWPI:tUoDN2dC8vs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ndQDL49DWPI:tUoDN2dC8vs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=ndQDL49DWPI:tUoDN2dC8vs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=ndQDL49DWPI:tUoDN2dC8vs:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2011/04/25/online-privacy-policy-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2011/04/25/online-privacy-policy-2/</feedburner:origLink></item>
		<item>
		<title>What You’re Missing When Looking for Backlinks</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/5FSJXDO-iUI/</link>
		<comments>http://www.nurelm.com/themanual/2011/04/18/what-youre-missing-when-looking-for-backlinks/#comments</comments>
		<pubDate>Mon, 18 Apr 2011 19:33:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Backlinks]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Link Building]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=1839</guid>
		<description><![CDATA[The fact that many people are only interested in high level links is kind of alarming]]></description>
			<content:encoded><![CDATA[<p>A lot of online marketers and SEO individuals are starting to become rigidly defined in terms of proper ways to perform certain tasks. One such item of discussion is backlinks and the relevance of them. A lot of people are continually reaching for the most authoritative links out there. Now, I’m not saying this is ludicrous, but the fact that many people are only interested in these high level links IS kind of dumb.</p>
<p>As an example, let&#8217;s say that you have a site that sells obscure comic books. The site panders to items like parallel spin offs or fan favorites like Lobo. You&#8217;ve got tons of these, all in mint condition. People who are fringe comic book collectors really enjoy your site for shining some light on less than popular characters and series. Some traffic enjoys it so much that they actually talk about your site on their blogs. These people may be fan boys, but are their blogs?</p>
<p>Well, they may enjoy comic books, but they have other passions in life so they talk about all sorts of content, such as basket weaving, entertainment watches, photos of cats and dogs, or just about anything else you can think about. The thing is the majority of your backlinks aren’t from people who also sell comic books. Those people don’t want the competition that could occur from linking to you.<br />
So you have all these backlinks from sites that have nothing to do with comic books. Along with the fact that you have some great content on your site, this set up allows you to rank rather well for some nice key phrases in Google. Are these backlinks not relevant? Now it would be beneficial to acquire more relevant backlinks from authoritive sites, but you shouldn’t dismiss some links that at first glance seem irrelevant.</p>
<p>I’m not suggesting spammy links. What I’m stating is that you need to delve in a little more when researching where your links are originating. A lot of people out on the Web keep too much of a laser like focus on research when they should  widen their gaze. They may be able to find an untapped resource in what initially looked to be worthless.</p>
<p>With that out of the way, have you ever found an untapped resource that on first glance you thought was worthless? Let me know in the comments below.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=5FSJXDO-iUI:kNhslLomEaM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=5FSJXDO-iUI:kNhslLomEaM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=5FSJXDO-iUI:kNhslLomEaM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=5FSJXDO-iUI:kNhslLomEaM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=5FSJXDO-iUI:kNhslLomEaM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=5FSJXDO-iUI:kNhslLomEaM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=5FSJXDO-iUI:kNhslLomEaM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=5FSJXDO-iUI:kNhslLomEaM:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2011/04/18/what-youre-missing-when-looking-for-backlinks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2011/04/18/what-youre-missing-when-looking-for-backlinks/</feedburner:origLink></item>
		<item>
		<title>7 Myths Not To Fall for When Looking for SEO Services</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/j_eT0hWLOgs/</link>
		<comments>http://www.nurelm.com/themanual/2011/04/11/7-myths-not-to-fall-for-when-looking-for-seo-services/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 19:29:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Keyword Research]]></category>
		<category><![CDATA[Link Building]]></category>
		<category><![CDATA[Myths]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=1847</guid>
		<description><![CDATA[The amount of misdirection, fluff, and inaccuracies surrounding SEO makes it difficult for a SMB's to really figure out what SEO is and who they should hire to help them. ]]></description>
			<content:encoded><![CDATA[<p>I know that almost every blog out there throws up a myths list every so often. The amount of misdirection, fluff, and inaccuracies surrounding SEO makes it difficult for a SMB&#8217;s to really figure out what SEO is and who they should hire to help them. Below are several areas to look out for when trying to find an SEO company.</p>
<p><strong>We&#8217;ll Optimize Your Site (and Nothing Else) </strong></p>
<p>I’m not saying this isn’t a part of SEO, but starting a campaign certaintly doesn’t start or end at this point. I find a lot of clients will give me a list of keywords they want to use, and I often have to go back and tell them they are wrong. I realize that the client knows more about the industry, but they don’t take the time to research how that industry relates to organic search. So before you start slinging wild phrases across your site a thorough search should be done.  Additionally, you may be working on your site but SEO also encompasses going out of your site to create content and links that help you to rise in the SERP’s.</p>
<p><strong>Keyword Stuffing </strong></p>
<p>A long time ago, in a galaxy that housed the earth, there was such a thing as a meta tag used for keywords. You would be able to use this tag to stuff a multitude of key terms in much the same way a turduken is prepared. It was a magical time where by doing this would help you rank exceptionally well. Google has caught on to this and the keyword tag offers no weight anymore.</p>
<p><strong>Google Adwords has a Direct Correlation to Organic Ranking </strong></p>
<p>Don’t fall for this one. PPC data can be useful but other than that there is no contributing factor between Pay-Per-Click and organic rankings.</p>
<p><strong>SEO is Not a One Time Service </strong></p>
<p>I think a lot of SEO individuals might disagree with me on this one. Now, I understand for highly competitive markets an ongoing campaign is essential. Not everyone deals in high level markets, though, and a lot of SMBs are centered around small niche demographics. You really don’t need to have an ongoing campaign in those cases. A strong campaign against pretty weak competition and generally keeping an eye out on your rankings for your key words/phrases should be enough. Most SEO people won’t tell you that.</p>
<p><strong>We Will Submit Your Site to Over X number of Search Engines </strong></p>
<p>How many search engines can you name off the top of your head? If you’re a normal person I’m guessing about three. The reality is that there are really only three major search engines with Google bringing the majority of those searches. There was a time when one would have to personally submit a site to search engines. This is another outdated practice that you don’t have to do.</p>
<p><strong>Masking Text </strong></p>
<p>This is a super old technique that is depreciated. Basically you plug in a ton of keywords but utilize the same color as your background for your font. So while traffic to your site cannot read the horror of crap hidden on your site a spider would. So, in theory, the spider would relate that the site is talking a whole ton about the chosen key word/phrases. In reality Google penalizes this tactic and considers it a spam technique. So instead of ranking well for the term you masked Google considers you a spam site and you’ll drop in the rankings or get blacklisted from Google.</p>
<p><strong>Guaranteed SEO results </strong></p>
<p>In no way can an SEO state that you can be number 1 in the rankings. There are a ton of agencies out there that state this on their site. The old adage of “if it sounds too good to be true, it is” holds true here.</p>
<p>So now you’re outfitted with areas that an SEO firm shouldn’t be doing or offering. In another post I’ll go over what you should be looking for in a good SEO company. Have you had any experiences with any of these myths being presented to you? Let me know how you handled it in the comments below!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=j_eT0hWLOgs:9YRzaomc3zY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=j_eT0hWLOgs:9YRzaomc3zY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=j_eT0hWLOgs:9YRzaomc3zY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=j_eT0hWLOgs:9YRzaomc3zY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=j_eT0hWLOgs:9YRzaomc3zY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=j_eT0hWLOgs:9YRzaomc3zY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=j_eT0hWLOgs:9YRzaomc3zY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=j_eT0hWLOgs:9YRzaomc3zY:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2011/04/11/7-myths-not-to-fall-for-when-looking-for-seo-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2011/04/11/7-myths-not-to-fall-for-when-looking-for-seo-services/</feedburner:origLink></item>
		<item>
		<title>Web Design vs SEO Who’s Right?</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/f6VdnAE0B74/</link>
		<comments>http://www.nurelm.com/themanual/2011/04/04/web-design-vs-seo-whos-right/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 19:24:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=1818</guid>
		<description><![CDATA[Web Designers and SEO teams remain locked in a heated debate divided by user experience versus online visibility. ]]></description>
			<content:encoded><![CDATA[<p>Web Designers and SEO teams remain locked in a heated debate divided by user experience versus online visibility. Both sides stand behind their respective crafts, each believing their work is vital to online success.<br />
On the one hand, SEO&#8217;s main goal is to drive traffic by increasing ranking in the Search Engines. The other must communicate brand experience through the clients website. Both are essential to a company, yet employ very different techniques and ideas. How can web design and SEO teams work together to achieve the best possible site for a client?</p>
<h4><strong> The Design Aspect </strong></h4>
<p>Web Designers create websites with the client&#8217;s audience in mind. Too often they believe a user&#8217;s experience dictates success. A simple &#8220;build it and they will come&#8221; mindset pervades their approach to site design. That&#8217;s not all bad.<br />
At a very basic level, creative teams love to tell a story. Through design and copy, the team takes a brand and crafts a world for it. They build a Website with a look and theme; a feel and flavor. Often, the most effective way to convey a message is through more expressive technologies like AJAX, Flash Animation, and Silverlight. Even video integration, like YouTube, has become more prevalent in the passing years.<br />
Designers want to make use of these technologies because they engage the user. Technological integration helps tell the brand story and bring design to life. If Flash or Silverlight will make the overall site experience more enticing and interactive, then designers should implement them accordingly.</p>
<h4><strong>The SEO Team</strong></h4>
<p>If a designer tells a story, then the search engineer provides directions. The SEO side focuses heavily on traffic and visibility, believing a website must be seen to be heard.<br />
Now here&#8217;s a surprise. SEO wants to use those expressive technologies as well. They&#8217;re just more cautious about when and where. While an SEO-friendly website doesn&#8217;t need to be straight HTML, SEO teams must take into consideration the way Search Engines set up their algorithims and the best way to maximize a site so it ranks well. Even if a site uses AJAX, key content must still be accessible to spiders for indexing.<br />
This is where the two disciplines clash. When creative says Flash, SEO counters with CSS. When creative wants rollover navigation, SEO wants text-based. So what&#8217;s more important: the experience or the traffic? </p>
<h4><strong>Compromising</strong></h4>
<p>It can&#8217;t all be about Search Engine Optimization. If you drive traffic to a site and user experience is sub-par, you disappoint not only the user but the client as well. Conversely, what good is an eye-catching website if no one can see it? The Internet is big enough for both experimental web design and search optimization.<br />
The key to such compromises is education. The design side must understand how SEO works; SEO must also comprehend the importance of certain design elements to branding and messaging. Both must also consider how visitors will reach the site.  Depending on where and how you receive traffic  must be considered when negotiating design and optimization issues.</p>
<h4><strong>The Client Comes First</strong></h4>
<p>Regardless of department affiliation,  web designers and SEO&#8217;s will place the client&#8217;s interests before their own. Clients want both brand identity and search visibility. The creative and SEO teams need to put aside their feud in order to meet such expectations.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=f6VdnAE0B74:rBHOKFS9kQg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=f6VdnAE0B74:rBHOKFS9kQg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=f6VdnAE0B74:rBHOKFS9kQg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=f6VdnAE0B74:rBHOKFS9kQg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=f6VdnAE0B74:rBHOKFS9kQg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=f6VdnAE0B74:rBHOKFS9kQg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=f6VdnAE0B74:rBHOKFS9kQg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=f6VdnAE0B74:rBHOKFS9kQg:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2011/04/04/web-design-vs-seo-whos-right/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2011/04/04/web-design-vs-seo-whos-right/</feedburner:origLink></item>
		<item>
		<title>How to Get Started With Google Analytics for the Small Business Owner</title>
		<link>http://feedproxy.google.com/~r/websiteownersmanual/~3/rKOKdvMzAo0/</link>
		<comments>http://www.nurelm.com/themanual/2011/03/28/how-to-get-started-with-google-analytics-for-the-small-business-owner/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 19:22:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Analytics]]></category>

		<guid isPermaLink="false">http://www.nurelm.com/themanual/?p=1856</guid>
		<description><![CDATA[It can be difficult running a small business and having the time to set up and pull out the data that really impacts your online business.]]></description>
			<content:encoded><![CDATA[<p>This post is for beginners, so if you’ve been around for awhile this stuff isn’t going to be new. You’ve probably heard the term Web Analytics used and you likely validated one to track data on your website. I’m going with the assumption that you used Google Analytics, because it’s free and robust. It can be difficult running a small business and having the time to set up and pull out the data that really impacts your online business. Below I’ll cover a few cursory topics of what you should look for when getting familiar with Google Analytics.</p>
<p><strong>Make Sure you Set up a Master Account </strong></p>
<p>You’re going to want to set up and test a decent amount of items with Google Analytics. The thing is that you’re not always going to do them correctly, trust me. By setting up a master account you can rest assured that your data will never be skewed while you use other accounts to test out filters, funnels, goals, etc.</p>
<p><strong>Make sure you set up filters </strong></p>
<p>Filters allow you to direct traffic in a way that gives you a more realistic scope of the traffic and conversions happening on your site. I wrote a nice little post entitled <a href="http://www.nurelm.com/themanual/2010/11/29/four-google-analytics-filters-you-should-be-using/" target="”blank”">Four Google Analytics Filters You Should Be Using</a> . By setting up filters you’ll have a nice start and may be surprised by what you thought your traffic was compared to what it really is after filtering out useless or repetitive data.</p>
<p><strong>Use Google Analytics to Monitor Organic Keyword </strong></p>
<p>You may have already provided on-site optimization to your site. The real benefit from this area is realized when you can’t always keep up with keyword research. Google Analytics will allow you to see the terms visitors used before selecting your site. Looking for anomalies of terms not often associated, or never thought about, with your site can be a way to focus a new page or product towards these individuals. Further research should be taken before committing to making changes, though. Still, you can grab a list generated by GA and it takes some guess work out of the equation.</p>
<p><strong>Check Your Stats in a Regimented Time Frame </strong></p>
<p>I suggest looking at your data weekly and compiling that information into a spreadsheet to help you see rising or declining trends in a number of areas. If you haphazardly look at the data GA provides it becomes meaningless again. By generating several months worth of data it will allow you to make decisive actions and to combat any specific problems that may occur.<br />
The key is to not rush it. Take your time and learn at your own pace. You’ll have a master account set up to combat any mishaps that you might cause while changing settings, filters to provide you more reliable data, a greater grasp on your organic key phrase traffic, and a growing complied list of data to help you make decision in the future.</p>
<p>Have a Web Analytics related question? Leave a comment and we can discuss!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=rKOKdvMzAo0:u0TtuHDveVE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=rKOKdvMzAo0:u0TtuHDveVE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=rKOKdvMzAo0:u0TtuHDveVE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=rKOKdvMzAo0:u0TtuHDveVE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=rKOKdvMzAo0:u0TtuHDveVE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=rKOKdvMzAo0:u0TtuHDveVE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/websiteownersmanual?a=rKOKdvMzAo0:u0TtuHDveVE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/websiteownersmanual?i=rKOKdvMzAo0:u0TtuHDveVE:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.nurelm.com/themanual/2011/03/28/how-to-get-started-with-google-analytics-for-the-small-business-owner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nurelm.com/themanual/2011/03/28/how-to-get-started-with-google-analytics-for-the-small-business-owner/</feedburner:origLink></item>
	</channel>
</rss>

