Hallo Earlybird,[QUOTE=Earlybird;94029]Solche Provider-Probleme sind eine andere Baustelle (Strato ?).[/QUOTE]Nein, nicht Strato, eigentlich hatte ich noch keine Probleme in diese Richtung. Ich finde es ja richtig, wenn nur die Module frei geschalten sind, die auch benötigt werden. Nur wenn man sich nicht so richtig mit PHP auskennt…
[QUOTE=Earlybird;94029]CMS-Seiten werden von diesem Script nicht ausgegeben. Das will z.B. ich auch garnicht, sondern nur artikelbezogene Links zum Verkauf.[/QUOTE]Ich nahm das an, weill weiter oben die Rede davon war und ich im Script die
function getCmsSite()
gesehen habe und auch davon, dass die Sitemap aufgeteilt werden kann…
Ja stimmt, das steht im Code, gibt aber keine CMS Links in der Sitemap aus.
Wie gesagt:
Es handelt sich hier um eine “beta_version” open source und jeder kann daran weiterprogrammieren was er will. Da ich CMS in der sitemap nicht brauche, habe ich mich darum auch nicht weiter gekümmert.
Daher ja der Wunsch, dass das Thema sitemap endlich mal von Oxid als Standard intergiert wird und das ist bereits bei Oxid angekommen.
[QUOTE=Earlybird;91687]
2. Nach Löschen der oxseo Daten (z.B. zur Bereinigung alter Daten, zu grosse Tabelle) oder beim Direkt-Import von Artikeln in die Datenbank (ohne Oxid-Importfunktion), kann mit dem gen. Export die oxseo neu geschrieben werden - das war mein Sonderfall.[/QUOTE]
Könntest Du das noch einmal näher erläutern? Wie läuft der Neuaufbau der Tabelle oxseo durch einen generischen Export ab?
Wenn man in einem Sonderfall die MySQL-Tabelle oxseo leeren möchte oder muss - also genau weiß man tut - dann wird durch Ausführung des “gen. Export” (im Admin) die oxseo automatisch komplett neu geschrieben - das kann man so einfach als Nebeneffekt nutzen.
Anderenfalls wird eine leere oxseo erst durch den Besuch der Shop-Seiten über das Frontend im Laufe der Zeit neu geschrieben.
Der generische Export aktualisiert die ganze Tabelle oxseo bzw. schreibt eine leere oxseo komplett neu.
Der Button “SEO URLs neu berechnen” bewirkt dagegen nur, dass beim Aufruf einer Seite deren SEO URL neu berechnet wird. Siehe auch Handbuch PDF ab Seite 48 ff mit mehr Info.
nachdem das Script läuft, versuche ich gerade einen Cron dafür einzurichten. Dafür habe ich mir eine Text-datei mit allen Crontabs erstellt, die ich mit putty aufrufe.
Das funktioniert prinzipiell, nur der neue Eintrag für die Sitemap will noch nicht. Ich erhalte hier: “.txt”:14: premature EOFerrors in crontab file, can’t install."
Hallo Earlybird[QUOTE=Earlybird;94639]Probier mal statt:
google_sitemap_xml.sh -c 1
folgendes:
google_sitemap_xml.php[/QUOTE]negativ…
PS: ich glaube, dass der Cron mit PHP nicht funktioniert. Bei mysqldumper musste auch die Perlstrecke richtig eingerichtet werden, ehe die Cronjobs liefen.
Für ein PHP-Skript unter /home/username/bin/beispiel.php sieht das Cron-Kommando z.B. wie folgt aus:
PHP: /usr/local/bin/php -f /home/username/bin/beispiel.php
Für andere Skripte:
Perl: /usr/local/bin/perl /home/username/bin/beispiel.pl
Python: /usr/local/bin/python /home/username/bin/beispiel.py
Ruby: /usr/local/bin/ruby /home/username/bin/beispiel.rb
Ich habe bei mir eben nochmal in der sitemap nachgeschaut. Bei mir werden die CMS-Seiten mit ausgegeben. Ist für uns auch wichtig, wegem dem ausführlicherem Content.
Bei mir erstellt das Skript erwartungsgemäß folgende Dateien:
[ul][li]sitemap-de.xml[/li][li]sitemap-de1.xml.gz[/ul][/li]
Erstere verweist auf letztere. Aber ein paar Fragen hätte ich noch:
Die Dateien sind mit “-de” im Namen erweitert. Ist das ok? Findet Google diese so?
Der generische Export aktualisiert die ganze Tabelle oxseo bzw. schreibt eine leere oxseo komplett neu.
Der Button “SEO URLs neu berechnen” bewirkt dagegen nur, dass beim Aufruf einer Seite deren SEO URL neu berechnet wird. Siehe auch Handbuch PDF ab Seite 48 ff mit mehr Info.[/QUOTE]
Danke für den Hinweise auf das Handbuch; das müßte dann noch mit dem Tip für den generischen Export ergänzt werden.
Hast Du eine Idee, wie man den Neuaufbau von oxseo, den der generische Export bewirkt, irgendwie von außen triggern kann? Hintergrund ist, dass ich den klassischen Wawi-Fall habe, d.h. die Artikeldaten werden neu geschrieben und die oxseo ist sozusagen ungültig.
Für ein PHP-Skript unter /home/username/bin/beispiel.php sieht das Cron-Kommando z.B. wie folgt aus:
PHP: /usr/local/bin/php -f /home/username/bin/beispiel.php
Für andere Skripte:
Perl: /usr/local/bin/perl /home/username/bin/beispiel.pl
Python: /usr/local/bin/python /home/username/bin/beispiel.py
Ruby: /usr/local/bin/ruby /home/username/bin/beispiel.rb
Pfade individuell anpassen.[/QUOTE]
Also bei mir konnte ich den Cronjob mit:
10 01 * * * /usr/lib64/php5/5.3.3/bin/php /srv/www/xxx/sitemap/google_sitemap_xml.php
anlegen.
Nun muss der Provider nur noch heraus finden, warum er nicht läuft…
Es ist zumindest bei meinem Provider egal, ob der Cronjob als .php oder als .sh angelegt wird. Allerdings kommt hier bei beiden eine Fehlermeldung. Die Funktion “system():” ist auch Sicherheitsgründen für Cronjobs vom Provider abgeschalten.
Nun hat der Provider gesagt, dass ich eine eigene php.ini übergeben kann. Das übersteigt nun etwas meine Kenntnisse…
Ich habe mich für php entschieden und, weil die gepackte Datei ja nicht bei jedem Cronjob neu erstellt wird und somit für Google nich relevant ist, die gzip-Funktion (Zeile 325 - 333 und Zeile 108) auskommentiert.
Bei
$mod_cnf['filepath'] = '';
habe ich die URL, wie in dern config_inc.php
$this->sShopDir = '';
eingegeben, weil sonst beide xml.Dateien im Server-Root abgelegt werden - wenn
$mod_cnf['filepath'] = '';
Nun wird die sitemap-de1.xml im Ordner “/sitemap/” erstellt, nur die “sitemap-de.xml” wird im Server-Root (mit falscher Weiterleitung auf die “sitemap-de1.xml.gz”) erstellt. Der Cronjob bei mir lautet: