Jump to content
piotrek

Narzędzie do tworzenia map stron w Google

Recommended Posts

Mam nadzieję że narzędzie się przyda wszyskim zapaleńcom Google Sitemaps :)

http://mapy.stron.pl/gsmaster_index.php

ostatnia aktualizacja skryptu: 3.01.2006 - polecam pobrać poprawkę

skrócona instrukcja:

- pobierz plik gsmaster_pl.zip, rozpakuj go i umieść w katalogu głównym na serwerze

- zaktualizuj poniższe dane w pliku gsmaster.php

// usupelnij dane serwera mysql
mysql_connect("serwer", "nazwa_uzytkownika", "haslo");
mysql_select_db("baza_danych");

// sciezka bezwzgledna Twojego serwera
$sciezka = "/twoja/sciezka/do/serwera/";

// ustaw swoj login i haslo do skryptu
$login = "login";
$pass = "haslo";

- ustaw chmod tak aby plik mógł zapisywać na Twoim serwerze

- dostęp do skryptu dodatkowo można zabezpieczyć autoryzacją w htaccess

- odpal plik i zaloguj się

po zalogowaniu:

- stwórz nowy plik map (bez polskich znaków i spacji)

- stwórz plik zapytań ini

- zedytuj plik zapytań ini i zapisz go (wystarczy uzupełnić przykładowe zapytanie) - interesują nas dwie zmienne $query z najzwyklejszym zapytaniem do bazy mysql oraz $this_url - konstrukcja urla jaką chcemy uzyskać - pamiętać o stawianiu &apm; zamiast samego & w urlach

następnie

- wykonaj zapytanie i nadpisz plik xml

- wejdź do Google i podaj im informację o swoim pliku xml

możesz stworzyć wiele plików xml

- generuj pliki wg instrukcji pozyżej oprócz podawania informacji o pojedyńczym pliku xml

- wykonaj plik indexu

- wejdź do Google i podaj im informację o swoim pliku indexu

Główna idea skryptu jest taka aby nie skanować stron żadnym robotem (co będzie pożerać transfer) tylko korzystać z tego co ma się w bazie do wygenerowania urli dokładnie takiej postaci jaką potrzebujesz :D

Pliki zapytań w zasadzie można dostosować do każdego CMSa opartego o PHP/MySql. Przewaznie do wygenerowania kompletnego zestawu URLi wystarczy wykorzystać tylko z jedno pole w tabeli - id.

Jeśli ma się np. system tekstów to pliki można podzielić tak aby każda kategoria tekstów miała swój plik xml.

Jeśli któraś z kategorii przekracza 10.000 URLi (google przyjmuje do 50 tysięcy URLi w jednym pliku xml, plik nie może przekraczać 10 MB), możesz regulować wielkość pliku xml za pomocą zapytania mysql. Tzn można tworzyć dwa lub więcej plików xml na 1 kategorię.

Jest możliwość generowania pliku xml ręcznie aby mieć także mapę z tych obszarów serwisu których nie da się wygenerować automatycznie.

Miłego korzystania z GSMaster

Jest tez prośba - skoro skrypt ułatwia Wam pracę proszę osoby korzystające z niego o link zwrotny :D

<a href="http://mapy.stron.pl" target="_blank">Mapy Stron</a>

P.S. 1 zapraszam do lektury krótkiego tekstu na temat Google Sitemaps Master

P.S. 2 jeśli komuś się spodoba GSMaster i chciałby umieścić komentarz na grupie google-sitemaps to zapraszam

P.S. 3 komentarze na forum seochat też będą mile widziane


- 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

Warning: dir(/twoja/sciezka/do/serwera/): failed to open dir: No such file or directory in /gsmaster.php on line 133

Fatal error: Call to a member function on a non-object in /gsmaster.php on line 134

chyba cos zwalilem albo ty :)


Giełda Domen Internetowych - najlepsze domeny w sieci

Share this post


Link to post
Share on other sites

sciezke zmienilem a blad ten tam.

sorry dziwne te serwery w hom.pl plik nadppisalem a tu nic sie nie zmienilo ... racja sorry za zamieszanie

wszystko pieknie nestety nie wygenerowalo mi sie niz poza strona glowna :)

Edited by Kid

Giełda Domen Internetowych - najlepsze domeny w sieci

Share this post


Link to post
Share on other sites
wszystko pieknie

Niestety uciążliwe jest to że google wymaga aby pliki przechowywane były w katalogu głównym serwera. Aby skrypt tworzył i zapisywał pliki na serwerze musisz mu na to pozwolić chmodując katalog główny

może komuś jednak uda się sprawdzić i ocenić skrypt :)


- 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

Na pewno wadą skryptu jest konieczność posiadania wiedzy na temat cmsu, mysql i php, więc zastosowanie wsród właścicieli stronek dość ograniczone, biorąc pod uwage że większość osób korzysta z gotowców nie wiedząc za bardzo co w bazie tak naprawde siedzi.

Jesli natomiast ktoś korzysta z własnych rozwiązań to skrypt bardzo porządkuje pracę, wczęśniej raczej odpalałem generatora map, który pożerał dużo transferu. Teraz już na drugiej stronce używam tego skryptu i wszystko odbywa się dużo sprawniej, można sie np lepiej pobawić z wartościami "ważności" podstron i teraz w końcu mogę codziennie wygenerować "swieżą" mapę, przy generatorach "pająkach" to raczej było niemożliwe.


...

Share this post


Link to post
Share on other sites

piotrek: dobra zrobilem tak jak mowisz, ze w glownym katalogu sa pliki wszystkie chemoda na glowny tez dalem efekt listy linkow ten sam :)

cos nie tak chyba jest po kliknieciu w 'wykonaj zapytanie i nadpisz plik xml'

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /sitemap_fotokids.ini on line 5

Warning: Cannot modify header information - headers already sent by (output started at /sitemap_fotokids.ini:2) in /gsmaster.php on line 484


Giełda Domen Internetowych - najlepsze domeny w sieci

Share this post


Link to post
Share on other sites

Odpowiedź serwera wygląda jakby skrypt otrzymał błędne zapytanie do bazy

zedytuj wygenerowany plik sitemap_fotokids.ini i zerknij czy zapytanie do bazy zawarte w pliku na 100% jest OK?

biorąc pod uwage że większość osób korzysta z gotowców nie wiedząc za bardzo co w bazie tak naprawde siedzi

niestety nie da się dogodzić wszystkim :( chyba że ktoś np. zastosuje GSMaster w phpBB i udostępni plik ini, wówczas wystarczyłoby dać własny prefix

wobec tego mam prośbę do osób które wdrożą GSMaster o udostępnianie gotowych zapytań do najpopularniejszych CMSów i for :)


- 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

być może, w razie czego poczekaj na inne wypowiedzi - może ktoś też będzie miał serwer na home.pl i wówczas będziemy weryfikować.

Tak czy inaczej - skoro bez większych problemów udało Ci się stworzyć plik xml, a potem plik ini to reszta to już wykonanie najzwyklejszego zapytania do bazy

<?

$query = mysql_query("SELECT * FROM your_table order by data DESC limit 0,100");

while($urls = mysql_fetch_assoc($query)) {

$this_url = "http://$_SERVER[sERVER_NAME]/index.php?example_param=$urls[id]";

$priority = " <priority>0.8</priority>\n";

$changefreq = " <changefreq>daily</changefreq>\n";

$output = " <url>\n <loc>" . $this_url . "</loc>\n" . $changefreq . $priority . "</url>\n";

$gout = fwrite( $gp , $output );

}

function dodatkowa_funkcja() {

// mozesz tworzyc dodatkowe funkcje wspierajace generowanie linkow

}

?>

sam robię czasem błędy w prostych zapytaniach dlatego sugerowałem wcześniej że może u Ciebie jakiś błąd się wkradł, ale skoro twierdzisz że zapytanie $query masz na 100% dobrze to spróbuj jeszcze usunąć funkcję dodatkowa_funkcja() może tak ruszy

jeśli tak taż nie będzie działać to przykro mi ale nie wiem gdzie szukać problemu


- 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

piotrek: chyba cos z zapytaniem do bazy sie kaszani bo zadnych tabeli czy jakis danych nie ma w tej bazie do ktorej teoretycznie jest podlaczony skrypt.

Edited by Kid

Giełda Domen Internetowych - najlepsze domeny w sieci

Share this post


Link to post
Share on other sites

Kid, albo ja nie rozumiem co piszesz albo Ty nie zrozumiałeś do końca o co chodzi w GSMaster. Spróbuje ująć to tak: masz sobie samodzielnie wyciągać z istniejącej tabeli takie dane jakich aktualnie potrzebujesz... plik ini jest tylko przykładowy :)

załóżmy że masz tabelę o nazwie moje_posty z postami

id_postu | tytul_postu | tresc_postu | data | id_usera

to Twoje ini powinno wyglądać tak

<?

$query = mysql_query("SELECT id_postu FROM moje_posty order by data DESC limit 0,100");

while($urls = mysql_fetch_assoc($query)) {

$this_url = "http://$_SERVER[sERVER_NAME]/twoj_plik.php?twoja_nazwa_parametru=$urls[id_postu]";

$priority = " <priority>0.8</priority>\n";

$changefreq = " <changefreq>daily</changefreq>\n";

$output = " <url>\n <loc>" . $this_url . "</loc>\n" . $changefreq . $priority . "</url>\n";

$gout = fwrite( $gp , $output );

}

?>


- 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

piotrek: to juz sie pogubilem w tym wszystkim zdaje sie :)

Mozesz bardziej lopatologicznie napisac instrukcje postepowania?

btw. to okiento do edycji ini przydalo by sie troche tego wieksze.

Edited by Kid

Giełda Domen Internetowych - najlepsze domeny w sieci

Share this post


Link to post
Share on other sites

brnąc dalej w Googlowskie Sitemapy właśnie wymyśliłem że skoro już przechowujemy na swoich serwerach pliki dla Googla może warto z nimi coś zrobić, tzn wykorzystać do pokazania sitemapy na stronie www

Napisałem szybko mały, prosty czytnik do plików xml wygenerowanych przez GSMaster.

Załóżmy że plik nazwiemy gsmaster_reader.php aby wyświetlić treść wystarczy zapodać zmienną zmienną - wyglądałoby to tak: http:// twoj_serwer/gsmaster_reader.php?file=twoja_mapa

<?

$sciezka = "/twoja/sciezka/do/serwera/";

if ($_GET[file]!="") {
czytaj_dane($_GET[file]);

echo "<br /><br />";
echo "<a href=http://mapy.stron.pl/gsmaster_index.php target=_blank>mapy stron</a>";
}


function czytaj_dane($url) {
global $sciezka;

$url = $sciezka . "sitemap_" . $url . ".xml";

if (file_exists($url)) {

if ($f = @fopen($url, 'r')) { 
		$content = ''; 
		while (!feof($f)) { 
			$content .= fgets($f, 4096); 
		} 
		fclose($f); 

  preg_match_all("'(<loc.*?>)(.*?)(</loc>)'si", $content, $items); 
  foreach($items[2] as $urle) { 
echo "$urle";
}
 } 

}
}


?>

niestety linki wgłąb serwisu będą bez anchorów ale to już nie moja wina, lepsza taka mapa niż żadna :)

jeśli ktoś ma kilka map żeby było wygodniej można napisać czytnik do sitemapindex.xml ale to już chyba będzie przesada :( wystarczy zestawić kilka linków z nowej podstrony, albo wpakować linki do poszczególnych map np. w stopkę

Kid, bardziej łopatologicznie naprawde już się nie da. Teraz widzę okienko edycji się sypie w FF


- 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

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