
qTranslate versieht auf Wunsch die diversen Beiträge für jede Sprache mit einem eigenen URL-Zusatz (zum Beispiel meineurl.de/en/beitrag). Leider werden die zusätzlichen fremdsprachigen Seiten nicht automatisch in der durch das Plugin „Google XML Sitemaps“ erstellten Datei „sitmap.xml“ eingefügt.
Folglich hilft nur eine Ergänzung im Quellcode von Google XML Sitemaps, welche die Links zu den fremdsprachigen Beiträgen automatisch in die “sitemap.xml” einfügt.
Diese Lösung gilt für die Version 3.2.2 von Google XML Sitemaps.
Bei dieser Lösung wird für jeden zusätzlich gewünschten Sitemap-Eintrag ein weiterer Link mit der entsprechenden Sprachkennung eingefügt. Dazu ergänzt man im Plugin-Verzeichnis „wp-content/plugins/google-sitemap-generator“ bei der Datei “sitemap-core.php” die “function Render()” (ab Zeile 395) mit dem hier angeführten Programm-Code zwischen den Kommentaren. Wie im Beispiel ersichtlich, wird der entsprechende Teil Zeile 413 bis 422 für mehrere Sprachen entsprechend wiederholt eingefügt. Dazu das in Zeile 414 verwendete Sprachenkürzel (hier: “/en”) auf die verwendeten Sprachen abstimmen.
395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 | function Render() { if($this->_url == "/" || empty($this->_url)) return ''; $r=""; $r.= "\t<url>\n"; $r.= "\t\t<loc>" . $this->EscapeXML($this->_url) . "</loc>\n"; if($this->_lastMod>0) $r.= "\t\t<lastmod>" . date('Y-m-d\TH:i:s+00:00',$this->_lastMod) . "</lastmod>\n"; if(!empty($this->_changeFreq)) $r.= "\t\t<changefreq>" . $this->_changeFreq . "</changefreq>\n"; if($this->_priority!==false && $this->_priority!=="") $r.= "\t\t<priority>" . number_format($this->_priority,1) . "</priority>\n"; $r.= "\t</url>\n"; /* AENDERUNG */ if(function_exists('qtrans_getLanguage')) { $output_url = $this->EscapeXML($this->_url); $blog_url = get_bloginfo('url'); $rest_url = explode($blog_url,$output_url); /* den folgenden Teil für jede gewaehlte Sprache wiederholen */ $output_url = $blog_url . "/en" . $rest_url[1]; $r.= "\t<url>\n"; $r.= "\t\t<loc>" . $output_url . "</loc>\n"; if($this->_lastMod>0) $r.= "\t\t<lastmod>" . date('Y-m-d\TH:i:s+00:00',$this->_lastMod) . "</lastmod>\n"; if(!empty($this->_changeFreq)) $r.= "\t\t<changefreq>" . $this->_changeFreq . "</changefreq>\n"; if($this->_priority!==false && $this->_priority!=="") $r.= "\t\t <priority>" . number_format($this->_priority,1) . "</priority>\n"; $r.= "\t</url>\n"; /* Ende für EINEN eventuell zu wiederholdenden Teil */ } /* AENDERUNG ENDE */ return $r; } |