Кои сайтове Ви носят посещения и по колко?

09.10.2008 от Васил Тошков
Категории: Програмиране 

От доста време имам идеята да направя инструмент, който да показва сайтовете, които носят посещения и броя им. Вчера, след дълги часове програмиране, пуснах Алфа версия на такъв инструмент. Проектът се намира на адрес referringlinks.com. Той е от тип „gadget“ – всеки може да си сложи кода на своя сайт/блог и системата сама прави останалото.

За момента проектът е в Алфа версия, както вече казах. Може да има бъгове, аномалии и малки проблеми, за което се извинявам предварително. Кодът, който ще си слагат потребителите, е решен и няма да бъде променян. Затова всеки може да опита добавката като „beta tester“. Така ще имам и малко повече данни, с които да експериментирам и тествам системата.

Подобен скрипт изглежда прост, но изобщо не е. Всичко минава през HTML -> Javascript -> PHP -> SQL и после на обратно. Подобна техническа реализация е трудна, поне за мен, тъй като всеки език трябва да „плюе“ следващия, а той по-следващия. Трудна е и защитата на самия сайт от атаки, а отговорността е голяма. Най-много усилия съм съсредоточил именно в тази насока.

Самата база данни също е доста сложна, защото е в трета нормална форма. За сървър се използва InnoDB, за да могат таблиците да са навързани с външни ключове. Ограничил съм броя на заявките към базата до минимум, с цел да не се товари сървърът. Системата пази всички IP адреси на посетителите от последните 30 дни, така че може да се гласува веднъж на месец с едно IP.

Преди малко сложих скрипта и на този блог и съм учуден от посещенията, които получавам от Българския Google. Както може да видите, системата се интегрира много лесно с дизайна на сайта и по никакъв начин не си личи, че е външен скрипт. Резултатът е стандартизиран html списък с необходимите данни. От SEO гледище търсачките не виждат връзките, които се генерират.

Целта на този инструмент е да бъде полезен за потребителите и сайтовете, които дават посещения. Проектът не е комерсиален и е най-лесният начин да благодарите на тези, които Ви препращат посетители. В крайна сметка не губите нищо, не Ви тече ранг, нито нищо. Инструментът работи бързо и незабележимо.

Потребителите имат опция да избират броя на връзките, които да се показват. По подразбиране този брой е 7. Може също така да се банват сайтове, които не искате да бъдат отчитани. Кодът за потребителите се състои от три части, като само средната част е задължителна. За съжаление не можах да накарам Wordpress да го изпише тук правилно. Вижте го от сайта.

Със скрипта от първата част на кода, можете да зададете броя на връзките и да баннете някои сайтове. Скриптът от третата част на кода служи за алтернатива при евентуални грешки в системата. Не съм пропуснал да си взема и връзка с цел SEO :) Разбира се, тази част от кода, както и първата, не са задължителни. Изисква се само средната, която вика script.js.

При евентуални бъгове, проблеми, въпроси и съвети (определено ще има), пишете в коментарите към тази тема. Ще има още доста публикации относно този инструмент в блога, защото имам още доста идеи около него, но за сега ще останат тайна :) Надявам се, че ще бъда полезен. Друго подобно нещо в Интернет за сега няма.

бутон за споделяне в социални мрежи

Коментари

32 коментара за Кои сайтове Ви носят посещения и по колко?

  1. Васил Тошков на 09.10.2008 14:43

    Първите проблеми са на лице. Засега са необходими първите две части на кода, за да работи правилно. Работя над проблема.

  2. Манол Трендафилов на 09.10.2008 14:56

    Ако имаш нужда от програмистка помощ, съвети, идеи казвай :)

  3. Васил Тошков на 09.10.2008 15:04

    Еми имам, разбира се – ще се възползвам.

    Като махна първата част на скрипта и системата спира да отчита посетителите. Проблемът сигурно е, че в тази част се декларират две променливи: „links“ и „banned“ и после ги използвам.

    Кодът на java скрипта е на адрес:
    http://referringlinks.com/script.js

    Вижда се как се параметризира едно PHP с необходимите променливи. То в последствие връща картинка, колкото всичко да е наред и да не вземе някой JavaScript компилатор да пищи.

    Въпросът е как да наяравя променливите „links“ и „banned“ да придобиват стойности по подразбиране, ако не са зададени. В PHP като влезе, вече си има стойности по подразбиране, но не стига до там.

    Ако пък дефинирам или инициализирам двете променливи в script.js, тогава се губят стойностите, които въвеждат потребителите. В краен случай ще стане задължителна и първата част на кода.

  4. красьо на 09.10.2008 15:14

    +1 за dev помощ, ако имаш нужда.

  5. Манол Трендафилов на 09.10.2008 15:27

    Ако можеш да ми покажеш и PHP. Тъй като нямаш променливата links и променливата banned, вероятно праща до PHP-то „undefined“. Тоест, в така показаният javascript няма логика да подаваш за параметър някакви неинициализирани променливи. Може да сложиш вместо тях default параметър „&links=7″ , относно banned е по – добре да се вади от PHP-то и там да се филтрират

  6. Васил Тошков на 09.10.2008 15:41

    Май го оправих. Проблемът е в JavaScript. Всичко блокира, когато се опиташ да достъпиш недефинирана променлива. Решението е с typeof() да се проверява всичко, преди да се прави опит да се достъпи и да дефинира с празна стойност.

    Ето полезна статия по темата:
    http://www.esqsoft.com/javascript-help/javascript-testing-defined-undefined-variables.htm

  7. Манол Трендафилов на 09.10.2008 15:53

    Дам, аз постоянно го ползвам typeof :)

  8. Васил Тошков на 09.10.2008 15:56

    Мерси все-пак за идеите. Аз съм свикнал като в PHP и забравих добрия стар Pascal, който не даваше да се пипа нещо, което не съществува.

  9. Манол Трендафилов на 09.10.2008 16:21

    Javascript-а си е доста особен :) Защо не го направиш като WP widget?

  10. Васил Тошков на 09.10.2008 16:43

    Не мога да те разбера какво имаш предвид. Че то не е ли WP widget? Обясни малко по-подробно за такива като мен :)

  11. асдф на 09.10.2008 18:12

    всеки нормален old school език за програмиране от високо ниво те кара да си дефинираш променливите, преди да ги използваш. така правя и в рнр и нямам такива проблеми. под дефиниция имам предвид, преди да пълниш примерно накакъв масив да сложиш най-отгоре: $arr = array()

  12. Васил Тошков на 09.10.2008 20:56

    Ето и първият ми потребител на системата е вече факт. Става въпрос за adtech ile reklam 2.0 donemi basliyor ve Trkycmhrytllbtpydrklcktr r10.net seo yarismasi (Дано съм нацелил anchor-a). Благодаря за доверието!

  13. Манол Трендафилов на 10.10.2008 13:51

    Смисъл, като плъгин за WP и като го инсталираш да се появява в Design -> Widgets :) Така ползваш текст widget-a и пускаш script таг нали?

  14. Васил Тошков на 10.10.2008 13:56

    След време може и това да се направи, но според мен сега е даже по-лесно. Просто си добавяш ново текстове поле при „джаджите“, слагаш му заглавие по избор и в долното поле кода на този tool.

    Обикновено стиловете си пасват автоматично. Ако темата е по-специфична – може да се пипне ръчно. В краен случай може да се сложи един външен div с клас и чрез него да се стилизира.

    След време ще ги опиша тези всичките неща тук или на сайта.

  15. Стойчев на 10.10.2008 15:45

    Ето ме и мен в редиците на beta тестерите! Обещавам да служа вярно :)

  16. Васил Тошков на 10.10.2008 16:07

    @Стойчев – Благодаря!

    Ако някой има някакви идеи или забележки – да казва спокойно. Иска ми се да добавя опции за махане на „show all links“ и на броя посещения, но ще станат много проверки (заявки) към базата за всеки потребител.

    Може да сложа някакви span и класове всеки да си маха и оформя каквото си иска с CSS.

  17. NullSoFt на 10.10.2008 16:19

    Не знаех че аз съм първия ти потребител. Чудех се няма ли начин да може да се направи примерно само първите 3 или 4 линка да са follow, и останалите да са с nofollow.

  18. Стойчев на 10.10.2008 16:21

    Първо нещо, което забелязах – след като бях задал да ми показва само първите 3 линка, реших да си сложа отделно поле и да покзва повечко. Уви не иска да промени стойността. При мен скрипта е променен, но може би няма как да го синхронизирам с този на сървърната част?

  19. Стойчев на 10.10.2008 16:23

    А тъп съм. Просто нямам толкова сайтове! Няма проблем.

  20. Васил Тошков на 10.10.2008 16:32

    @NullSoFt – Тези връзки се генерират изкуствено и на практика е невъзможно търсачката да ги види. Тя вижда просто извикването на един JavaScript и нищо повече. Така че всички връзки са невидими и непроследими от търсачките. И да искам да са – не може.

    @Стойчев – Заради мерки за сигурност, промени в опциите, зададени от потребителя, се осъществяват малко по-рядко. Или по-точно тогава, когато ще се прави нов запис към базата данни за да се добави или увеличи индекса на някой сайт. Така се щади и хостинга.

  21. Манол Трендафилов на 11.10.2008 10:47

    Айде и аз съм тестър: http://myavtorentacar.com/ :)

  22. Иво Иванов на 12.10.2008 05:29

    Сложих го тук и веднага го тествах. На моята страница всичко е ок, но като се върнах тук отстрани в сайдбара ти се изписва само моята връзка :)

    screenshot

  23. Васил Тошков на 12.10.2008 12:36

    @Иво – С кой браузър си? Като refresh-неш не се ли оправя? Opera, примерно, пази кешове на всички страници, дори външните им скриптове и прави подобни проблеми. При мен си върви всичко точно.

  24. Иво Иванов на 12.10.2008 12:59

    FF 3, но след рефреш се оправи.

  25. Васил Тошков на 12.10.2008 13:16

    Проблемът се среща и при различни картинки с еднакви имена. В случая скриптът е с еднакво име, а връща различни резултати. Ако сайтът има cache-control:no-cache, проблемът се решава 100%.

    Иначе всичко си зависи от браузъра.

    Между другото – http://www.fotolinia.com – много ми хареса. Идеята, снимките, дизайна… страхотно. Пожелавам Ви успех!

  26. Цветан Дичев на 13.10.2008 09:40

    Идеята на сайта е супер. Успех с развитието. :)

  27. Васил Тошков на 13.10.2008 13:34

    @Дичев – Много благодаря за пожеланието :)

  28. Иво Иванов на 14.10.2008 01:38

    И аз благодаря за добрите думи :)

  29. [...] намерите на адрес: referringlinks.com/code.html. Повече за скрипта: toshkov.info/referring-links-alpha/ Тагове: referring links, wordpress, блог, Добавка, Инсталиране, [...]

  30. Ico Think на 23.10.2008 20:24

    Благодаря за скриптчето поставил съм го вече на 3-4 сайта, хареса ми

  31. Васил Тошков на 23.10.2008 20:55

    @Ico Think – Видях те аз. Благодаря и на теб за подкрепата! Виждам, че бързо трупаш реферали. Хостингът вече взе да отчита системата като натоварване. Може да се наложи да се местя на VPS, ако се разпространява с такива темпове :)

  32. Иван Стаматов на 25.10.2008 18:56

    Много добра работа , смятам да го използвам навсякъде :) засега е на тези два сайта : http://darovete.blogspot.com/ и http://neverni.blogspot.com/ . Много благодаря за този скрипт.