<?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>juust ~ php oddities &#187; links</title>
	<atom:link href="http://www.juust.org/index.php/tag/links/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juust.org</link>
	<description>Link theory and search engine optimization</description>
	<lastBuildDate>Thu, 19 Jan 2012 09:39:32 +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>curl trackbacks</title>
		<link>http://www.juust.org/index.php/curl-trackbacks/2009/03/</link>
		<comments>http://www.juust.org/index.php/curl-trackbacks/2009/03/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 09:53:13 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[seo tips and tricks]]></category>
		<category><![CDATA[trackback]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=375</guid>
		<description><![CDATA[I figure i&#8217;d blog a post on trackback linkbuilding. A trackback is &#8230; (post a few and you&#8217;ll get it). The trackback protocol isn&#8217;t that interesting, but the implementation of it by blog-platforms and cms&#8217;es makes it an excellent means &#8230; <a href="http://www.juust.org/index.php/curl-trackbacks/2009/03/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I figure i&#8217;d blog a post on trackback linkbuilding. A trackback is &#8230; (post a few and you&#8217;ll get it). The trackback protocol isn&#8217;t that interesting, but the implementation of it by blog-platforms and cms&#8217;es makes it an excellent means for network development, because it uses a simple http-post. cUrl makes that easy).</p>
<p>To post a succesful link proposal I need some basic data :</p>
<p>about my page </p>
<ul>
<li>url (must exist)</li>
<li>blog owner (free)</li>
<li>blog name (free)</li>
</ul>
<p>about the other page</p>
<ul>
<li>url (must exist)</li>
<li>excerpt (should be proper normal text)</li>
</ul>
<p><em>my page :</em> this is preferably a php routine that hacks some text, pictures and video&#8217;s, PLR or articles together, with a url rewrite. I prefer using xml textfiles in stead of a database, works faster when you set stuff up.</p>
<p><em>other page :</em> don&#8217;t use &#8220;I liked your article so much&#8230;&#8221;, use text that maches text on target pages, preferably get some proper excerpts from xml-feeds like blogsearch, msn and yahoo (excerpts contain the keywords I searched for, as anchor text it works better for search engine visibility and link value). </p>
<p>Let&#8217;s get some stuff from the MSN rss feed :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="co1">//a generic query = 5% success</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//add &quot;(powered by) wordpress&quot; </span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$query</span><span class="sy0">=</span><span class="kw3">urlencode</span><span class="br0">&#40;</span><span class="st0">&#39;keywords+wordpress+trackback&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$xml</span> <span class="sy0">=</span> <span class="sy0">@</span>simplexml_load_file<span class="br0">&#40;</span><span class="st0">&quot;http://search.live.com/results.aspx?q=$query&amp;count=50&amp;first=1&amp;format=rss&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$count</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$xml</span><span class="sy0">-&gt;</span><span class="me1">channel</span><span class="sy0">-&gt;</span><span class="me1">item</span> <span class="kw1">as</span> <span class="re1">$i</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$count</span><span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//the data from msn</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$target</span><span class="br0">&#91;</span><span class="st0">&#39;link&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#40;</span>string<span class="br0">&#41;</span> <span class="re1">$i</span><span class="sy0">-&gt;</span><span class="me1">link</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$target</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#40;</span>string<span class="br0">&#41;</span> <span class="re1">$i</span><span class="sy0">-&gt;</span><span class="me1">title</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$target</span><span class="br0">&#91;</span><span class="st0">&#39;excerpt&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#40;</span>string<span class="br0">&#41;</span> <span class="re1">$i</span><span class="sy0">-&gt;</span><span class="me1">description</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//some variables I&#39;ll need later on</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$target</span><span class="br0">&#91;</span>id<span class="st0">&#39;] = $count;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $target[&#39;</span>trackback<span class="st0">&#39;] = &#39;</span><span class="st0">&#39;;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $target[&#39;</span>trackback_success<span class="st0">&#39;] = 0;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $trackbacks[]=$target;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp; }</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"</span></div>
</li>
</ol>
</div>
<p>25% of the cms sites in the top of the search engines are WordPress scripts and WordPress always uses /trackback/ in the rdf-url. I get the source of the urls in the search-feed and grab all link-url&#8217;s in it, if any contains /t<strong>rackbac</strong>k/, I post a trackback to that url  and see if it sticks. </p>
<p>(I can also spider all links and check if there is an rdf-segment in the target&#8217;s source (*1), but that takes a lot of time, I could also program a curl array and use multicurl, for my purposes this works fast enough).</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">for</span><span class="br0">&#40;</span><span class="re1">$t</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span><span class="re1">$t</span><span class="sy0">&lt;</span>count <span class="br0">&#40;</span><span class="re1">$trackbacks</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="re1">$t</span><span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//I could use curl </span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//but 95% of the urls offered are kosher and respond fast</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$content</span> <span class="sy0">=</span> <span class="sy0">@</span><span class="kw3">file_get_contents</span><span class="br0">&#40;</span><span class="re1">$trackbacks</span><span class="br0">&#91;</span><span class="re1">$t</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;link&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw3">preg_match_all</span> <span class="br0">&#40;</span><span class="st0">&quot;/a[<span class="es0">\s</span>]+[^&gt;]*?href[<span class="es0">\s</span>]?=[<span class="es0">\s</span><span class="es0">\&quot;</span><span class="es0">\&#39;</span>]+&quot;</span><span class="sy0">.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&quot;(.*?)[<span class="es0">\&quot;</span><span class="es0">\&#39;</span>]+.*?&gt;&quot;</span><span class="sy0">.</span><span class="st0">&quot;([^&lt; ]+|.*?)?&lt;<span class="es0">\/</span>a&gt;/&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re1">$content</span><span class="sy0">,</span> <span class="sy0">&amp;</span><span class="re1">$matches</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$uri_array</span> <span class="sy0">=</span> <span class="re1">$matches</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$uri_array</span> <span class="kw1">as</span> <span class="re1">$key</span> <span class="sy0">=&gt;</span> <span class="re1">$link</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">strpos</span><span class="br0">&#40;</span><span class="re1">$link</span><span class="sy0">,</span> <span class="st0">&#39;rackbac&#39;</span><span class="br0">&#41;</span><span class="sy0">&gt;</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re1">$trackbacks</span><span class="br0">&#91;</span><span class="re1">$t</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;trackback&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$link</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>count<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<p>When I fire a trackback, the other script will try and assert if my page has a link and matching text. I have to make sure my page shows the excerpts and links, so I stuff all candidates in a cached xml file.  </p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">function</span> cache_xml_store<span class="br0">&#40;</span><span class="re1">$trackbacks</span><span class="sy0">,</span> <span class="re1">$pagetitle</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$xml</span> <span class="sy0">=</span> <span class="st0">&#39;&lt; ?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &lt;trackbacks&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">for</span><span class="br0">&#40;</span><span class="re1">$a</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span><span class="re1">$a</span><span class="sy0">&lt;</span>count <span class="br0">&#40;</span><span class="re1">$trackbacks</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="re1">$a</span><span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$arr</span> <span class="sy0">=</span> <span class="re1">$trackbacks</span><span class="br0">&#91;</span><span class="re1">$a</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$xml</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;entry&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$xml</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;id&gt;&#39;</span><span class="sy0">.</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&#39;id&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&lt;/id&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$xml</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;excerpt&gt;&#39;</span><span class="sy0">.</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&#39;excerpt&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&lt;/excerpt&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$xml</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;link&gt;&#39;</span><span class="sy0">.</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&#39;link&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&lt;/link&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$xml</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;title&gt;&#39;</span><span class="sy0">.</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&lt;/title&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$xml</span> <span class="sy0">.=</span> <span class="st0">&#39;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$xml</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;/count&gt;&lt;/trackbacks&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$fname</span> <span class="sy0">=</span> <span class="st0">&#39;cache/trackback&#39;</span><span class="sy0">.</span><span class="kw3">urlencode</span><span class="br0">&#40;</span><span class="re1">$pagetitle</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&#39;.xml&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">file_exists</span><span class="br0">&#40;</span><span class="re1">$fname</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw3">unlink</span><span class="br0">&#40;</span><span class="st0">&#39;cache/&#39;</span><span class="sy0">.</span><span class="re1">$fname</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$fhandle</span> <span class="sy0">=</span> <span class="kw3">fopen</span><span class="br0">&#40;</span><span class="re1">$fname</span><span class="sy0">,</span> <span class="st0">&#39;w&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">fwrite</span><span class="br0">&#40;</span><span class="re1">$fhandle</span><span class="sy0">,</span> <span class="re1">$xml</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">fclose</span><span class="br0">&#40;</span><span class="re1">$fhandle</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">return</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>I use simplexml to read that cached file and show the excertps and links once the page is requested. </p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="co1">// retrieve the cached xml and return it as array.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> cache_xml_retrieve<span class="br0">&#40;</span><span class="re1">$pagetitle</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$fname</span> <span class="sy0">=</span> <span class="st0">&#39;cache/trackback&#39;</span><span class="sy0">.</span><span class="kw3">urlencode</span><span class="br0">&#40;</span><span class="re1">$pagetitle</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&#39;.xml&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">file_exists</span><span class="br0">&#40;</span><span class="re1">$fname</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$xml</span><span class="sy0">=@</span>simplexml_load_file<span class="br0">&#40;</span><span class="re1">$fname</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><span class="re1">$xml</span><span class="br0">&#41;</span> <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$xml</span><span class="sy0">-&gt;</span><span class="me1">entry</span> <span class="kw1">as</span> <span class="re1">$e</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$trackback</span><span class="br0">&#91;</span><span class="st0">&#39;id&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span><span class="br0">&#40;</span>string<span class="br0">&#41;</span> <span class="re1">$e</span><span class="sy0">-&gt;</span><span class="me1">id</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$trackback</span><span class="br0">&#91;</span><span class="st0">&#39;link&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> &nbsp;rid<span class="br0">&#40;</span><span class="br0">&#40;</span>string<span class="br0">&#41;</span> <span class="re1">$e</span><span class="sy0">-&gt;</span><span class="me1">link</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$trackback</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> &nbsp;<span class="br0">&#40;</span>string<span class="br0">&#41;</span> <span class="re1">$e</span><span class="sy0">-&gt;</span><span class="me1">title</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$trackback</span><span class="br0">&#91;</span><span class="st0">&#39;description&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> &nbsp;<span class="br0">&#40;</span>string<span class="br0">&#41;</span> <span class="re1">$e</span><span class="sy0">-&gt;</span><span class="me1">description</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$trackbacks</span><span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$arr</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">return</span> <span class="re1">$trackbacks</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>(this setup requires a subdirectory <strong>cache</strong> set to read/write with chmod 777)</p>
<p>I use http://www.domain.com/financial+trends.html and extract the pagetitle as &#8220;financial trends&#8217;, which has an xml-file http://www.domain.com/cache/financial+trends.xml. (In my own script I use sef urls with mod_rewrite, you can also use the $_SERVER array).</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$pagetitle</span><span class="sy0">=</span><span class="kw3">preg_replace</span><span class="br0">&#40;</span><span class="st0">&#39;/<span class="es0">\+</span>/&#39;</span><span class="sy0">,</span> <span class="st0">&#39; &#39;</span><span class="sy0">,</span> <span class="kw3">htmlentities</span><span class="br0">&#40;</span><span class="re1">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span><span class="sy0">,</span> ENT_QUOTES<span class="sy0">,</span> <span class="st0">&quot;UTF-8&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$cached_excerpts</span> <span class="sy0">=</span> cache_xml_retrieve<span class="br0">&#40;</span><span class="re1">$pagetitle</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//do some stuff with, make it look nice &nbsp;:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">for</span><span class="br0">&#40;</span><span class="re1">$s</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span><span class="re1">$s</span><span class="sy0">&lt;</span>count <span class="br0">&#40;</span><span class="re1">$cached_excerpts</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="re1">$s</span><span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//this lists the trackback (candidates)</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">echo</span> <span class="re1">$cached_excerpts</span><span class="br0">&#91;</span><span class="re1">$s</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;excerpt&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&#39;&lt;a href=&quot;&#39;</span><span class="sy0">.</span><span class="re1">$cached_excerpts</span><span class="br0">&#91;</span><span class="re1">$s</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;link&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&quot;&gt;&#39;</span><span class="sy0">.</span><span class="re1">$cached_excerpts</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>count<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<p>Now I prepare the data for the trackback post :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">for</span><span class="br0">&#40;</span><span class="re1">$t</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span><span class="re1">$t</span><span class="sy0">&lt;</span>count <span class="br0">&#40;</span><span class="re1">$trackbacks</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="re1">$t</span><span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$trackback_url</span> <span class="sy0">=</span> <span class="re1">$trackbacks</span><span class="br0">&#91;</span><span class="re1">$t</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;trackback&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//does it have a trackback target url ? then prepare data :</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re1">$trackback_url</span> <span class="sy0">!=</span><span class="st0">&#39;&#39;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re1">$trackback_data</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&quot;url&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;url of my page with the link to the target&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;title&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;title of my page&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&quot;blog_name&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;name of my blog&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&quot;excerpt&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&#39;[...]&#39;</span><span class="sy0">.</span><span class="kw3">trim</span><span class="br0">&#40;</span><span class="kw3">substr</span><span class="br0">&#40;</span><span class="re1">$trackbacks</span><span class="br0">&#91;</span><span class="re1">$t</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;description&#39;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="nu0">0</span><span class="sy0">,</span> <span class="nu0">150</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&#39;[...]&#39;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//&#8230;and try the trackback</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re1">$trackbacks</span><span class="br0">&#91;</span><span class="re1">$t</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;trackback_success&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> trackback_ping<span class="br0">&#40;</span><span class="re1">$trackback_url</span><span class="sy0">,</span> <span class="re1">$mytrackbackdata</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>count<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<p>This the actual trackback post using cUrl. cUrl has a convenient timeout setting, I  use three seconds. If a host does not respond in half a second it&#8217;s probably dead. Three seconds is generous.</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">function</span> trackback_ping<span class="br0">&#40;</span><span class="re1">$trackback_url</span><span class="sy0">,</span> <span class="re1">$trackback</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//make a string of the data array to post</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$trackback</span> <span class="kw1">as</span> <span class="re1">$key</span><span class="sy0">=&gt;</span><span class="re1">$value</span><span class="br0">&#41;</span> <span class="re1">$strout</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="re1">$key</span><span class="sy0">.</span><span class="st0">&quot;=&quot;</span><span class="sy0">.</span><span class="kw3">rawurlencode</span><span class="br0">&#40;</span><span class="re1">$value</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re1">$postfields</span><span class="sy0">=</span> <span class="kw3">implode</span><span class="br0">&#40;</span><span class="st0">&#39;&amp;&#39;</span><span class="sy0">,</span> <span class="re1">$strout</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; </div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//create a curl instance</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$ch</span> <span class="sy0">=</span> curl_init<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;curl_setopt<span class="br0">&#40;</span><span class="re1">$ch</span><span class="sy0">,</span> CURLOPT_URL<span class="sy0">,</span> <span class="re1">$trackback_url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;curl_setopt<span class="br0">&#40;</span><span class="re1">$ch</span><span class="sy0">,</span> CURLOPT_TIMEOUT<span class="sy0">,</span> <span class="nu0">3</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;curl_setopt<span class="br0">&#40;</span><span class="re1">$ch</span><span class="sy0">,</span> CURLOPT_USERAGENT<span class="sy0">,</span> <span class="st0">&quot;Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;curl_setopt<span class="br0">&#40;</span><span class="re1">$ch</span><span class="sy0">,</span> CURLOPT_RETURNTRANSFER<span class="sy0">,</span> <span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//set a custom form header</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;curl_setopt<span class="br0">&#40;</span><span class="re1">$ch</span><span class="sy0">,</span> CURLOPT_HTTPHEADER<span class="sy0">,</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&#39;Content-type: application/x-www-form-urlencoded&#39;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;curl_setopt<span class="br0">&#40;</span><span class="re1">$ch</span><span class="sy0">,</span> CURLOPT_NOBODY<span class="sy0">,</span> <span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; curl_setopt<span class="br0">&#40;</span><span class="re1">$ch</span><span class="sy0">,</span> CURLOPT_POST<span class="sy0">,</span> <span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;curl_setopt<span class="br0">&#40;</span><span class="re1">$ch</span><span class="sy0">,</span> CURLOPT_POSTFIELDS<span class="sy0">,</span> <span class="re1">$postfields</span><span class="br0">&#41;</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$content</span> <span class="sy0">=</span> curl_exec<span class="br0">&#40;</span><span class="re1">$ch</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//if the return has a tag &#39;error&#39; with as value 0 it went flawless</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$success</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">strpos</span><span class="br0">&#40;</span><span class="re1">$content</span><span class="sy0">,</span> <span class="st0">&#39;&gt;0&#39;</span><span class="br0">&#41;</span><span class="sy0">&gt;</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="re1">$success</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;curl_close <span class="br0">&#40;</span><span class="re1">$ch</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">unset</span><span class="br0">&#40;</span><span class="re1">$ch</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">return</span> <span class="re1">$success</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Now the last routine : rewrite the cached xml file with only the successful trackbacks (seo stuff) :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">for</span><span class="br0">&#40;</span><span class="re1">$t</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span><span class="re1">$t</span><span class="sy0">&lt;</span>count <span class="br0">&#40;</span><span class="re1">$trackbacks</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="re1">$t</span><span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re1">$trackbacks</span><span class="br0">&#91;</span><span class="re1">$t</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;trackback_success&#39;</span><span class="br0">&#93;</span><span class="sy0">&gt;</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re1">$store_trackbacks</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="re1">$trackbacks</span><span class="br0">&#91;</span><span class="re1">$t</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">cache_xml_store<span class="br0">&#40;</span><span class="re1">$store_trackbacks</span><span class="sy0">,</span> <span class="re1">$pagetitle</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>count<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<p>voila : a page with only successful trackbacks. </p>
<p>Google (the backrub engine) don&#8217;t like sites that use automated link-building methods, other engines (Baidu, MSN, Yahoo) use a more normal link popularity keyword matching algorithm. Trackback linking helps getting you a clear engine profile at relative low cost. </p>
<p>0) for brevity and clarity, the code above is rewritten (taken from a trackback script I am developing on another site), it can contain some typo&#8217;s.</p>
<p>*1) If you want to spider links for rdf-segments : <a href="https://svn.typo3.org/TYPO3v4/Extensions/yablog/trunk/class.tx_yablog_ping.php" rel="nofollow">TYPO3v4</a> have some code for easy retrieval of trackback-uri&#8217;s :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="coMULTI">/**</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; * Fetches ping url from the given url</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; *</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; * @param string $url URL to probe for RDF</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; * @return string Ping URL</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; */</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;protected <span class="kw2">function</span> getPingURL<span class="br0">&#40;</span><span class="re1">$url</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$pingUrl</span> <span class="sy0">=</span> <span class="st0">&#39;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">// Get URL content</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$urlContent</span> <span class="sy0">=</span> t3lib_div<span class="sy0">::</span><span class="me2">getURL</span><span class="br0">&#40;</span><span class="re1">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re1">$urlContent</span> <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span><span class="re1">$rdfPos</span> <span class="sy0">=</span> <span class="kw3">strpos</span><span class="br0">&#40;</span><span class="re1">$urlContent</span><span class="sy0">,</span> <span class="st0">&#39;&lt;rdf :RDF&#39;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">!==</span> <span class="kw2">false</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">// RDF exists in this content. Get it and parse</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$urlContent</span> <span class="sy0">=</span> <span class="kw3">substr</span><span class="br0">&#40;</span><span class="re1">$urlContent</span><span class="sy0">,</span> <span class="re1">$rdfPos</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><span class="re1">$endPos</span> <span class="sy0">=</span> <span class="kw3">strpos</span><span class="br0">&#40;</span><span class="re1">$urlContent</span><span class="sy0">,</span> <span class="st0">&#39;&lt;/rdf:RDF&gt;&#39;</span><span class="sy0">,</span> <span class="re1">$rdfPos</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">!==</span> <span class="kw2">false</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">// We will use quick regular expression to find ping URL</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$rdfContent</span> <span class="sy0">=</span> <span class="kw3">substr</span><span class="br0">&#40;</span><span class="re1">$urlContent</span><span class="sy0">,</span> <span class="re1">$rdfPos</span><span class="sy0">,</span> <span class="re1">$endPos</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$pingUrl</span> <span class="sy0">=</span> <span class="kw3">preg_replace</span><span class="br0">&#40;</span><span class="st0">&#39;/trackback:ping=&quot;([^&quot;]+)&quot;/&#39;</span><span class="sy0">,</span> <span class="st0">&#39;<span class="es0">\1</span>&#39;</span><span class="sy0">,</span> <span class="re1">$rdfContent</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">return</span> <span class="re1">$pingUrl</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>rdf<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/curl-trackbacks/2009/03/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>seo tricks : the magpie incident</title>
		<link>http://www.juust.org/index.php/seo-tricks-the-magpie-incident/2008/10/</link>
		<comments>http://www.juust.org/index.php/seo-tricks-the-magpie-incident/2008/10/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 22:05:07 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[seo tips and tricks]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=166</guid>
		<description><![CDATA[Some universities like Southern California, Harvard and Michigan State have their web-guru&#8217;s explain to us how rss feeds work with the elegant Magpie parser demo : Some example on how to use Magpie: * magpie_simple.php * Simple example of fetching &#8230; <a href="http://www.juust.org/index.php/seo-tricks-the-magpie-incident/2008/10/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some universities like Southern California, Harvard and Michigan State have their web-guru&#8217;s explain to us how rss feeds work with the elegant Magpie parser demo : </p>
<blockquote><p>Some example on how to use Magpie:</p>
<p>* magpie_simple.php *<br />
  Simple example of fetching and parsing an RSS file. Expects to be<br />
  called with a query param &#8216;rss_url=http://(some rss file)&#8217;<br />
&#8230;.</p>
<p>* magpie_debug.php *<br />
  Displays all the information available from a parsed feed.</p></blockquote>
<p>Note : magpie_debug.php is the one to watch for, you can do a google search on :<br />
      <center><strong>site:.edu magpie_debug.php</strong></center><br />
and you get a number of educational facilities that kindly demonstrate the use of the magpie rss parser.</p>
<p>These demo pages have a textbox where you can enter an rss feed url, the magpie demo parses your feed and outputs it as an html-page. </p>
<p>You have to be careful with these programs, though : I actually found one domain (www.scripps.edu) with this remark under the &#8216;parse rss&#8217; button :</p>
<blockquote><p>Security Note:<br />
This is a simple example script. If this was a real script we probably wouldn&#8217;t allow strangers to submit random URLs, and we certainly wouldn&#8217;t simply echo anything passed in the URL. Additionally its a bad idea to leave this example script lying around.
</p></blockquote>
<p>Thank you, you are surely wise like the buddha, I shall try to remember your insight !</p>
<p>&#8230;.<br />
note: after a while I decided I had had enough fun with magpies and took the blog off-line.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/seo-tricks-the-magpie-incident/2008/10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>seo tricks : old wine in new bags&#8230;</title>
		<link>http://www.juust.org/index.php/seo-tricks-old-wine-in-new-bags/2008/09/</link>
		<comments>http://www.juust.org/index.php/seo-tricks-old-wine-in-new-bags/2008/09/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 05:19:05 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[pagerank]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[seo tips and tricks]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=160</guid>
		<description><![CDATA[Get some pagerank : this trick would require tedious boring link checking, but since SeoLinx (an extension of SeoQuake) that has become a lot easier. SeoLinx shows the stats of a links target url so you don&#8217;t have to go &#8230; <a href="http://www.juust.org/index.php/seo-tricks-old-wine-in-new-bags/2008/09/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Get some pagerank : this trick would require tedious boring link checking, but since SeoLinx (an extension of <a href="http://www.seoquake.com/" rel="nofollow">SeoQuake</a>) that has become a lot easier. SeoLinx shows the stats of a links target url so you don&#8217;t have to go to every page to retrieve the stats. Cool plugin. Let&#8217;s put it to some practical use.</p>
<h4>the trick : comment on old forum threads</h4>
<p>Once you have SeoLinx installed find an &#8216;old&#8217; forum, register if you haven&#8217;t already and make sure you get a signature link. Sometimes you first have to be a member for a week or write ten posts, but once you have a sig-link you get backlinks off the forum.</p>
<p>Then go comment on really <strong>old forum threads</strong>. </p>
<p>With SeoLinx you can easily spot the juicy old threads. Old threads on for instance <a href="http://forums.digitalpoint.com/showthread.php?t=179" rel="nofollow">DigitalPoint</a> or Webmasterworld are sometimes pagerank 3. In case of the <a href="http://forums.digitalpoint.com/showthread.php?t=179" rel="nofollow" title="go see for yourself, seo-heathen">DP post</a>, PR2 with 8 posts at the time of writing. </p>
<p>Pick a forum, and browse to the last page of the threads. Hover over the thread anchor and SeoLinx shows you the pagerank of the thread page. As long as the number of posts is below (10, 16 depending on the forum settings) you can put your comments in and they will appear on the first page of that thread, that has that nice pagerank and juice. </p>
<p>Old wine in new bags can be a sweet thing.</p>
<h4>the benefit</h4>
<p>A pagerank 3 &#8216;targetted&#8217; anchor is worth about $9,- a month, $100,- per year. It can take an hour to find a juicy one, but hey, $100,- value for an hours work is well worth the trouble. </p>
<hr />
I might make this a blog feature, <strong>seo tips and tricks of the month</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/seo-tricks-old-wine-in-new-bags/2008/09/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>social bookmarking to get your site indexed</title>
		<link>http://www.juust.org/index.php/social-bookmarking-to-get-your-site-indexed/2008/08/</link>
		<comments>http://www.juust.org/index.php/social-bookmarking-to-get-your-site-indexed/2008/08/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 21:53:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[pagerank]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=112</guid>
		<description><![CDATA[Yesterday I put one link through twitter on twemes.com and four links on del.icio.us to the links.trismegistos.net php Link Directory. Today I googled &#8216;trismegistos links&#8217; to see what the effect (if any) would be and the link I put on &#8230; <a href="http://www.juust.org/index.php/social-bookmarking-to-get-your-site-indexed/2008/08/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I put one link through twitter on twemes.com and four links on del.icio.us to the links.trismegistos.net php Link Directory.</p>
<p>Today I googled &#8216;trismegistos links&#8217; to see what the effect (if any) would be and the link I put on twemes actually shows up first in google (and top-10 frontpage, spot 6 of 40.000 results).</p>
<p>I also issued a 700 URL sitemap to google webmaster first, and only added the bookmarks after the sitemap was downloaded.</p>
<p>I was just curious which method would yield the best result, and twitter/twemes is the winner.</p>
<h3>why bother ?</h3>
<p>Because a test I did shows most directory sites subcategory pages (where most links are) have no assigned pagerank and if i want to run an effective directory I have to get a fix on that problem and get a fix to fix it up. </p>
<p>I did two tests on directory sites, where I downloaded Yahoo SiteExplorer indexed urls&#8217; and retrieved the pagerank per url.</p>
<table>
<tbody>
<tr>
<td>sites</td>
<td>pages/site</td>
<td>total</td>
<td>ranked</td>
<td>percentage</td>
</tr>
<tr>
<td>16</td>
<td>1000</td>
<td>16.000</td>
<td>120</td>
<td>0.7%</td>
</tr>
<tr>
<td>150</td>
<td>50</td>
<td>7500</td>
<td>200</td>
<td>2.5%</td>
</tr>
</tbody>
</table>
<p>Roughly interpreted, per site most pages are indexed, but only about 2 per 100 pages have a pagerank value assigned.</p>
<p>The others have no value assigned and don&#8217;t pass any value on links on it. In all cases (except dmoz, which is ranking on most branches) it was the index page and main category pages that were ranked and the pages with links were all N/A not-available. </p>
<p>So testing the effect of social bookmarking on pages that would hold links is interesting.</p>
<p>A submission now costs 3 to 15 cts, which shows the value of links in a directory is low, and only featured links (which usually appear on the index and main category pages which do rank) are sold for $3,-/year to $40,-/permanent. </p>
<p>An estimate for a link on a PR3 page for a year in a directory page is $13,-/year.</p>
<p>If i can get 700 pages to rank PR1  and sell links for $3,-/year, 700 pages with 20 links times 3 makes $60.000,-++ a year. Compare that to $10/year for 20 links on a PR3 category page, 10 pages is $2.000/year. </p>
<p>And if 700 social bookmarks can make sure after a year my whole directory is ranked, indexed, brings in $60..000,- and delivers the goods (a ranking link for entrants at $3,-/year) then a month linkspamming is well worth the trouble.</p>
<p>Another option is reciprocals on the category page itself (from an indexed page, some link-pages are conveniently not indexed ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/social-bookmarking-to-get-your-site-indexed/2008/08/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

