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.

 

De joomla component beschreven op deze site bied een komplete oplossing voor het integreren van affilaite feeds met een joomla site. Het gaat hier om functionaliteit aan de achterkant: beheer van de feeds en de automatische import en de voorkant weergave van de geimporteerde data.

Een komplete oplossing als voor joomla voor andere CMS systemen wordt hier niet geboden. Ze zijn er wel. Onderaan de pagina staan een aantal voorbeelden. Onderstaand een aantal oplossingen om deze parser te gebruiken met andere CMS systemen.

Importeren van RSS feeds.

Alle grote CMS systemen beschikken over een extensie ( module, plugin ) die het mogelijk maakt RSS feeds te importeren als content. Gebaseerd op de parser die ook voor de joomla extensie gebruikt wordt is er een standalone datafeeds naar RSS converter. Hier is geen admin panel bij, de feeds worden geconfigureerd in php of xml bestanden. De uitleg op deze site m.b.t. configuratie en callback functies geldt ook voor de stand alone versie. Als je wel een admin wilt, kun je een joomla site neerzetten, in de feed configuratie kun je de instellingen van een feed exporten als xml, die je weer voor de datafeeds2rss tool kunt gebruiken

RSS Importers

  • Drupal : feedapi

 

Tonen van RSS feeds

Een andere optie is het weergeven van RSS feeds naast (bestaande) content. Stel je hebt een (bestaande) website met veel content waar je advertenties op basis van affiliatefeeds aan wilt toevoegen. Hiervoor bouw je naast je bestaande site een nieuwe (joomla) website die gebruikt gaat worden als leverancier van rss feeds. Voor alle grote CMS systemen is er wel een extensie om RSS feeds te tonen. In tegenstelling tot de vorige oplossing importeer je hier de data niet in het CMS van je hoofd website maar toon je slechts een deel van de affiliate site.

Een voorbeeld hiervan is te vinden op deze demo-site op basis van mediawiki: Op de pagina over boormachines is een feed van deze huis en tuin site toegevoegd. bij de rss feeds van com_datafeeds kun je een query meegeven

Het mooiste is dan een RSS module die feedds laat zien op basis van de tags op de pagina.

Importeren als content

Als je de datafeeds als echte content importeert in je CMS (als content,article, post, page,node etc) zijn er geen beperkingen in het gebruik van de gemaakt pagina, de pagina is immers een standaard onderdeel van je CMS en je kunt er alle extensies op los laten.

Er zijn wel wat potentiele problemen: CMS systemen zijn er niet op ingericht om duizenden artikelen met bijbehorende tags ( categorien, taxanomie rubrieken etc) te beheren, al ze het al kunnen joomla kent bijvoorbeeld alleen een eenvoudige rubricering.  Wordpress bijvoorbeeld is prima in staat om duizenden artikelen te beheren, maar de admin loopt hopeloos vast als je te wild gaat met de rubrieken en tags voor de artikelen. Een landen site met landen-regio's- steden heeft duizenden tags en dat gaat fout.

Voor kleine feeds kan het een oplossing zijn, de parser die bij de joomla component hoort is ook voorzien in het toevoegen van extra/andere import functie. Ook is het datafeeds2rss te verbouwen. Bij de eerste verloopt de import dan via een joomla site, bij de tweede is het een zelfstandige toepassing.

Er is een experimentele versie van een wordpress importer. Deze gaat in de komende tijd uitgewerkt worden en kan dan hier gedownload worden: vakantiehuizen demo, dagaanbiedingen demo

PHP includen

Een andere mogelijkheid is het importen van de data ( via joomla of standalone) en daarna een eigen stukje php code te includen in je content of in een sidebar widget. Bijvoorbeeld een widget die producten laat zijn op basis van tags in de artikelen.

wordpress

Andere systemen

standalone

Veel CSV import tools, als iemand ervaring ermee heeft hoor ik het graag.

Bij gebruik van SEF url's Dus als je gebruik maakt van het .htaccess bestand ( htaccess.txt in de joomla download) kun je een error 500 voor de kiezen krijgen.

Het kan zijn dat je hoster geen rewrite ondersteund, of dat de hoster geen options toestaat, Als het eerste niet mag kun je de sef url's niet gebruiken i.c.m. mod_rewrite. De options parameter kun je redelijk veilig weghalen uit de htaccess

In principe is elke host die mysql/php ondersteund geschikt om een joomla site met datafeeds te hosten. Vrijwel elke hoster die zijn systemen een beetje onderhoud voldoet aan de systeem eisen. De datafeeds component wijkt in zovere af van 'gewoon' joomla dat uitgaande http verbindingen van belang zijn. Problemen kunnen ontstaan door de libxml bug of door een combinatie van veiligheidsinstellingen ( allow_url_fopen, safe mode, base dir restrictions). Dit zijn gegevens die je pas ontdekt als je joomla draaiende hebt.

Hoeveelheid ruimte

Joomla zelf neemt een megabyte of 40 in beslag.  de omvang van de database is afhankelijk van de hoeveelheid content en feed-items. per 1000 items ben je ongeveer een megabyte aan database ruimte kwijt.

 

Gratis Hosting byet

 

byethost bied gratis hosting aan met voldoende ruimte en mogelijkheden om joomla en de datafeeds compoment uit te proberen.

Ga naar de site byet en registreer je voor een gratis pakket. Gebruik als 'username' de naam van het subdomein dat je wilt hebben.

Na de registratie kun je inloggen op hun cpanel, maak hier een database aan. De cpanel biedt de mogelijkheid om joomla te installeren, controlleer echter dat dit de laatste versie is. Download anders de engels of nederlandse joomla versie en upload deze via ftp.

als je de datafeeds component installeerd zonder dat de nederlandse taalbestanden van de joomla core aanwezig zijn zal de nederlandse versie van de component niet geinstalleerd worden. Installeer dan de nederlandse taalbestanden en aansluitend de component opnieuw.

 

Installeer joomla, de database host is niet localhost, kijk in de cpanel (links ) wat de host name is. Het installeren van extensies werkt zonder ftp-layer, die stap kun je overslaan.

 

Daarna de component installeren via het extensions menu, data downloaden en klaar.

 

byethost demo

 

 

 

 

 

Op een windows omgeving is het mogelijk in een paar minuten een joomla website met affiliatefeeds neer te zetten. Dit is bijzonder handig voor uitproberen en testen.

Als je geen windows omgeving heb kun je gebruik maken van xampp dat is echter net iets complexer.

De installatie van joomla en de component is niet afhankelijk van het soort webserver. Het aanmaken van een database, de locatie van de bestanden en de url zullen op andere systemen afwijken.

 

Deze beschrijving heeft nog betrekking op usbwebserver 7, bij versie 8 ziet het er net anders uit. En zijn er veel problemen gemeld met de server zelf. Op verzoek kan ik een kant en klaar pakket leveren o.b.v. usbwebserver 7

joomsef is net als smartsef een component om de url nog vriendelijker te maken joomla dan  zelf als doet.

De component draait op zich prima met joomsef.

Aangezien er  geen plugin/ extension van com_datafeeds voor joomsef is zal joomsef de gewone joomla links gebruiken.Om voor com_datafeeds dan zoekmachine vriendelijke links te krijgen zul je in de configuratie de SEF Url's van joomla moeten inschakelen.

De datafeeds component maakt zelf al zoekmachine vriendelijke url's met informative links volgens de SEO richtlijnen van google.

Alle links die door joomsef worden aangemaakt worden opgeslagen in de database. Dit wordt een aardige verzameling bij een site van een beetje omvang.

Een zeer ernstig probleem met joomsef is dat na het purgen van de database je complete site onvindbaar is !

De meer recente versies van de compoment bevat de mogelijkheid een functie aan te roepen op het moment dat een feed succesvol geparsed is. Een mogelijkheid hiervan is om bijvoorbeeld na elke update automatisch een bericht te plaatsen op een weblog. Dat kan dezelfde joomla installatie zijn of een willekeurige andere weblog.

Voorbeeld toepassing

In de feeds-example.php vind je een stukje code, als je deze code overneemt in je eigen feeds.php zal als alles goed gaat de site toppers.gryla.nl automatisch van een post voorzien worden bij elke update van een feed. toppers.gryla.nl is een wordpress installatie met een iets aangepast versie van xmlrpc

 

 

The numbers on this page refer to the subversion (svn) revision numbers. The number of your install can be found on the 'about' page in the datafeeds section in the administrator or in the 'extensions Install/Uninstall' submenu components

 

click out/framed merchant page (1135)

the component supports a clickout out to an external page, either for tracking or as framed view

title and description search (1090)

the component now supports full text search using the component search. The search is performed using mysql-like or using a full text search (in boolean mode). Please enable a full text index on the description and title fields before unlocking the later feature. Be aware that text search is expensive. Please report your experience.

mysql statements for full text index

ALTER TABLE `jos_dataitems` ADD FULLTEXT(`title`)

ALTER TABLE `jos_dataitems` ADD FULLTEXT(`description`)


Cleafs feed structure (975)

the parser does not support the old format anymore.

The fields in additional are returned as is, fields with internal delimiters like xxx/yyy/zzz are not splitted. As a result the fields c_0, c_1 etc are not available anymore

 

M4n and affilinet Feed of feeds (956)

gzopen (798)

the component allows using gz (gzip) compressed files, for a faster download. gz compressing is supported by for example webgains and standard by commission junction.

The option is not enabled by default. gzopen works fine on uncompressed files but is a bit slower compared to fopen.

add

define('USE_GZOPEN',true);

to your feeds.php to enable gz support

Search plugin (717)

de parameters van de search plugin zijn aangepast, de link die terugwijst naar de items is nu naar believen in te stellen

 

merchant tmpl voor de module

er is een  template voor de module gekomen die gebruikt maakt van de merchant url en merchant image uit de feed configuratie.

 

datafeeds en commentaar (707)

Er is een experimente versie van de component template waar het mogelijk is om commentaar aan items toe te voegen. Dit is op basis van jcomment en een plugin.

 

feed namen (666)

soms hebben merchants meerdere feeds, die allemaal een unieke naam moeten hebbenb in de configuratie. Die zie je dan ook allemaal terug in de menu's. Het is nu mogelijk 'subnamen' op te geven in de configuratie:

  • sunweb:wintersport
  • sunweb
  • sunweb:autovakanties

wordt allemaal sunweb.

database aanpassing

Er is een wijziging van de database geweest, bij een upgrade wordt die automatisch aangepast. Echter, in oude versies van joomla (< 1.5.10) werkt de upgrade niet goed ( bug in joomla ). Problemen? Ga naar http:///administrator/index.php?option=com_datafeeds&c=check en  voor de check en update uit.

libxml fix (608)

de manier waarop de libxml bug te omzeilen is is aangepast

Wijzigingen database structuur (585)

In de loop van de tijd zijn er een aantal kleine wijzigingen in de structuur van de database geweest. Voor de belangrijkste is er een check toegevoegd ( svn : 585 ).

  • Een upgrade kan nu wat langer duren afhankelijk van de omvang van de database.
  • Het is van belang met een recente versie van joomla te werken ( > 1.5.10 ). In de oudere zit een fout in de installatie procedure

Eventueel is de check ook met de hand uit te voeren plak onderstaande string achter je site-url:

administrator/index.php?option=com_datafeeds&c=check

Download en upload van feedconfiguraties

Om de uitwisseling van configuraties tussen websites iets eenvoudiger te maken is her mogelijk de settings van een feed te downloaden als XML bestand. Op de feed wijzig pagina vind je de link XML voor de download. Op de datafeeds pagina zelf staat een icon upload. (svn : 574)

 

 

(de upload is er dus niet voor de datafeeds zelf!)

Tradetracker feed van feeds

Via het soap protocol is het nu ook mogelijk om een overzicht van de tradetracker feeds te krijgen. (helaas is soap lang niet altijd standaard op servers, ga bij TT vragen om een csv lijst van de feeds ) (versie 549). In de configuratie ( parameters) moet je de website en de sleutel opgeven. de TT site id is optioneel

 

Alleen unieke titels op een pagina

Bij sommige producten komt een bepaalt item meerdere keren voor, bijvoorbeeld reizen met verschillende vertrekdata, kleding in verschillende kleuren. Dit is te voorkomen door te groeperen op 'titel' en groeperen aan te zetten voor alle levels. Echter het groeperen op titel is een vrij kostbare sql operatie ( titel is text en niet geindexeerd).  Daarom is er de mogelijkheid dubbele titels er bij de weergave uit te filteren De standaard weergave  geeft dan elke titel+feed combinatie meer 1 keer weer.  De optie kan op menu niveau aangezet worden in de advanced sectie. (versie 480)

Zoekfunctie aangepast

de zoekplugin maakt nu gebruik van de instellingen van het in de plugin opgegeven menu of van het eerste datafeeds menu dat het kan vinden (versie 463).

Automatisch invullen van feed configuratie

(versie 415) Op basis van bekende velden zal de component proberen een aantal velden (titel, href,  image, prijs,  Select 1,  Select 2,  Select 3)  in de configuratie al in de vullen. Van lang niet alle feeds zijn de velden bekend bij met name de Select velden zul je vaak zelf een betere keuze moeten maken.

Automatische Daisycon Configuratie

Versie 400, zie het artikel over de daisycon configuratie

HTML entities

Vanaf versie 384 worden html entities standaard gedecodeerd naar de karakter set

zie ook het artikel over de rare tekens

Google sitemap

versie 294

Aanroep

http://website/index.php?option=com_datafeeds&view=items&format=xmlmap

voorbeeld

http://www.winkelpromenade.be/index.php?option=com_datafeeds&view=items&format=xmlmap

dit geeft een sitemap van sitemaps. In de sitemap van sitemap vind je de links naar de afzonderlijke sitemaps

All-in-one installatie

De component, module en plugin vormen nu 1 pakket. Tevens wordt als  voorbeeld een menu item aangemaakt ( en de module geactiveerd ) waardoor je na installatie meteen een werkend systeem hebt.

De component ondersteunt nu de upgrade methode van joomla. Je kunt de component dus herinstalleren zonder eerste een deinstall uit te voeren. (Vanaf 250)

Zie ook de opmerking bij de module aanpassing

Linkstructuur

Links volgen nu meer de joomla conventie. De oude links worden doorgestuurd.

Referentie tracking

In versie 0.9 is de referentie tracking die in eerdere versies beperkt aanwezig was uitgebouwt.  Voor een klik wordt een string meegegeven die tot de betreffende pagina te herleiden is.

 

Verder

 

mod_datamenu layout selectie ( vanaf 238 )

De wijze waarop je het layout selecteerd is eenvoudiger, het pulldown menu toont nu alle layout die er zijn.

BELANGRIJK : als je een module voor het eerst weer bewerkt, controleer het gekozen layout. Als je een custom layout  gebruikt moet je de instelling handmatig aanpassen in het pulldown menu. Helaas is dat niet te goed te automatiseren.

 

Downloads

Er zit een bug in php/libxml die  html encoded characters kwijtmaakt '& amp;' '& lt;' '& gt;' enzovoorts. In de feed configuratie zie je dat bij de ruwe data de &'s missen in de url.

Dit probleem is opgelost in libxml 2.7.3 in combinatie met php 5.2.9. Upgraden is de beste uitweg. Zit je niet op een eigen server en moet je je host overtuigen? Van het probleem heeft niet alleen deze joomla component last maar ook gebruikers van bijvoorbeeld wordpress.

Andere workaround is alleen csv bestanden te gebruiken, of voeg ( versie 608 en hoger) een define toe aan je feeds.php

 

define('LIBXML_BUG','yes');

 

 

 

Meer info bij php of leef je uit met google

 

 

In principe kun je een joomla-installatie met com_datafeeds net zo verplaatsen of copieren als je met een gewone joomla installatie zou doen. Bestanden zippen,copieren,ftpen (whatever) database dumpen. Op nieuwe locatie configuration.php aanpassen voor nieuwe locatie en database, database importeren en klaar.

Tikje tricky is de mogelijke omvang van de dataitems tabel. Die is al gauw een paar mbytes groot. Nu is het helemaal niet nodig om de dataitems ook te verplaatsen, met een run van de feedcron heb je de tabel weer gevuld.