Basierend auf dem Google Sitemaps Exportmodul von Hendrik Koch hat Mathis Klooß eine stark modifizierte Version erstellt.
Dieses Modul unterstützt die gängigsten SEO-URL-Module wie ShopStat, Direct URL sowie Seofriend. Lediglich die shopinternen SEO URLs werden nicht unterstützt.
Weitere Informationen findet Ihr in der Readme zum Modul.
Ebenfalls erweitert wurde der Fokus an Suchmaschinen. So sendet das Tool die Sitemap nun an Google, Yahoo, MSN und ASK. Im Falle von Yahoo muss allerdings eine ID (E-Mail Adresse) vorhanden sein!
Alle Änderungen werden in der Datenbank gespeichert, so dass jedes Mal die gleichen Einstellungen zur Verfügung stehen.
Desweiteren sollte man eine leere Datei mit dem Namen sitemap.xml anlegen und CHMOD Rechte 777 darauf geben. Liegt diese Datei im Rootverzeichnis des Shops, sollte man sie in die robots txt schreiben.
Durch Erstellen und Senden einer XML-Sitemap könnt Ihr sicherstellen, dass die Suchmaschinen alle Seiten auf Eurer Website bekannt sind, einschließlich solcher URLs, die möglicherweise beim normalen Suchmaschinen-Crawling unentdeckt bleiben.
Man kann nun Produkte, Content und Kategorien angeben, die nicht mehr in der XML-Datei angeben werden sollen.
Ebenfalls neu ist, dass man externe Seiten, die eigentlich nicht in der Sitemap berücksichtigt werden, mit aufnehmen kann.
Changelog:
- From Version 1.3.1 to 1.3.2
- Bugfix: SEOFriend URLs
- sitemaporg.php fix exclude categories and products
- From Version 1.3 to 1.3.1
- Bugfix: Call-time pass-by-reference has been deprecated (sitemaporg.php)
- Bugfix: extra Pages (SSL and NONSSL) correct format in XML)
- Bugfix for SEOFriends: URLs incl. Domain (seofriend/xtc_href_link_from_admin.inc.php))
- no PHP4 support (UPGRADE to PHP5)
- From Version 1.2 to 1.3
- Exlude list of Products/Categories/Contents
- Incl. list of Files (with or without SSL) / Extra Pages
- From Version 1.1 to 1.2
- <priority/> was empty
Edit 06.01.2009: Gefixte Version 1.2 hinzugefügt
Edit 21.01.2009: Erweiterte Version 1.3 hinzugefügt
Edit 23.02.2009: Erweiterte Version 1.3.1 hinzugefügt
Edit 19.07.2009: Version 1.3.2 hinzugefügt
Quelle / Autor: Mathis Klooß
Dateigröße 44.5 KiB - Downloads bisher 2,961
xml_sitemap_132.zip
Defekten Link meldenWeitere Beiträge, die Dich interessieren könnten
66 Kommentare bei “XML-Sitemaps by Gunah”
Kommentar schreiben
Hier findest Du Platz für Deine Meinung, Dein Lob, Deine Kritik. Bitte nutze diese Funktion nicht für Supportanfragen! Wenn Du Fragen zu Modulen, Fehlermeldungen oder ähnliches hast, bist Du in unserem offenen und freien Forum unter www.xtc-supportforum.de herzlich willkommen.




















21. Dezember 2008 um 17:33 Uhr
jemand erfahrung – bringt das was?
21. Dezember 2008 um 18:16 Uhr
Schau mal hier, da wurde das schon mal diskutiert.
http://www.xtc-load.de/2008/10/google-sitemaps-exportmodul/#comment-231
30. Dezember 2008 um 15:43 Uhr
[...] 22.12.2008: Eine Weiterentwicklung des Moduls ist nun hier [...]
31. Dezember 2008 um 15:51 Uhr
Ich betreibe XTC 304SP2.1 mit Seofriend module und erhalte folgende error messages im log bei Erstellung der XML Sitemap. Ich bin mir nicht ganz sicher wo ich ansetzen soll. Danke für einen Hinweis.
[Wed Dec 31 15:43:21 2008] [warn] mod_fcgid: stderr: PHP Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of xtc_db_fetch_array(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /var/www/webXXX/html/admin/includes/modules/export/sitemaporg.php on line 342
[Wed Dec 31 15:43:21 2008] [warn] mod_fcgid: stderr: PHP Fatal error: Call to undefined function xtc_get_parent_categories() in /var/www/webXXX/html/inc/xtc_get_category_path.inc.php on line 25
4. Januar 2009 um 15:35 Uhr
@Marcopolo
schreibe mal in das Script eine Zeile nach <?php
set("allow_call_time_pass_reference","true");und probiers nochmal wenn dieses nicht geht musst du bei deinem Hoster diese einstellung auf true setzten lassen “allow_call_time_pass_reference”
5. Januar 2009 um 17:29 Uhr
hallo,
bei mir bleib folgende zeile leer
Priorität für die Liste ist 0,5 eingestellt
Priorität für die Artikel ist 0,8 eingestellt
in der sitemap.xml fehlen aber diese angaben es steht nur
muß man noch was aktivieren !?!
6. Januar 2009 um 19:59 Uhr
Danke an Thorsten für den Hinweiss habe ich gefixxt:
Changelog liegt bei…
http://dev.gunah.org/xtcommerce/xml_sitemap_12.zip
@ Ralph bitte oben mit einpflegen
die Datei sitemaporg.php muss nur ausgetauscht werden…
6. Januar 2009 um 20:27 Uhr
Danke Mathis! Habe die gefixte Version bereits in den Download übernommen
17. Januar 2009 um 11:53 Uhr
Hallo Mathis und alle anderen,
super… die Installation hat perfekt geklappt und das Ergebnis ist astrein! Die Suchmaschinen können kommen!
Mathis, vielen Dank!
20. Januar 2009 um 21:44 Uhr
habe mal etwas hinzugefügt:
http://dev.gunah.org/xtcommerce/xml_sitemap_13.zip
NEU:
Man kann nun Produkte/Content/Kategorien angeben die nicht mehr angeben werden sollen.
Auch neu ist, dass man externe Seiten die eigtl nicht in der sitemap drin sind mit aufnehmen kann, Screenshot der neuen Änderungen ist im Archiv.
(nur Pfad angeben)
21. Januar 2009 um 18:18 Uhr
Danke Mathis!
Habe den Beitrag um die neue Version 1.3 erweitert.
21. Januar 2009 um 23:57 Uhr
[...] Ich habe eine Export Modul Entwicklet, welches eine XML-Sitemap erstellt. Weitere Informationen finden Sie unter: http://www.xtc-load.de [...]
29. Januar 2009 um 12:08 Uhr
ich Benutze XT:c 3.0.4. SP1 mit SEO.
habe gerade mal das Modul von euch getestet, leider bekomme ich sofort nach der abfrage einen weißen Bildschirm ohne Fehlermeldung oder sonstiges und es werden keine Daten Geschrieben!
kleinen tip??
29. Januar 2009 um 22:29 Uhr
hmmm keine Ahnung kenne das SP1 leider nicht, es kann aber evtl dran liegen das du PHP4 nutzt…
was eigtl kein Hoster mehr haben sollte!
30. Januar 2009 um 10:27 Uhr
hm, schade.
nutze PHP Version 5.2.6
Danke
17. Februar 2009 um 15:53 Uhr
Hallo,
in der 13 Zip-Datei befindet sich die 1.2 sitemaporg.php, somit sind die Erweiterungen der 1.3 im Downloadpaket nicht enthalten.
Vielen Dank für die Erweiterung, funktioniert auch in der 1.2 prima
Gruß
Mathias
19. Februar 2009 um 16:18 Uhr
Gibts das Ding auch noch für “alte Pakete” mit PHP4 Version?
23. Februar 2009 um 18:36 Uhr
Version 1.3.1 Changelog:
* Bugfix: Call-time pass-by-reference has been deprecated (sitemaporg.php)
* Bugfix: extra Pages (SSL and NONSSL) correct format in XML
* Bugfix for SEOFriends: URLs incl. Domain (seofriend/xtc_href_link_from_admin.inc.php)
* no PHP4 support (UPGRADE to PHP5)
23. Februar 2009 um 19:05 Uhr
Habe den Beitrag um die neue Version 1.3.1 erweitert.
2. März 2009 um 15:20 Uhr
Gibt es eine Option die Funktion als Cronjob laufen zu lassen, würde doch Sinn machen bei einer Sitemap für den Shop
3. März 2009 um 01:48 Uhr
Ich bekomme folgende Fehlermeldung bei der 1.3.1 :
wer kann helfen ?
3. März 2009 um 09:48 Uhr
ja klar nimm halt die Klasse auseinander und binde nur die Daten ein usw. so dass es passt…
habe wir hier bspw bei google base usw. so
ich will nur nicht jedem alles vorkauen
3. März 2009 um 10:44 Uhr
Hi Mathias, mit der generierten Sitemap bekomme ich für die Content Manager URLs Fehler unter Google.
Bsp:
9 Ungültige URL
Dies ist keine gültige URL. Korrigieren Sie die URL und reichen Sie die Daten erneut ein.
URL: http:/www.shopdomain.com/de/cms/1/liefer–und-versandkosten.html
Übergeordnetes Tag: url
Tag: loc
Problem ermittelt am: 03.03.2009
Kannst Du Dir das erklären?
Beste Grüße,
René
3. März 2009 um 10:56 Uhr
Mathis, hab den Fehler entdeckt, fehlt ein / in der URL
29. Juni 2009 um 22:43 Uhr
Funktioniert einwandfrei!
… der GROUP_CHECK fehlt zwar aber läßt sich einfach implementieren.
17. Juli 2009 um 18:41 Uhr
ich habe leider folgenden fehler:
17. Juli 2009 um 23:30 Uhr
@markus: es sieht so aus, als hättest du die SQL-Abfrage editiert und ein paar Fehler eingabaut. Zum einen hast du das “p.” in der WHERE-Klausel zwei Mal vergessen, was den eigentlichen Fehler erzeugt, und die Änderung mit “AND ( products_id != ‘9625′ )” enthält neben der überflüssigen Klammerung noch zwei unterschiedliche Hochkomma (welche auch durch die Formatierung im Blog entstanden sein können).
Wenn ich das richtig interpretiere, ist dein Wunsch der Ausschluss eines Produkts. Oder? Schau bitte in die Exporteinstellungen des Moduls und du wirst ein Feld names “Produkte ignorieren?” finden, in dem du die 9625 angeben kannst.
17. Juli 2009 um 23:38 Uhr
Welche Rolle spielt eigentlich die Reihenfolge der Links in der Sitemap? Nach welchen Kriterien sollte sortiert werden?
Nach products_id ergibt eine relativ konstante Position der Links in einer Sitemap. Jedoch werden neue Links gaaaanz unten angefügt. Irgendwo habe ich mal gelesen das SuMas sich vererst nur eine begrenzte Anzahl von Links vornehmen und später fortfahren. Sollten daher nicht die neuen Produkte oben angefügt (oder per DESC sortiert) werden? Oder sollte man die Links gar nach Änderungsdatum (letzte Änderung als ersten Link) sortieren?
Der Gedanke kam mir bei der ProduktID 9625
… und im Netz habe ich keine befriedigenden Antworten gefunden … aber vielleicht hat sich hier schon mal einer diede Fragen gestellt und kann Sie mir beantworten.
P.S. Hoffe ich hab den Thread nicht missbraucht
18. Juli 2009 um 15:38 Uhr
@m3
ich kann leider nicht ganz folgen. ich pack nach anleitung die datei in den entsprechenden ordner und ändere entsprechend die shopstat datei, wie in der anleitung.
fehlt da eine sql änderung?
18. Juli 2009 um 15:51 Uhr
sorry, habe jetzt entdeckt, das soweit alles funktioniert, der fehler tritt erst auf, wenn ich ein produkt ignorieren will. es ist egal ob ich in das feld die nummer der shop product id eingebe oder die artikelnummer, es kommt immer der fehler:
18. Juli 2009 um 15:53 Uhr
ich habe das nun mit einer content id getestet, dort kommt kein fehler, die seite ist in der xml dann aber trotzden enthalten.
18. Juli 2009 um 17:55 Uhr
@ markus: Sorry, der Fehler steckt schon im original Skript. Hatte das bei mir schon vor längerer Zeit geändert.
Im original Script in Zeile 179 und 180 fehlt jeweils das “c.” vor “categories_id” und in Zeile 220 und 221 fehlt jeweils ein “p.” vor “products_id”.
Zur Erklärung: Die Abfragen erstrecken sich über mehr als eine Tabelle und damit die Spalten jeder Tabelle angesprochen werden können, hat man “FROM tabelle AS t” eingeführt. Das AS kann man aber auch weglassen. Wenn man die AS-Definition einsetzt, muss man jede Spalte mit t.Spalte abfragen. Leider wurde das im vorliegenden Script nicht konzequent eingesetzt, so das eine Nachbesserung nötig ist, um die Zusatzfunktion des Ausschlusses nutzen zu können.
Bei der Abfrage nach Content-Seiten muss nichts angepasst werden. Hier wird keine AS-Definition benutzt. Als ID muss die Gruppen-ID angegeben werden!
P.S. vielleicht gibt es bald ein update – Gruppencheck ist im Original auch nicht implementiert
18. Juli 2009 um 18:26 Uhr
supper! danke! wenn ich jetzt noch herausfinden könnte wie ich in froogle export datein bestimmte artikel ausschliesse, wär ich froh!
18. Juli 2009 um 19:01 Uhr
Ein Update meinerseits wird es nicht mehr geben…
Da ich der XTC Szene den Rücken zugewendet habe und auch keine Professionelle Zukunpft in XTC mehr sehe…
22. Juli 2009 um 15:41 Uhr
Hallo,
habe ein Problem. Ich habe mich genau an die Anleitung gehalten, nutze DirectURL und habe auch dafür die Änderungen vorgenommen… und jetzt das eigentliche Problem:
Wenn ich die sitemaporg.php in mein Module-Verzeichnis kopiere, kann ich keins der ganzen Module mehr ausführen und zwar weil im Adminbereich unter XT-Module, das Feld in dem normalerweise “installieren” ö.ä. steht verschwindet und das Feld in dem die Module aufgelistet sind sich komplett bis zum rechten Bildschrimrand erstreckt. Weiss jemand woran das liegen kann?
22. Juli 2009 um 18:56 Uhr
Hallo,
leider funktioniert das ganze in Verbindung mit Seofriend und einer Shopinstallation in einem Unterordner nicht ganz.
richtig wäre aber:
Jemand eine Idee?
LG aus Bayern und schon mal Danke vorab!
18. September 2009 um 11:15 Uhr
Hallo, habe mir das Modul gerade runtergeladen, die Datei sitemap.org ins Hauptverzeichnis des Shops geschoben, die Datei admin/includes/functions/html_output.php nach Anleitung angepasst, in der robots.txt den Pfad zur neu erstellten Datei sitemap.xml(Rechte auf 777)eingefügt und die Direct URL Datei xtc_href_link_from_admin.inc.php
in das Verzeichnis inc/ geschoben… Und nun? Es muß doch noch irgendwas ausgeführt werden, damit das ganze aktiv ist… nur was???
18. September 2009 um 11:28 Uhr
Fehler selbst gefunden… sitemap.org natürlich NICHT ins Hauptverzeichnis
30. September 2009 um 15:14 Uhr
Hallo ich bekomme folgende Fehlermeldungen – gibts da eine Lösung für?
20. Oktober 2009 um 22:37 Uhr
@René (Nr. 20): Ja, es gibt eine Möglichkeit, das Ganze per Cron laufen zu lassen. Ich habe mir dazu eine separate PHP Datei geschrieben, die man immer wieder zum erstellen aufrufen kann ohne im Shop eingeloggt zu sein.
Man lege einfach eine Datei im Rootverzeichnis des Shops an (bei mir heißt sie xml_sitemap_cron.php). Fülle sie mit folgendem Inhalt:
Dann editiere man die Datei sitemaporg.php und kommentiere die erste eigentliche Codezeile aus:
Danach ist diese Datei ohne eingeloggt zu sein erreichbar. Mag evtl. ein Sicherheitsrisiko sein!!!
Jedenfalls kann man danach einen Cronjob definieren, der die Datei xml_sitemap_cron.php ausführt.
22. Oktober 2009 um 11:59 Uhr
Danke Helmut, ich habe bereits eine ähnliche Lösung programmieren lassen ,-) Dieser Ansatz lässt sich gut für Cronjobs aller Art verwenden. Danke.
22. Oktober 2009 um 19:18 Uhr
Hallo an alle,
erst mal danke für die tolle Arbeit.
wir nutzen in unserem alten webshop schon die Version 1.2 und Sie funktioniert einwandfrei.
In dem neuen Projekt das wir machen hab ich die Version 132 eingebaut, sie funktioniert auch toll nur sind in der XML Datei die Links zu den Produkten in der Form …/product_info.php?products_id=1 sowie zu den Kategorien …/index.php?cPath=1. in der älteren Version ist ein komplettes .html ausgeschrieben. Leider weis ich nicht mehr wie wir das angestellt haben das es die SUMA – freundlichen Links auch in den Produkten und Kategorien übernimmt.
wer kann da helfen.
besten Dank im voraus
Johnny
22. Oktober 2009 um 20:15 Uhr
@Johnny: Haben Sie denn in Ihrem “neuen Projekt” schon suchmaschienenfreundliche Links aktiviert? Dem Changelog zu urteilen, wurde die Unterstützung von suchmaschienenfreundlichen Links nicht entfernt
22. Oktober 2009 um 22:55 Uhr
Kommt bei mir dann
23. Oktober 2009 um 13:37 Uhr
@Hans Vetter: Welche PHP-Version benutzen Sie? Ich tippe auf PHP4 und im Changelog ist “no PHP4 support (UPGRADE to PHP5)” zu lesen.
23. Oktober 2009 um 15:35 Uhr
Hallo M3,
danke erstmal für die schnelle antwort.
Wir haben bluegate installiert und die suchmaschienenfreundlichen Links auf true gestellt.
es klappt ja auch mit den Contentseiten einwandfrei.
Kannst ja mal schauen auf Tati-kindermoebel.de. in der Rubrik Funktionsbetten ist bereits ein Artikel drin.
Johnny
23. Oktober 2009 um 15:45 Uhr
Hallo Hans Vetter,
Die Fehlermeldung kommt wenn du PHP4 benutzt.
Wenn du 1und1 als Provider benutzt dann gib einfach in die .htaccess folgendes mit ein
dann funktioniert es
johnny
23. Oktober 2009 um 22:56 Uhr
Ne, uncool
Wenn ich das in die .htaccess einbinde kommt :
0) { $category_depth = 'products'; // display products } else { $category_parent_query = "select count(*) as total from ".TABLE_CATEGORIES." where parent_id = '".$current_category_id."'"; $category_parent_query = xtDBquery($category_parent_query); $category_parent = xtc_db_fetch_array($category_parent_query, true); if ($category_parent['total'] > 0) { $category_depth = 'nested'; // navigate through the categories } else { $category_depth = 'products'; // category has no products, but display the 'no products' message } } } require (DIR_WS_INCLUDES.'header.php'); include (DIR_WS_MODULES.'default.php'); $smarty->assign('language', $_SESSION['language']); $smarty->caching = 0; if (!defined(RM)) $smarty->load_filter('output', 'note'); $smarty->display(CURRENT_TEMPLATE.'/index.html'); include ('includes/application_bottom.php'); ?>23. Oktober 2009 um 22:58 Uhr
Ist übrigens PHP Version 4.4.8, sry die changelog hab ich garnicht gelesen . Gibts eine Version die Php und DirectURL supportet ?
24. Oktober 2009 um 13:30 Uhr
@Hans Vetter
Stell einfach in der Config von PHP short_tags auf On!!!!
26. Oktober 2009 um 00:40 Uhr
Jetzt hab ich PHP durch .htaccess anpassung.
Und die URL wird sauber ausgegeben allerdings immernoch mit
index.php?cPath=1_67
und keine DirectURL, kann mir nochmal jemand helfen ?
26. Oktober 2009 um 10:22 Uhr
ich würde mal drauf tippen, dass du die README nicht einmal gelesen hast, dort steht alles drin -.-
26. Oktober 2009 um 14:04 Uhr
Hallo, habe die Dateien hochgeladen, aber beim Aufruf der XT-Module bekomme ich folgende Fehlermeldung:
Hat jemand einen Rat für mich?
28. Oktober 2009 um 16:49 Uhr
#53
Du benutzt vermultich PHP 4, du musst auf php 5 umstellen damit das Ding funktioniert. Siehe oben Info für 1und1.
30. Oktober 2009 um 01:17 Uhr
Ich hab nur das mit der PHP Datei überlesen, den Rest der Readme hab ich sehr sorgfältig gelesen und auch befolgt.
18. November 2009 um 17:27 Uhr
Ich habe auch das Problem mit dem Fehler in Zeile 81.
Wenn ich allerdings die .htaccess auf PHP 5 anpasse, funktioniert der Rest vom Shop nicht mehr. Ich komme immer auf die Startseite, egal welche Links ich mache.
Weiß jemand eine Abhilfe. Server ist auch 1&1.
18. November 2009 um 22:07 Uhr
#56 Hallo Tobias,
das muss an etwas anderem liegen. Laut meinem Provider habe ich PHP5 drauf und andere Module laufen ja auch.
Ich habe das Modul erst einmal runtergeschmissen. Leider.
18. November 2009 um 23:47 Uhr
#56 Hi Tobias,
hier ein Lösungsansatz:
im Verzeichnis des Shops / liegt ne .htaccess Datei, die das PHP als PHP 4 cgi umstellt. Somit ist dort kein PHP 5 möglich.
Bei mir klappt es jetzt.
Gruss Stefan
19. November 2009 um 09:12 Uhr
Ich werde mal bei 1&1 direkt nachfragen, ob die mir PHP5 einstellen können.
Mit deiner Einstellung bekomm ich die gleichen Fehlermeldung wie bei (48) Hans Vetter.
20. November 2009 um 02:39 Uhr
Leute, PHP 5 erzwingen nur um die functions als ‘private’ zu deklarieren?
Viele Shopbesitzer können nicht so einfach auf PHP 5 umstellen.
Also an alle die die Fehlermeldung mit der Zeile 81 bekommen:
Öffnet die sitemaporg.php und ersetzt alle
‘private function’
durch
‘function’
und schon gehts auch mit PHP 4.
Soweit ich das auf die schnelle beurteilen kann
12. Februar 2010 um 00:47 Uhr
[...] kann ich die XML-Sitemaps by Gunah nur [...]
30. März 2010 um 15:53 Uhr
Hallo ihr Lieben,
ich habe das Modul installiert und gestartet.
Dann passiert…nichts.
Ist das so ok?
Ich meine…das crawlen sollte doch einige Zeit dauern und dann sollte man ein Ergebnis präsentiert bekommen.
Oder wie oder was?
Ich kann nicht sagen ob das Modul irgendwas tut oder nicht.
Gruß Denise
30. März 2010 um 16:39 Uhr
Schau mal mit einem FTP-Programm auf Deinen Server, ob sich die sitemap.xml verändert hat.
30. März 2010 um 17:45 Uhr
Ja die sitemap.xml wird geschrieben, allerdings viel kleiner als vom gsitecrawler, 85k anstatt 1mb. Bei Google Dashboard wird nicht angezeigt dass was gemeldet wurde. Habe ich manuell gemacht und scheint ok, aber nur 400 urls anstatt vorher 1700 übermittelt.
Was Yahoo angeht: eine Datei für Yahoo wird nicht geschrieben und nicht angemeldet.
Zur abgefragten Yahoo ID: meine ID ist nicht die Emailadresse. In der Anleitung steht aber was von Emailadresse, das verwirrt. Und kann ohne Passwort überhaupt was übermittelt werden? Mein Yahoo Site Explorer weiss nichts von all dem.
12. April 2010 um 15:14 Uhr
Hallo,
ich habe das Modul installiert und es funktioniert auch jedoch werden nur die deutschen URLs generiert.
Gib es eine Möglichkeit das ganze auch mehrsprachig zu generieren?
12. April 2010 um 19:55 Uhr
son mist, hatte ich noch gar nicht bemerkt.