<?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>Eklog &#187; SEO</title>
	<atom:link href="http://www.ekstasis.net/log/category/seo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ekstasis.net/log</link>
	<description></description>
	<lastBuildDate>Sun, 13 Sep 2009 21:21:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Standards</title>
		<link>http://www.ekstasis.net/log/2008/03/26/standards/</link>
		<comments>http://www.ekstasis.net/log/2008/03/26/standards/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 22:09:49 +0000</pubDate>
		<dc:creator>mat</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.ekstasis.net/log/2008/03/26/standards/</guid>
		<description><![CDATA[HTML Markup:

XHTML Strict 1.0 W3C valid markup.
Semantically correct markup &#8211; e.g. use &#60;ul&#62; unordered lists for any list of items.
Common identifiers should be used based on potential HTML classes and hCard microformat.

Cross Browser Valid:

Identical (and fully functional) user experience across browsers. (note: browser differences for font anti-aliasing are expected) &#8211; Internet Explorer 6, 7 &#038; [...]]]></description>
			<content:encoded><![CDATA[<p>HTML Markup:</p>
<ul>
<li>XHTML Strict 1.0 W3C valid markup.</li>
<li>Semantically correct markup &#8211; e.g. use &lt;ul&gt; unordered lists for any list of items.</li>
<li>Common identifiers should be used based on potential HTML classes and hCard microformat.</li>
</ul>
<p>Cross Browser Valid:</p>
<ul>
<li>Identical (and fully functional) user experience across browsers. (note: browser differences for font anti-aliasing are expected) &#8211; Internet Explorer 6, 7 &#038; 8 + Safari 2 &#038; 3 + Firefox 2 &#038; 3 + Google Chrome + Opera 9  for Windows XP | Firefox 2 &#038; 3 + Safari 2 &#038; 3 for Mac OSX.</li>
</ul>
<p>CSS Styling:</p>
<ul>
<li>CSS styles must be completely unobtrusive with no inline styles.</li>
<li>Elements should not be positioned absolutely unless necessary &#8211; All main element blocks should normally be positioned relatively so if new content is added the existing elements would automatically reposition in the flow. Also wherever font-size is increased the layout integrity remains.</li>
</ul>
<p><span id="more-86"></span><br />
Client side scripting:</p>
<ul>
<li>All JavaScript should be unobtrusive and loaded / called through external files &#8211; using IDs or Classes as hooks, no inline JavaScript such as onclick functions.</li>
<li>The existence of Functions and Objects should be tested for before use where practical.</li>
<li>The jQuery library is preferred.</li>
</ul>
<p>Accessibility:</p>
<ul>
<li>JavaScript features are unobtrusive and the dynamic features degrade well with scripting disabled: All content should be accessible with JavaScript disabled including hidden or asynchronously included content. (e.g. Content asynchronously included with AJAX is replaced with a standard link for screen readers or clients with no javaScript.)</li>
<li>Content should be accessible via keyboard for users without mouse control.</li>
<li>Using meaningful ALT text for information images.</li>
<li>Links should have descriptive hyperlink text and titles warning of link actions.</li>
<li>Text colours have adequate contrast for colour blind/challenged users.</li>
<li>Avoid the use of frames, which are difficult for special browsers to interpret.</li>
<li>Keyboard shortcut to main content available.</li>
<li>Labels assigned to form items and forms have accessible design.</li>
</ul>
<p>Usability:</p>
<ul>
<li>Links, buttons &#038; other dynamic elements have hover states, focus states and active states.</li>
<li>AJAX calls include history recording for forward / back buttons and bookmarking / links.</li>
<li>Navigation menu will only activate when the user intends to use it – i.e. user slows the cursor down over a link. The menu is not activated if the cursor is dragged across the menu. (through a delay or hover intent script)</li>
<li>Search field has suggestion. This  is greyed out until the user starts typing.</li>
</ul>
<p>SEO:</p>
<ul>
<li>Site is fully available without JavaScript.</li>
<li>Semantic mark-up with consistent URL, breadcrumb and content titles. Where titles are graphical, &lt;h1&gt; image replacement techniques are used.</li>
<li>CSS coding allows the content to appear before the top and left navigation in the source code. Spiders will arrive at the header then the &lt;h1&gt; tags at the top of the content. They spider the content first then the navigation and footer last &#8211; enhancing SEO.</li>
</ul>
<p>Optimization:</p>
<ul>
<li>Repeating background image layers used for reoccurring design patterns.</li>
<li>Dynamic graphical elements preloaded and highlighted using CSS sprites technique.</li>
<li>AJAX used to pull in optional content where file size may degrade performance.</li>
</ul>
<p>Accessibility issues that are not priority 1 issues and do not fail the legal Accessibility guideline requirements:<br />
- Text input fields with a default value &#8211; Text fields may have a default value &#8211; but only for users with JavaScript enabled (96% of users). This is so that a &#8216;dynamic&#8217; default value can be added that disappears when the user click in the box. This is a superior solution but not 100% accessible to people with disabilities.<br />
- Adjacent links are separated by white space &#8211; CSS is used to separate some adjacent links. This can make it difficult for some older assistive technologies (readers for the blind). This is done to improve performance and ease of future updates. People should update their older assistive technologies.<br />
- Web colour scheme may not be tested against protanope, deuteranope, and tritanope colour-blindness.<br />
- Form fieldsets do not have legends. These are normally catered for by titles, or left out when the design requires.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ekstasis.net/log/2008/03/26/standards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bullet proofing for the new browsers</title>
		<link>http://www.ekstasis.net/log/2008/01/15/bullet-proofing-for-the-new-browsers/</link>
		<comments>http://www.ekstasis.net/log/2008/01/15/bullet-proofing-for-the-new-browsers/#comments</comments>
		<pubDate>Tue, 15 Jan 2008 17:24:44 +0000</pubDate>
		<dc:creator>mat</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.ekstasis.net/log/2008/01/15/bullet-proofing-for-the-new-browsers/</guid>
		<description><![CDATA[
Here&#8217;s a few tips to bear in mind now we have a new range of browsers.
Accessibility needs are becoming more important as a solution to giving cross-browser accessibility to everyone. It&#8217;s not just people who have accessibility needs, now it&#8217;s devices, or &#8216;thin clients&#8217; which are having accessibility issues.
There&#8217;s some new rules for ensuring your [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ekstasis.net/images/logpics/newbrowsers.jpg" width="480" height="100" alt="Mobile Browsers" /></p>
<p>Here&#8217;s a few tips to bear in mind now we have a new range of browsers.</p>
<p>Accessibility needs are becoming more important as a solution to giving cross-browser accessibility to everyone. It&#8217;s not just people who have accessibility needs, now it&#8217;s devices, or &#8216;thin clients&#8217; which are having accessibility issues.</p>
<p>There&#8217;s some new rules for ensuring your web site works with browser zoom or in the new mobile browsers.</p>
<h2>Phone browsers</h2>
<p>There&#8217;s two new browsers in town: Apple IPhone and Opera Mini (testing on version 3.1.2). They shrink full websites down to a small screen size. </p>
<p>1. Css media=&#8221;handheld&#8221; is ignored by the iPhone and Opera mini browsers. They think they&#8217;re real browsers. Any style-sheet with media=&#8221;screen&#8221; will be rendered by these phone browsers.</p>
<p>2. Zoom isn&#8217;t a raster zoom. The text font size is reduced independently to the spacial elements. It should be reduced by exactly the same amount but it doesn&#8217;t always work perfectly. </p>
<p><span id="more-62"></span></p>
<p> &#8211; If there&#8217;s a mix of different size fonts on your page, the zoom will try to maintain their relative size ratio. So, for example, if the navigation has a text size that&#8217;s a lot bigger than the body text, it&#8217;s likely it will look too big on a phone browser.<br />
- Piped lists are tricky. If you just add a right border it gets all squashed up. There&#8217;s been a lot of work on developing a piped list (e.g. &#8216;link1 | link2&#8242;) with the best possible mark-up and all presentation separate in the CSS. <a href="http://brunildo.org/test/NavBar8.php">Brunildo&#8217;s CSS piped list</a> is one of the best &#8211; and it seems to work well with browser zoom. He uses the <a href="http://www.cssplay.co.uk/boxes/minwidth.html">cssplay</a> min width technique.  </p>
<p>3. Opera mini doesn&#8217;t do DHTML well. That means it doesn&#8217;t do show-hide toggles, carousels, or menu drop-downs properly. </p>
<p>Here&#8217;s what they say at the <a href="http://dev.opera.com/articles/view/javascript-support-in-opera-mini-4/" title="Click to go to the Opera Mini Dev Center">Opera Mini Dev Center</a>:</p>
<p>1. Limited support for DOM events<br />
2. No background scripting<br />
3. Very limited Ajax support</p>
<p>So all those people who said your web page should be accessible with javascript disabled  may have had a point.</p>
<p>The iPhone can handle these properly.</p>
<p>4.Sliders, dials and drag-drop functionality</p>
<p>Accessible user interfaces are needed for phone browsers with touch screens. The touch screen function is used to either scroll the page or for zoom using the iPhone&#8217;s new &#8216;pinch&#8217; functionality. This means &#8216;draggable&#8217; controls cannot be used with the touch screen technology. This includes sliders, dials and drag-drop elements. So long as the control can be brought into focus and controlled using keys, it should be possible to operate them on some touch screens but the iPhone has no access at all. </p>
<p>5. Flash does not work on the iPhone or using the Opera Mini Browser.</p>
<h2>Zooming on &#8216;computer&#8217; browsers</h2>
<p>1. If people use the zoom in the Opera browser you need to ensure you select background colours properly. Divs with background-color: transparent on top of a div with a white background &#8211; it turns black. You need to set the background-colour to white. (This doesn&#8217;t seem to cause a problem in the mini-opera phone browser.)</p>
<p>2. Zooming on IE7 &#8211; watch out for your floats. This won&#8217;t affect most sites but some liquid sites using opposing floats can be affected. (You don&#8217;t see any of the float issues seen in IE7 (Opera and Opera Mini pass the <a href="http://www.howtocreate.co.uk/acid/" title="Click to see screenshots of the acid test">acid test</a>).)</p>
<div align="center"><img src="http://www.ekstasis.net/images/logpics/ie7zoomlayout1.jpg" width="300" height="373" alt="IE7 zoom text" /></div>
<p><a href="http://www.ekstasis.net/tests/zoomtest/">Click here to see the test</a></p>
<h2>The new box model hack</h2>
<p>Safari isn&#8217;t a new browsers, but it&#8217;s now more widely used. </p>
<p>If you have a liquid layout you&#8217;ll find you need to set the width to 100% for some elements to expand properly in the Safari browser.</p>
<p>Now if that 100% width element contains no text content and you float it against another element, such as a column or an image, Safari can expand it over the second element. The other browsers just expand to the adjacent floated element.</p>
<p>If you pad up an element on the side it&#8217;s sibling elements are floated against, Safari will add the padding to the other side. A workaround is to wrap the div so you can use margin instead of padding.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ekstasis.net/log/2008/01/15/bullet-proofing-for-the-new-browsers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google sitemaps</title>
		<link>http://www.ekstasis.net/log/2005/12/03/google-sitemaps/</link>
		<comments>http://www.ekstasis.net/log/2005/12/03/google-sitemaps/#comments</comments>
		<pubDate>Sat, 03 Dec 2005 18:05:23 +0000</pubDate>
		<dc:creator>mat</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.ekstasis.net/log/?p=16</guid>
		<description><![CDATA[ One      way to optimise your site for Google driven search engines is     to create a Google Sitemap.
You can use Google&#8217;s script to do this automatically by running it on your      (host&#8217;s) server using Python      or [...]]]></description>
			<content:encoded><![CDATA[<p><img width="140" height="60" align="left" alt="Google eyes" class="alignright" src="/images/frontpage/googleeyes.gif" /> One      way to optimise your site for Google driven search engines is     to create a Google Sitemap.</p>
<p>You can use Google&#8217;s script to do this automatically by running it on your      (host&#8217;s) server using <a href="http://www.python.org/">Python</a>      or you can create a sitemap manually with an xml page. Including valid xml      tag definitions is a sure way to improve the validity of search results.</p>
<p>This is an example of how the xml page is structured:</p>
<p><code><</code>urlset xmlns="http://www.google.com/schemas/sitemap/0.84"><br />
<code><</code>url<code>></code><br />
<code><</code>loc<code>></code>http://www.example.com/<br />
<code><</code>lastmod<code>></code>2005-01-01<br />
<code><</code>changefreq<code>></code>monthly<br />
<code><</code>priority<code>></code>0.8</p>
<p>Google have a sitemap validation tool available from their <a href="https://www.google.co.uk/webmasters/sitemaps/docs/en_GB/protocol.html">support      page</a>.</p>
<p>Once you have created a sitemap you need to log in to a google account and find the webmasters area. 	There you will submit the sitemap address and verify site ownership. Once you do that Google offer the GooglAnalytics information ( 	Query stats |  Crawl stats |  Page analysis |  Index stats | HTTP errors  |  Unreachable URLs |  URLs restricted by robots.txt |  URLs not followed |  URLs timed out ).</p>
<p>Search engines are increasingly an important marketing tool for all business      - especially those who's brand is not widely known. Appropriate keywords,      content and one-way links from high pagerank sites are the main factors for      success.</p>
<p>Other factors include:</p>
<ul>
<li>The      way a site's mark=up (HTML) is structured is important. Using the page title and heading tags (<span class="code">H1</span>, <span class="code">H2</span> etc.</li>
<li>The way the site is linked together - ie. the navigation system and internal links within the content help if done well</li>
<li>URLs for variables (e.g. site?p=page1) are disliked by search engines.</li>
<li>Using frames is a bad idea.</li>
<li>The      amount of time the domain has been in use (by the current owner - google checks this) is a factor.</li>
<li>The      frequency it's modified.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ekstasis.net/log/2005/12/03/google-sitemaps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
