Hosting SEO tylko nie w hosting.seo-linuxpl.com!

Nie jestem zwolennikiem wygłaszania negatywnych opinii na temat produktów czy usług, wolę wyłapywać i opisywać te ciekawe i pozytywne tematy niż wywlekać brudy i żalić się na źle/nie działające rzeczy.

Niestety tym razem zostałem zmuszony zrobić wyjątek, gdyż to co się dzieje od kilku miesięcy na jednym z polskich SEO hostingów woła o pomstę do nieba i warto o tym wspomnieć chociażby ku przestrodze. Chodzi o linuxpl.com i ich pseudo „SEO hosting” hosting.seo-linuxpl.com, gdzie mam nieprzyjemność administrować jeden serwer od jakiegoś czasu.

Miłe złego początki

Na dzień dobry przy konfiguracji małe zdziwienie bo w opisie pakietu jak wół było napisane „Dowolna ilość baz MySQL i postgreSQL”… fajnie tylko fakt, że bazy postgreSQL dostępne są za dodatkową opłatą a w standardzie jest tylko MySQL napisane było jedynie w domyślnie zwiniętym menu „pokaż dodatki”. Ot taki mały chłyt makertingowy, w chwili pisania tego tekstu postgreSQL jest już dostępny w standardzie ale niesmak pozostał. Czytaj dalej „Hosting SEO tylko nie w hosting.seo-linuxpl.com!”

Oprogramowanie do sklepu internetowego – które wybrać?

To że przyszłość zakupów jest w internecie, tego tłumaczyć nikomu raczej nie trzeba, co rusz powstają nowe sklepy internetowe… chodzą też słuchy, że w e-commerce podobno są pieniądze… skoro tak to i ja zapragnąłem spróbować.

Jakiś czas temu stanąłem zatem przed decyzją wyboru platformy e-commerce dla sklepu internetowego. Na rynku dostępnych jest wiele różnych platform lub produktów box’owych, niestety wcale nie znaczy, że jest z czego wybierać.

Poniżej garść informacji, kilka porad i linków dla osób planujących założenie własnego sklepu w necie. Mam nadzieję, że komuś się przyda. Czytaj dalej „Oprogramowanie do sklepu internetowego – które wybrać?”

Tani dobry hosting w USA – HostMonster

O tym, że nie ma w Polsce ofert hostingowych o przyzwoitym stosunku cena do możliwości, chyba nie muszę nikogo przekonywać.

Osobiście korzystam z usług dzielonego hostingu na NetArt i jestem względnie zadowolony, jednak limity typu 10gb pojemności konta czy brak dostępu przez ssh są dosyć irytujące.

Kiedyś przez 2 lata korzystałem z usług DreamHost.com, jednak 2-letni promocyjny okres się skończył a dosyć wysoka awaryjność ich serwerów (tempest, gambino) skutecznie zniechęciła mnie do przedłużania umowy.

Po niedługim czasie od wyprowadzki z DreamHost’a zatęskniłem za ssh i parametrami „Unlimited”, zacząłem mały research i moją uwagę przykuł mało znany w Polsce HostMonster.

Serwis hostingowy z typu „amerykańskich gigantów” za cenę $5,95 miesięcznie oferuje naprawdę dużo. Na HM user ma gwarantowane max. 64mb pamięci RAM i 30% mocy procesora. Mi osobiście szczególnie spodobała się obsługa baz danych PostgreSQL, gdyż jest to SZBD, który najbardziej przypadł mi do gustu i głównie na nim opieram swoje aplikacje. (Dreamhost jak i wiele topowych firm hostingowych oferuje jedynie MySQL.)

Muszę przyznać, że HostMonster oferuje nieco mniej fajerwerków niż DreamHost chociażby limit na instalacje niektórych programów unixowych, brak SVN i pewnie jeszcze kilka niekoniecznie ważnych ficzerów. Brak tych wszystkich funkcjonalności rekompensuje stabilność działania serwera a to przecież jest najważniejsze.

Po około trzech miesiącach użytkowania jestem bardzo zadowolony z ich usług, wszystko działa należycie, nie było żadnych padów a support szybciutko odpowiadał na pytania.

Zatem polecam HostMonster jako tani dzielony hosting dla serwisów nie wymagających mega małych pingów. Abonament za hosting można obniżyć do bajecznie niskich $3,95 na miesiąc korzystając z wielu dostępnych w necie HostMonster coupon codes. Za max. 150zł rocznie mocny, stabilny hosting z większością parametrów „unlimited” i dostępem ssh… dla mnie rewelacja.


Relecyjna baza ‘ala MySQL’ w chmurze Amazon AWS

Amazon w ramach AWS (Amazon Web Services) uruchomił publiczną wersję beta usługi relacyjnaj bazy danych 'ala MySQL’ (Amazon RDS) w swojej chmurze.

Amazon RDS ma cechować się:

  • prostotą konfiguracji i wdrożenia do aplikacji,
  • pełną kompatybilnością z bazą danych MySQL,
  • prostotą w zarządzaniu bazami, backupami i dostępnymi narzędziami,
  • pełną automatyką w backup’owaniu i czynnościach serwisowych,
  • skalowalnością w zależności od potrzeb uzytkownika
  • niezawodnością
  • bardzo dostępną ceną, tak jak w przypadku innych usług developerzy kasowani będą jedynie za zaosby, które rzeczywiście zużywają ich aplikacje.

Czy rzeczywiście tak będzie? Mam nadzieje. Przeczytaj więcej o Amazon RDS.

Code Spaces – hosting SVN i nie tylko

Przy tworzeniu swoich projektów od jakiegoś czasu korzystam z usług Code Spaces. Jest to serwis, który udostępnia hosting repozytoriów SVN + podstawowe narzędzia do zarządzania projektem.

Przy pracy nad większym projektem, w którym zaangażowanych jest więcej niż jedna osoba praca z repozytorium SVN jest nieodzowna a zarządzanie projektem oraz przepływem informacji jest równie ważna. Właśnie to ułatwia Code Spaces.

W Code Space umożliwia:

  • hostowanie repozytorium SVN,
  • przeglądanie repozytorium SVN online,
  • zarządzanie projektami, użytkownikami i ich prawami do projektów,
  • zarządzanie zadaniami, błędami (powiadomienia email),
  • zarządzanie dokumentami projektowymi,
  • zarządzanie mini 'project wiki’,
  • komunikowanie się w zespole na forum.

W system został wyposażony w przyjemny dla użytkownika interfejs, dostępne są statystyki commit’ów, najnowsze zadania, odliczany czas do kolejnego 'kamienia milowego’…

Ceny w Code Spaces nie są odstraszające, pakiet 'Micro ISV’ powinien starczyć na większość dzisiejszych startup’ów. Usługi Code Spaces można za darmo testować przez 45 dni.

Baza danych miejscowości w Polsce z podziałem na województwa w formacie CSV

Sam szukałem w necie… żadnej konkretnej listy nie znalazłem wiec zostałem zmuszony samemu ją wygenerować z danych dostępnych na stronie GUS.

Może komuś jeszcze się przyda:

Miejscowości to łącznie miasta (897) i wsie. Powyższa lista obejmuje wszystkie miasta i większe wsie na które dotarł GUS. Lista wszystkich wsi to podobno około 65 000 więc jeżeli ktoś potrzebuje dane wszystkich wioch to będzie musiał je samemu zebrać. Imho szkoda sobie nimi baze i interface serwisu zapychać.

Kodowanie plików UTF-8 (unicode). Stan danych na 2009 rok.

CloudBerry – okienkowa aplikacja do zarządzania Amazon S3

Słowem wstępu Amazon s3 (Simple Storage Service) jest usługą online, która umożliwia składowanie danych na przestrzeni dyskowej serwerów Amazon. W zależności od potrzeb, dane mogą być składowane w USA bądź też w Europie. Usługa s3 wyposarzona jest w API dzięki któremu w prosty sposób można operować na składowanych zasobach. Przeczytaj więcej o Amazon s3.

Do tej pory, poza skromnym pluginem do Firefox’a, nie było żadnego wsparcia softwarowego dla tej usługi, praca jak i testowanie nie było dla developerów przejrzyste ani proste, a dla niezaawansowanych użytkowników wręcz niemożliwe. Ale koniec z tym, właśnie powstała pierwsza okienkowa aplikacja wspomagająca usługę Amazon s3 – CloudBerry Explorer.

CloudBerry jest aplikacją okienkową, która umożliwia poprzez swój interface operacje, które dostępne są poprzez Amazon s3 API. Zdalnymi plikami zarządza się tak jak zarządza się plikami na własnym dysku twardym. Można z łatwością tworzyć przeglądać/tworzyć/usuwać/przegrywać pliki i katalogi, zarządzać prawami dostępu. Aplikacja przystosowana jest do połączeń z wieloma kontami jednocześnie.

Program jest całkowicie darmowy, aktualnie dostępna jest jedynie wersja pod Windows. Ściągnij i przetestuj CloudBerry.

Dostępna jest także wersja premium, do kupienia w cenie około 150zł. Wersja premium umożliwia dużo szybszy transfer plików oraz posiada kilka dodatkowych funkcjonalności.

Jak w Google Analytics badać kliknięcia w linki.

Zagadnienie
Posiadamy serwis internetowy, na którym mamy linki wychodzące prowadzące do innych serwisów. W celach optymalizacyjnych, statystycznych lub ze zwykłej ciekawości chcielibyśmy zliczać kliknięcia w takie linki.

Rozwiązanie
Do rozwiązania tego zagadnienia wykorzystamy statystyki Google Analytics, które są nie dość, że są darmowe to również są zdecydowanie najlepsze na rynku.

Aby liczyć kliknięcia stworzymy wirtualną stronę, którą następnie w panelu ustawimy jako goal/cel. W ten sposób będziemy mieli w łatwy i przejrzysty sposób dostęp do szczegółowych statystyk kliknięć w ten link.

1. W kodzie serwisu musimy umieścić kod śledzący Google Analitycs

	<script type="text/javascript">
	var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
	</script>
	<script type="text/javascript">
	try {
	var pageTracker = _gat._getTracker("UA-TUTAj_TWOJ-ID");
	pageTracker._trackPageview();
	} catch(err) {}</script>

Należy pamiętać, że w kodzie HTML, powyższy kod musi być powyżej kodu trackera z punktu kolejnego.

2. W linku, który chcemy mierzyć, wstawiamy wywołanie poprzez zdarzenie javascript onclick skryptu GA pageTracker._trackPageview

onclick="javascript:pageTracker._trackPageview('/link/UNIKALNA-NAZWA')"

W miejsce '/link/UNIKALNA-NAZWA’ wpisz, tekst, który ma się wyświetlić jako nazwa wirtualnej strony w panelu Google Analitycs. Dobrym zwyczajem jest dodanie prefixu (w przykładzie 'link’). Jest to przydatne gdy w przyszłości chciałbyś wykluczyć statystyki wirtualnych stron w ogólnym raporcie GA.

3. Dodajemy nowy goal/cel

google analitycs goal

Należy pamiętać aby wartość pola 'Goal URL/Adres URL celu’ była taka sama jak wcześniej zdefiniowana wirtualna strona i zaczynała się od slasha '/’.

To wszystko. Można teraz zrobić kilka testowych kliknięć i należy poczekać 24h gdyż statystyki GA aktualizowane są raz dziennie.

4. Aby podglądnąć statystyki kliknięć należy udać się do panelu GA i przejść do zakładki 'Goals/Cele’, mamy tam zestaw gotowych raportów. Jeżeli mamy zdefiniowanych więcej niż jeden goal/cel, to po kliknięciu na 'Goal conversion/Konwersja na cel’ możemy ograniczyć raport do konkretnego celu. Statystyki naszej wirtualnej strony dostępne są również w zakładce 'Content/Zawartość’ gdyż, dla GA jest ona normalną stroną serwisową.

Dla jednego serwisu możemy zdefiniować wiele goal’i, w panelu możemy badać ich statystyki łącznie lub dla każdego osobno.

Podsumowanie
Metoda opisana powyżej działa zarówno dla linków wychodzących jak i dla linków wewnętrznych, wywołanie javascript:pageTracker._trackPageview(’/link/XXX’) może być zaszyte zarówno w javascript jak i we flashu. Prawdę mówiąc metodą tą można mierzyć kliknięcie w dowolny element serwisu (np. blok tekstowy), jednak do tego lepiej wykorzystać 'heat mapy’, ale o tym innym razem.

FirePHP – przyjazne debug’owanie aplikacji internetowych

Debugowanie to poważny problem programistów

Bez względu na to jakimi dobrymi programistami jesteśmy nigdy nie ustrzeżemy się błędów. To normalne, błędy popełnia każdy, różnica pomiędzy dobrym programistą a złym polega m. in. na szybkości wykrycia błędnego kodu i naprawienia go.

Mówiąc o błędnym kodzie nie mam na myśli jedynie błędów syntaktycznych, ale również błędów logicznych, które nie powodują widocznych error’ów a jedynie błędne działanie aplikacji. Takie błędy są dużo trudniejsze do wykrycia.

Aby wykryć błędny kod niezbędne jest zdebugowanie zmiennych, obiektów, zasobów, które wykorzystywane są w tworzonej przez nas aplikacji. Brzmi banalnie, jednak w rzeczywistości nie jest to takie łatwe gdyż:

  • po pierwsze trzeba wstawić w odpowiednie miejsca funkcje var_dump() lub print_r()
  • po drugie funkcje te nie wyświetlają przejrzyste i łatwe do zinterpretowania dane
  • po trzecie debug’owanie na ekran może spowodować błędy aplikacji, a debugowanie do pliku jest niewygodne w odczycie (szczególnie w przypadku aplikacji flash’owych lub AJAX’owych)
  • po czwarte zdarza się, że format zwracanych danych uniemożliwia swobodne dodawanie własnych danych do debugowania (np. XML, JSon).
  • po piąge po skończeniu debugowania trzeba usunąć wszystkie instrukcje debugujące

Rozwiązaniem problemu debugowania jest FirePHP

Dużo tych wad… całe szczęście jest na to rozwiązanie. FirePHP to darmowa, open source’owa biblioteka, która wraz z pluginem do Firebug’a idealnie sprawdza się w roli debugera.

FirePHP debuguje dane w konsoli Firebug’a, informacje do debugowania są umieszczone w specjalnych nagłówkach HTTP przez co 'output’ aplikacji pozostaje w nienaruszonym stanie. Rewelacja prawda?

Instalacja firePHP

Wymagania FirePHP to PHP 5.2+, Firefox z pluginem Firebug.

  • Instalujemy plugina do firefox’a Firebug
  • Instalujemy plugina do Firebug’a FirePHP
  • Ściągamy źródła FirePHP, warto zauważyć, że na stronie dostępne są informacje, jak zintegrować bibliotekę z wieloma znanymi frameworkami (CakePHP, CodeIgniter, Drupal, Kohana, ExpressionEngine, PRADO, Symfony, TYPO3, Zend Framework).
  • Integrujemy FirePHP z naszą aplikacją
  • Odpalamy stronę aplikacji w Firefox z uruchomionymi plugin’ami Firebug i FirePHP
  • Klikamy na ikonę Firebug’a a następnie przechodzimy do konsoli. W konsoli powinny być zaprezentowane zdebugowane zmienne naszej aplikacji.
  • W przypadku problemów przydać się mogą: mini tutorial how to, forum dyskusyjne o FirePHP.

Przykład działania

Pod adresem http://blog.adiasz.pl/examples/firephp/ stworzyłem prosty skrypt AJAX’owy łączący się z bazą i wykonujący prościutkie operacje. Jest zintegrowany z FirePHP, zachęcam do testów. Naprawdę warto! (Oczywiście musicie najpierw zainstalować plugin FireBug i FirePHP). Wszystkie pliki wykorzystane w tym przykładzie dostępne są tutaj.

Przykład powinien zaprezentować coś w stylu:

Na koniec, bardzo ważna informacja: po opublikowaniu projektu musicie wyłączyć debugowanie FirePHP poprzez dyrektywę:

$fp = FirePHP::getInstance( true );
$fp->setEnabled ( false );

W przeciwnym razie każdy internauta posiadający zainstalowany ten plugin będzie miał dostęp do niebezpiecznych z punktu bezpieczeństwa danych. Najlepiej w konfigu aplikacji sterować to poprzez zmienną typu boolean $development = true/false. Samych instrukcji debugujących nie trzeba kasować gdyż nie wiadomo kiedy się jeszcze przydadzą.

ps. FirePHP dostępne jest także dla innych niż PHP języków programowania aplikacji webowych: ASP, Python, Ruby.

Darmowe narzędzia dla webmasterów: statystyki serwisu

Ostatnio w ramach optymalizacji czasu i automatyzacji wykonywanych przez zemnie zadań stworzyłem mini aplikację sprawdzającą statystyki moich serwisów w wyszukiwarkach.

Aktualnie sprawdzam: Google PR, Google link, Google site, Yahoo link, Yahoo site, MSN site. Monitoringu pozycji słów kluczowych na razie nie robiłem, gdyż jest wiele tego typu dobrych i darmowych sprawdzaczy na necie – więc szkoda czasu.

Aplikacja działa tak:
* skrypty sprawdzające statystyki wywoływane są z automatycznie z cron’a, dane zapisują w bazie
* po zalogowaniu prezentowana jest lista najnowszych statystyk
* generowane są dzienne wykresy poszczególnych statystyk serwisów

Prościutkie, teraz zamiast sprawdzać ręcznie tysiące parametrów wystarczy się zalogować do panelu. Wyniki zostaną zaprezentowane szybki i w przejrzysty sposób.

Dla szerokiego internetu udostępniłem wersję uproszczoną – możliwość sprawdzenia wyżej wymienionych statystyk dla podanego adresu: zapraszam na darmowe narzędzia dla webmasterów. Nic odkrywczego, ale może komuś się przyda.

Aplikacja została napisana we framework’u: Kohana, o którym postaram się napisać niedługo, a już teraz polecam się z nim zapoznać.