Main Page
From Mediawiki datafeeds integration
Joomla datafeeds RSS integration test site
Affiliate4You gecategoriseerde feeds
Versie svn:1282 bevat een eerste parser voor de niche datafeeds van Affiliate4You .
Er is nog geen zip met deze parser, je kunt de nieuwe parser handmatig plaatsen, het gaat om xml_fetch.inc(dat is de 1.7 tak maar dit bestand is ook de gebruiken voor 1.5) deze moet in administrator/components/com_datafeeds/cron mbv ftp of de control panel van je webhost.
het lijkt alsof er op dit moment (5-10-11) nog een probleem zit bij a4y, niet alle feeds leveren correcte xml, de parser zal dan niet werken.
Kortingscodefeeds integreren
Daisycon
de kortingscode feed van daisycon kan opgenomen worden als datafeed.
Export voorbereiden
kies in het actiecodes menu je media en zo je wilt landen en categorieen, selecteer ook het filter op 'aanmeld status' = goedgekeurd. Zoeken en dan de programma's selecteren. Kies ook het vinkje onderaan 'Nieuwe actiecodes automatisch toevoegen'. Ga naar het tab 'exporteren' en kies CSV en 'Kolom namen toevoegen' zet het vinkje 'external' aan. Nu krijg je de feed link die je in de component kunt gebruiken. Kies in de component als class 'CSV ; en "'
Feed gebruiken
De inhoud van de feed wijkt wat af van gewone datafeeds. Via de list/text velden onderin de configuratie f een callback filter kun je de description aanvullen met de code en datums.
Integratie met product feeds
Interessant wordt het om bij een product ook de actiecode van die aanbieder te tonen. Dit zou je kunnen doen via een custom mod_datamenu. Dat kan eenvoudig mits de naam in 'program name' binnen de kortingscode feed identiek is aan het veld 'naam' in de feed configuratie van de bijbehorende product feed.
Affiliate4you
De feed van affiiate4you is een RSS feed die via een tool als feed gator als artikelen kan worden ingelezen. Helaas mist een RSS feed de structuur om het binnen de component te kunnen inzetten.
- Demo kortingscode site
- Demo integratie productfeeds ( binnenkort)
google en affiliate sites
Op hoeveel paarden wed je op de renbaan, spreekwoordelijk in ieder geval op meer dan een. Je hebt meerdere sites, op verschillende servers staan, je promoot meerdere webwinkels via verschillende affiliate netwerken, toch? En toch ben je voor bezoekers volledig afhankelijk van 1 bron: google?
Toegegeven het was en is niet echt makelijk, google heeft een behoorlijke dominantie met meer dan 90% marktaandeel. Nederland is hiermee koploper, zou ‘gratis’ ermee te maken hebben dat we ons volledig afhankelijk hebben gemaakt. (ik tik dit verhaal trouwens in google docs) En het was eigenlijk altijd relatief makkelijk om in ieder geval op de long tail lekker te scoren in google.
Helaas is dat over. Heel veel affiliate sites hebben harde klappen gehad. Toch is het niet helemaal uit de lucht komen vallen, de regels van google over thin-affiliate sites waren al lang duidelijk. Men is ze alleen strengen en concequenter gaan toepassen. Wellicht om ruimte te maken voor hun eigen thin-affiliate sites onder de noemer google shopping? We zijn met zijn alleen verslaafd geraakt aan de gratis diensten van google, maar ook gratis moet ergens zijn geld verdienen.
Daarnaast is er de afgelopen tijd een toename geweest van zowel hobby webmasters die een graantje wilden meepikken als de meer profesionelle sites die hun deel van de markt opeisen. Grote vergelijkingssites, cach-back en kortingscodes sites bieden de bezoeker wat ze willen, informatie en koopjes. Afgezien dat google het moeilijker maakt is er ook nog eens veel meer concurrentie, zowel in kwantiteit als kwaliteit.
‘content is king’ een site met unieke inhoud scoort goed in google, of scoorde? Het schrijven van unieke inhoud is zo moeilijk niet, dat het een prettig leesbaar verhaal is is een tweede. Het schrijven van unieke informatie is al een stuk lastiger. Welke bezoeker zal het boeien dat op jouw site het duizend-en-eenste verhaaltje over Arabië staat? Google net zo min. Wat gaat jouw site onderscheiden zodat een bezoeker jouw pagina’s gaat bookmarken, liken en tweeten, en zorgt ervoor dat hij nog een keer terugkomt.
Wellcht nog belangrijker dan content is het concept van de site, wat is het USP van je site. Dat geld voor affilaite sites, waar je site in feite je product is. Maak ook sites die een product aan de man proberen te brengen. Wat onderscheid jouw webwinkel?
Het concept hoeft niet zo vernieuwend te zijn als marktplaats een tijdje terug of twitter en facebook.
Geld verdienen zou bij het bedenken van een concept van een site op het tweede plan moeten staan, wat wil ik bieden wat nog nergens anders op deze unieke manier te vinden is. Uniek als in anders of beter dan de anderen. Er zijn voldoende niches waar de grote vergelijkingssites het laten liggen, kunst is alleen ze te vinden, en er genoeg bezoekers voor te krijgen.
Is er nog geld te verdienen met affiliate (feeds). Zekers maar je zult er (weer) hard voor moeten werken. Site/Concept/Content en dan pas cashen. Of een heel briljant idee hebben.
Gebruik van 404 caching voor afbeeldingen.
Vrijwel alle affiliate productfeeds zijn voorzien van afbeeldingen. De afbeeldingen staan meestal op de server van de webwinkel, in enkele gevallen op de server van het affiliatenetwerk. Het kan aantrekkelijk zijn de afbeeldingen zelf te hosten i.p.v. ze vanaf andere servers te gebruiken:
- veel afbeeldingen van verschillende servers kan een trigger voor google zijn: affiliatesite !!!
- de afbeeldingen zijn soms erg groot hetgeen in trage pagina’s resulteert.
- je kunt de afbeeldingen van een eigen cookie-loos domein aanbieden ( is een advies van google page-speed)
Nu kun je de afbeeldingen allemaal gaan ophalen op het moment dat je de datafeed inleest, de eigenaar van de server zal je dat echter niet in dank afnemen. een interessante optie is het om de plaatjes op te halen als ze nodig zijn en dan locaal op te slaan. Dit mechanisme gebruikt dezelfde truck als ‘404 caching’
Note: er zijn wat problemen in dit artikel met de voorbeelden, joomla knipt nogal wat html code weg. Het kan zijn dat het verhaal daardoor nog iets onbegrijpbaarder is.
De database.
in de database staan 1 of meer tabellen voor de informatie over de items in de feed in opgeslagen staan. Van belang is de tabel met het veld van de afbeelding voorbeeld:
ID,img_url,titel,omschrijving,etc etc
bij gewoon gebruik van de afbeelding plaats je iets als
<img src="http://www.affiliatefeeds.nl//$img_url" border="0" alt="" />
in je code. om over te stappen op eigen afbeeldingen maak je hier van:
<img src="http:/images.example.com/$ID" border="0" alt="" />
volgende stap is het '404' gedeelte, dit kan op apache server m.b.v. .htaccess en een error document. Onderstaande voorbeeld gebruikt de rewrite engine:
Rewriteengine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php
de eerste keer dat een afbeelding opgevraagd wordt bestaat deze nog niet en komt 'index.php' in aktie, de volgede keren staat de afbeelding in de 'cache' en gebruikt de webserver deze. Rest nog invulling te geven aan de index.php die de afbeelding ophaalt en bewerkt:
$db_host= “jouw host”;
$db_user= “jouw db user”;
$db_password=“jouw db password”;
$db_database=“jouw db”;
$db_table= “jouw tabel”;
if (!($_resource = mysql_connect( $db_host, $db_user, $db_password, true ))) {
$_errorNum = 2;
$_errorMsg = 'Could not connect to MySQL';
print $_errorMsg;
exit;
}
mysql_select_db( $db_database, $_resource );
$img=(int)$_SERVER['REQUEST_URI']; # int tegen injection
$feed_q="select img from $db_table where id = $img limit 1";
$_feeds=mysql_query($feed_q,$_resource);
@$p=mysql_result($_feeds,0);
if ( ! $p ) {
$p="noimage.jpg";
}
createthumb($p,$img,150,150);
#haalt de afbeelding op ( $name ) maakt er een standaard formaat van
#plaats de afbeelding in de directory en stuurt deze als response
function createthumb($name,$filename,$new_w,$new_h)
{
$src_img=false;
$name=str_replace(array('[',']',' '),array('%5B','%5D','%20'),$name);
$src_img=imagecreatefromstring(file_get_contents($name));
if ( ! $src_img ) {
if (preg_match("/(jpg|jpeg)$/i",$name)){
$src_img=imagecreatefromjpeg($name);
}
if (preg_match("/gif$/i",$name)){
$src_img=imagecreatefromgif($name);
}
if (preg_match("/png$/i",$name)){
$src_img=imagecreatefrompng($name);
}
}
if ( ! $src_img ) {
error_log("No IMAGE $name");
$src_img=imagecreatefromjpeg('noimage.jpg');
}
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
if ($old_x > $old_y)
{
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y)
{
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y)
{
$thumb_w=$new_w;
$thumb_h=$new_h;
}
$d_h=$thumb_h > 200?200:$thumb_h;
$dst_img=ImageCreateTrueColor($thumb_w,$d_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
imagejpeg($dst_img,$filename);
header("Content-type: image/jpg");
imagejpeg($dst_img);
imagedestroy($dst_img);
imagedestroy($src_img);
}
Dit is een basic script, als je veel afbeeldingen hebt is het verstandig met sub-mappen te werken; het script lost het probleem van niet bestaande afbeeldingen slechts deels op. Het script zal gewijzigde afbeeldingen niet oppikken; sommige feeds gebruiken dezelfde afbeelding verschillende keren, je zou kunnen overwegen een hash van de image url te gebruiken:
<img src="http:/images.example.com/crc32($img_url)" border="0" alt="" />
en de query om de afbeelding uit de database te halen ook aan te passen. Dit lost ook het probleem op als een product een andere img url krijgt

