Google Sitemap Xml - Einfach zu Erstellen

Hallo,

ein Blick ins Logfile sagt:
Undefined offset: 1 in google.php on line 62

Das ist die folgende if Bedingung. Aufgerufen hatte ich das Script mit dem Browser.

EDIT: Auf der Shell aufgerufen, gibt es diesen Fehler nicht, die sitemap.xml bleibt aber trotzdem leer.

// which run?: script calls with '-c [n]'
// first run (without params) -> call #1
if ("-c" != $_SERVER['argv'][1])
{
    $pcall = 1;
}
else {
    $pcall = $_SERVER['argv'][2];
    if (!preg_match("/[\d]/",$pcall))
    {   
        die("Illegal call.
");
    }   
}

jemand Ideen dazu?
danke
cyrano

Ich nehme mal an, dass Du die weiter oben aufgezeigten Fehlermöglichkeiten bereits gründlich überprüft hast.

Das google_sitemap_xml.php Script wurde mehrmals und von verschiedenen Personen überarbeitet. Möglicherweise hast Du einen unvollständigen Code und deshalb geht nichts.

[QUOTE=cyrano;90613]Hallo,
ich habe ebenfalls das Problem, das die sitemap.xml leer ist. Kopieren des Scripts, löschen der sitemap.xml, config überprüft etc. alles probiert -> sitemap bleibt leer.

Ich habe 4.5.9, ca. 20 kategorien und ca. 450 Artikel incl Varianten

.Hat jemand das Problem lösen können?
Ich wäre sehr verbunden.

danke
cyrano[/QUOTE]

Also bei mir funktioniert das einwandfrei, die sitemap.xml bleibt bei mir ebenfalls leer.
Die erstellte Sitemap nennt sich nämlich sitemap1.xml.gz (falls komprimiert).
Und die sitemap.xml darf auch nicht gelöscht werden, die dient schließlich als Vorlage. Löschen muss man nur immer die alte sitemap1.xml.gz, bevor man eine neue erstellt.

Hi,

so. ich hab das ganze jetzt mal auf Github gestellt, Gemeinschafts-Coding im Forum sieht irgendwie komisch aus :slight_smile:

Ist das wirklich die letzte Version, hab ich nix vergessen?

Gruß

Habe die letzte Script Version in Oxid Version 448 und 460 getestet:

Auf lokalem PC (XAMPP) im Browser z.B. wie folgt aufgerufen:
http://localhost/shop460/sitemap/google_sitemap_xml.php

Es liegen dann z.B. 3 Dateien Im Ordner /sitemap
google_sitemap_xml.php (das Script)
sitemap.xml
sitemap1.xml (die gewünschte Sitemap)

Wenn die Sitemapdaten insgesamt grösser als das erlaubte Limit sind, dann werden weitere Dateien erstellt:
sitemap2.xml
usw.

Die Dateien sitemap.xml, sitemap1.xml usw. können gelöscht werden und das Script erstellt sie dann neu oder nicht gelöscht werden alle überschrieben wie das Dateidatum zeigt - das spielt überhaupt keine Rolle.

PS: Marco, es wäre doch längst mal fällig, dass in Oxid eine Sitemapgenerierung integriert wird.

Ich habe das script aus dem wiki-oxid kopiert und alles so eingerichtet wie beschrieben.
Ich werde mir dann mal das script aus dem git ansehen, was marco dort eingestellt hat.

danke
cyrano

Das von Marco zuvor erwähnte Script in OXIDprojects unter GitHub - OXIDprojects/google_sitemap: Create a google XML sitemap for your OXID eShop ist fehlerhaft in der Syntax durch nachträgliche Auskommentierung:

Zeile 23: hier / löschen

* / install 

Zeile 31: hier die zwei // löschen

*// transfer to google

Zeile39: folgendes eingeben

*/  

Ausserdem Fehlermeldung bei oxid460 php5.3.8 ($_SERVER[‘argv’] deprecated):

Undefined index: argv in C:\xampp\htdocs\shop460\sitemap\google-sitemap-xml.php on line 24

und die sitemap1.xml wird nicht gezipped.

den Fehler im Kommentar hatte ich bereits behoben. Die deprecated Meldung habe ich nicht unter PHP 5.3.3-7+squeeze9 .

cyrano

den Fehler im Kommentar habe ich im Wiki ebenfalls korrigiert

@ cyrano
Ja und funktioniert’s jetzt endlich ?

Ansonsten z.Kt.: Ich habe meine Tippfehler oben nachträglich noch etwas korrigiert (siehe Edit-Zeit), weil dazwischen telefoniert …

@ Ray

Der Fehlerteufel steckt heute überall.

Im Wiki ist es jetzt ok aber noch nicht hier:
https://github.com/OXIDprojects/google_sitemap

Moin,

ähhhmmm… nur mal so: Github ist offen für alle, ich hab die Datei nur hochgeschoben.

Gruß

[QUOTE=Earlybird;90727]@ cyrano
Ja und funktioniert’s jetzt endlich ?
[/QUOTE]

Leider nein. Weder auf der Shell noch über den Browser.
An https/ssl kann es wohl nicht liegen?

PHP 5.3.3-7+squeeze9 with Suhosin-Patch
Oxid 4.5.9, Theme: Azure

cyrano

kannst Du mal via php-info nachsehen, was für ein Wert bei Dir unter “suhosin.get.max_value_length” eingetragen ist?

@cyrano
Mit https und browser hatte ich keine Probleme in diesem Zusammenhang.

Aus der Richtung - wie Ray schon fragt - kann das Problem eher kommen: suhosin und php.ini settings. In syslog müsste dann ein Fehler stehen.

Fragen:

  1. Root-Server oder Zugriff auf Server-Konfiguration?
  2. Wieviele Einträge stehen in der MySQL-Tabelle oxseo?
  3. Wieviele Artikel und wieviele Kategorien hat der Shop?
  4. Gegenprobe: Läuft der gen. Export (im Admin) bis zur vollen Anzahl aus Pkt.3 durch?

kannst Du mal via php-info nachsehen, was für ein Wert bei Dir unter “suhosin.get.max_value_length” eingetragen ist?

Eingetragen ist 512, allerdings sehe das in der zentralen suhosin.ini alles aus kommentiert ist.
Im syslog finde ich keinen Fehler.

  1. Root-Server oder Zugriff auf Server-Konfiguration?

Ja.

  1. Wieviele Einträge stehen in der MySQL-Tabelle oxseo?

1275 Einträge

  1. Wieviele Artikel und wieviele Kategorien hat der Shop?

ca. 450 Artikel und 24 Kategorien, incl. Unterkategorien

  1. Gegenprobe: Läuft der gen. Export (im Admin) bis zur vollen Anzahl aus Pkt.3 durch?

Nein, es werden immer nur wenige (3-10) Artikel exportiert. Auch wenn ich nur eine Kategorie auswähle.

In der php.ini habe ich folgende Einträge, die ich damit in Zusammenhang bringen könnte:
max_execution_time = 60;
max_input_time = 60;
memory_limit = 64M;

vielen Dank für eure Hilfe
cyrano

Lass doch nochmal beides laufen (sitmap und export) und notier die sekundengenaue Startzeit, dann findest Du bestimmt die Fehlerursache in der syslog - z.B. suhosin (####) ALERT …

In der suhosin.ini ist standardmässig alles auskommentiert. Trage dort zum Test mal folgendes ein:

suhosin.post.max_vars = 100000
suhosin.request.max_vars = 100000
und dann Apache restart.

Wenn es damit fuktioniert, kannst Du die zu grossen Werte auf kleinere unter 10000 testen und einstellen.

vielen Dank für die Hinweise.
Ergebnisse werde ich Anfang nächster Woche liefern.

cyrano

Ich habe das Problem, dass mir in der XML an gewisse Verzeichnisse noch eine Zahl angehängt wird. In der Regel eine Nummer höher als Seiten in der Artikelkategorie vorhanden sind. Woran könnte das liegen? Ich habe alle URLs fixiert im Admin (ohne die Zahl).

Hallo,

erfreulicherweise kann ich mitteilen, das das generieren der xmlsitemap nun funktioniert.
Der Fehler war folgender:

Ich musste in dem Script die Variable

oxlang=0 

auf

oxlang=1

ändern.

Das ist wohl irgendwas mit den Sprachen schief, das hat aber wohl nix mit dem Script hier zu tun.

Einen Produktexport bekommen noch nicht hin, aber das gibt einen separaten Thread, wenn ich nicht weiterkomme.

vielen Dank für die Hilfe
cyrano