<?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>HighEdWebTech &#187; XHTML</title>
	<atom:link href="http://highedwebtech.com/category/xhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://highedwebtech.com</link>
	<description>Higher Ed Web Development</description>
	<lastBuildDate>Fri, 20 Jan 2012 14:00:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Tracking Specific Actions in WordPress &amp; Google Analytics</title>
		<link>http://highedwebtech.com/2011/09/21/tracking-specific-actions-in-wordpress-google-analytics/</link>
		<comments>http://highedwebtech.com/2011/09/21/tracking-specific-actions-in-wordpress-google-analytics/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 14:14:56 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Analytics]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[event tracking wordpress]]></category>
		<category><![CDATA[event tracking wp]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[google analytics event tracking]]></category>
		<category><![CDATA[google analytics events tracking]]></category>
		<category><![CDATA[wordpress google analytics]]></category>
		<category><![CDATA[wp ga event tracking]]></category>

		<guid isPermaLink="false">http://highedwebtech.com/?p=1770</guid>
		<description><![CDATA[As part of our rollout of WordPress as our CMS, we&#8217;ve given our users several custom post types, allowing them to create and manage assets such as rotating display banners and graphical link buttons. We want to be able to easily track actions on these banners and buttons, and want to be able to see [...]]]></description>
			<content:encoded><![CDATA[<p>As part of our rollout of WordPress as our CMS, we&#8217;ve given our users several custom post types, allowing them to create and manage assets such as rotating display banners and graphical link buttons. We want to be able to easily track actions on these banners and buttons, and want to be able to see that information easily in Google Analytics.</p>
<p>One of the new features in the newer versions of Google Analytics (GA) is the ability to track <a href="http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html">event actions</a> on a link. This can be not only clicks, in our case, on a button, link or graphic, but you can setup javascript triggers when a user starts, stops or pauses a video, for example.</p>
<p>Setting this up is pretty straightforward. First, you&#8217;ll need to add a quick snippet to your GA embed code, if you aren&#8217;t already. It&#8217;s the <code>trackPageview</code> function. You&#8217;ll add it under the line in your GA code where you&#8217;re account code is. For example:</p>
<pre class="brush: jscript; highlight: [4]; title: ; wrap-lines: false; notranslate">&lt;script type=&quot;text/javascript&quot;&gt;

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

&lt;/script&gt;</pre>
<p>That will allow you to start tracking events on your pages. To add the event tracking action to a specific element on your page, you add a line of code that looks like this to your <code>a</code> tags. </p>
<pre class="brush: jscript; title: ; notranslate">onClick=&quot;_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']);&quot;</pre>
<p>There are three fields there to pay attention to. The first is the category field. In the above example, it&#8217;s <code>Videos</code>. You can have multiple categories on a certain page. On our WordPress sites, we&#8217;re specifically tracking banners and small image buttons, often on the same page. </p>
<p>The second field is the action variable &#8211; which in the example above is <code>Play</code>.  For our WordPress pages, we use the term <code>Click</code>. Through javascript and PHP variables, you can make your actions very specific, such as:</p>
<pre class="brush: jscript; title: ; notranslate">
_gaq.push(['_trackEvent', 'Videos', 'Play - Mac Chrome');
_gaq.push(['_trackEvent', 'Videos', 'Play - Windows Chrome');
</pre>
<p>And finally, the label. Above, it's <code>Baby's First Birthday</code>. For our uses, we tailor this to the specific banner or button getting clicked. After a few days, we realized it would also be good to know what site the visitor was on. As with the other fields, this should be tailored to the specific content being clicked on. In the video example, you'd have something like this for different videos being played:</p>
<pre class="brush: jscript; title: ; notranslate">
_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']);
_gaq.push(['_trackEvent', 'Videos', 'Play', 'Huckleberry Finn']);
</pre>
<p>To our user, our links look like this:</p>
<pre class="brush: xml; auto-links: true; html-script: false; light: false; pad-line-numbers: false; smart-tabs: true; tab-size: 4; title: ; toolbar: false; notranslate">
&lt;a href=&quot;http://sites.jcu.edu/newsroom/?p=1697&quot; onClick=&quot;_gaq.push(['_trackEvent', 'Taters', 'Click', 'Princeton Review Best in the Midwest (Site: JCU Newsroom ID: 1694)']);&quot;&gt;
&lt;img src=&quot;http://webmedia.jcu.edu/newsroom/files/2011/08/princeton_review-700x230.jpg&quot; alt=&quot;Princeton Review Best in the Midwest&quot; /&gt;
&lt;/a&gt;
</pre>
<p>In our WordPress templates, it looks like this:</p>
<pre class="brush: php; auto-links: true; html-script: false; light: false; pad-line-numbers: false; smart-tabs: true; tab-size: 4; title: ; toolbar: false; notranslate">
&lt;a href=&quot;&lt;?php echo $url; ?&gt;&quot; onClick=&quot;_gaq.push(['_trackEvent', 'Taters', 'Click', '&lt;?php echo get_the_title($ID).&quot; (Site: &quot;.get_bloginfo('name').&quot; ID: &quot;.$id.&quot;)&quot;; ?&gt;']);&quot;&gt;
&lt;img src=&quot;&lt;?php echo $img[0]; ?&gt;&quot; alt=&quot;&lt;?php echo get_the_title($ID); ?&gt;&quot; /&gt;
&lt;/a&gt;
</pre>
<p>We are tracking the individual banner that was clicked on, as well as the site the banner appears on. We add an additional field for our own, the actual ID of the banner asset. We do that just in case we need to find one quickly, or two banners get named the same thing. It&#8217;s happened. </p>
<p>That gives us a very nice report in GA that looks like this:</p>
<p><a href="http://media.highedwebtech.com/wp-content/uploads/2011/09/Screen-shot-2011-09-06-at-12.03.54-PM.png"><img src="http://media.highedwebtech.com/wp-content/uploads/2011/09/Screen-shot-2011-09-06-at-12.03.54-PM.png" alt="" title="Screen shot 2011-09-06 at 12.03.54 PM" width="580" class="aligncenter size-full wp-image-1811" /></a></p>
<p>We can very easily filter by a specific site to see what buttons and graphics are getting clicked on. You could also add this to any static link as well, but I&#8217;m specifically interested on what specific calls to action are getting noticed by our users. </p>
]]></content:encoded>
			<wfw:commentRss>http://highedwebtech.com/2011/09/21/tracking-specific-actions-in-wordpress-google-analytics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Will Google Rank Your Site Higher if its Faster?</title>
		<link>http://highedwebtech.com/2009/11/23/will-google-rank-your-site-higher-if-its-faster/</link>
		<comments>http://highedwebtech.com/2009/11/23/will-google-rank-your-site-higher-if-its-faster/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 14:08:33 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Amazon CloudFront]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rackspace]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Mod_Gzip]]></category>
		<category><![CDATA[WP Super Cache]]></category>

		<guid isPermaLink="false">http://highedwebtech.com/?p=931</guid>
		<description><![CDATA[GigaOm reported this weekend that Google potentially may look as how fast your site loads and integrate that into its PageRank system. Matt Cutts, a software engineer and an eloquent corporate spokesman for Google, spoke at PubCon earlier this month and later gave a video interview to Web Pro News, in which he said that [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://t0.gstatic.com/images?q=tbn:735sH_RrC2x9ZM:http://www.pjcj.net/yapc/yapc-eu-2006-enigmatic_perl/slides/images/stopwatch.jpg" style="float:right;padding:7px;" />GigaOm <a href="http://gigaom.com/2009/11/22/should-web-page-speed-influence-google-pagerank/?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+OmMalik+%28GigaOM%29">reported</a> this weekend that Google potentially may look as how fast your site loads and integrate that into its PageRank system.</p>
<blockquote><p>Matt Cutts, a software engineer and an eloquent corporate spokesman for Google, spoke at PubCon earlier this month and later gave a video interview to Web Pro News, in which he said that the speed at which web pages are available might become a factor in SEO moving into 2010. </p></blockquote>
<p>While Google hasn&#8217;t officially said this is going to happen, having as fast a website as possible is a very good thing, for your users and for you.</p>
<p>So, let&#8217;s look at a few ways you can improve the speed of your site.</p>
<p><strong>1. Compression</strong></p>
<p>Most, if not all, of the major web servers available today offer some sort of compression. What that means is they serve out the content to your browser in a certain way, much like a ZIP file, that your browser can read and deflate very quickly. Smaller files sent = faster site.</p>
<p>Now, how you set up compression differs by what web server you are using and what platform your server is.</p>
<p>In PHP, it can be as easy as adding one line of code to your site. Like this:</p>
<p><code><br />
&lt;?php<br />
    ob_start("ob_gzhandler");<br />
?><br />
</code></p>
<p>If you&#8217;re using Apache and only serving out HTML, you should look into the <a href="http://www.linux.ie/articles/tutorials/mod_gzip.php">mod_gzip</a> apache plugin. It compresses text files on the fly. Here are some <a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/d52ff289-94d3-4085-bc4e-24eb4f312e0e.mspx?mfr=true">instructions</a> for IIS, though there are also commercial plug-ins you can buy to achieve the same result.</p>
<p>Sometimes you may not have access to the actual server or root access to install some of these services. No worries &#8211; some CMS and blogging systems offer plug-ins to achieve some of these things.</p>
<p><img src="http://highedwebtech.com/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-9.02.26-AM.png" alt="Screen shot 2009-11-23 at 9.02.26 AM.png" border="0" width="147" height="112" style="float:right;padding:5px;" />I&#8217;m a WordPress nut, so on all of the installs I run, one of the first things I always install is <a href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a>, created by <a href="http://ocaoimh.ie/">Donncha O Caoimh</a>. This plugin will cache pages of your site for super fast loading, it will compress HTML, if enabled. This plugin also works in MU, and I&#8217;ll blogging that later.</p>
<p>Not sure its worth it? Check for yourself. There are many sites on the web that test your site and see if you are compressing data. <a href="http://www.whatsmyip.org/http_compression/">Here&#8217;s one</a> that quick and easy to use. For this site, by using compression I&#8217;m saving almost 75% in terms of the amount of data sent. Faster sends = faster site loads for users.</p>
<div style="text-align:center;"><img src="http://highedwebtech.com/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-8.30.37-AM1.png" alt="Screen shot 2009-11-23 at 8.30.37 AM.png" border="0" width="332" height="134" /></div>
<p><strong>2. Cut Down On Stuff</strong></p>
<p>Compression is great, but if you site is pulling in a million assets, widgets from third-party sites, and three or four Javascript libraries, it won&#8217;t make any difference. If you can, cut down on the number of calls, <a href="http://www.minifyjs.com/">minify</a> your javascript libraries and determine something like that Facebook fan box is absolutely critical to a page.</p>
<p>I think we&#8217;re all a bit guilty in the broadband era of not worrying about how much our page weights are. It&#8217;s worth looking at, especially as more and more web surfing is done on mobile devices.</p>
<p>Want to see how much stuff your code is calling for? Check out <a href="http://getfirebug.com/">Firebug</a> for Firefox or use Safari&#8217;s built-in Web Inspector. You may be surprised what you see.</p>
<div style="text-align:center;"><img src="http://highedwebtech.com/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-8.57.54-AM.png" alt="Screen shot 2009-11-23 at 8.57.54 AM.png" border="0" width="479" height="77" /></div>
<p><strong>3. CDN</strong></p>
<p>Serving some of your static content (images, CSS, js) from a content delivery network will increase the speed of your site. These assets don&#8217;t change very often, so why not let a very fast network serve them out.</p>
<p>There are a ton of options out there, from very expensive to not so expensive, but the two I&#8217;d recommend are <a href="http://aws.amazon.com/cloudfront/">Amazon S3/Cloudfront</a> and Rackspace&#8217;s <a href="http://www.rackspacecloud.com/cloud_hosting_products/files">Cloud Files</a>.</p>
<p>Those two are inexpensive, easy to use and very fast. The few bucks a month you&#8217;ll pay are well worth it.</p>
<p><strong>4. Semantically Strong Code</strong></p>
<p>Last but not least, if you write clean, good code, your site will load very faster.</p>
<p>If your code is a mess, or god forbid, you&#8217;re still using a layout method like tables, your site is going to take longer to come down the pipe and also render out for the user.</p>
<p>Are there easy things I&#8217;m missing? Leave a comment and let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://highedwebtech.com/2009/11/23/will-google-rank-your-site-higher-if-its-faster/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Page Validation The Easy Way</title>
		<link>http://highedwebtech.com/2009/01/21/page-validation-the-easy-way/</link>
		<comments>http://highedwebtech.com/2009/01/21/page-validation-the-easy-way/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 15:34:19 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Web App]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[fancy Web]]></category>
		<category><![CDATA[homegrown web project management tool]]></category>
		<category><![CDATA[valid XHTML]]></category>
		<category><![CDATA[W3c]]></category>
		<category><![CDATA[Web People]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[XHTML 1.0 Strict]]></category>

		<guid isPermaLink="false">http://highedwebtech.com/?p=427</guid>
		<description><![CDATA[Since we redesigned our site a few years ago, I&#8217;ve done my best to ensure that pages validate as best as possible. We designed with XHTML 1.0 strict in mind, and at launch, at least, we met that goal on many pages. The challenge is that we have many different people working on pages across [...]]]></description>
			<content:encoded><![CDATA[<p>Since we redesigned <a href="http://www.allegheny.edu/">our site</a> a few years ago, I&#8217;ve done my best to ensure that pages validate as best as possible. We designed with XHTML 1.0 strict in mind, and at launch, at least, we met that goal on many pages.</p>
<p>The challenge is that we have many different people working on pages across several departments, and they are all not &#8220;web people,&#8221; so creating pages that comply with web standards isn&#8217;t their top priority. So, a few years back, we wrote a web app to help us with tracking pages, which I&#8217;d like to share with you today.</p>
<p><a href="http://highedwebtech.com.s67666.gridserver.com/wp-content/uploads/2009/01/picture-11.png"><img src="http://highedwebtech.com/wp-content/uploads/2009/01/picture-11-300x273.png" alt="picture-11" title="picture-11" width="300" height="273" class="aligncenter size-medium wp-image-435" /></a></p>
<p>No fancy Web 2.0 stuff here, it&#8217;s straight-up ease of use for the only audience this tool has &#8211; me, Josh and our students. This page shows a list of pages that we need to check. It shows me if the page has been assigned to someone to fix, and what style sheet the page uses. The first step is to check the validity of any page. So, clicking on a link brings me to this page.</p>
<p><a href="http://highedwebtech.com.s67666.gridserver.com/wp-content/uploads/2009/01/picture-21.png"><img src="http://highedwebtech.com/wp-content/uploads/2009/01/picture-21-300x227.png" alt="picture-21" title="picture-21" width="300" height="227" class="aligncenter size-medium wp-image-431" /></a></p>
<p>This page is made up of two frames. Let&#8217;s start with the bottom frame. It&#8217;s the W3C results of a validation test, which is pulled in automatically depending on the URL we feed it. Once the results are in, I can set the validation status of the page as well as see a history of the times we&#8217;ve checked this page. We are adding content to pages just about every day, so it&#8217;s not uncommon for a page not to validate from time to time. Our code also pulls the style sheet the page is using, so we also know if the page CSS was changed at some point.</p>
<p>Once the information is submitted, the window closes and our main app updates. Next, I need to assign these pages to someone, either myself or one of our students. I select the checkboxes next to the pages and select who will update these pages at the top of the form.  At this point, the pages to be updated are automatically created as a new project in our homegrown web project management tool. The next time the student logs into the project system, they&#8217;ll see the pages they&#8217;ve been assigned and can start work on them.</p>
<p><a href="http://highedwebtech.com.s67666.gridserver.com/wp-content/uploads/2009/01/picture-3.png"><img src="http://highedwebtech.com/wp-content/uploads/2009/01/picture-3-300x135.png" alt="picture-3" title="picture-3" width="300" height="135" class="aligncenter size-medium wp-image-434" /></a></p>
<p>It&#8217;s quick and easy and makes validation, as well as the sometimes annoying task of keeping up with validation, less of a burden.</p>
]]></content:encoded>
			<wfw:commentRss>http://highedwebtech.com/2009/01/21/page-validation-the-easy-way/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

