WN

WN (https://www.wn.se/forum/index.php)
-   Sökmotorpositionering (https://www.wn.se/forum/forumdisplay.php?f=11)
-   -   Klickräkning utan att tappa PR effekt (https://www.wn.se/forum/showthread.php?t=9750)

Conth 2005-09-08 22:27

Har kikat i gamla trådar men inte hittat svaret på följande:

För att räkna klick på externa länkar har vi gjort en "internlänk" till en sida som loggar klicket i databasen och sedan gör redirect. Detta fungerar utmärkt och är fullt tillräckligt vid annonser.

MEN om man har ett länkbyte där lite av poängen är PR så kommer detta inte ha någon PR effekt eftersom botar inte kan följa detta(!?).

Någon som vet hur själva länken kan/bör se ut för att uppfattas korrekt ? (räcker det att ha en internlänk där den externa URL:en finns med som parameter (typ: <a href=mypage.php?url=http://www.extern.se>) skulle väl INTE tro det!?).

Hur löser man annars klickräkning utan att "sabba" själva länken ??

Jim_Westergren 2005-09-08 22:43

Vild gissning: Kanske javascript onclick typ:

<A HREF="http://www.extern.se'" onClick="window.open('mypage.php?url=http://www.extern.se')">

Kan någon annan bekräfta?

Conth 2005-09-08 22:47

Testade och det verkar ju funka utmärkt.
Tack!!

AndreasB 2005-09-10 14:30

Citat:

Originally posted by Jim_Westergren@Sep 8 2005, 22:43
Vild gissning: Kanske javascript onclick typ:

<A HREF="http://www.extern.se'" onClick="window.open('mypage.php?url=http://www.extern.se')">

Kan någon annan bekräfta?

Jag fick det inte att fungera så som jag vill ha det.

När jag testade med javascripsidéen som Jim_Westergren skrev så kom båda dessa fönster till den nya sidan och ingen av fönstren var kvar på den sidan man tryckte på.

Alternativt så kan jag få att två nya fönster öppnas och den understa är kvar på orginalsidan (dvs tot. 3 sidor!). Det är så Conth har nu på sin sida när jag var där och testade.

Jag vill att den länk man trycker på ska öppnas i ett nytt fönster och det fönster man var i ska vara kvar på samma sida. Går det att göra så mha av javascript eller något liknande och ändå bibehålla PR?

För tillfället använder jag mig av denna idé: "<a href=mypage.php?url=http://www.extern.se>" som fungerar bra men som "förstör" PR...

Lindahl 2005-09-10 14:43

Följande lilla modifikation bör funka bättre.

<A HREF="http://www.extern.se'" onClick="window.open('mypage.php?url=http://www.extern.se'); return false;">

Ännu hellre skapar man en egen funktion:

function Link(page) {
window.open(page, '');
return false;
}

I a-taggen skriver man sedan:

Tjohej

Men nu var det kanske inte riktigt det som efterfrågades, och för att komma tillbaka till topic så har jag därför ett annat förslag som t.ex. Google använder sig av för att registrera vilka länkar i Serpen man klickar på:

function clk(url) {
if(document.images) {
(new Image()).src = "counter?url="+url
}
return true;
}

Länktext

Här har man alltså ett script som heter counter på den lokala servern, som tar en url som parameter och sparar undan det hela i en databas på nåt vis. Scriptet returnerar sedan antingen en bild som är väldigt liten (inget skoj att föra över några stora datamängder vid varje länkklick) eller så skickar man helt enkelt ett status 204 (No Content), vilket Google gör.

Jim_Westergren 2005-09-10 14:52

Vill ge ett annat förslag för att öppna i nytt fönster. Det som Lindahl skrev går över min förmåga men prova detta kanske:

<a href="http://www.extern.se'" target="nysida" onClick="window.open('mypage.php?url=http://www.extern.se','nysida','scrollbars=yes,resizable= yes,width=650,height=550,left=180,top=40')">

Skriv själv in storlek och placering av fönstret på skärmen genom att ändra nummren.

grazzy 2005-09-10 15:15

window.open() gör att firefox/popupblockerare gnäller i vissa fall. Skulle nog hellre rekommendera att <a>-länken är den äkta och att det onclick-scriptet gör är att räkna.

zpD 2005-09-10 16:11

Man öppnar inte ett nytt fönster med javascript, man skapar en bild med sökvägen till räknaren, jag tar för givet att du vet hur du skriver en PHP sida för räkning:
Kod:

var a = document.getElementsByTagName("a");
for(i=0; i<a.length; i++)if(a[i].id != '')
        a[i].onclick = count_link;
var roten='';
function count_link(){
rakna = new Image();
rakna.src = roten+'/rakna.php?id='+this.id;
return true;
        }

Du får testa den så det inte är något skrivfel

Lindahl 2005-09-10 16:15

Eller så kan man läsa vad alla har skrivit så slipper man skriva samma lösning tre gånger. (ok då Anders, du la faktiskt till onClick-egenskapen dynamiskt, men Jim, vad som skiljer dina två inlägg har jag faktiskt ingen aning om)

zpD 2005-09-10 17:11

Citat:

Originally posted by Fulton@Sep 10 2005, 16:39
men med skillnaden att man kan på varje sida räkna klicken och särskilja ett antal länkar som pekar till samma sida.
Att ge unik ID för varje länk är inget som någon av våra lösningar utesluter, tvärtemot så är detta hur enkelt som hellst.
Att sedan räkna ut CTR kräver inte heller någon professor om man har sidvisningar samt länkklick.

[edit]För övrigt öppnade jag svars-sidan långt innan du skrev ditt svar Lindahl, men blev påropad från köket. Min lösning är också fullständig[/edit]

Conth 2005-09-11 22:29

Har lagt in Lindahl's version
Citat:

<A HREF="http://www.extern.se'" onClick="window.open('mypage.php?url=http://www.extern.se'); return false;">
Den verkar göra jobbet. Har inte testat på olika läsare, risken är kanske att det stopas av någon popup blockerare ?!


En relaterad fråga:
Har omvänd hantering för partners som länkar till oss. Tar emot besöket med t.ex; www.minsida.se?from=partner. Dvs partnern länkar till mig med denna länk så jag kan räkna besök från varje partner. Någon som vet om detta påverkar PR negativt !? Dvs att inte ha länken till index-sidan, utan GET parametrar ??!
Är det bättre att kolla i HTTP_REFERER ? Alla läsare hanterar väl inte det ?!

zpD 2005-09-11 22:57

Citat:

Originally posted by Conth@Sep 11 2005, 22:29
Den verkar göra jobbet. Har inte testat på olika läsare, risken är kanske att det stopas av någon popup blockerare ?!
Använd min lösning, mycket bättre.

Till din andra fråga, be antingen dina partners att skapa en cookie du läser av eller använda referer.
Google gillar paramtetrar mindre och mindre.

Conth 2005-09-11 23:20

Rätta mig om jag har fel men jag ska inte kunna läsa en cookie som han skapar på sin site ?!! Det brukar väl spärras numera!?

Ska testa din lösning för klickräkning (har inte hunnit ännu...)

ric 2005-11-12 19:04

Lite gammalt topic, men...

Citat:

Originally posted by Lindahl@Sep 10 2005, 13:43

function clk(url) {
if(document.images) {
(new Image()).src = counter?url=+url
}
return true;
}
a href=http://www.extern.se/ onmousedown=return clk(href)Länktext/a

Jag har testat den här funktionen men får problemet att klicken bara räknas om användaren klickar väldigt långsamt. Om man klickar snabbt hinner inte phpscriptet (med inläggning av nytt antal klick i databasen) anropas innan man är på den nya sidan.

Finns det någon med en lösning på detta?

Gustaf 2005-11-12 21:39

jo den lösningen du valde har ju det problemet. bättre använda

<a href='xxx.html' onClick='document.location=count.php?page=xxx.html ; return false; '>

du riskerar då inte att "tappa" någon besökare. ser ingen anledning varför inte välja den varianten?

zpD 2005-11-12 22:15

Jag förstår inte att du inte använder räknartypen jag visade: klickräknare

ric 2005-11-12 22:28

Citat:

Ursprungligen postat av zpD
Jag förstår inte att du inte använder räknartypen jag visade: http://www.webbdesign.info/client_side_spr...rera_klick.html


Vilka fördelar har din lösning jämte denna:

Citat:

Ursprungligen postat av techtigo
jo den lösningen du valde har ju det problemet. bättre använda
a href=xxx.html onClick=document.location=count.php?page=xxx.html; return false;
du riskerar då inte att tappa någon besökare. ser ingen anledning varför inte välja den varianten?

?

zpD 2005-11-12 22:54

Den största fördelen är att den separerar JavaScript koden från HTML elementen vilket är exakt vad du bör sträva efter.

ric 2005-11-12 23:30

hur skickar man in rätt id till rätt länk, enligt din funktion?

Gustaf 2005-11-13 11:04

och som sagt. även den lösningen som zpD länkar till har problemet med loadtid, man missar en besökare om browsern är snabbare på att loada nästa sida än att anropa räknarskriptet. Man kan om man använder den loop som zpD hänvisar till lägga in samma funktion som jag skrev i onClick automatisk, vilket nog är det smartaste sättet, dvs

<script type="text/javascript">
var a = document.getElementsByTagName("a");
for(i=0; i<a.length; i++)
if(a[i].id != '')
a[i].onclick = 'document.location = "count.phph?page='+a[i].href+'"';
</script>

då får man ju båda skriptens fördelar. har inte testat denna lösning, men det borde funka efter en del modifikationer.

berneboy 2005-11-14 06:13

Bra förslag från techtigo, men det går att utveckla.

1- Lägg scriptet i en funktion
2- Lägg funktionen i en .js fil som inkluderas.
3- Modifiera scriptet enligt nedan:

function initLinks(){
var a;
a = document.getElementsByTagName("a");
for(i=0; i<a.length; i++){
if(a[i].id = 'linkToCount')
a[i].href = 'count.php?page='+a[i].href;
}
}

Med detta script så kommer alla <a></a> med id = "linkToCount" att skrivas om från exempelvis http://www.aftonbladet.se till count.php?page=http://www.aftonbladet.se.

Om man sedan lägger funktionstrigger på onload event för window eller body, så görs det redan innan användaren klickat.

Nu hoppar säkert en del till och tänker, men detta är ju cloaking. Och förvisso är det väl det, men som jag ser det så görs det för användaren och inte för sökmotorn och borde i så fall vara helt OK.

om jag inte har fått allt helt om bakfoten så kommer sökmotorerna endast se helt vanliga länkar till de externa webbplatserna och PR borde inte påverkas, medan användaren går via count.php och redirectas sedan till den externa webbplatsen.

Alla nöjda alla glada.

Citat:

EDIT:
Ska nämnas att jag inte testat detta själv ännu, men mottager tacksamt feedback från den eller de som testar lösningen.


/berneboy

Gustaf 2005-11-14 12:02

ett problem med denna automatiska lösning som jag kom på när jag läste igenom tråden igen är att man måste trigga funktionen som ändrar onClick-händelsen. Det finns möjlighte att göra detta bara när sidan har laddat som jag förstår. Och då får man problemet att om personen ifråga har en seg uppkoppling, så kan han/hon hinna klicka på en länk innan räknar-onClick-händelsen är fixad. Då missar man den besökaren. Så det säkraste sättet är nog ändå att lägga dit skriptet för hand i alla a-taggar. Men här får man göra en avvägning...:)

att allt jämt skall vara så svårt.....


Alla tider är GMT +2. Klockan är nu 12:06.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson