Sitemapper_XH

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
olape
Posts: 845
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Sitemapper_XH

Post by olape » Tue Jan 24, 2017 8:58 pm

Ok, könnte mein Fehler gewesen sein. :oops:
Ich habe das über den Pagemanager gemacht, aber der steht nur auf "linked to menu".
Da kann das so natürlich nicht funktionieren, wenn die Seite nur versteckt ist.

Teste ich morgen nochmal.

Aber die Variante mit$s und $su scheint auch zu funktionieren, den die verwende ich in xlang_xh und das funktioniert nun auch bei der eigentlich zweiten Seite, wenn die erste nicht veröffentlicht ist.

olape
Posts: 845
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Sitemapper_XH

Post by olape » Wed Jan 25, 2017 3:46 pm

So funktioniert es

Code: Select all

    function _subsiteSitemap()
    {
        global $u, $cl, $plugin_cf, $_XH_firstPublishedPage;

        $urls = array();
        for ($i = 0; $i < $cl; $i++) {
            if (!$this->_model->isPageExcluded($i)) {
                $seperator = $plugin_cf['sitemapper']['clean_urls'] ? '' : '?';
                $priority = $this->_model->pagePriority($i);
                $url = array(
                    //'loc' => SITEMAPPER_URL . $seperator . $u[$i],
					'loc' => (($i == $_XH_firstPublishedPage) ? (rtrim(SITEMAPPER_URL, '/')) : (SITEMAPPER_URL . $seperator . $u[$i])),
                    'lastmod' => $this->_model->pageLastMod($i),
                    'changefreq' => $this->_model->pageChangefreq($i),
                    'priority' => $priority
                );
                array_walk($url, array($this, '_hsc'));
                $urls[] = $url;
            }
        }
        return '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL
            . $this->_renderXML('sitemap', array('urls' => $urls));
    }
noch mal geändert (trailing slash)

olape
Posts: 845
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Sitemapper_XH

Post by olape » Wed Jan 25, 2017 7:46 pm

Obwohl das auch noch nicht ganz der letzte Schluss sein kann.
Denn beim den Zweitsprachen muss der abschliessende Slash ja bleiben.
Das habe ich nun gar nicht mehr geteste, aber er wird nun wohl auch dort fehlen. :(

olape
Posts: 845
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Sitemapper_XH

Post by olape » Thu Jan 26, 2017 10:30 am

So, aber jetzt

Code: Select all

    function _subsiteSitemap()
    {
        global $u, $cl, $plugin_cf, $cf, $sl, $_XH_firstPublishedPage;

        $urls = array();
        for ($i = 0; $i < $cl; $i++) {
            if (!$this->_model->isPageExcluded($i)) {
                $seperator = $plugin_cf['sitemapper']['clean_urls'] ? '' : '?';
				$loc = (($i == $_XH_firstPublishedPage) 
					  ? (($sl == $cf['language']['default']) ? (rtrim(SITEMAPPER_URL, '/')) : (SITEMAPPER_URL)) 
					  : (SITEMAPPER_URL . $seperator . $u[$i]));
				$lastmod = $this->_model->pageLastMod($i);
                $changefreq = $this->_model->pageChangefreq($i);
				$priority = $this->_model->pagePriority($i);
                $url = array(
					'loc' => $loc,
                    'lastmod' => $lastmod,
                    'changefreq' => $changefreq,
                    'priority' => $priority
                );
                array_walk($url, array($this, '_hsc'));
                $urls[] = $url;
            }
        }
        return '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL
            . $this->_renderXML('sitemap', array('urls' => $urls));
    }

cmb
Posts: 13245
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Sitemapper_XH

Post by cmb » Thu Jan 26, 2017 11:14 am

olape wrote:Denn beim den Zweitsprachen muss der abschliessende Slash ja bleiben.
Ja, aber eigentlich auch bei der Hauptsprache – zumindest stört er da nicht. Ich hab es jetzt mal so gelöst.
Christoph M. Becker – Plugins for CMSimple_XH

olape
Posts: 845
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Sitemapper_XH

Post by olape » Thu Jan 26, 2017 12:08 pm

Hm... also so, wie meine zweite Lösung ursprünglich war, ... bis auf den sep(e)arator. ;)

...
Es macht aus SEO-Sicht bekanntlich einen Unterschied, ob eine URL mit einem Trailing-Slash (=der Slash am Ende der URL) abschließt oder nicht. Für Google sind es zwei verschiedene URLs, die separat indexiert werden können, falls ein Aufruf sowohl mit als auch ohne Trailing-Slash möglich ist. Somit kann Duplicate Content erzeugt werden.
...
Also nicht ganz egal.

Gängige Praxis (keine wirkliche Festlegung) ist reine URL ohne /, Unterverzeichnis mit /.
https://webmasters.googleblog.com/2010/ ... slash.html
Deshalb meine Lösung mit der Unterscheidung. .tld <-> .tld/xx/.


:idea:
Und jetzt mal ganz unabhängig von dem Slash.
Das gleiche Problem steht eigentlich noch im Menü und der Sitemap von XH.

:!: Update
Ich habe nochmals einiges dazu gelesen.
Es scheint prinzipiell egel ob mit oder ohne /.
Bei Verzeichnissen sollte er aber auf jeden Fall sein.
Bei der reinen URL ist es wohl eher eine Einstellungsfrage.
Insgesamt sollte man sich aber auf eine Linie einigen.

Heisst, wir sollten das hier und jetzt auch tun.
Bleiben wir also generell beim Trailing Slash?
Dann ändere ich meine Sachen (hauptsächlich xlang_XH, bin ich eh gerade dabei).
Ich glaube mit / ist es fast einfacher
und auch eine entsprechende Weiterleitung per .htaccess läst sich so auch leichter realisieren.

cmb
Posts: 13245
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Sitemapper_XH

Post by cmb » Thu Jan 26, 2017 1:04 pm

olape wrote:Gängige Praxis (keine wirkliche Festlegung) ist reine URL ohne /, Unterverzeichnis mit /.
https://webmasters.googleblog.com/2010/ ... slash.html
Deshalb meine Lösung mit der Unterscheidung. .tld <-> .tld/xx/.
Auszug aus dem Blogartikel:
Rest assured that for your root URL specifically, http://example.com is equivalent to http://example.com/ and can’t be redirected even if you’re Chuck Norris.
Würde Google das also als DC interpretieren, wäre das schon ziemlich daneben. Zumal, wie soll denn http://example.com eine Datei referenzieren? Und das inzwischen obsolete RFC 2616 sagt sogar:
If the abs_path is not present in the URL, it MUST be given as "/" when used as a Request-URI for a resource (section 5.1.2).
Eine entsprechende Einschränkung konnte ich in RFC 7230 nicht finden, so dass ein Slash nach der Domain wohl nicht unbedingt erforderlich ist – aber schaden wird er wohl kaum. :)
olape wrote:Und jetzt mal ganz unabhängig von dem Slash.
Das gleiche Problem steht eigentlich noch im Menü und der Sitemap von XH.
Und vermutlich einer ganzen Reihe von Plugins. Da wird im Zweifel nur etwas wie Seo_XH helfen, namentlich seo_redirect().

PS:
olape wrote:Es scheint prinzipiell egel ob mit oder ohne /.
Bei Verzeichnissen sollte er aber auf jeden Fall sein.
Bei der reinen URL ist es wohl eher eine Einstellungsfrage.
Insgesamt sollte man sich aber auf eine Linie einigen.
Ich denke, ein Slash nach der authority ist das beste, da auch mit RFC 2616 konform. Außerdem hängen sowohl Chrome als auch Firefox automatisch einen solchen an, wenn man eine URI ohne Pfad aus der Adressleiste kopiert.
Last edited by cmb on Thu Jan 26, 2017 1:09 pm, edited 1 time in total.
Reason: PS hinzugefügt
Christoph M. Becker – Plugins for CMSimple_XH

olape
Posts: 845
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Sitemapper_XH

Post by olape » Thu Jan 26, 2017 1:49 pm

cmb wrote:Ich denke, ein Slash nach der authority ist das beste, da auch mit RFC 2616 konform. Außerdem hängen sowohl Chrome als auch Firefox automatisch einen solchen an, wenn man eine URI ohne Pfad aus der Adressleiste kopiert.
Gut, dann werde ich mich zukünftig daran halten.
Soll ja alles ein wenig einheitlich sein und zueinander passen.

cmb
Posts: 13245
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Sitemapper_XH

Post by cmb » Thu Jan 26, 2017 2:29 pm

Hallo zusammen!

Ich habe gerade Sitemapper_XH 2.0.2 veröffentlicht.

Ich habe ein paar Fehler behoben und eine kleine Verbesserung umgesetzt. Details entnehmt bitte dem Changelog. Danke an olape, lck und Termin.

Viel Spaß!
Christoph M. Becker – Plugins for CMSimple_XH

olape
Posts: 845
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Sitemapper_XH

Post by olape » Thu Jan 26, 2017 3:25 pm

Prima :D

In der Hilfe steht noch
Sitemapper_XH ist ein Plugin für CMSimple_XH. Es benötigt CMSimple_XH ≥ 1.5.4 und PHP ≥ 4.3.10.
Mir war doch so, als ob $_XH_firstPublishedPage aber 1.6.3 benötigt.

Post Reply