Jump to content
piotrek

Generownie map "w locie"... GSMaster plug everywhere

Recommended Posts

Wprawdzie skrypt nie tak dosłownie generuje mapy w locie (bo musiałby otwierać plik xml, sprawdzać czy URL istnieje i dopisywać go, następnie zamykać i tak dziesiątki albo tysiące razy co jest bez sensu) ale sprawdza w locie wywoływane przez roboty i Internautów URLe i zapisuje je do bazy. Z zapisanych w bazie URLi jednym klikiem można wykonać piękną mapę.

Skrypt "plug everywhere" jest do pobrania z: http://mapy.stron.pl/gsmaster_index.php

Wymagania: PHP i MySql

Instrukcja krok po kroku

- ściągamy plik gsmaster_plug_everywhere.zip i rozpakowujemy go na dysku

- otwieramy do edycji config.php

<?

mysql_connect("dbhost", "dbuser", "dbpass");

mysql_select_db("dbname");

$xml_dir = "/home/httpd/htdocs/"; // ścieżka bezpośrednia do Twojego serwera wirtualnego, tu będzie zapisany plik xml, daj ukośnik na końcu

$addres = "http://www.twoj.adres.pl"; // Twoja domena, nie dawaj ukośnika na końcu

$login = "login";

$pass = "haslo";

$_priority = "0.8";

$_changefreq = "daily";

?>

- utwórz na serwerze katalog gsmaster_plug_everywhere

- wgraj do niego pliki: code.php config.php i index.php

- utwórz nową tabelę w bazie

CREATE TABLE `gsmaster_urls` (

`id` int(255) NOT NULL auto_increment,

`url` varchar(255) NOT NULL default '',

`ignore` int(1) NOT NULL default '0',

PRIMARY KEY (`id`)

) TYPE=MyISAM AUTO_INCREMENT=1 ;

- ustaw atrybuty (chmod 777) swojego katalogu głównego - czyli tego, który wprowadziłeś w zmiennej $xml_dir i do którego skrypt ma zapisać plik xml

- teraz można odpalić skrypt, zalogować się i wejść do zakładki "include code for get urls" aby pobrać kawałek kodu PHP który trzeba bedzie umieścić we własnym serwise, w dowolnym miejscu, ale tak aby został wywołany na każdej podstronie, wygląda tak:

$ur = urlencode($_SERVER['REQUEST_URI']);

$addr = "http://www.twoj.adres.pl/gsmaster_plug_everywhere/code.php";

require($addr.(!empty($ur)?'?ur='.$ur:NULL));

- po umieszczeniu kodu, system zaczyna pracować - czyli zbierać wszystkie odwiedzane (przez roboty i Internautów) linki składające się na serwis

edit: zapominałem dodać o procesie generowania map

- aby wygenerować mapę z zebranych URL'i należy wejść zo zakładki "sitemap file" i nacisnąć "write" (stworzy plik i pojawi się data jego stworzenia), w kazdym momencie mapę można usunąć bądź odświeżyć

Z racji ograniczenia do 50.000 URLi w jednym pliku XML (i tego że skrypt tworzy tylko 1 plik XML) nie polecam stosowania go do serwisów większych niż 50 tys URLi

Mam nadzieję, że czas który poświęcicie na instalację skryptu nie będzie stracony a skrypt z powodzeniem wbije się w lukę pomiędzy crawlery a skomplikowane generatory :D

Zapraszam do testowania i dyskusji :D


- buduj content metodą drag&drop i łatwo zgarnij SEO backlinki z msDrop

- wideoporadniki jak korzystać z msDrop

Share this post


Link to post
Share on other sites

zaimplementowałem go pod cncat który to stoi na subdomenie zrobionej jako katalog na koncie głównym

największą trudnością było stworzenie tabelki w bazie danych gdyż do tej pory z mysql miałem tyle wspólnego co z mercedesami, czyli nic :):P

ostatecznie wszystko gra i tańczy !!!


respect.gifgoogle.gif

Share this post


Link to post
Share on other sites

Skrypt naprawde super, mam jedno ale... dodające się do forum phpbb sesje użytkowników, wydawało mi się że 50k linków to naprawde dużo jednak teraz gdy po 4godzinach mam ich już 900 zmieniłem zdanie, a to wszystko przez te sesje. Dało by się jakoś usuwać je? wycinanie z url mogło by być dość trudne ale myśle że wprowadzenie ograniczenia ilości znaków w url było by dobrym rozwiązaniem, ilość tych znaków każdy ustalałby indywidualnie zależnie od długości domeny i innych takich :)

Co ty na to? ;) Pozdrawiam

edit: o albo po co kombuniwać, poprostu jak znajdzie w linku "sid" niech tego linka nie dodaje :P

Edited by Mavic

Legend of Mir III Gra Online - MMORPG Czy pragnąłeś kiedyś zaznać smaku przygody, czy chciałeś aby twe imię sprawiało że kobiety by mdlały gdy je usłyszą, albo twoi wrogowie drżeli na sam jego dźwięk? Teraz masz ku temu okazję wkrocz w świat LostWorld i udowodnij innym na co cię stać

Share this post


Link to post
Share on other sites

post pod postem, ale problem rozwiązany więc chciałem to jakoś odznaczyć:)

potrzeba matką, głupich, e nie tak to szło :) w każdym razie udało mi się poradzić z sesjami w phpbb, wystarczyła mała modyfikacja, mam nadzieje że autor się nie obrazi.

Ow modyfikacja polegała na dodaniu w code.php funkcji która sprawdza czy w linku znajduje się fraza "?sid=" jeśli tak to nie dodaje linku. wielu z wam może pomyśli że to zle rozwiązanie bo tracimy linki jednak przecież nie zawsze użytkownikom for dodaje się sesja do adresu, wtedy poprawny url zostanie dodany bez problemu.

Oryginał code.php

<?

include("config.php");

$url = htmlspecialchars($_GET[ur]);
$url = urldecode($url);

$zap = mysql_num_rows(mysql_query(" select url from gsmaster_urls where url='$url' "));

if ($zap==0) {
mysql_query(" insert into gsmaster_urls set url='$url' ");
}

?>

po przeróbce:

<?

include("config.php");
$usun = "?sid=";
$url = htmlspecialchars($_GET[ur]);
$url = urldecode($url);
$sprawdz = strpos($url, $usun);
if ($sprawdz === false) {
 $zap = mysql_num_rows(mysql_query(" select url from gsmaster_urls where url='$url' "));
 if ($zap==0) {
 mysql_query(" insert into gsmaster_urls set url='$url' ");
 }
}
?>

teraz map generatorowi nic nie brakuje :)

Pozdrawiam


Legend of Mir III Gra Online - MMORPG Czy pragnąłeś kiedyś zaznać smaku przygody, czy chciałeś aby twe imię sprawiało że kobiety by mdlały gdy je usłyszą, albo twoi wrogowie drżeli na sam jego dźwięk? Teraz masz ku temu okazję wkrocz w świat LostWorld i udowodnij innym na co cię stać

Share this post


Link to post
Share on other sites

innym i chyba lepszym rozwiazaniem w tym przypadku jest zastosowanie tzn session killera (szukajka powinna powiedziec o tym cos wiecej).


rysunek, malarstwo, nauka rysunku, szkoła rysunku, kurs, architektura

usługi dla firm, doradztwo, uslugi doradcze, consulting, biznes

katalog stron WWW, Katalog stron, katalog SEO, linki bezpośrednie

Share this post


Link to post
Share on other sites

innym i chyba lepszym rozwiazaniem w tym przypadku jest zastosowanie tzn session killera (szukajka powinna powiedziec o tym cos wiecej).

zależy :) session killer z teco co mi szukajka powiedziała usuwa sesje gdy na strone wchodzi robot, a ja chciałem aby odchudzić mape strony :)


Legend of Mir III Gra Online - MMORPG Czy pragnąłeś kiedyś zaznać smaku przygody, czy chciałeś aby twe imię sprawiało że kobiety by mdlały gdy je usłyszą, albo twoi wrogowie drżeli na sam jego dźwięk? Teraz masz ku temu okazję wkrocz w świat LostWorld i udowodnij innym na co cię stać

Share this post


Link to post
Share on other sites
ale problem rozwiązany

bardzo dobrze, że sam sobie poradziłeś a jeszcze lepiej że udostępniłeś rozwiązanie innym :)

tak więc w zależności od potrzeby należy użyć session killer jak sugeruje XaV1er lub Twojego rozwiązania z usuwaniem sid'ów

miłego korzystania ze skryptu :)


- buduj content metodą drag&drop i łatwo zgarnij SEO backlinki z msDrop

- wideoporadniki jak korzystać z msDrop

Share this post


Link to post
Share on other sites

Witam. Zaczynam z mapami i z php i mam małe problemy. Proszę o pomoc :)

$xml_dir = <b>"/home/httpd/htdocs/"</b>; // ścieżka bezpośrednia do Twojego serwera wirtualnego, tu będzie zapisany plik xml, daj ukośnik na końcu

Tą pogrubiona przezemnie ścieżke mam zmienić czy zostawić na taka jaką jest i czy ten teks za nią wykasować??

[guote]

$login = "login";

$pass = "haslo";

Jaki login i hasło?

- utwórz nową tabelę w bazie

Tabela ma się nazywać gsmaster_urls ?

- teraz można odpalić skrypt, zalogować się i wejść do zakładki "include code for get urls" aby pobrać kawałek kodu PHP który trzeba bedzie umieścić we własnym serwise, w dowolnym miejscu, ale tak aby został wywołany na każdej podstronie, wygląda tak:

W dowolnym czyli index.php czy plik wyglądu moze być??

Jak dodać nową tabele, dodałem nową tabele i wyskoczyło takie coś, mogłby mnie ktos pokierować?

baza3eg.jpg

Przepraszam za tyle pytań ale jak widać amator ze mnie

Edited by lolki

Share this post


Link to post
Share on other sites

piotrek: Biore sie z tym za bary. Jak cos wywnioskuje to zaraz napisze.

lolki:

1. jesli trzymasz xml w glownym katalogu to dajesz "/"

2. taki jaki bedziesz mial do panelu zarzadzania mapami.

3. masz w zipie plik table.sql zaladuj go poprzez skl np. w phpmyadmin albo skopij zawartosc tego pliku i wklej w programie do obslugi baz.

4. tego dokaladnie nie napisal piotrek wiec tez bym sie dowiedzial dokladnie co i jak.

ja mam troche inny problem bo stronka ma konstrukcje taka, ze sam szkielet siedzi na htmlach, a tresc jest z baz czyli w zasadzie chyba bym musial jakos ten kod dodac np. z bazy do strony tj. do tego szkieletu w htmlu czy is myle? any idea? kiedys cos takiego zrobilem jednak nie pamietam w jaki sposob bo dawno na dkodowaniem nie siedzialem.

Edited by Saint

Giełda Domen Internetowych - najlepsze domeny w sieci

Share this post


Link to post
Share on other sites

$xml_dir = <b>"/home/httpd/htdocs/"</b>; // ścieżka bezpośrednia do Twojego serwera wirtualnego, tu będzie zapisany plik xml, daj ukośnik na końcu

Jeśli się w tym nie orientujesz to zrób w głównym katalogu plik np adres.php do którego wpisz to:

<? echo $_SERVER["PATH_TRANSLATED"]; ?>

po otworzeniu pliku w przeglądarce pojawi ci się ścieżka bezspośrednia do danego katalogu. nie zawsze wystarczy samo "/"

Pozdrawiam


Legend of Mir III Gra Online - MMORPG Czy pragnąłeś kiedyś zaznać smaku przygody, czy chciałeś aby twe imię sprawiało że kobiety by mdlały gdy je usłyszą, albo twoi wrogowie drżeli na sam jego dźwięk? Teraz masz ku temu okazję wkrocz w świat LostWorld i udowodnij innym na co cię stać

Share this post


Link to post
Share on other sites

Witam . Mam dalej problem a mianowicie

1.Piotrek napisał:

$xml_dir = "/home/httpd/htdocs/

lecz ja zastosowałem się do wskazówki Mavica

Jeśli się w tym nie orientujesz to zrób w głównym katalogu plik np adres.php do którego wpisz to:

<? echo $_SERVER["PATH_TRANSLATED"]; ?>

i stworzyłem plik sny.com.pl.php

więc co w takim przypadku mam zrobić, chodzi mi o przypisanie tych chmodow ??

- ustaw atrybuty (chmod 777) swojego katalogu głównego - czyli tego, który wprowadziłeś w zmiennej $xml_dir i do którego skrypt ma zapisać plik xml

następny problem to:

teraz można odpalić skrypt, zalogować się i wejść do zakładki "include code for get urls"

to znaczy jak odpalić bo ja prubowałem wpisując

http://www.sny.com.pl/gsmaster_plug_everywhere/code.php

ale nic się nie wyświetla. Prosze o pomoc

Edited by lolki

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use Privacy Policy