Хакове за Referring Links widget
Referring Links набира все по-голяма популярност. Потребителите му до момента са към 300 сайта, 80% от които са гръцки. И въпреки многото заявки в секунда към сървъра, още успявам да съм на споделен хостинг. В тази статия ще споделя с читателите си няколко хака, които могат да са ви полезни. Повечето от тях не искам да ги знаят всички потребители ;)
1. Как да махнем търсачките от резултатите?
Започваме с нещо много просто и то е как в резултатния списък да няма търсачки. За целта просто трябва да баннем всички ключови думи на търсачки. Аз лично предпочитам да виждам колко хора идват от търсачките.
<script type="text/javascript">
var banned="google,yahoo,bing,search,feed,directory";
</script>
<script src="http://referringlinks.com/script.js" type="text/javascript"></script>
2. Как да махнем връзката „още препратки“?
Това вече си е хак, за който простосмъртните не знаят. Нямам особен интерес това да се премахва, защото никой няма да отива на страницата на инструмента. За целта се добавя предварително определен код в CSS стиловете на сайта.
li.more {display:none;}
3. Как да се показва точно един резултат?
Ако искате да да показвате само един резултат, тоест този, от който получавате най-много посетители, тогава изпълнявате точка две (премахвате бутона „още препратки“) и използвате код с параметър на links=1.
<script type="text/javascript">
var links=1;
</script>
<script src="http://referringlinks.com/script.js" type="text/javascript"></script>
4. Как да направим списъкът да не се вижда?
Има потребители, които не искат да използват инструмента като widget, а просто като статистически такъв. За целта трябва просто да се скрие целият резултат, примерно чрез CSS и да се запомни адресът на статистиката.
<div style="display:none">
<script src="http://referringlinks.com/script.js" type="text/javascript"></script>
</div>
Може да искате списъкът да се вижда само на точно определена страница, но в същото време да се отчитат референциите към всички страници на сайта. За целта на всички страници добавяте скрития код, а на страницата, която е за референциите, добавяте стандартния такъв. На тази страница, примерно, може да направите и да се показват максималния брой връзки (20).
Referring Links вече и с българска версия
Крайно време беше да направя и българска версия на скрипта ми за препращащи връзки Referring Links. Това, както вече е известно, ми е дипломната работа, която, ако не ми мине котка път, ще трябва да защитавам пред комисия на 7-ми Юли. Едно от изискванията е скриптът ми да има българска версия. А така или иначе трябваше да се направи някога, защото 80% от потребителите са български сайтове.
За тези, които не знаят, Referring Links е притурка (widget) за сайтове, която показва от къде и колко посещения получава сайтът Ви. Работи на всякакви платформи и браузъри. Скриптът е изключително бърз и оптимизиран. Вече сериозен брой сайтове го използват и се надявам този успех да продължи и за напред. На мен лично ми е много полезен и вече не мога без неговите данни.
До скоро системата беше в „Beta“ версия. Вече не е – всички основни проблеми са отстранени. Проектът е на точно една година и честно казано се сблъсках със страшно много проблеми по време на реализацията му. Изключително сложен скрипт, стотици реда код и много проблеми. За всичко обаче се намери решение с времето. Знаех, че ще е сложно, но не съм и предполагал колко сложно ще излезе в същност.
Това е един некомерсиален проект, от който научих много, страшно много. Научих неща за уеб програмирането, които не могат да се прочетат в книги и подобни. Неща, които много хора биха казали, че са невъзможни. Научих, че JavaScript и PHP са велики езици, с неподозирано богатство от функции и възможности. Научих много и за HTTP протокола, изключително важна част от всеки уеб проект.
Скриптът вече работи и се кешира на всяко ниво от трислойната архитектура. Работи на споделен хостинг, но дори всички български сайтове да си го сложат, няма да отчете съществено натоварване, защото изразходва само и единствено трафик, който е на теория е неограничен. Преди няколко дни успях да реша и най-големия проблем – забавянето на някои сайтове, с инсталирана притурката.
Сега се надявам всичко да е наред. Може да има малко правописни грешки в превода и леки бъгове, но ще ги оправя, като попадна на тях. В момента ме чака голямо писане, защото всичко трябва да се документира, а нещата изобщо не са малко. Приканвам който иска – да изпробва скрипта – не боли, нищо не губите, а и винаги може да го махнете. Приемам съвети за бъдещата му реализация.
За тези, които искаха повече данни да се показват – отказах се. Не мисля да го превръщам в статистически инструмент. Главната идея е да е widget и за сега ще си остане такъв. Замислям в скоро време да направя и widget за WordPress, който да се инсталира с един клик през системата и да се настройва през нея. Сега от WordPress още повече улесниха този процес.
Ето българската версия на сайта на инструмента. Дано Ви е полезен.
Нов код за Referring Links? – търся съвет
Последният месец, моят инструмент за препращащи връзки Referring Links загуби голяма част от потребителите си. Причината е в хостинга – HostBulgaria изглежда имат огромни проблеми със сървъра DAO. Не само че инструментът започва да не отчита правилно, но се получава нещо друго, много по-неприятно – започва да бави зареждането на страниците на потребителите.
Разбирам всеки, който го е махнал. Дори мен самия ме дразни всичко това, но проблемът просто не зависи от мен. Знам какво бихте ме посъветвали – да сменя хостинга. Според мен това не е решение, защото сървърът рано или късно ще се оправи. Но трябва да намеря решение за случаите, когато сървъра го няма.
Много мислих, какви ли не гимнастики правих, но просто JavaScript е така проектиран, че трудно да се реагира на подобни проблеми. Затова мисля да прибегна към нещо, което силно се надявах да не правя – да променя кода за потребителите. Засега още го обмислям, но май натам вървят нещата. Естествено, старият код ще си работи.
Засега съм измислил това:
<script type="text/javascript">
var links = 7;
var banned = "example.com,someword";
var language = "bg";
document.write(unescape("%3Cscript src='http://referringlinks.com/script.js' type='text/javascript'%3E%3C/script%3E"));
</script>
Искам съвет от хората, които повечко разбират от програмиране – това правилно решение ли е? Обяснявам: След приемането на необходимите за скрипта параметри, чрез функцията write генерираме ново извикване на скрипт на следващо ниво. Когато сайта се зарежда, той изисква първо ниво.
То винаги се зарежда, защото не зависи от външния сайт (сайта на скрипта). Така следващото ниво се зарежда след зареждането на сайта или по-точно не зависи от зареждането на сайта и не го бави. На този блог в момента върви този експериментален код и дава доста добри резултати. Скрипта си хваща стиловете и си отчита.
Кодът си остава валиден спрямо W3C, JavaScript конзолата не дава никакви грешки. Ако сървърът липсва, просто нищо не се появява, като отново грешки не се генерират, нито се забава зареждането на сайта. Както казах, това е най-големият и досаден проблем в старата версия на кода.
Много сложно го обясних май, но той целият скрипт е една голяма сложнотия. Постоянно се появяват нови проблеми и предизвикателства. Мечтая си да го изкарам от Beta, но няма да е в следващите 3 месеца. Въпреки всичко съм оптимист за бъдещето на инструмента. Смятам, че ще го довърша все някога :)
Забележете, че има параметър за български език (bg). Скоро не само widget-а, но и сайта ще има и българска версия.


