Ergebnis 1 bis 6 von 6

Thema: Sitemap generieren durch cron deaktivieren

  1. #1
    Contao-Nutzer Avatar von Leixit
    Registriert seit
    22.10.2015.
    Ort
    Aichach
    Beiträge
    39

    Standard Sitemap generieren durch cron deaktivieren

    Hallo zusammen

    Ich versuche es mal zu beschreiben warum und wieso und gleich vorab, es ist keine Isotope Frage, auch wenn es irgendwie damit zu tun hat.

    Wir haben auf unserer Seite Isotope zur Produktdarstellung eingesetzt, um teilweise mit den Shop-Funktionalitäten arbeiten zu können. Um aus den Vorgaben von Isotope auszubrechen, musste ich einige Dinge umgehen, so auch die Vorgabe wie Isotop denkt die Produkte zu Listen und darzustellen. Das ganze führte zu einer Seitenstruktur die für Contao zwar logisch, für Isotope aber irgendwie nicht. Wie auch immer.

    Die Struktur sieht im Grunde vollkommen normal aus.

    1. Seite erstellen: Produktkategorie (Beispiel: Tassen)
    2. Seite in Produktkategorie (Tassen) erstellen: Haferl

    Jetzt habe ich folgende Artikel-Hierarchie.
    1. Tassen (Seite)
    a. Tassen (Artikel)
    2. Haferl (Seite)
    a. Haferl (Artikel)

    In Haferl -> Haferl befindet sich jetzt der Produktreader von Isotope, der beim Darstellen des Produktes (und jetzt kommt unter anderem mein Sitemap Problem), dem ganzen wieder eine Seite unterhängt. Also habe ich folgende Verlinkung.

    Tassen (Seite) -> Haferl (Seite) -> Haferl (CTO Artikel)-> Haferl (Das Produkt)

    In der Sitemap sieht das jetzt folgendermaßen aus.

    http://www.seite.com/gr01/gr01.html

    Soweit ja ganz gut. Problem ist nur, in der Sitemap wird auch

    http://www.seite.com/gr01.html

    ausgegeben, was Seitens Contao vollkommen korrekt ist. Da die direkte Verlinkung auf das Produkt allerdings fehlt (Isotope Produktreader Logik) ergibt das einen 404 und auf den läuft mir unter anderem der Google Bot auf.

    Da das erzeugte Problem ja nichts mit Contao zu tun hat, denn es macht seine Arbeit vollkommen richtig, sondern mit der Logik von Isotope, bleibt mir, denke ich, nichts anderes übrig, als die Sitemap um die überflüssigen Einträge auszudünnen und das überschreiben zu deaktivieren.

    Wie könnte ich das umsetzen? Und falls jemand einen besseren Vorschlag hat, dann bitte danke sehr gern. Ich bin um jeden Rat dankbar.

    Viele Grüße!

    Bemerkung: Das selbe Problem habe ich in diesem Zusammenhang auch mit der Suche unter Contao. Damit hier der Besuche nicht auf einen 404 läuft, habe ich (da doppelte Suchergebnisse) einen Redirect per Javascript eingehängt.
    [Contao LTS 3.5.7 - Isotope 2.3.3]
    Wer nie aufgibt, gibt immer sein Bestes.

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard generateSitemap

    Hast du diesbezüglich auch schon mal bei den Entwicklern von Isotope angefragt?

    Vielleicht solltest du auf der Seite gr01.html ein eigenes Script einbinden, dass einen Redirekt auf das erste Produkt (oder so) macht.

    Die Generierung der Sitemap per Contao Cron kannst du so in deiner initconfig.php ausschalten:
    PHP-Code:
    $monthly = array();
    foreach( 
    $GLOBALS['TL_CRON']['monthly'] as $cron )
        if( 
    $cron[1] != 'generateSitemap' )
            
    $monthly[] = $cron;
    $GLOBALS['TL_CRON']['monthly'] = $monthly
    (ungetestet).
    Geändert von Spooky (17.10.2016 um 10:50 Uhr)

  3. #3
    Contao-Nutzer Avatar von Leixit
    Registriert seit
    22.10.2015.
    Ort
    Aichach
    Beiträge
    39

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Hast du diesbezüglich auch schon mal bei den Entwicklern von Isotope angefragt?

    Vielleicht solltest du auf der Seite gr01.html ein eigenes Script einbinden, dass einen Redirekt auf das erste Produkt (oder so) macht.

    Die Generierung der Sitemap per Contao Cron kannst du so in deiner initconfig.php ausschalten:
    PHP-Code:
    $monthly = array();
    foreach( 
    $GLOBALS['TL_CRON']['monthly'] as $cron )
        if( 
    $cron[1] != 'purgeImageCache' )
            
    $monthly[] = $cron;
    $GLOBALS['TL_CRON']['monthly'] = $monthly
    (ungetestet).
    Was die Anfragen bezüglich Isotope betrifft, dass ist für mich langsam echt ein rotes Tuch. Entweder bekommt man überhaupt keine Antworten auf Fragen, vor allem wenn es tiefer geht, also über das Handbuch hinaus, oder die Fragen schlafen einfach ein und bleiben unbeantwortet. Wenn man sich im Isotope Bereich umsieht, dann wird schnell klar was ich damit meine.

    Zu deinem Code.
    Die Logik ist mir nicht ganz schlüssig. Kannst Du das noch ein bisschen aufdrösseln oder, kann ich das irgendwo nachschlagen. Die Contao Bücher habe ich eigentlich alle.
    Wenn ich im Backend das Sitemap erstellen ausschalte, dann wird auch die Sitemap gelöscht, das sollte verhindert werden.
    [Contao LTS 3.5.7 - Isotope 2.3.3]
    Wer nie aufgibt, gibt immer sein Bestes.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Sorry, hatte mich vertan, die Abfrage muss natürlich auf generateSitemap gehen.


    Zitat Zitat von Leixit Beitrag anzeigen
    Die Logik ist mir nicht ganz schlüssig. Kannst Du das noch ein bisschen aufdrösseln
    Der code erzeugt ein temporäres Array für die Einträge des $GLOBALS['TL_CRON']['monthly'] Arrays, geht dieses Array dann durch und fügt in das Temporäre Array alle Einträge hinzu die nicht die generateSitemap Funktion aufrufen. Danach wird das Array wieder zurück an die Stelle $GLOBALS['TL_CRON']['monthly'] gegeben.
    Geändert von Spooky (17.10.2016 um 12:06 Uhr)

  5. #5
    Contao-Nutzer Avatar von Leixit
    Registriert seit
    22.10.2015.
    Ort
    Aichach
    Beiträge
    39

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Sorry, hatte mich vertan, die Abfrage muss natürlich auf generateSitemap gehen.

    Der code erzeugt ein temporäres Array für die Einträge des $GLOBALS['TL_CRON']['monthly'] Arrays, geht dieses Array dann durch und fügt in das Temporäre Array alle Einträge hinzu die nicht die generateSitemap Funktion aufrufen. Danach wird das Array wieder zurück an die Stelle $GLOBALS['TL_CRON']['monthly'] gegeben.
    Steh zwar auf'm Schlauch, aber schau ich mir an.
    Danke Dir
    [Contao LTS 3.5.7 - Isotope 2.3.3]
    Wer nie aufgibt, gibt immer sein Bestes.

  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich geh mal davon aus, dass das im obigen Code dann 'generateSitemap' heissen muss und nicht 'purgeImageCache'.

    Das ist die saubere Methode. Notfalls würde ich einfach die Sitemap ins Installationsverzeichnis kopieren und dort ändern. Dann natürlich in den Webmastertools diese Sitemap einreichen und in der robots.txt noch diese Sitemap eintragen. Dann kann Contao im share-Verzeichnis machen wozu es lustig ist. In deinem Fall wirst du ja wohl sowieso nie die automatisch generierte Sitemap direkt verwenden können, sondern immer erst anpassen müssen.
    Geändert von tab (17.10.2016 um 12:09 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •