![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 372 Pomógł: 1 Dołączył: 13.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam prosblem z xml, chciałem napisać swoj sitemap i nie wiem czemu nie chce działać - chciałem odnieśc taki: http://pgc-cs.eu/sitemap-index.xml efekt, a mam coś takiego: http://gta4-forum.pdg.pl/index-tagsitemap.xml . Co zrobiłem źle? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A kod do jego tworzenia to gdzie? Bo tak to możemy zgadywać co nie tak jest. Analogicznie mógłbyś nam dać obrazek prawidłowy i jakiś "poszatkowany" przez skrypt lub napisać "nie chce mi tego zrobić". Nikt tu nie ma szklanej kuli by zgadywać co nie tak w skrypcie jest.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 185 Pomógł: 10 Dołączył: 29.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź, czy edytor w ktorym piszesz xml nie dopisuje jakiegos dziadostwa w naglowkach pliku.
Najlepiej przeedytuj w notatniku i zapisz. Kiedyś używając dreamwever'a też mialem podobny problem. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 372 Pomógł: 1 Dołączył: 13.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
A tu kod php, ma coś do 'gadania'? Juz podaje:
Bardzo prosty kod. W notepad++ pisze. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To mam pytanie... Jak Ty tworzysz tę mapę, skoro nie określasz typu pliku w header, $zapytanie masz całkowicie gdzieś i nie obrabiając go wcale coś tworzysz z powietrza? Zauważ, że struktura linów w tym co chcesz uzyskać co chwilę się zmienia. raz są to sitemap-forums.xml, raz sitemap-threads.xml a innym razem sitemap-users.xml, a u Ciebie na pałę sitemap-tag jedyne. Zero jakiejkolwiek wspominki w kodzie o tagu lastmod. Gdzie go w kodzie masz bo ja nie widzę. Nadal uważasz, że to nie kod jest "problemem"? Przecież jak byk widać, że jest źle i jedyne co robi to Ci wypisze tylko liczbę stron.
EDIT: Dam ci porównanie do tego co zrobiłeś. Masz urodziny i sprosiłeś gości i chcesz by określone grupy były w innych pomieszczeniach. Ale zaproszenia wysłałeś na uświnionej papeterii (ma być w nagłówku text/xml, a nie text/html) a gdy już przyszli to pakujesz ich grupami po ileś i wrzucasz do pokoi w kolejności jakiej dotarli, nie sprawdzając wcale gdzi mieli by trafić ![]() Ten post edytował thek 16.01.2010, 15:58:32 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 372 Pomógł: 1 Dołączył: 13.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Tak, z tego co wiem lastmod jest opcjonalne. Nigdy nie miałem doczynienia z XMLem - nie był mi nigdy potrzebny, więc proszę Was o pomoc w tym zagadnieniu ![]() Pozdrawiam |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Radzę najpierw zajrzeć do specyfikacji sitemap i jakoś obrabiać otrzymane wyniki z zapytania. Jak wyciągasz informację czy ma być jako link do users, forum, threads czy jakiekolwiek innego? Ty tego wcale nie przewidujesz przy tworzeniu wpisu do sitemap. Jedyne co robisz to tworzysz ileś linków wedle wzorca ze zmieniającym się page na zasadzie sitemap-tag.xml?page=1 sitemap-tag.xml?page=2 sitemap-tag.xml?page=3 i tak dalej. A skąd masz wziąć te inne linki? Wpierw musisz porządne zapytanie do bazy ułożyć by te informacje wyciągnąć. A wątpię, że ktoś zechce ci pomóc bo musiałby znać strukturę tabel w Twojej bazie, połączenia między nimi itego typu informacje. Napisałeś bardzo skąpe informacje i liczysz na pomoc bez znajomości sql i php, więc pewnie chcesz gotowca. A skąd to wnioskuję? Bo zrobiłeś zapytanie, które kompletnie nie przystaje do problemu. Automatyczne generowanie sitemap dla serwisu jest po prostu niemożliwe jednym zapytaniem. Korzystasz bowiem zazwyczaj wtedy na nieskorelowanych tabelach, co powoduje już na starcie utworzenie wielu zapytań, nie zaś jednego. Do tego pewne linki są stałe i ich obecność musi być w pliku mapy zaznaczona "z palca"
![]() To czego potrzebujesz to odpowiednie zapytanie, które zwróci Ci konkretne działy (czyli owe forums, threads, users i inne) z ilością, dzięki którym to danym dopiero będziesz mógł przeprowadzić paginację w sitemapie. I wtedy w pętli będziesz mógł się pobawić z czymś w stylu:
Ten post edytował thek 16.01.2010, 16:18:01 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 372 Pomógł: 1 Dołączył: 13.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oj, źle wyjaśniłem - bardzo przepraszam, że to tak zabrzmiało, mówiąc, że chciałem odnieść taki rezultat miałem na myśli to że firefox nie interpretuje tej strony 'graficznie' (tak jak to robi na tej pierwszej stronie). Napisałem mały plugin http://community.mybboard.net/thread-55796.html i chciałem do tego dodać sitemape (żeby tagi szybciej się indexowały w google), a nigdy nie pisałem niczego takiego (XMLa), a to nie chce działać i utknąłem w martwym punkcie
![]() Cytat liczysz na pomoc bez znajomości sql i php Trochę umiem php i 'sqla' - myślę, że jak zrozumiem swój błąd będę w stanie sobie poradzić. Btw. mysql num rows obciąża serwer mocno (powiedzmy przy 50 000 wyników ?) //Problem rozwiązany Apache automatycznie zmienia headera na text/html, tzreba było dodać header("Content-type: text/xml"); . Ten post edytował Watt 16.01.2010, 17:03:20 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 9 Dołączył: 16.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Przecież mój post sprzed 16 wyraźnie mówił, że header jest źle ustawiony i jest w nim text/html zamiast text/xml
![]() ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 9 Dołączył: 16.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tworzenie linków nie jest raczej problemem, bo z tego co widzę to plugin jest na etapie wstępnego projektu, będzie to raczej zmienione, aczkolwiek słuszna uwaga. Co do header to jego tam wcale nie było, a nie był źle ustawiony
![]() |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Osobiście uważam, że dla stron, które nie muszą być aktualizowane na zasadzie "up to date" nie ma sensu generować sitemap częściej niż kilka razy dziennie. Stąd uważam, że sensowniej jest po prostu zawartość przypisywać w pliku do zmiennej i potem zapisać do osobnego pliku, który będzie widziany jako normalny xml. Po prostu oddzielenie sitemapy od skryptu ją generującego. Zmniejszy to na pewno też obciążenie, choć z drugiej strony dane mogą być ciut nieaktualne. Ale te kilka godzin w przypadku normalnego serwisu to wcale nie tragedia
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 9 Dołączył: 16.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
W zasadzie nie robi to różnicy, gdyż jeśli header jest dobrze zdefiniowany to będzie się to wyświetlać tak jak się ma wyświetlać, a obciążenie raczej znikome, gdyż z sitemapy korzystają tylko wyszukiwarki i robią to kilka razy dziennie. Ale to nie czas i miejsce na takie dyskusje.
Jeszcze co do sitemapy generowanej co jakiś czas. Jeśli byłoby to b. duże forum to jednak przydaje się generowanie w czasie rzeczywistym, a autor pluginu nie jest w stanie zgadnąć na jakie fora dany plugin trafi, także lepiej zrobić pod większe. Jeszcze problemem może być zlecenie generowania sitemapy co jakiś czas nie mając dostępu do CRONa, więc trzeba by było odpalać to ręcznie, co też nie jest za wygodne. Ten post edytował GwynBleidD 18.01.2010, 00:34:22 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
@GwynBleidD: miałem na myśli sytuację, gdy plik generuje się automatycznie przy próbie otworzenia sitemapy jako formę "up to date". Problem właśnie z dużymi forami. Dla takich możesz mieć te pliki ogromne. Dla małego serwisu to już jest ponad 200kB zazwyczaj. Dla for może to bez problemu przeskoczyć w wiele MB i zaistnieje konieczność dzielenia tego pliku na kilka bo zanim robot ja wywoła i wyjdzie, to nie zdoła się ona wygenerować na nowo
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:36 |