BOT mail

Kategoria google autor rysioslaw dodano wtorek 26 Maj 2009 o godzinie 23:17

“Google Bot

Pierwszym skryptem jest bardzo przydatny krtki kod, dzi?ki ktremu dowiemy si? co ile dni i o jakiej godzinie Google Bot indeksuje nasz? stron?. Jest to bardzo wa?ne poniewa? je?eli b?dziemy generowa? odwiedziny podczas indeksacji Google Bot zapisze aktualna ilo?? go?ci i zwi?kszy to szybko?? pozycjonowania.

A wi?c jedziemy:

if ( strpos( $_SERVER['HTTP_USER_AGENT'], ‘Googlebot’ ) !== false )
{
// Twoj adres email
$email = ‘twoj@adres.pl’;

// Wyslanie eMaila
mail($email,’Google Bot’, ‘GoogleBot wlasnie indeksuje twoja strone: ‘.$_SERVER['REQUEST_URI']);
}
?>

Wpisujemy dane $email = ‘nasz adres email’;
Ten kod wklejamy do g?wnego pliku witryny index.php najlepiej na samej grze.
Zapisujemy i wgrywamy na serwer.
I to wszystko, teraz je?li Google Bot pojawi si? na naszej stronie zostaniemy o tym poinformowani. Dzi?ki godzinie przyj?cia tego emaila, po 2-3 razach obecno?ci Bota na stronie mo?emy wywnioskowa? co ile dni i o ktrej godzinie GoogleBot pojawia si? na naszej witrynie. Teraz wystarczy ju? tylko generowa? ruch naszym Generatorem.”generator-ruchu.pl

UNICODE

Kategoria optymalizacja autor rysioslaw dodano poniedziałek 11 Maj 2009 o godzinie 22:21

“Wieża Babel, czyli Unicode
Wstęp

Unicode Worldwide Character Standard to uniwersalny standard kodowania znaków w komputerach. Podczas gdy 7-bitowe ASCII (American Standard Code for Information Interchange - zabytek archeologiczny który wciąż ciąży informatyce jak kula u nogi) oferuje 128 znaków, a w pełni jednobajtowe (czyli 8-bitowe) tablice kodowania Windows-1250 czy ISO-8859-2 (standard Latin-2 w Internecie i Linux) dają do dyspozycji 256 podstawowych symboli, dwubajtowy Unicode to ponad 65 tysięcy znaków (pełne 16-bitowe kodowanie to 65 536 możliwych do wykorzystania pozycji !). Daje to możliwość zapisywania dokumentów w niemal wszystkich żywych językach świata.
Twórcy Unicode

Unikod został wprowadzony przez Unicode Consortium - grupę najbardziej liczących się korporacji i instytucji związanych ze światem informatyki, takich przemysłowych liderów, jak Adobe, Apple, Basis Technology, Compaq, Hewlett Packard, IBM, JustSystem, Microsoft, NCR, Oracle, Reuters, Sap, Sun Microsystems, Sybase, Unisys i wielu innych.

Unikod jest wymogiem nowoczesnych standardów takich jak XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, najnowszej wersji języka HTML 4.0. itp., i oficjalnym sposobem implementacji ISO/IEC 10646. Jest wspierany przez wiele systemów operacyjnych, wszystkie nowoczesne przeglądarki internetowe, i wiele innych produktów. Wyjątkowość Unikodu i dostępność narzędzi wspierających go, są wymieniane wśród ważnych ostatnio trendów w technologiach tworzenia oprogramowania.

Obecnie można stosować Unikod w Windows NT/2000/XP, zarówno w MISE jak i Netscape, Linuxie i innych systemach Unix. A ponieważ autor Silva Rerum całkowicie popiera Unicode i odnosi się do niego entuzjastycznie - tak właśnie będą kodowane strony tego sieciowego zakamarka. Co prawda wiąże się to ze wszystkimi wadami, jakie niesie ze sobą pionierstwo - ale nie można stać w miejscu (Czyli się cofać). Jeśli statystyki są prawdziwe, zdecydowana większość osób będzie mogła bez problemów kożystać z WWW Silva Rerum.
Kodowanie znaków

Unicode po części oparty został na istniejących już wcześniej jednobajtowych standardach kodowania (stąd pierwsze 256 pozycji (o wartościach liczbowych rozszerzonych do 16 bitów) jest identyczne z opisanymi przez normę ISO 8859-1 [Latin-1] znakom alfabetu łacińskiego). W dalszej kolejności następują tzw. skrypty (grupy znaków) pozostałych języków: greckiego, cyrylicy, hebrajskiego, arabskiego, itd. oraz symbole specjalne.

Unicode przypisuje unikalny numer z zakresu od 0×0000 do 0xFFFF każdemu znakowi, niezależny od używanej platformy, programu czy języka. W chwili obecnej istnieją trzy podstawowe sposobóy zapisywania znaków. Są to: UTF-16, UTF-8 i UTF-7. Wszystkie używają tej samej tablicy i mają te same możliwości - różnica polega na innym sposobie zapisu. Najbardziej popularny jest UTF-8 i to on jest domyślnym standardem HTML 4.0. XHTML i XML. Wartości Unicode przedstawia się w postaci czterech cyfr szesnastkowych poprzedzonych znakami “U+”. Tak na przykład U+0104 oznacza polską literę “Ą”. Poniższa tabela prezentuje znaki Unicode kodujące polskie litery z “ogonkami”:
Ą U+0104
ą U+0105
Ć U+0106
ć U+0107
Ę U+0118
ę U+0119
Ł U+0141
ł U+0142
Ó U+00D3
ó U+00F3
Ś U+015A
ś U+015B
Ź U+0179
ź U+017A
Ż U+017B
ż U+017C
Unicode w praktyce

Unicode ma ogromne znacznie praktyczne, co ilustrują poniższe przykłady: pozwala na wygodne posługiwanie się alfabetami narodowymi bez potrzeby tworzenia oddzielnych stron kodowych dla każdego z nich. Możliwe jest zapisanie wszystkich liter, skomplikowanych znaków diakrytycznych, fonetycznych, ideogramów, itp. wszystkich najważniejszych języków, w tym również języków historycznych (np. sanskrytu). Obecnie opisanych jest w nim już ponad 39 tys. znaków i symboli. Dzięki Unicoe można więc w jednym dokumencie składać teksty między innymi w takich językach:

* Angielski: When the world wants to talk, it speaks Unicode
* Arabski: عندما يريد العالم أن يتكلّم, فهو يتحدّث بلغة يونيكود.
* Chiński uproszczony: 当世界需要沟通时,请用Unicode!
* Chiński tradycyjny: 當世界需要溝通時,請用統一碼(Unicode)
* Duński: Når verden vil tale, taler den Unicode
* Esperanto: Kiam la mondo volas paroli, ĝi parolas Unicode
* Fiński: Kun maailma haluaa puhua, se puhuu Unicodea
* Francuski: Quand le monde veut communiquer, il parle en Unicode
* Grecki: Εαν γαρ και πορευθω εν μέσω σκιας θανάτου
* Hebrajski: כאשר העולם רוצה לדבר, הוא מדבר ב־Unicode
* Hiszpański: Cuando el mundo quiere conversar, habla Unicode
* Japoński: 世界的に話すなら、Unicode です。
* Kataloński: Quan el món vol conversar, parla Unicode
* Koreański: 세계를 향한 대화, 유니코드로 하십시오
* Niemiecki: Wenn die Welt miteinander spricht, spricht sie Unicode
* Norweski: Når verden vil snakke, snakker den Unicode
* Polski: Kiedy świat chce mówić, mówi w Unikodzie!
* Portugalski: Quando o mundo quer falar, fala Unicode
* Rumuński: Când lumea vrea să comunice, vorbeşte Unicode
* Rosyjski: Если мир хочет общаться, он общается на Unicode
* Słowacki: Ko se želi svet pogovarjati, govori Unicode
* Szwedzki: När världen vill tala, så talar den Unicode
* Węgierski: Ha a világ beszélni akar, azt Unicode-ul mondja
* Włoski: Quando il mondo vuole comunicare, parla Unicode

Dodatkowe informacje

* Strona główna Consortium Unicode
* Informacje o najnowszej wersji Unicode
* Tabele z zestawieniem wszystkich znaków Unicode
* Podstawowa informacja techniczna i dane o ISO/IEC 10646″silvarerum.eu

Domyślny CSS

Kategoria optymalizacja autor rysioslaw dodano poniedziałek 11 Maj 2009 o godzinie 17:18

“Według dodatku A do specyfikacji dla HTML 4.0
Uwagi:

* Dodatek ma charakter zalecenia, nie standardu.
* Pełna prezentacja elementów HTML nie może być wyrażona za pomocą właściwości CSS. Dotyczy to elementów replaced (img, object), elementów skryptowych (script, applet) oraz elementów formularzy i ramek.
* Poprawiłem błąd (brak ‘font-size’ w deklaracji dla body) i zmieniłem prezentację oraz sposób uporządkowania informacji.

Ku pamięci:

* Dokument podaje prezentację również dla elementów przestarzałych (center),
* Niekoherentny margines w blockquote, menu i dd oraz padding dla body (px zamiast em),
* Proponowana prezentacja dla sub i sup jest niedobra (lepsze jest top i bottom),
* Proponowana prezentacja dla :focus jest wkurwiająca.

Sposób wyświetlania elementów
Elementy blokowe

address, blockquote, body, dd, div, dl, dt, fieldset, form,
frame, frameset, h1, h2, h3, h4, h5, h6, iframe, noframes,
object, ol, p, ul, applet, center, dir, hr, menu, pre
{ display: block }

Elementy list

li { display: list-item }

Tablice i elementy tablic

table { display: table }
tr { display: table-row }
thead { display: table-header-group }
tbody { display: table-row-group }
tfoot { display: table-footer-group }
col { display: table-column }
colgroup { display: table-column-group }
td, th { display: table-cell }
caption { display: table-caption }
th { font-weight: bolder; text-align: center }
caption { text-align: center }

Nagłówek dokumentu

head { display: none }

Odstępy (margin i padding) i prezentacja tekstu

body { font-size: 1.12em; padding: 8px; line-height: 1.33 }
h1 { font-size: 2em; margin: .67em 0 }
h2 { font-size: 1.5em; margin: .83em 0 }
h3 { font-size: 1.17em; margin: 1em 0 }
h4, p, blockquote, ul, fieldset, form, ol, dl, dir, menu
{ margin: 1.33em 0 }
h5 { font-size: .83em; line-height: 1.17em; margin: 1.67em 0 }
h6 { font-size: .67em; margin: 2.33em 0 }
h1, h2, h3, h4, h5, h6, b, strong
{ font-weight: bolder }
blockquote { margin-left: 40px; margin-right: 40px }
i, cite, em, var, address
{ font-style: italic }
pre, tt, code, kbd, samp
{ font-family: monospace }
pre { white-space: pre }
big { font-size: 1.17em }
small, sub, sup { font-size: .83em }
sub { vertical-align: sub }
sup { vertical-align: super }
s, strike, del { text-decoration: line-through }
hr { border: 1px inset }
ol, ul, dir, menu, dd
{ margin-left: 40px }
ol { list-style-type: decimal }
ol ul, ul ol, ul ul, ol ol
{ margin-top: 0; margin-bottom: 0 }
u, ins { text-decoration: underline }
center { text-align: center }
br:before { content: “\A” }

/* An example of style for HTML 4.0’s ABBR/ACRONYM elements */

abbr, acronym { font-variant: small-caps; letter-spacing: 0.1em }
a[href] { text-decoration: underline }
:focus { outline: thin dotted invert }

/* Begin bidirectionality settings (do not change) */
bdo[dir="ltr"] { direction: ltr; unicode-bidi: bidi-override }
bdo[dir="rtl"] { direction: rtl; unicode-bidi: bidi-override }

*[dir="ltr"] { direction: ltr; unicode-bidi: embed }
*[dir="rtl"] { direction: rtl; unicode-bidi: embed }

/* Elements that are block-level in HTML4 */
address, blockquote, body, dd, div, dl, dt, fieldset,
form, frame, frameset, h1, h2, h3, h4, h5, h6, iframe,
noscript, noframes, object, ol, p, ul, applet, center,
dir, hr, menu, pre, li, table, tr, thead, tbody, tfoot,
col, colgroup, td, th, caption
{ unicode-bidi: embed }
/* End bidi settings */

Prezentacja w druku

@media print {
@page { margin: 10% }
h1, h2, h3, h4, h5, h6
{ page-break-after: avoid; page-break-inside: avoid }
blockquote, pre
{ page-break-inside: avoid }
ul, ol, dl { page-break-before: avoid }
}

Prezentacja akustyczna

@media speech {
h1, h2, h3, h4, h5, h6
{ voice-family: paul, male; stress: 20; richness: 90 }
h1 { pitch: x-low; pitch-range: 90 }
h2 { pitch: x-low; pitch-range: 80 }
h3 { pitch: low; pitch-range: 70 }
h4 { pitch: medium; pitch-range: 60 }
h5 { pitch: medium; pitch-range: 50 }
h6 { pitch: medium; pitch-range: 40 }
li, dt, dd { pitch: medium; richness: 60 }
dt { stress: 80 }
pre, code, tt { pitch: medium; pitch-range: 0; stress: 0; richness: 80 }
em { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
strong { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
dfn { pitch: high; pitch-range: 60; stress: 60 }
s, strike { richness: 0 }
i { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
b { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
u { richness: 0 }
a:link { voice-family: harry, male }
a:visited { voice-family: betty, female }
a:active { voice-family: betty, female; pitch-range: 80; pitch: x-high }
}”leksykot.top.hell.pl

Odpowiedzi serwera

Kategoria optymalizacja autor rysioslaw dodano poniedziałek 11 Maj 2009 o godzinie 15:56

“Wprowadzenie

Opisywane tu usługi sprawdzające odpowiedzi serwera HTTP (ang. HTTP header check, HTTP header viewer) pozwalają na analizę transakcji HTTP klient — serwer użytkownikom, którzy nie dysponują własnymi narzędziami przeznaczonymi do tego celu. Opisywane usługi działają on-line, a do ich użycia wystarczy przeglądarka.

Opisywane tu usługi sprawdzania nagłówków HTTP nie są uporządkowane według żadnego kryterium. Mnie najbardziej odpowiada Rex Swain’s ze względu na niezłą (i jak się zdaje — bezbłędnie zrealizowaną) funkcjonalność i „surowy”, niskopoziomowy sposób prezentacji wyników.

Żadna z opisywanych usług nie pobierała robots.txt. Jedynie Delorie podejmuje jakąś próbę ochrony właścicieli zasobów dostępnych przez protokół HTTP przed nieautoryzowanym użyciem.
Pod rozwagę

Twórcom ew. podobnych usług polecam przeczytanie całego dokumentu i chwilę zastanowienia: sami nie chcecie, by wasze formularze i umieszczone na WWW skrypty były używane przez automaty, tymczasem dajecie użytkownikom narzędzia pozwalające na używanie serwerów w sposób, którego ich właściciele sobie nie życzą.

Rozważcie następujący, prosty algorytm, uniemożliwiający takie działania, niekłopotliwy dla użytkowników a zarazem w niczym nie zmniejszający funkcjonalności usługi:

1. Jeśli na sprawdzanym serwerze znajduje się plik o ustalonej nazwie (np. /header_check-12345.txt), to pozwalacie użytkownikowi na ustawianie dowolnych opcji (zmianę wersji protokołu, UA i in.), gdyż jest to strona należąca do użytkownika usługi,
2. W przeciwnym razie dajecie ustalony UA, zawierający URL do strony z opisem waszego robota (bez możliwości zmiany przez użytkownika) i respektujecie robots.txt. Dobrze, gdyby UA zawierał też on behalf on n.n.n.n, tak, jak to zrobił Delorie.

Proste? Mam nadzieję. Jeśli jednak nie zrozumiałeś implikacji, nie bierz się do tworzenia usług on-line; powiększysz tylko listę niepożądanych IP blokowanych przez właścicieli stron.
Adresy i opisy usług

* Delorie
* Rex Swain’s
* web-sniffer
* Seoconsultants

HTTP Header Viewer
Usługa Delorie przeznaczona jest do sprawdzania nagłówków wysyłanych przez serwer HTTP w odpowiedzi na żądanie klienta dostępu do określonego zasobu.
W formularzu podaje się URL badanej strony. Nie ma dodatkowych opcji.
IP usługi: 207.22.48.162. Podąża za przekierowaniem 301. UA przed przekierowaniem: “http://www.delorie.com/web/howto-allow.html (on behalf of n.n.n.n)”, gdzie n.n.n.n jest IP użytkownika, po przekierowaniu UA jest pusty. Dla ochrony właścicieli stron przed nadużyciami próbuje najpierw przeczytać plik delorie.htm w katalogu bieżącym lub w którymkolwiek z katalogów nadrzędnych, jako dowód, że użytkownik jest rzeczywiście właścicielem sprawdzanej strony. Jeśli plik nie istnieje, odmawia działania. Usługi tej nie sprawdzałem dalej; takie podejście uważam za zbyt kłopotliwe dla użytkownika.
Rex Swain’s HTTP Viewer
Usługa Rex Swain’s pozwala sprawdzić nagłówki wysyłane przez serwer HTTP.
W formularzu podaje się URL badanej strony, dodatkowo można ustawić:

* Rodzaj żądania (GET, HEAD lub TRACE),
* Wersję protokołu HTTP (1.0 lub 1.1),
* Sposób wyświetlenia wyniku (jako tekst lub szesnastkowo),
* Ciąg User-Agent (domyślnei jest to UA przeglądarki użytkownika),
* Nagłówek Accept-Encoding,
* Żądanie podążania za przekierowaniami.

Strona z formularzem zawiera dokładny opis przeznaczenia poszczególnych ustawień.
W odpowiedzi usługa wyświetla na bieżąco (przyrostowo) i bardzo szczegółowo, jako kolejne etapy transakcji, wysyłane nagłówki i odpowiedzi serwera, zarówno nagłówki, jak i treść odpowiedzi.
IP usługi: 206.130.105.30. Nie czyta robots.txt. Na stronie z wynikami (http://www.rexswain.com/cgi-bin/httpview.cgi) brak formularza. Jest to pewne utrudnienie dla przeciętnego użytkownika, jednak ta usługa wyświetla wyniki w bardzo „surowy” sposób i zapewne jest to zamierzone. Kolejne etapy transakcji są rozdzielone w czytelny sposób odpowiednimi nagłówkami, komentarz dotyczący kolejnej akcji jest wyróżniony kursywą. Podąża, zgodnie z zapewnieniem autora, za przekierowaniami (sprawdziłem dla 301). Znaki binarne w odpowiedzi serwera, o ile występują, wyróżnione są kolorem oraz nawiasami okrągłymi i wyświetlane jako rozdzielone przecinkami kody szesnastkowe.
View HTTP Request and Response Header
Usługa web-sniffer pozwala sprawdzić nagłówki wysyłane przez serwer HTTP(S). Ta usługa jest najbardziej elastyczna z opisanych w tym dokumencie, zawiera jednak drobne błędy.
W formularzu podaje się URL badanej strony i dodatkowo:

* Wersję protokołu (1.0 bez nagłówka Host, 1.0 lub 1.1),
* Wyświetlenie źródła żądanej strony z podświetleniem składni lub bez,
* Obsługę kompresji (nagłówek Accept-Encoding: gzip),
* Rodzaj żądania (GET, POST, HEAD lub TRACE),
* UA prezentowany serwerowi (dowolny, pole może być edytowane). Domyślnie jest to UA przeglądarki klienta z dodanym na końcu napisem Web-Sniffer/1.0.24.

Usługa nie podąża za przekierowaniami. W odpowiedzi wyświetla:

1. Informację o IP i porcie serwera, z którym się łączy,
2. Listę wysłanych nagłówków,
3. Tabelę z nagłówkami odebranymi z serwera,
4. Pierwsze 100 KiB żądanej strony.

IP usługi: 212.112.231.10, UA dowolny, podaje fałszywy referrer “http://web-sniffer.net/”, nie czyta robots.txt. Wyświetla HTML sprawdzanej strony błędnie (spacje w treści są usunięte); błąd ten nie występuje przy wyświetlaniu z kolorowaniem składni. W wynikach wyświetlana jest (całkiem niepotrzebnie) zawartość strony, nawet jeśli jest ona plikiem binarnym.
Check Server Headers Tool - HTTP Status Codes Checker - Advanced Version CSH Bot V3S
Usługa Seoconsultants pozwala sprawdzić nagłówki wysyłane przez serwer HTTP. Jest to nowa, rozbudowana wersja prostszej usługi Check Server Headers Tool - HTTP Status Codes Checker, obecnie w stadium prób (Beta).
W formularzu podaje się URL badanej strony. Opis nie wyjaśnia, czy obsługiwany jest jakiś protokół poza HTTP (chociażby HTTPS). Dodatkowo można wybrać:

* Wersję protokołu (1.0 lub 1.1),
* Metodę (HEAD, GET lub POST). Jest to istotny postęp od poprzedniej wersji, stosującej zawsze GET.
* UA, stosowany przez usługę. Do wyboru jest kilka typowych (i mniej typowych) przeglądarek oraz UA znanych robotów wyszukiwarek: Google, Yahoo! i MSN.

W odpowiedzi usługa wyświetla listę nagłówków wysłanych w zapytaniu i nagłówki uzyskane w odpowiedzi serwera. Dodatkowo w iframe wyświetlana jest badana strona (bez grafiki, pobierane są style). Usługa podąża za przekierowaniami (max. 10).
Usługa pobiera dokument HTML z własnego adresu (IP: 216.154.235.143), natomiast pliki CSS pobierane są przez przeglądarkę użytkownika (w logach serwera znajdziesz własne IP). W przypadku zażądania pliku binarnego iframe z obrazem strony wynikowej jest puste (słusznie!). Podążanie za przekierowaniami sprawdziłem dla odpowiedzi 301. Robot nie sprawdza robots.txt.
Porównanie ze starszą wersją:

1. Starsza wersja używała UA “SEO Consultants Directory CSH Bot V2S User IP:n.n.n.n from: http://www.seoconsultants.com/tools/headers.asp”, nowa w ogóle nie używa UA robota,
2. Starsza wersja nie pokazuje nagłówków żądania, dla niej serwer czasem zwraca odpowiedź 406, podczas gdy nowa dla tej samej strony otrzymuje 200,
3. Starsza wersja po kilku próbach potraktowała mnie jak włamywacza, zapewne przesadzili z zabezpieczeniami. W nowej zabezpieczono się przed używaniem z automatu wprowadzając opóźnienie (6 sek) między załadowaniem strony, a wysłaniem formularza. Tu nie było kłopotów. Jeśli jednak jesteś szybki, zmów zdrowaśkę, zanim klepniesz Enter.

Historia

URL: leksykot.top.hell.pl/notatki/www/http-headers-check

Data utworzenia: 22.02.2007

Ostatnie zmiany: Thursday, 22-Feb-2007 15:09:06 CET”leksykot.top.hell.pl

znaki HTML

Kategoria 301 autor rysioslaw dodano poniedziałek 11 Maj 2009 o godzinie 15:55

“Sposoby reprezentacji znaków w HTML

Znaki spoza zestawu ASCII mogą być umieszczone w kodzie HTML na kilka sposobów:

Bezpośrednio
Na przykład polskie ogonki w kodowaniu ISO-8859-2: zażółć gęślą jaźń.
Jako encja &napis;
Przykłady: & (&), © (©), « («)
Jako encja numeryczna dziesiętna &#num;
Przykłady: „ („), ” (”), — (—)
Jako encja numeryczna szesnastkowa &#num;
Przykłady: « («)

Każdy ze sposobów ma zalety i wady. Bezpośrednie wprowadzenie znaków wymaga edytora, który potrafi takie znaki obsłużyć i pamiętania skrótów klawiaturowych. Wprowadzanie encji jako nazwy mnemotechnicznej trwa nieco dłużej, ale pozostawia kod (w miarę) czytelnym, jednak wiele z tak wprowadzonych znaków nie będzie interpretowanych poprawnie przez starsze przeglądarki, w szczególności NN4. Znaki wprowadzone w reprezentacji numerycznej są znacznie lepiej zgodne „w dół”, jednak czytelność takich kodów dla tworzącego stronę jest niska.

Encje zawsze rozpoczynają się znakiem ampersand (&), a kończą znakiem średnika (;).

W numeracji szesnastkowej dozwolone jest używanie znaków z zakresu [0-9a-fA-F], tj. zarówno małych, jak i dużych liter.
Znaki spoza zestawu ASCII w generated content

W przypadku generowanej zawartości (ang. generated content) możliwość wprowadzania znaków spoza ASCII jest bardzo ograniczona. Dopuszczalna jest jedynie (?) konstrukcja \hex, gdzie hex jest ciągiem znaków z odpowiedniej sekwencji &#xhex;, np. right double quotation mark, kodowany szesnastkowo jako ” zapisuje się jako \201d.

Żeby zagwarantować wyświetlenie spacji po takiej sekwencji, należy poprzedzić ją znakiem odwrotnego ukośnika (\ ). Jest tak dlatego, że dopuszczalna długość sekwencji szesnastkowej wynosi 6 znaków, sekwencje rozpoczynające się odwrotnym ukośnikiem nie mają znaku kończącego (dla encji w HTML znakiem takim jest średnik), więc spacja napotkana bezpośrednio po sekwencji krótszej niż 6 znaków jest do niej włączana i pomijana. Innym sposobem jest używanie zawsze wszystkich sześciu znaków, co usuwa niejednoznaczności zapisu, np. \00201d.
Zestawy najczęściej potrzebnych znaków
Zestaw podstawowy

Znaki z tego zestawu obsługiwane są przez wszystkie przeglądarki, ponadto trzech pierwszych z nich (ampersand, mniejszy niż i większy niż) nie wolno w ogóle w HTML wprowadzać bezpośrednio. Jest tak dlatego, że znaki < oraz > służą do tworzenia znaczników HTML, a & jest znakiem rozpoczynającym encje.

Od powyższej zasady istnieją wprawdzie wyjątki, ale ze względu na błędną interpretację standardów przez przeglądarki lepiej na nich nie polegać.

Ostatni z podanych, twarda spacja (ang. non-breaking space), używana jest zamiast zwykłej spacji i zapobiega złamaniu tekstu w miejscu wstawienia. W niektórych przypadkach używana jest do uzyskania niewielkich odstępów wokół tekstu (choć takie jej użycie uważa się za nieprofesjonalne) oraz do „podpowiedzenia” przeglądarkom, żeby wyświetliły pewien, skądinąd pusty, element blokowy lub komórkę tabeli.
Tab. 1 Podstawowe znaki Nazwa Symulacja Prezentacja Napis Dec Hex
ampersand & & & & &
less than < < < < <
greater than > > > > >
non-breaking space      
Znaki interpunkcyjne
Tab. 2 Znaki interpunkcyjne w HTML Nazwa Symulacja Prezentacja Napis Dec Hex
Left double low-9 quotation mark ,, „ „ „ „
Right double quotation mark ” ” ” ” ”
Left double quotation mark ” “ “ “ “
Left pointing guillemet << « « « «
Right pointing guillemet >> » » » »
Single left-pointing angle quotation mark < ‹ ‹ ‹ ‹
Single right-pointing angle quotation mark > › › › ›
en dash 1 - – – – –
em dash 2 – — — — —
horizontal ellipsis 3 … … … … …

* 1 &endash; i – nie są standardowe (wynalazek Małomiętki) i nie powinno się ich używać
* 2 &emdash; i — nie są standardowe (wynalazek Małomiętki) i nie powinno się ich używać
* 3 również three dot leader

Znaki towarowe
Tab. 3 Znaki towarowe i handlowe Nazwa Symulacja Prezentacja Napis Dec Hex
copyright sign (c) © © © ©
trade mark sign TM ™ ™ ™ ™
registered sign 1 (R) ® ® ® ®
euro sign ? € € € €

* 1 również registered trade mark sign

Znaki semigraficzne
Tab. 4 Znaki semigraficzne Nazwa Symulacja Prezentacja Napis Dec Hex
black spade 1 ? ♠ ♠ ♠ ♠
black club 2 ? ♣ ♣ ♣ ♣
black heart 3 ? ♥ ♥ ♥ ♥
black diamond 4 ? ♦ ♦ ♦ ♦
bullet 5 * • • • •
triangular bullet ? ‣ ? ‣ ‣
middle dot 6 * · · · ·
black star * ★ ? ★ ★
leftwards arrow <- ← ← ← ←
upwards arrow ^ ↑ ↑ ↑ ↑
rightwards arrow -> → → → →
downwards arrow v ↓ ↓ ↓ ↓
leftwards double arrow <= ⇐ ⇐ Ⅼ ⇐
upwards double arrow ^^ ⇑ ⇑ Ⅽ ⇑
rightwards double arrow => ⇒ ⇒ Ⅾ ⇒
downwards double arrow v ⇓ ⇓ Ⅿ ⇓
downwards arrow with corner leftwards 7 ? ↵ ↵ ⅑ ↵
black up-pointing triangle ▲ ▲
black right-pointing pointer ► ►
black down-pointing triangle ▼ ▼
black left-pointing pointer ◄ ◄
&#x;

* 1 również black spade suit
* 2 również black club suit lub shamrock
* 3 również black heart suit lub valentine
* 4 również black diamond suit
* 5 również black small circle albo round filled bullet (?)
* 6 również Georgian comma lub Greek middle dot
* 7 również carriage return

Symbole jednostek i matematyczne
Tab. 5 Symbole jednostek i matematyczne Nazwa Symulacja Prezentacja Napis Dec Hex
degree sign st. ° ° ° °
superscript one 1 ^1 ¹ ¹ ¹ ¹
superscript two 2 ^2 ² ² ² ²
superscript three 3 ^3 ³ ³ ³ ³
micro sign u µ µ µ µ
multiplication sign * × × × ×
division sign / ÷ ÷ ÷ ÷
minus sign - − − −
star operator * ⋆ ? ? ⋆

* 1 również superscript digit one
* 2 również superscript digit two albo squared
* 3 również superscript digit three albo cubed

Rzadziej spotykane litery

Tu zamieszczam litery, które są rzadko spotykane w tekstach i zwykle zastępowane przybliżeniami, jednak przy starannej typografii powinny być używane.

ï (naïve)
np. source code with naïve syntax highlighting
Ø (Øpera)
np. przeglądarka Øpera

Tab. 6 Rzadziej spotykane litery Nazwa Symulacja Prezentacja Napis Dec Hex
i ï ï
O/ Ø Ø
Inne znaki

Znaki umieszczone w tej części nie pasowały do żadnej z powyższych kategorii.
Tab. 7 Inne znaki Nazwa Symulacja Prezentacja Napis Dec Hex
m. ♂ ♂
f. ♀ ♀”leksykot.top.hell.pl

Googlw AJAX 2

Kategoria 301 autor rysioslaw dodano niedziela 10 Maj 2009 o godzinie 23:50

“Efektowna wyszukiwarka Google na twojej stronie Google AJAX Search API w praktyce
« 1 2
Szukaj Kawki
Modyfikacja wyglądu

Wygląd wyszukiwarki oraz wyników wyszukiwania modyfikujemy stylami CSS. Umożliwiają to liczne klasy zawarte w kodzie HTML, zwracanym przez Google. Najważniejsze są:

* .gsc-search-box - formularz wyszukiwania,
* .gsc-resultsHeader - nagłówek z ikonami zaznaczonymi na rysunku 4,
* .gsc-result - pojedynczy wynik wyszukiwania,
* .gsc-cursor-box - wskaźnik stronicowania wyników,
* .gs-title - tytuł wyniku,
* .gs-snippet - opis wyniku,
* .gs-visibleUrl - adres URL wyniku.

Po zastosowaniu stylów z listingu 3:
[+]
[-]
Listing 3. Style CSS modyfikujące wygląd wyników wyszukiwania
Listing 3. Style CSS modyfikujące wygląd wyników wyszukiwania
CSS
Pobierz

1. .gsc-search-box {
2. border: 2px solid red;
3. }
4. .gsc-resultsHeader {
5. border: 2px solid blue;
6. }
7. .gsc-result {
8. border: 2px solid green;
9. }
10. .gsc-cursor-box {
11. border: 2px solid yellow;
12. }
13. .gs-title {
14. font-family: “Trebuchet MS”, sansserif;
15. }
16. .gs-snippet {
17. font-family: Georgia, serif;
18. }
19. .gs-visibleUrl {
20. font-family: “Courier New”, mono
21. space;
22. }

Listing zwinięty - 22 linii

wyniki wyszukiwania będą wyglądały tak jak na rysunku 5. Do dokładnej analizy klas HTML w wynikach wyszukiwania warto wykorzystać Inspektora DOM. Pozwala on na wędrówkę po drzewie dokumentu.
Rys. 5. Wygląd wyników wyszukiwania po zastosowaniu stylów z listingu 3 Rys. 5. Wygląd wyników wyszukiwania po zastosowaniu stylów z listingu 3

W ten sposób poznamy dokładną strukturę zwracanego kodu HTML, wszystkie identyfikatory oraz klasy. Działanie inspektora DOM na wynikach wyszukiwania jest przedstawione na rysunku 6.
Rys. 6. Analiza struktury wyników wyszukiwania przy użyciu Inspektora DOM Rys. 6. Analiza struktury wyników wyszukiwania przy użyciu Inspektora DOM
Informacje o wykorzystaniu technologii Google

Licencja użytkownika usług Google AJAX Search API nakazuje umieszczenie logo Google na każdej stronie stosującej API. Zadanie to wykorzystujemy, wywołując metodę getBranding(), jak to pokazano na listingu 4. Jest to szczególnie istotne wtedy, gdy stosujemy style CSS, które ukrywają logo Google.
[+]
[-]
Listing 4: Dołączanie logo Technologia Google
Listing 4: Dołączanie logo Technologia Google
JavaScript
Pobierz

1.
2.
3. …
4.
12.
13.
14.

Loading…

15.
16.

Listing zwinięty - 16 linii

Hiperłącza

Przedstawiona na listingu 2 metoda execute() może być wywoływana ręcznie. Na przykład w obsłudze hiperłączy:

HTML
Pobierz

Nikon D80

W tym celu wystarczy wewnątrz metody OnLoad() zapamiętać referencję do obiektu search- Control. W takim przypadku możemy zrezygnować z wyświetlania formularza do wyszukiwania:
[+]
[-]

CSS
Pobierz

1. form.gsc-search-box {
2. display: none;
3. }

Listing zwinięty - 3 linii

Pamiętajmy, że w tym przypadku musimy samodzielnie wyświetlić logo Technologii Google.
[+]
[-]
Listing 5. Aktywacja wyszukiwarki hiperłączem
Listing 5. Aktywacja wyszukiwarki hiperłączem
JavaScript
Pobierz

1.
2.
3. …
4.
19.

30.
31.
32.

Loading…

33.

34. Nikon D80
35.

36.

37.
38.

Listing zwinięty - 38 linii

Usługa REST

Google AJAX Search API pozwala na przeszukiwanie zasobów wyszukiwarki Google nie tylko z wykorzystaniem JavaScriptu, ale także przy użyciu skryptów wykonywanych po stronie serwera, a więc w PHP, Perlu, Ruby czy Pythonie. Wyszukiwanie w sieci WWW realizuje skrypt o adresie: http://ajax.googleapis.com/ajax/services/search/web

Ma on dwa obowiązkowe parametry: v oraz q. Parametr v ustala wersję oprogramowania (obecny interfejs Google AJAX Search API jest opatrzony numerem wersji 1.0), zaś q zawiera wyszukiwaną frazę. Adres: http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=ala zwróci wyniki wyszukiwania słowa ala w formacie JSON.

Listing 6 przedstawia skrypt, który wyszukuje frazę phpDocumentator.
[+]
[-]
Listing 6. Dostęp do zasobów Google z poziomu PHP
Listing 6. Dostęp do zasobów Google z poziomu PHP
PHP
Pobierz

1. 2. $url =
"http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=phpdocumentator";
3. $ch = curl_init();
4. curl_setopt($ch, CURLOPT_URL, $url);
5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
6. curl_setopt($ch, CURLOPT_REFERER, "http://gajdaw.pl");
7. $body = curl_exec($ch);
8. curl_close($ch);
9. $json = json_decode($body);
10. echo $json->responseData->results[0]->url;
11. echo $json->responseData->results[0]->title;
12. echo $json->responseData->results[0]->content;
13. ?>

Listing zwinięty - 13 linii

Korzystając z biblioteki CURL, przekazujemy informacje o adresie, z którego nadchodzi żądanie (REFERER). Odebrane wyniki konwertujemy na obiekty:

Pobierz

$json = json_decode($body);

po czym wyświetlamy:

PHP
Pobierz

echo $json->responseData->results[0]->url;

Wszystkie wyniki wyszukiwania są zawarte w kolejnych elementach tablicy $json->responseData->results. Każdy wynik ma następujące składowe:

* unescapedUrl
* url
* visibleUrl
* cacheUrl
* title
* titleNoFormatting
* content

Odebrane wyniki możemy wyświetlić, stosując dowolny kod HTML, jak to zostało przedstawione na rysunku 7.
Rys. 7. Wyniki wyszukiwania odebrane w PHP Rys. 7. Wyniki wyszukiwania odebrane w PHP
Ładowanie bibliotek

Warto zwrócić uwagę, że w ramach usług Google AJAX Search API firma Google zapewnia dostęp nie tylko do własnego kodu, ale także do najpopularniejszych bibliotek JavaScript. Funkcja load(), której użyliśmy na listingu 1:

Pobierz

google.load(”search”, “1″);

pozwala na załadowanie bibliotek jQuery, prototype, script.aculo.us, MooTools oraz dojo:
[+]
[-]

Pobierz

1. google.load(”jquery”, “1.2.3″);
2. google.load(”prototype”, “1.6″);
3. google.load(”scriptaculous”, “1.8.1″);
4. google.load(”mootools”, “1.11″);
5. google.load(”dojo”, “1.1.1″);

Listing zwinięty - 5 linii

Skrypt przedstawiony na listingu 7 nie wymaga umieszczania na serwerze biblioteki jQuery, co pozwoli zmniejszyć obciążenie łącza.
[+]
[-]
Listing 7. Google API: Ładowanie biblioteki jQuery
Listing 7. Google API: Ładowanie biblioteki jQuery
JavaScript
Pobierz

1.
2.
3. …
4.
7.
14.
15.
16.

Wskaż tekst myszką!

17.

Listing zwinięty - 17 linii

Jak widać, Google AJAX Search API zezwala na dużą dowolność w konstruowaniu własnej wyszukiwarki, zarówno w kwestii jej osadzenia na stronie, jak i doboru uruchamianych skryptów. Jest to idealne rozwiązanie dla każdego webmastera, który chciałby wzbogacić swój serwis o wyszukiwarkę od firmy Google.
internetmaker.pl

Google AJAX 1

Kategoria 301 autor rysioslaw dodano niedziela 10 Maj 2009 o godzinie 23:49

“Efektowna wyszukiwarka Google na twojej stronie Google AJAX Search API w praktyce

Efektowna wyszukiwarka Google na twojej stronie Google AJAX Search API w praktyce Google AJAX Search API to biblioteka JavaScript zapewniająca programistyczny dostęp do zasobów wyszukiwarki Google. Początkowo dostępne wyłącznie jako zestaw skryptów JavaScript, obecnie Google AJAX Search API stosuje model REST. Pozwala to na implementację wyszukiwarek zarówno w JavaScript/AJAX, jak i po stronie serwera, np. w PHP.

Włodzimierz Gajda
1 2 »
Szukaj Kawki

Biblioteka Google AJAX Search API zastąpiła wycofane pod koniec 2006 roku rozwiązanie o nazwie Google SOAP Search API. Obecny interfejs API wyszukiwarki Google jest dostępny pod dwoma postaciami: jako biblioteka JavaScript oraz jako zestaw adresów URL, realizujących usługę w modelu REST.

Biblioteka JS pozwala na osadzenie wyszukiwarki WWW w kodzie HTML, natomiast model REST udostępnia zasoby Google skryptom przetwarzanym po stronie serwera (np. PHP, Perl).

Usługi Google AJAX Search API są bezpłatne, lecz wymagają rejestracji i generowania kluczy. Po utworzeniu konta Google (możemy oczywiście wykorzystać istniejące konto Google Analitycs, Google AdSense czy Gmail) należy odwiedzić stronę http://code.google.com/apis/ajaxsearch/signup.html, przedstawioną na rysunku 1.
Rys. 1. Generowanie klucza aplikacji (http://code.google.com/apis/ajaxsearch/signup.html) Rys. 1. Generowanie klucza aplikacji (http://code.google.com/apis/ajaxsearch/signup.html)

W formularzu wprowadzamy adres URL aplikacji, która będzie wykorzystywała Google API, np.: http://example.com/szukaj

Powyższy adres pozwoli na korzystanie z wygenerowanego klucza na stronach, których adres rozpoczyna się od http://example.com/szukaj, np.:

http://example.com/szukaj/index.html
http://example.com/szukaj/app1/index.php
http://example.com/szukaj/a/b/c/
Ajax i JavaScript

Wyszukiwarkę AJAX-ową osadzamy w kodzie HTML w dwóch miejscach:

* w nagłówku strony (tj. pomiędzy znacznikami ) dodajemy skrypt JavaScript,
* w treści strony (tj. pomiędzy znacznikami ) dodajemy element div przeznaczony na wyszukiwarkę.

Pierwszy ze znaczników script widocznych na listingu 1 odpowiada za ustalenie klucza aplikacji (key=abc…). Jako wartość parametru key należy oczywiście podać klucz wygenerowany na stronie z rysunku 1.
[+]
[-]
Listing 1. Pierwszy skrypt stosujący Google AJAX Search API
Listing 1. Pierwszy skrypt stosujący Google AJAX Search API
HTML
Pobierz

1.
2.
3. …
4.
5.
15.
16.
17.

Loading…
18.

19.
20.

Listing zwinięty - 20 linii

Kod JS zawarty w drugim elemencie script zawiera:

* instrukcję google.load(), która odpowiada za załadowanie biblioteki,
* definicję funkcji OnLoad(),
* wywołanie funkcji OnLoad() po załadowaniu dokumentu (instrukcja google.setOnLoadCallback()).

Wewnątrz funkcji OnLoad() tworzymy kontrolkę do wyszukiwania oraz ustalamy, że ma ona być wyświetlana wewnątrz elementu HTML o identyfikatorze searchcontrol. Decyduje o parametrze funkcji getElementById().

Strona zawierająca powyższy skrypt jest przedstawiona na rysunku 2.
Rys. 2. Strona z listingu 1 Rys. 2. Strona z listingu 1

Po wprowadzeniu w formularzu hasła magazyn internet, wyniki wyszukiwania pojawiają się poniżej formularza, co ilustruje rysunek 3.
Rys. 3. Strona z rysunku 2 po wyszukaniu hasła magazyn internet Rys. 3. Strona z rysunku 2 po wyszukaniu hasła magazyn internet

Wyszukiwarka zawiera kontrolki zaznaczone na rysunku 4. Pozwalają one zmienić liczbę wyświetlanych wyników.
Rys. 4. Kontrolki do modyfikacji wyglądu wyszukiwarki Rys. 4. Kontrolki do modyfikacji wyglądu wyszukiwarki
Automatyczne rozwijanie i wyszukiwanie

Działanie wyszukiwarki możemy modyfikować programowo. Pozwalają na to opcje klasy WebSearch oraz metody klasy SearchControl. Skrypt przedstawiony na listingu 2 będzie automatycznie (tj. po wejściu na stronę) rozpoczynał wyszukiwanie. Wyniki wyszukiwania będą prezentowane w postaci rozwiniętej listy.
[+]
[-]
Listing 2. Programowe rozwijanie listy wyników i wyszukiwanie
Listing 2. Programowe rozwijanie listy wyników i wyszukiwanie
JavaScript
Pobierz

1. function OnLoad()
2. {
3. options = new GsearcherOptions();
4. options.setExpandMode(GSearch Control.EXPAND_MODE_OPEN);
5. var searchControl = new google.search.SearchControl();
6. searchControl.addSearcher(new google.search.WebSearch(), options);
7. searchControl.draw(document. getElementById(”searchcontrol”));
8. searchControl.execute(”Internet Maker”);
9. }

Listing zwinięty - 9 linii

internetmaker.pl

Ping

Kategoria 301 autor rysioslaw dodano niedziela 10 Maj 2009 o godzinie 18:35

“PHP function to ping Google Sitemaps
by: admin - Aug 29, 2005

Now that I have completed writing the custom PHP script that generates the Google sitemaps for GIDForums, I thought it would be helpful to share with you some of the functions that were included in the script.

One of the most useful, I think, is the pingGoogleSitemaps() function below. All it does is ping Google Sitemaps to let them know that your sitemap (or sitemap index) file has recently been updated. Just in case you need more information about submitting your sitemaps, you can read about it here: Submitting your Google Sitemaps.
Custom PHP function: pingGoogleSitemaps()

PHP Code Example:

/**
* Function to ping Google Sitemaps.
*
* Function to ping Google Sitemaps. Returns an integer, e.g. 200 or 404,
* 0 on error.
*
* @author J de Silva
* @copyright Copyright © 2005, J de Silva
* @link http://www.gidnetwork.com/b-54.html PHP function to ping Google Sitemaps
* @param string $url_xml The sitemap url, e.g. http://www.example.com/google-sitemap-index.xml
* @return integer Status code, e.g. 200|404|302 or 0 on error
*/
function pingGoogleSitemaps( $url_xml )
{
$status = 0;
$google = ‘www.google.com’;
if( $fp=@fsockopen($google, 80) )
{
$req = ‘GET /webmasters/sitemaps/ping?sitemap=’ .
urlencode( $url_xml ) . ” HTTP/1.1\r\n” .
“Host: $google\r\n” .
“User-Agent: Mozilla/5.0 (compatible; ” .
PHP_OS . “) PHP/” . PHP_VERSION . “\r\n” .
“Connection: Close\r\n\r\n”;
fwrite( $fp, $req );
while( !feof($fp) )
{
if( @preg_match(’~^HTTP/\d\.\d (\d+)~i’, fgets($fp, 128), $m) )
{
$status = intval( $m[1] );
break;
}
}
fclose( $fp );
}
return( $status );
}
?>

I just want to point out this sentence from the Submitting your Google Sitemaps page:

… A successful request will return an HTTP 200 response code; if you receive a different response, you should resubmit your request…

Which is why this function simply returns the 3 digit HTTP status code at the end and nothing more. If for some strange reason, it fails to even connect to www.google.com however, it will just return 0.
Example use: pingGoogleSitemaps()

For GIDForums™, I set up a cron job to run daily, generating up to 3 (Google) sitemaps and 1 sitemap index file.

Let’s assume the 3 sitemaps are:

*

http://www.gidforums.com/sitemap-forums.xml.gz (updated daily)
*

http://www.gidforums.com/sitemap-threads.xml.gz (updated weekly)
*

http://www.gidforums.com/sitemap-latest.xml.gz (updated daily)

When the cron job executes cron-sitemap-generator.php everyday, the script queries the database and generates the sitemap files accordingly. As soon as it’s done writing to these files, it uses the same information to produce the sitemap INDEX file, filenamed: sitemap-index.xml. This INDEX file is what we need to ping to Google Sitemaps and we use this pingGoogleSitemaps() function to do that easily — see the following example code:

PHP Code Example:

// FILENAME: cron-sitemap-generator.php
// ====================================

// php code that generates sitemaps and sitemap index files
// ...

// Once the sitemaps are ready, we ping Google...
if( 200 === ($status=pingGoogleSitemaps('http://www.gidforums.com/sitemap-index.xml')) )
report( "Ping to Google Sitemaps successful.\r\n\r\nStatus code: $status.", REPORT_MODE );
else
report( "Cannot ping/connect to Google Sitemaps.\r\n\r\nStatus code: $status.", REPORT_MODE );

// end the script.
?>

My personal experience with automated pings to Google Sitemaps is that it takes anywhere between 1 - 23 hours for Googlebot to come around and fetch the updated sitemaps and index file.”gidnetwork.com/b-54.html

Generator

Kategoria zaplecze autor rysioslaw dodano środa 6 Maj 2009 o godzinie 1:32

“I ja postanowiłem sie z wami podzielić moim “nowym” softem do generowania x stron

Zalety softu

- nie wymaga bazy danych tylko php
- treści same się generują
- łatwa podmiana szaty graficznej
- przygotowany pod SEO
- dobre linkowanie wewnętrzne
- mixowanie kilku stron w jedną stronę tworząc “unikalną” podstronę
- łatwość w podpięciu dowolnego systemu wymiany linków

Instalacja i obsługa:

Instalacja skryptu

Wgrywamy wszystkie pliki na serwer
Katalog “file” nadajemy prawa 707
Plikowi klucz.php nadajemy prawa 707!!
Pliki txt nadajemy prawa 606
Plik index.php edytujemy i wpisujemy nazwe naszej domeny gdzie jest skrypt zainstalowany
Plik slowa.txt edytujemy i wpisujemy tam liste slow (jedno pod drugim) ktore nas interesuja
plik stopka.php - odpowiada za nasza stopke i tam jest tez iframe do auto-generowania podstron.
Mozemy sobie tam dalej includowac co chcemy
pliki 1, 2, 3, 4, 5, 13.php odpowiadaja za wyglad strony - mozna je modyfikowac aby otrzymac inny wyglad

Po zastosowaniu wszystkich wszystkich zaleceń przystępujemy do odpalenia adresu :

www.nazwa-domeny.pl/generatorsite.php

Chwile potrwa wygenerowanie listy

Kolejnym etapem będzie

www.nazwa-domeny.pl/generuj.php

Tu wystarczy ze wygenerujemy 6 podstron i już więcej nie musimy

Nasz spam jest dostepny pod adresem

www.nazwa-domeny.pl/file/0.php

Plik do pobrania stąd:

http://rapidshare.com/files/41584083/generator.rar.html”forum.optymalizacja.com

Google dance

Kategoria google autor rysioslaw dodano środa 6 Maj 2009 o godzinie 1:25

“Monitorujemy Google Dance

Każdy pozycjoner, prędzej czy później ma do czynienia ze słynnym zjawiskiem Google Dance. Występuje ono wtedy, gdy pozycja strony w wynikach Google bardzo silnie się wacha, a dzieje się tak z powodu różnych wyników zapisanych w poszczególnych data center wyszukiwarki.

Jak zapewne wiesz, Google ma ogromną liczbę serwerów. Nie zawsze zapisane na nich dane są ze sobą zgodne. Dlatego jednego dnia twoja strona może znajdować się na 3 miejscu wyników, a drugiego na 10. Owszem, w końcu nastapi synchronizacja, jednak niejednokrotnie huśtawka Google Dance trwa nawet kilka tygodniu, a w skrajnych przypadkach i miesiące.

Jeśli więc pozycjonowany serwis mocno spadł w wynikach wyszukiwania, to warto sprawdzić jego pozycje w innych data center. Możesz to uczynić, korzystając z darmowego narzędzia Google Dance dostępnego pod adresem http://www.optymalizacja.com.p…. Wystarczy tylko podać wyszukiwaną frazę, wybrać grupę Data Center.”internetmaker.pl

Nastpna »
Kontakt pozycjonowanie
tanie ebooki tanie ebooki tanie ebooki tanie ebooki tanie ebooki badania marketingowe travel chirurdzy plastyczni opinie ozdoby do paznokci