<?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>Padizine Blog &#187; Web Design and Development Tutorials</title>
	<atom:link href="http://www.padizine.com/blog/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.padizine.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 14 Jul 2011 14:41:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Drupal 6 Tutorial &#8211; SEO With Meta Tags</title>
		<link>http://www.padizine.com/blog/drupal-6-tutorial-seo-with-meta-tags/</link>
		<comments>http://www.padizine.com/blog/drupal-6-tutorial-seo-with-meta-tags/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 10:49:10 +0000</pubDate>
		<dc:creator>Alex Petrisor</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.padizine.com/blog/?p=330</guid>
		<description><![CDATA[Today we will be covering another important SEO topic: <strong>Meta Tags</strong>. So what are meta tags exactly? Well, they are tags, but not just any normal tags. They are invisible tags! These tags add additional information about the current page, that search engines can use to your advantage. Your users won't see anything different on your pages at all, but spiders will see quite a bit more. We will be referring to 2 of these meta tags today: <strong>Description</strong> and <strong>Keywords</strong>.]]></description>
			<content:encoded><![CDATA[<p>Today we will be covering another important SEO topic: <strong>Meta Tags</strong>. So what are meta tags exactly? Well, they are tags, but not just any normal tags. They are invisible tags! These tags add additional information about the current page, that search engines can use to your advantage. Your users won&#8217;t see anything different on your pages at all, but spiders will see quite a bit more. We will be referring to 2 of these meta tags today: <strong>Description</strong> and <strong>Keywords</strong>.</p>
<h2>The Description Meta Tag</h2>
<p>If you recall the last tutorial (<a title="Drupal 6 Tutorial - SEO With Page Titles" href="http://www.padizine.com/blog/drupal-6-tutorial-seo-with-page-titles/">Drupal 6 Tutorial &#8211; SEO With Page Titles</a>) you will remember how I said that search engines list your page&#8217;s title in the search results, and that&#8217;s why it was so important for SEO. But also, when you do a search, there is some additional text right under the main title. And that usually is the description. It is very important to have meaningful descriptions that actually tell the visitor what the page is about, but what you need to pay extra attention to is that you don&#8217;t have any duplicate descriptions (multiple pages with the same description). Keep your descriptions smart and informative, but don&#8217;t exceed 150 chars, as most engines will not display more than that.</p>
<p>All meta tags need to be placed inside your html &lt;head&gt; tag. The description meta tag for this page looks like this:</p>
<div class="fancy_box">meta name=&#8221;description&#8221; content=&#8221;A descriptive guide on how to optimize meta tags (description and keywords) for search engines, using Drupal 6 and the Nodewords module.&#8221;</div>
<p>Imagine that you would have to manage it like that for each and every one of your pages. That would be a pain. Luckily the Nodewords module is here to save the day. Get it <a title="The Nodewords Module" rel="external nofollow" href="http://drupal.org/project/nodewords" target="_blank">here</a>, upload it to your server and activate <strong>Nodewords</strong>, and <strong>Nodewords &#8211; basic meta tags</strong>. Now go to <strong>Administer</strong> &gt; <strong>Content Management</strong> &gt; <strong>Meta Tags</strong>.</p>
<p>The first option lets you choose what tags will the users be able to alter on the node edit page.<br/><br/><br />
<img class="aligncenter frame" title="Meta tags to show on edit forms" src="http://www.padizine.com/blog/wp-content/uploads/images/post_images/meta1.jpg" alt="Meta tags to show on edit forms" width="485" height="270" /><br/><br />
If you are logged in with the admin account, you will always see all the tags on the edit page. So, depending on what kind of users you have on your website, you may want to change this to fit your needs. However, if you do decide to change it, don&#8217;t forget to set up the proper permissions at <strong>Administer</strong> &gt; <strong>User Management</strong> &gt; <strong>Permissions</strong>.<br/><br/><br />
<img class="aligncenter frame" title="Nodewords Permissions" src="http://www.padizine.com/blog/wp-content/uploads/images/post_images/meta2.jpg" alt="Nodewords Permissions" width="485" height="270" /><br/><br />
Next we choose which tags actually get placed in our &lt;head&gt; tag on our pages:<br/><br/><br />
<img class="aligncenter frame" title="Meta tags to output in HTML" src="http://www.padizine.com/blog/wp-content/uploads/images/post_images/meta3.jpg" alt="Meta tags to output in HTML" width="485" height="270" /><br/><br />
That&#8217;s about all you need to do for now. You can also set some default values for your tags, but I don&#8217;t recommend it, as you will need to write specific information related to the current page anyway. If your home page is not a node though, you can set its tags in the <strong>Default and specific meta tags</strong> section. Now you can start editing your nodes to your heart&#8217;s content!</p>
<h2>What keywords should I pick?</h2>
<p>This has been a pretty debated topic in the past, and since google doesn&#8217;t care about them, most people just ignore them. Truth is, other smaller engines still use them. Apparently Yahoo ditched them as well, but after a closer inspection it turned out that they haven&#8217;t removed them completely, but have greatly decreased their importance.</p>
<p>However, you should still properly research your keywords and strategically place them inside your page title, &lt;h1&gt;, &lt;h2&gt; tags, and description. A good way to find good targeted keywords for your page is by using the <a title="Google Keyword Tool" rel="external nofollow" href="https://adwords.google.co.uk/select/KeywordToolExternal" target="_blank">Google Keyword Tool</a>. There you can write your own keywords, and you will get a full list of suggestions, accompanied by search statistics and advertiser competition. The best keywords that you can pick have a high number of monthly searches, but a small advertiser competition.</p>
<p>If you are feeling uninspired with your keywords, you can even type in your page URL, and then google will examine it for you, and find some suggestions based on your content.</p>
<p>After you pick your keywords and place them accordingly throughout your content, you can also add them to the keywords meta tag. I usually use 5 to 7 keywords there. But remember, only use keywords that are actually in your page&#8217;s content.</p>
<p>That&#8217;s it for meta tags for today. I hope that this was as useful as you expected it to be <img src='http://www.padizine.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  If not, please <a title="Comment on this" href="#respond">share</a> your thoughts below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.padizine.com/blog/drupal-6-tutorial-seo-with-meta-tags/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Drupal 6 Tutorial &#8211; SEO With Page Titles</title>
		<link>http://www.padizine.com/blog/drupal-6-tutorial-seo-with-page-titles/</link>
		<comments>http://www.padizine.com/blog/drupal-6-tutorial-seo-with-page-titles/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 07:46:16 +0000</pubDate>
		<dc:creator>Alex Petrisor</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.padizine.com/blog/?p=227</guid>
		<description><![CDATA[As promised in my previous Drupal SEO tutorial, part 2 of the series has arrived! Today we will be talking about the importance of page titles for SEO, and how to set them up properly for Drupal 6 by using the Page Title module.]]></description>
			<content:encoded><![CDATA[<p>As promised in my previous <a title="Drupal SEO for URLs" href="http://www.padizine.com/blog/drupal-seo-for-urls/">Drupal SEO tutorial</a>, part 2 of the series has arrived! Today we will be talking about the importance of page titles for SEO, and how to set them up properly for Drupal 6 by using the Page Title module.</p>
<h2><strong>What are page titles and why do you want to change them</strong></h2>
<p>Whenever you browse to a website, if you look at the top of the browser window you will see a title. This is called the page title and you can find it in your HTML file under the <strong>&lt;head&gt;</strong> tag, inside <strong>&lt;title&gt;</strong>. Everyone is probably aware of this, but the really important part is this: <strong>The page title that you set in that tag is what shows up in google search results.</strong> So if someone searches google (or any other search engine) for <em>evil monkey</em>, and I have a page called <em>&#8220;</em><em>Evil Monkey 101 &#8211; Chewbacca goes to Holywood!&#8221;</em> that&#8217;s exactly how it will show up in the results. Thus, your page title is your first interaction with your visitor, and will probably determine whether he will click on the link or not. That is why we need to take full control of our page titles and turn them into useful and meaningful phrases.</p>
<h2><span class="dropcap1">1</span>Taking control of the page titles in Drupal</h2>
<p>Yep, you guessed it, we will need a module for this. And the name of this module is none other than&#8230; <strong>Page Title</strong>. You need to download it right <a title="Page Title Module" rel="external nofollow" href="http://drupal.org/project/page_title" target="_blank">here</a>, and then upload it to your Drupal installation inside the <em>/sites/all/modules</em> folder, then go to <strong>Administer &gt; Site Building &gt; Modules</strong>, and under the <strong>Other</strong> category enable <strong>Page Title</strong>. You will also need the <strong>Token</strong> module for this to work, and if you don&#8217;t already have it you can find it <a title="Token Module" rel="external nofollow" href="http://drupal.org/project/token" target="_blank">here</a>.</p>
<p>After that, you can manage the Page Title module settings at <strong>Administer &gt; Content Management &gt; Page Titles</strong>. Once there, you will be able to set a bunch of presets for your titles, depending on content type or taxonomy. This is where the Token module comes in handy, because it allows you to use a set of replaceable patterns. If you click on the <strong>Available Tokens List</strong> you will see a big list of variables. You can use any of these variables in your title patterns and they will automatically be replaced with the correct text. For example, if I use the token <strong>[nid]</strong>, that will be replaced with the Node ID of the current node that I am viewing.</p>
<p>The Default field is mandatory. Let&#8217;s say that its value is <strong>[page-title] &#8211; [site-name]</strong>, and that my site&#8217;s name is <em>&#8220;</em><em>Chewbacca goes to Holywood!&#8221;</em>. If I browse to a node called <em>&#8220;</em><em>Chewy&#8221;</em>, then the title at the top of the browser will be <em>&#8220;</em><em>Chewy &#8211; Chewbacca goes to Holywood!&#8221;</em>. Why does it do that? Because Drupal sets the page title equal to the node title by default. After that, the Page Title module steps in and appends the <em>&#8220;</em><em>- Chewbacca goes to Holywood!&#8221;</em>. But you can change how Drupal handles things in the remaining fields on the Page Title options page. You can set a specific preset to a specific content type, to a specific taxonomy vocabulary, or to the user profile.</p>
<h2><span class="dropcap1">2</span>So what are the best titles for SEO?</h2>
<p>Good question. People say a lot of things. Some say stuff them with keywords, others say keep them as descriptive as possible. I will tell you what I think and what has worked for me in the past. The problem with many websites is that usually the title is exactly the same as the node title, which is usually (or should be anyway) represented by a <strong>&lt;h1&gt;</strong> tag. Now if you think about it for a second, and think about how google works and how it has evolved over the past years, it doesn&#8217;t take much to realize that spamming keywords won&#8217;t do you any good.</p>
<p>First of all, you will need to have a meaningful title that will grab attention, but at the same time is deeply connected to the content on the specific page. Otherwise, even if people get to your site, they will leave in a matter of seconds. Secondly, the node title (and thus the &lt;h1&gt; tag) will have to be different (by using synonyms) and in some cases, even more descriptive. For example, the node title for this tutorial is <em>&#8220;</em><em>Drupal 6 tutorial &#8211; SEO with page titles&#8221;</em>, and it clearly describes what this page is all about. On the other hand, the page title is <em>&#8220;How to optimize Drupal 6 page titles for search engines</em><em>&#8220;</em>. Why is that? Well I have simply replaced the word <em>&#8220;SEO&#8221;</em> with <em>&#8220;optimize for search engines&#8221; </em>to add in a few extra keywords. In addition to that, the words <em>&#8220;How to&#8221;</em> are widely used in searches when people are looking for tutorials, or simply answers to questions. I still kept <em>&#8220;Drupal 6</em>&#8221; and <em>&#8220;page titles&#8221;</em> though, as this is what this tutorial is actually about.</p>
<h2><span class="dropcap1">3</span>Setting custom titles for specific pages</h2>
<p>If you want to take the approach described above, you will need even more control on your titles. On the <strong>Page Titles</strong> options page, you will see a column called <strong>Show Field</strong>. It places a checkbox next to all the content types and vocabularies that you have. If you tick that box, next time you edit a node of that content type, under the Title, you will get a new field called <strong>Page Title</strong>. Change that to your custom title and you&#8217;re good to go! But don&#8217;t forget, if in the Default field you had something like <strong>[page-title] &#8211; [site-name]</strong>, then the site name will be added after your custom title. It is up to you if you want to keep or remove this.</p>
<h2><span class="dropcap1">4</span>Conclusion and best practices</h2>
<p>Page titles play an incredible role in on-site SEO, but many people often underestimate <em>&#8220;</em><em>the little text at the top of the browser that nobody cares about&#8221;</em>. I hope that at least now, you are not one of them any more. If so, there are two more things that you need to remember when writing your titles:</p>
<ol>
<li>Most search engines use a maximum of 60 characters per title, so for the extra zealous ones: keep it short.</li>
<li>Be careful with duplicate titles. Google doesn&#8217;t like duplicate content, so make sure that you double check your titles and that they are all unique.</li>
</ol>
<p>That&#8217;s it for today, I hope that you&#8217;ve enjoyed this tutorial, and if you have <a title="Comment on this" href="#respond">anything to add</a> about Drupal, SEO, Page Titles or the philosophy of life, you are more then welcome. Next time we will be talking about descriptions and keywords, so stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.padizine.com/blog/drupal-6-tutorial-seo-with-page-titles/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>SWFAddress Tutorial For ActionScript 2.0</title>
		<link>http://www.padizine.com/blog/swfaddress-tutorial-for-actionscript-2-0/</link>
		<comments>http://www.padizine.com/blog/swfaddress-tutorial-for-actionscript-2-0/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 16:56:35 +0000</pubDate>
		<dc:creator>Alex Petrisor</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.padizine.com/blog/?p=103</guid>
		<description><![CDATA[Recently I've been working on my portfolio at padizine.com which is a full Flash AS2 website. It is still WIP, but I knew that I had to do something from a SEO point of view. Flash SEO has always been a big controversy, even after the changes that google brought to flash indexing, but there are some tricks that work well. The first thing that I did was to get deep linking working. What's deep linking you ask? Well keep on reading!]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been working on my portfolio at <a title="Padizine Online Portfolio" href="http://www.padizine.com" target="_blank">padizine.com</a> which is a full Flash AS2 website. It is still WIP, but I knew that I had to do something from a SEO point of view. Flash SEO has always been a big controversy, even after the changes that google brought to <a title="Improved Flash Indexing" rel="external nofollow" href="http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html" target="_blank">flash indexing</a>, but there are some tricks that work well. The first thing that I did was to get deep linking working. What&#8217;s <a title="Deep Linking" rel="external nofollow" href="http://en.wikipedia.org/wiki/Deep_linking" target="_blank">deep linking</a> you ask? Well keep on reading!</p>
<h2>What deep linking is and how it can help you.</h2>
<p>Well normally for any flash website you would have a Flash SWF file embedded in a HTML page. Whenever a visitor clicks on a link in the menu and is taken to a different page in your site, the actual HTML page and thus the URL doesn&#8217;t change. The change is made within the Flash SWF and the user is taken to a different zone within the timeline, or a different page is shown through ActionScript. That means that however many pages your flash site will have, you will only have one URL address. This causes quite a few disadvantages:</p>
<ul>
<li>If someone presses the browser back button while deep in your page hierarchy, he will be taken to the page visited prior to your homepage, as there is no history entry for your individual pages.</li>
<li>That also means that visitors can only bookmark your homepage.</li>
<li>And that also means that you can only have one HTML &lt;title&gt; that will stay the same regardless of what page the visitor is on.</li>
</ul>
<p>Deep linking solves all these problems beautifully. All the pages inside your Flash file will generate different URLs, and have different titles. Because of that they will also create history entries in the browser, and the user will be able to use the back and forward buttons on your site. Finally, you can supply visitors with links that take them directly to an area inside your site. Flash SEO has been waiting for this for years. Too good to be true? It&#8217;s actually not, but you have to admit that it&#8217;s damn sweet.</p>
<h2><span class="dropcap1">1</span>Preparing your HTML by using swfaddress.js</h2>
<p>So how is this possible? Well by using a great tool called <strong>SWFAddress</strong>, thanks to the awesome folks at <a title="Asual.com" rel="external nofollow" href="http://www.asual.com/" target="_blank">Asual.com</a>. To get started, you will need to download SWFAddress <a title="SWFAddress" rel="external nofollow" href="http://www.asual.com/swfaddress/" target="_blank">here</a>.</p>
<p>After you extract the files, you will see a folder called <strong>dist</strong>. This is the distribution folder and it contains all the files that we will need. First, browse to <strong>dist\js</strong> and copy <strong>swfaddress.js</strong> to the root folder of your website, where index.html is. I assume that you are using SWFObject to load the flash into the HTML.</p>
<p>In your <strong>&lt;head&gt;</strong>, right after<br />
<div class="fancy_box">&lt;script type=&#8221;text/javascript&#8221; src=&#8221;swfobject.js&#8221; charset=&#8221;utf-8&#8243;&gt;&lt;/script&gt;</div>add<br />
<div class="fancy_box">&lt;script type=&#8221;text/javascript&#8221; src=&#8221;swfaddress.js&#8221; charset=&#8221;utf-8&#8243;&gt;&lt;/script&gt;</div></p>
<p>This makes sure that your page will load the swfaddress.js and use it accordingly. Make sure that it&#8217;s <strong>after</strong> the SWFObject declaration.</p>
<h2><span class="dropcap1">2</span>Adding SWFAddress to your Flash file</h2>
<div class="fancy_header"><span>1. Importing the SWFAddress library</span></div>
<p>This is where it gets interesting. First we will need to include the SWFAddress library in our FLA. I&#8217;ve created a folder on my hard drive that holds several tools and libraries. This keeps me organised and keeps my libraries safe from random <em>format c:</em> moments <img src='http://www.padizine.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  So let&#8217;s say that the path for our external ActionScript code is <strong>E:\Tools\AS</strong>. You will need to go to the <strong>dist\as\2</strong> folder in your SWFAddress folder, and copy the <strong>com</strong> folder over to <strong>E:\Tools\AS</strong>. These are the libraries for ActionScript 2.</p>
<p>Next, in your FLA file, go to <strong>Publish Settings &gt; Flash &gt;</strong> And next to ActionScript 2.0 click on <strong>Settings</strong>. Here you will need to add the path to your <strong>E:\Tools\AS</strong> folder.</p>
<p>For the SWFAddress functions to work when you compile your FLA, you need to include the library in your ActionScript like this:<br />
<div class="fancy_box">import com.asual.swfaddress.SWFAddress;</div>You need to put this on the first line of <strong>every frame of ActionScript that uses SWFAddress functions</strong>.</p>
<p>The next bit is and will be depending on how your site is actually built. There are a few methods that you need to call, depending on what is happening inside your movie.</p>
<div class="fancy_header"><span>2. Using the SWFAddress library to enable deep linking<br/>on your flash website</span></div>
<p>Fist of all, there is <strong>SWFAddress.setValue()</strong>. This one sets the current URL to the value thrown at it, prefixed by <strong>#/</strong>. For example, if my flash page is at <em>http://yoursite.com</em>, and you run <strong>SWFAddress.setValue(&#8220;awesome&#8221;)</strong>, the URL will turn into <em>http://yoursite.com/#/awesome</em>. It&#8217;s as simple as that! However, that only changes the URL you see, if someone actually typed in that URL in their browser it wouldn&#8217;t work. We will get to that in a moment, but first let&#8217;s make sure this setValue() thing sinks in <img src='http://www.padizine.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So where would you use this? Well let&#8217;s say that you have a menu button called About, that takes you to your About page. You will need to add the setValue() function here then:</p>
<div class="fancy_box">About.onRelease = function()
<div>{</div>
<div style="padding-left: 30px;">SWFAddress.setValue(&#8220;about&#8221;);</div>
<div style="padding-left: 30px;">//Navigation code</div>
<div>}</div>
</div>
<p>So when someone presses About, they get taken to the About page, and the URL changes accordingly. This was a pretty basic example, but wherever you place setValue(), you will use the same logic. For example, on my website I load my menu dynamically from an XML file. I then add a click function to all the buttons, that would look like this:</p>
<div class="fancy_box">_global.clickFunction = function (object)
<div>{</div>
<div style="padding-left: 30px;">SWFAddress.setValue(object.name.text.toLowerCase());</div>
<div style="padding-left: 30px;">//Navigation code</div>
<div>}</div>
</div>
<p>Secondly, there is the <strong>SWFAddress.setTitle()</strong> function. This works in the same way as setValue() but instead of changing the URL it changes the title displayed in your browser window. This is pretty straightforward, so we will go on to the last and most important function which is&#8230;</p>
<p><strong>SWFAddress.onChange() </strong>is where all the magic happens. This function automatically gets triggered whenever the URL changes, either from your application, or from the browser itself. So this is basically where you make your website navigate to a certain page when it &#8220;sees&#8221; that the URL has changed. In my FLA, I have a lot of stuff happening on frame 1 of the stage (loading XML, resizing window etc.) so that is where I put this function:</p>
<div class="fancy_box">SWFAddress.onChange = function()
<div>{</div>
<div style="padding-left: 30px;">var addr = SWFAddress.getValue(); //This gets the current URL, but only what was appended to <em>http://yoursite.com/#</em></div>
<div style="padding-left: 30px;">switch (addr)</div>
<div style="padding-left: 30px;">{</div>
<div style="padding-left: 60px;">case &#8220;/&#8221;:</div>
<div style="padding-left: 90px;">SWFAddress.setTitle(&#8216;My Homepage&#8217;);</div>
<div style="padding-left: 90px;">//Code for navigation to <em>homepage</em> goes here</div>
<div style="padding-left: 90px;">break;</div>
<div style="padding-left: 60px;">case &#8220;/awesome&#8221;:</div>
<div style="padding-left: 90px;">SWFAddress.setTitle(&#8216;My Website &#8211; Awesome&#8217;);</div>
<div style="padding-left: 90px;">//Code for navigation to <em>awesome page</em> code goes here</div>
<div style="padding-left: 90px;">break;</div>
<div style="padding-left: 60px;">//And so on</div>
<div style="padding-left: 30px;">}</div>
<div>}</div>
</div>
<p>And that&#8217;s about it! Remember that this function gets called when the browser changes the URL, i.e. when someone is pressing the back button, but <strong>also</strong> when your application changes the URL. Why is this so important? Because when you place the setValue() code like explained above, you won&#8217;t need any more Navigation code whatsoever! When setValue() changes the URL for you, onChange() is called and the navigation is done anyway. So the <strong>onRelease</strong> method would become something like this:</p>
<div class="fancy_box">About.onRelease = function()
<div>{</div>
<div style="padding-left: 30px;">SWFAddress.setValue(&#8220;about&#8221;);</div>
<div>}</div>
</div>
<div class="fancy_header"><span>3. XML Troubleshooting</span></div>
<p>When you have a site that loads all the stuff via an XML file and external SWFs that might load other XML files and other external SWFs, it can get a bit tricky. The main problem that I faced was that SWFAddress.onChange() would get called before the site managed to load the XML, thus the menu and everything else. This happened when someone typed in an URL that was already deep in the hierarchy. So whatever URL they typed in, they still ended up on the homepage.</p>
<p>So to fix this, I simply went to the the XML load function, and when the XML gets loaded completely I simply call <strong>SWFAddress.onChange()</strong>. This way, if it was called before the site got loaded and didn&#8217;t do anything, after it loads it is called again, checks the URL, and takes the user to the correct page.</p>
<h2><span class="dropcap1">3</span>Conclusion and Flash SEO</h2>
<p>Search engines really care about URLs and what they look like. You can read more about this in my previous post, <a title="Drupal SEO for URLs" href="http://www.padizine.com/blog/drupal-seo-for-urls/" target="_blank">Drupal SEO for URLs</a>. More and more Flash sites are picking up on this, and that&#8217;s great. Fact is, for the best possible implementation of SWFAddress, you need to think about it before developing your site, and write your code in such a way that it helps SWFAddress instead of hindering it. If you&#8217;d like to know more, there&#8217;s a host of resources available at <a title="SWFAddress Resources" rel="external nofollow" href="http://www.asual.com/swfaddress/resources/" target="_blank">Asual.com</a>.</p>
<p>SEO for Flash has always been a tough battle, but with such a great ally on our side, I can&#8217;t stop thinking that we will <em>get there</em> at some point. Have something to <a title="Comment on this" href="#respond">say</a>? Go ahead then!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.padizine.com/blog/swfaddress-tutorial-for-actionscript-2-0/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Drupal 6 Tutorial &#8211; SEO For URLs</title>
		<link>http://www.padizine.com/blog/drupal-seo-for-urls/</link>
		<comments>http://www.padizine.com/blog/drupal-seo-for-urls/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 14:20:17 +0000</pubDate>
		<dc:creator>Alex Petrisor</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.padizine.com/blog/?p=70</guid>
		<description><![CDATA[Hello everyone, allow me to introduce myself, as this is my first tutorial (from many to come hopefully). My name is Alex Petrisor and I'm a Creative Advertising student. However, I also work as a freelance web developer in London.

Recently I've been working on an on-line store which was created in Drupal 6. As important as SEO might be for any site, for an on-line shop it's crucial. I was pleased to see how well Drupal handles that, even out-of-the-box.]]></description>
			<content:encoded><![CDATA[<p>Hello everyone, allow me to introduce myself, as this is my first tutorial (from many to come hopefully). My name is Alex Petrisor and I&#8217;m a Creative Advertising student. However, I also work as a freelance web developer in London.</p>
<p>Recently I&#8217;ve been working on an on-line store which was created in Drupal 6. As important as SEO might be for any site, for an on-line shop it&#8217;s crucial. I was pleased to see how well Drupal handles that, even out-of-the-box.</p>
<p>Well, enough of that, let&#8217;s jump in!</p>
<h2><span class="dropcap1">1</span>Clean URLs</h2>
<p>Enable <strong>Clean URLs</strong> &#8211; This should be already on, but just to make sure go to <em>http://www.yoursite.com/admin/settings/clean-urls</em> and make sure that it&#8217;s Enabled.</p>
<h2><span class="dropcap1">2</span>The Path Module &#8211; Custom URL aliases</h2>
<p>Enable the <strong>Path</strong> module &#8211; This is the module that allows you to rename your URLs. Enable it on your modules page at <em>http://www.yoursite.com/admin/build/modules</em> under <strong>Core &#8211; optional</strong>. You will now have the option to manually type in the URL for your nodes, on the node editing form at <strong>URL path settings</strong>. This will be a relative path to your domain. So if your domain is <em>http://www.yoursite.com/</em> and you set the URL alias for the node Cookies as <strong>cookies</strong>, the full path of the node will be <em>http://www.yoursite.com/cookies</em>.</p>
<h2><span class="dropcap1">3</span>The Token Module</h2>
<p>Download and install the <strong>Token</strong> module <a title="Token Module" rel="external nofollow" href="http://drupal.org/project/token" target="_blank">here</a>. You will probably need this for any Drupal installation, as it provides other modules with certain helpful text variables like the username, post title, taxonomy, etc. In our case it will help with the next module we will use, which is&#8230;</p>
<h2><span class="dropcap1">4</span>The Pathauto Module &#8211; Automatic URL aliases</h2>
<p>Download and install the <strong>Pathauto</strong> module <a title="Pathauto Module" rel="external nofollow" href="http://drupal.org/project/pathauto" target="_blank">here</a>. This is highly recommended as it creates nice URLs automatically for you, whenever you create new content. It does that based on several things like title, taxonomy, content type, and username. To be honest this will work out-of-the-box, but in case you want a more granular control over the URL structure you can easily change that in the module&#8217;s settings. This is where the Token module comes in handy.</p>
<p>Let&#8217;s say that you wanted all your content of the type page to fall under the following path pattern: <em>http://www.yoursite.com/pages/page-name</em>. For that to happen you would need to go to the <strong>Node Path Settings</strong> under Pathauto, and under <strong>Pattern for all Page paths</strong><em> </em>write <strong>pages/[title-raw]</strong> and hit <strong>Save configuration</strong>. The [title-raw] will automatically get replaced with an alias that reflects your current page&#8217;s title, thanks to Token. If you click on <strong>Replacement Patterns</strong> you will get a list of all the variables that you can use in your URLs.</p>
<h2><span class="dropcap1">5</span>The Global Redirect Module</h2>
<p>Download and install the Global Redirect module <a title="Global Redirect Module" rel="external nofollow" href="http://drupal.org/project/globalredirect" target="_blank">here</a>. This module addresses one important SEO issue: canonicalization of your URLs. What that means is that it makes sure that for each piece of content you have, there is one URL and <strong>one URL only</strong>. These are some of the things it does:</p>
<ul>
<li>Removes trailing slashes from URLs (“/”)</li>
<li>Permanently redirects any requests for content using the non-clean URL format</li>
<li>Permanently redirects any requests that refer to the homepage, but use something other than the canonical URL for the homepage address.</li>
<li>Permanently redirects any requests for content where the case of the requested URL does not match the case of the canonical URL.</li>
</ul>
<p>This, as expected, won&#8217;t need much (if any) configuration either.</p>
<h2><span class="dropcap1">6</span>Drupal Rewrite Rules &#8211; htaccess friendly url</h2>
<p>Last, but not least, as the final step for URL SEO, you need to decide whether to use <em>http://www.yoursite.com</em> or <em>http://yoursite.com</em>. By default both work and point to the same place. That can confuse the spider so it&#8217;s best if you just use one of them. I tend to use the <em>www</em> version, but it&#8217;s entirely up to you.</p>
<p>So here&#8217;s how we do this: In your drupal 6 installation folder, you will find a file called <strong>.htaccess</strong>. You need to edit that file, so scroll down to<br />
<div class="fancy_box"># If your site can be accessed both with and without the &#8216;www.&#8217; prefix, you<br />
# can use one of the following settings to redirect users to your preferred<br />
# URL, either WITH or WITHOUT the &#8216;www.&#8217; prefix. Choose ONLY one option:</div>and follow the instructions (you just need to remove a couple of # and write down your domain name).</p>
<h2><span class="dropcap1">7</span>Rejoice!</h2>
<p>That&#8217;s right, you deserve it! And remember, keep your pages rich with meaningful content. There is not much point for optimization if there is nothing to optimize right?</p>
<p>Well, that&#8217;s about it for drupal SEO for now. I hope that you&#8217;ve enjoyed this tutorial, and if you have, you&#8217;ll be happy to hear that I will write a new one soon covering page titles, keywords, descriptions, sitemaps and some more juicy stuff.</p>
<p>Do you have anything to <a title="Comment on this" href="#respond">add</a> to optimizing Drupal 6 URLs?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.padizine.com/blog/drupal-seo-for-urls/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

