Seite 3 von 4
Sorry
Verfasst: Mo 28. Aug 2006, 12:19
von Uwe
Sorry,
da gibt es ja doch was
Code: Alles auswählen
$query = "SELECT art_lang.idart, UNIX_TIMESTAMP(lastmodified) as lastmod FROM ".$cfg["tab"]["art_lang"]." art_lang,".$cfg["tab"]["art"]." art where art_lang.online='1' and art_lang.idart <> '".$idart."' and art.idart=art_lang.idart and idclient=$client";
Vielen Dank, manchmal muss man es wohl erst schreiben, bevor es einem richtig klar wird.
Viele Grüsse, Uwe
Verfasst: Fr 1. Sep 2006, 18:08
von smart
Liebe Leute,
habe soeben folgende Fehlermeldung bekommen, obwohl alles ordnungsgemäß installiert ist... Meine Sitemap könnt ihr
hier einsehen.
Fehler
Nicht unterstütztes Dateiformat
Anscheinend hat Ihre Sitemap ein Format, das nicht unterstützt wird. Stellen Sie sicher, dass Ihre Sitemap unseren Sitemap-Richtlinien entspricht, und reichen Sie sie erneut ein.
[?]
Verfasst: Fr 1. Sep 2006, 19:33
von Dodger77
smart hat geschrieben:Liebe Leute,
habe soeben folgende Fehlermeldung bekommen, obwohl alles ordnungsgemäß installiert ist... Meine Sitemap könnt ihr
hier einsehen.
Das Problem ist wahrscheinlich die Frame-Weiterleitung. Die Sitemap selbst wird doch unter
http://www.germanews.de/tiamoitalia/con ... catart=180
erzeugt. Google sieht allerdings die HTML-Seite mit den Frames.
Verfasst: Fr 1. Sep 2006, 23:55
von smart
Ärgerlich! Die Weiterleitung ist serverseitig eingestellt - es scheint, als würden die trotzdem einfach einen Frame davorschalten. Danke, 1und1...

Verfasst: Mi 6. Sep 2006, 11:02
von acid
Hallo und erstmal ein großes Lob: Die Sitemap funktioniert FAST perfekt. Allerdings habe ich ein kleines Problem:
Ich habe die Sitemap so umgeschrieben, dass sie anstatt den Artikeln die Aliase benutzt. So weit so gut, geht auch alles wunderbar. Allerdings ist mir aufgefallen, dass für jede Änderung einer Seite ein neuer Eintrag in der Sitemap erzeugt wird (gut zu sehen unter:
http://cityflyer.info/front_content.php?idart=8)
Hier mein (zugegebenermaßen stümperhaft) geänderter Code im Output-Modul:
Code: Alles auswählen
<?php
/**
* Google Sitemaps Ausgabe als XML - 05.06.2005
*
* OUTPUT
*
* Author Luxmedia Österreich
* Copyright www.luxmedia.at
*
* 2005-06-09
* - Nur Artikel die Online sind
* - lastmod, changefreq, Skriptname aus INPUT
* - lastmod Datumsformat iso8601
*
* Angepasst durch derSteffen
* 2005-12-21
* - Neu: priority
* - Neuer Header (<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" usw...)
*/
function iso8601_date($time) {
$tzd = date('O',$time);
$tzd = substr(chunk_split($tzd, 3, ':'),0,6);
$date = date('Y-m-d\TH:i:s', $time) . $tzd;
return $date;
}
{
/* $xml_titel = "CMS_VALUE[1]";
$xml_link = "CMS_VALUE[2]"; */
$xml_titel = $cfgClient[$client]["path"]["htmlpath"]."CMS_VALUE[0]?idcat=".$idcat;
//$xml_link = $cfgClient[$client]["path"]["htmlpath"];
$xml_link = "http://www.cityflyer.info/" . $htmlpath;
// Header ausgeben
header("Content-type: text/xml");
print '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">'. "\n\n";
// select all articles in category widthout start article
//$query = "SELECT idart, UNIX_TIMESTAMP(lastmodified) as lastmod FROM ".$cfg["tab"]["art_lang"]." where online='1'";
$query = "
SELECT
A.idart,
UNIX_TIMESTAMP(A.lastmodified) as lastmod,
B.urlname
FROM
".$cfg["tab"]["art_lang"]." AS A,
".$cfg["tab"]["cat_lang"]." AS B
WHERE
A.online='1'
";
// execute query
$db->query($query);
// get id's of sub articles
while ($db->next_record()) {
//$linkid = $db->f("idart");
$linkid = $db->f("urlname");
$lastmod = iso8601_date( $db->f("lastmod") );
// link
$link = $xml_link."CMS_VALUE[0]?path=$linkid";
print "<url>\n";
print " <loc>".htmlspecialchars($link)."</loc>\n";
if("CMS_VALUE[1]") {
print " <lastmod>". $lastmod."</lastmod>\n"; }
if("CMS_VALUE[2]"){
print " <changefreq>CMS_VALUE[2]</changefreq>\n"; }
if("CMS_VALUE[3]") {
print " <priority>CMS_VALUE[3]</priority>\n"; }
print "</url>\n\n";
} // end while
print '</urlset>';
}
?>
Woran könnte der Fehler jetzt liegen? Normalerweise sollte es doch so sein, dass lediglich der Wert <changefreq> geändert wird, wenn ein Beitrag sich ändert oder?
Für eure Antworten vielen Dank im voraus
PS:
Seid nicht so hart zu mir, ich lerne noch

Verfasst: Mi 6. Sep 2006, 11:14
von MyAccount
Versuch mal die hier. Hab die ein klitze-klein-wenig überarbeitet:
http://contenido.org/forum/viewtopic.ph ... 4&start=15
Verfasst: Mi 24. Jan 2007, 21:24
von Schwarze Wolke
Also ich benutze 4.6.5 und habe das Modul seit ein Paar Wochen schon eingestellt. Nur hat mir das leider in Bezug auf die Findbarkeit meiner Website leider wenig genutzt. >Die Sitemap ist bei google registriert. Die Seite wird auch nur über die URL-Adresse gefunden. Jedoch nicht über Key-words (eingestellt im header oder auch bei den meta-tag angaben eines Artikels.
Ganz blöde Frage: Müssen in der Sitemap die key-words irgendwie auftauchen? Das tun sie nämlich nicht.
Muss ich sonst irgendetwas beachten?
Bin mittlerweile schon etwas hilflos. Ich hoffe mir kann jemand helfen.
Danke.
Neue Version
Verfasst: Sa 11. Aug 2007, 22:45
von Ratze
Hallo zusammen,
ich lese nun schon einige Zeit in diesem Forum. Nun ist es auch mal an der Zeit ein Modul bzw. eine Überarbeitung zu posten. Ich habe mich mal dem XML-Sitemap-Modul angenommen. Mich hat gestört, das man Artikeln keine verschiedene Prioritäten zuweisen kann... womit sich diese Funktion ja fast erledigt hätte.
Ich habe also den Script von Luxmedia Österreich mit den Änderungen von derSteffen genommen, alles aufgeräumt und dann noch alle weiteren Verbesserungen eingebaut, die ich im Forum finden konnte. Ausserdem habe ich die Möglichkeit eingebaut einzelne Kategorien mit eigenen Prioritäten und Änderungshäufigkeiten zu versehen.
WICHTIG: für die Verwendung bitte unbedingt die Anleitung in der Beschreibung durchlesen, da ihr ein include von HerrB benötigt.
Das Modul ist nicht für ModRewrite entwickelt worden.
Ich hoffe ich habe nicht allzuviele Fehler drin und ich muss leider gestehen, das ich die Sitemap noch nicht mit Google getestet habe.
Gruß
Ratze
BESCHREIBUNG:
Code: Alles auswählen
MODUL-NAME:
XMLSitemaps
BESCHREIBUNG
Diese Modul erzeugt ein Sitemap-Protocol im
XML-Format. Diese Format unterstützen z.B.:
Google, Yahoo!, und Microsoft. Es vereinfacht
den Suchmaschinen das Durchsuchen der URLs
einer Site.
INSTALLATION:
1. Anmelden beim Google Sitemaps Service unter: https://www.google.com/webmasters/sitemaps/login
2. XMLSitemap-Modul anlegen/installieren
3. Die Datei "functions.input.helper.php" von HerrB muss im includes-Ordner des Mandanten liegen.
Sie ist z.B. Bestandteil von diesem Modul:
http://contenido.org/forum/viewtopic.php?t=10957
4. Neues Layout mit folgendem Inhalt anlegen: CMS_CONTAINER[1]
Im Layout dürfen keine weiteren HTML-Tags oder Leerzeichen enthalten sein.
5. Neues Template erstellen mit dem neuen Layout und dem XMLSitemap-Modul
6. Neue Kategorie erstellen und eine neue Seite mit dem neuen Template zuweisen
7. Jetzt den Link dieser neuen Seite im Browser aufrufen und testen
8. Den Link Google mitteilen
PROBLEME UND ANMERKUNGEN:
- Bei dem Modul wird ein Fehler im Eingabe Bereich angezeigt.
Dieser liegt im Script im Bereich "Kategorien auswählen".
Beim Aufruf der JavaScript-Funktion ArtAdv_fncUpdateSel kommt
er beim dynamischen CMS_VAR[".$iElementKat."] nicht klar...
das Modul läuft aber ohne Probleme... zumindestens bei mir...
- Die Ausnahmen beziehen sich nur auf die Artikel in der Kategorie,
nicht auf die Artikel in Unterkategorien.
WEITERE INFOS:
https://www.google.com/webmasters/sitemaps/docs/de/protocol.html
--------------------------------------------------------
Author Luxmedia Österreich
Copyright www.luxmedia.at
2005-06-09
- INPUT: Abfrage des Skriptnames
- INPUT: Einbindung von lastmod je nach Wunsch
- INPUT: changefreq
- OUTPUT: Nur Artikel die Online sind
- OUTPUT: lastmod, changefreq, Skriptname aus INPUT
- OUTPUT: lastmod Datumsformat iso8601
Angepasst durch derSteffen
2005-12-21
- OUTPUT: Neu: priority
- OUTPUT: Neuer Header (<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" usw...)
Angepasst durch derSteffen und HerrB
2006-01-03
- INPUT: Bugfix (Speichern der Werte der Selektfelder cms php skript
[durch HrBee] Änderungsdatum und Änderungshäufigkeit)
- INPUT: Neues Feld: priority
Überarbeitet durch Ratze
2007-08-11
- INPUT: Überarbeitung und Säuberung des Codes
- INPUT: Neu: Mehrsprachfähig im Backend
- INPUT/OUPUT: Neu: Ausnahmen. Die Möglichkeit einzelnen Kategorien
andere Prioritäten und Änderungshäufigkeiten zuzuweisen
(Scriptelemente bei den "Ausnahmen" aus dem Modul "Article List
Advanced" von HerrB entnommen. Danke :-)
- INPUT/OUTPU: Auszuschliessende Artikel von windowlicker vom 2006-08-06 eingebaut
- OUTPUT: SQL-Abfrage von MyAccount aus dem Modul "myGoogleSitemap"
vom 2006-08-02 eingebaut
- OUTPUT: Wenn eine Seite ein Seitentitel hat, wird dieser als Kommentar
in die XML-Datei geschrieben, damit wird die Kontrolle der Seiten einfacher.
--------------------------------------------------------
EINGABE:
Code: Alles auswählen
?><?php
/* --------------------------------------------------------------------------- */
/* */
/* XML Sitemaps - Ausgabe als XML - Version vom 11.08.2007 */
/* INPUT */
/* */
/* --------------------------------------------------------------------------- */
cInclude("frontend", "includes/functions.input.helper.php");
$sSubmitLink = '<a href="javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();"><img src="images/submit.gif" /></a>';
/* CONFIG -------------------------------------------------------------------- */
/* Hier können Elemente in den DropDown-Felder geändert */
/* oder ergänzt werden ohne unten in den Script zu gehen */
/* --------------------------------------------------------------------------- */
// Welche CMS-PHP-Datei wird angesprochen
$cmsPhpSkript_auswahl = array();
$cmsPhpSkript_auswahl[] = "front_content.php";
$cmsPhpSkript_auswahl[] = "index.php";
// In welchem Rythmus wird die Seite aktualisiert?
$aktualisierung_auswahl = array();
$aktualisierung_auswahl[0]["wert"] = "0";
$aktualisierung_auswahl[0]["beschr"] = mi18n("Nicht setzten");
$aktualisierung_auswahl[1]["wert"] = "always";
$aktualisierung_auswahl[1]["beschr"] = mi18n("Immer");
$aktualisierung_auswahl[2]["wert"] = "hourly";
$aktualisierung_auswahl[2]["beschr"] = mi18n("Stündlich");
$aktualisierung_auswahl[3]["wert"] = "daily";
$aktualisierung_auswahl[3]["beschr"] = mi18n("Täglich");
$aktualisierung_auswahl[4]["wert"] = "weekly";
$aktualisierung_auswahl[4]["beschr"] = mi18n("Wöchentlich");
$aktualisierung_auswahl[5]["wert"] = "monthly";
$aktualisierung_auswahl[5]["beschr"] = mi18n("Monatlich");
$aktualisierung_auswahl[6]["wert"] = "yearly";
$aktualisierung_auswahl[6]["beschr"] = mi18n("Jährlich");
$aktualisierung_auswahl[7]["wert"] = "never";
$aktualisierung_auswahl[7]["beschr"] = mi18n("Niemals");
// Welche Priorität soll den Seiten zugeordnet werden?
$prioritaet_auswahl = array();
$prioritaet_auswahl[0]["wert"] = "0";
$prioritaet_auswahl[0]["beschr"] = mi18n("Nicht setzten");
$prioritaet_auswahl[1]["wert"] = "0.0";
$prioritaet_auswahl[1]["beschr"] = "0.0";
$prioritaet_auswahl[2]["wert"] = "0.1";
$prioritaet_auswahl[2]["beschr"] = "0.1";
$prioritaet_auswahl[3]["wert"] = "0.2";
$prioritaet_auswahl[3]["beschr"] = "0.2";
$prioritaet_auswahl[4]["wert"] = "0.3";
$prioritaet_auswahl[4]["beschr"] = "0.3";
$prioritaet_auswahl[5]["wert"] = "0.4";
$prioritaet_auswahl[5]["beschr"] = "0.4";
$prioritaet_auswahl[6]["wert"] = "0.5";
$prioritaet_auswahl[6]["beschr"] = "0.5";
$prioritaet_auswahl[7]["wert"] = "0.6";
$prioritaet_auswahl[7]["beschr"] = "0.6";
$prioritaet_auswahl[8]["wert"] = "0.7";
$prioritaet_auswahl[8]["beschr"] = "0.7";
$prioritaet_auswahl[9]["wert"] = "0.8";
$prioritaet_auswahl[9]["beschr"] = "0.8";
$prioritaet_auswahl[10]["wert"] = "0.9";
$prioritaet_auswahl[10]["beschr"] = "0.9";
$prioritaet_auswahl[11]["wert"] = "1.0";
$prioritaet_auswahl[11]["beschr"] = "1.0";
/* DEFINITION DER CMS-VARIABLEN ---------------------------------------------- */
$cmsPhpSkript = "CMS_VALUE[0]";
$letzteAenderung = "CMS_VALUE[1]";
$aktualisierung = "CMS_VALUE[2]";
$prioritaet = "CMS_VALUE[3]";
$anzAusnahmen = "CMS_VALUE[4]";
$dontshow = "CMS_VALUE[5]";
// Ausnahmen
$iDataStart = 30;
if ($anzAusnahmen > 0) {
for ($i = 0; $i < $anzAusnahmen; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementKat = $iElementType + 1;
$iElementWert_aktu = $iElementType + 2;
$iElementWert_prio = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // changefreq, priority
$aSettings["k".$i]["ElementKat"] = "CMS_VALUE[$iElementKat]"; // Kategorien, die geändert werden sollen
$aSettings["k".$i]["ElementWert_aktu"] = "CMS_VALUE[$iElementWert_aktu]"; // Wert Aktualisierung
$aSettings["k".$i]["ElementWert_prio"] = "CMS_VALUE[$iElementWert_prio]"; // Wert Priorität
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "0";
}
}
}
/* DEFAULT-WERTE ------------------------------------------------------------- */
if ($cmsPhpSkript == "") {
$cmsPhpSkript = $cmsPhpSkript_auswahl[0];
}
if ($letzteAenderung == "") {
$letzteAenderung = "0";
}
if ($aktualisierung == "") {
$aktualisierung = $aktualisierung_auswahl[0]["wert"];
}
if ($prioritaet == "") {
$prioritaet = $prioritaet_auswahl[0]["wert"];
}
if ($dontshow == "") {
$dontshow = "";
}
/* BEGINN -------------------------------------------------------------------- */
// Weitere Infos
echo "\n\n\n".'<SCRIPT LANGUAGE="JavaScript">'."\n";
echo ' <!--'."\n";
echo ' function sitemapErklaerung() {'."\n";
echo ' erklaerungSitemap = window.open("","Erklaerung","width=700,height=450");'."\n";
echo ' sitemapErklaerung01();'."\n";
echo ' }'."\n";
echo ' function sitemapErklaerung01() {'."\n";
echo ' var sitemapErklaerungInhalt = \''.mi18n("<p><strong>INSTALLATION:<\/strong><\/p><ol><li>Anmelden beim Google Sitemaps Service unter: <a href=\"https:\/\/www.google.com\/webmasters\/sitemaps\/login\" target=\"_blank\">https:\/\/www.google.com\/webmasters\/sitemaps\/login<\/a><\/li><li>XMLSitemap-Modul anlegen\/installieren<\/li><li>Die Datei \"functions.input.helper.php\" von HerrB muss im includes-Ordner des Mandanten liegen.<br>Sie ist z.B. Bestandteil von diesem Modul:<br><a href=\"http:\/\/contenido.org\/forum\/viewtopic.php?t=10957\" target=\"_blank\">http:\/\/contenido.org\/forum\/viewtopic.php?t=10957<\/a><\/li><li>Neues Layout mit folgendem Inhalt anlegen: CMS_CONTAINER[1]<br \/>Im Layout dürfen keine weiteren HTML-Tags oder Leerzeichen enthalten sein.<\/li><li>Neues Template erstellen mit dem neuen Layout und dem XMLSitemap-Modul<\/li><li>Neue Kategorie erstellen und eine neue Seite mit dem neuen Template zuweisen<br \/><\/li><li>Jetzt den Link dieser neuen Seite im Browser aufrufen und testen<\/li><li>Den Link Google mitteilen<\/li><\/ol><p><strong>WEITERE INFOS: <\/strong><\/p><ul><li><a href=\"https:\/\/www.google.com\/webmasters\/sitemaps\/docs\/de\/protocol.html\" target=\"_blank\">https:\/\/www.google.com\/webmasters\/sitemaps\/docs\/de\/protocol.html<\/a><\/li><\/ul>").'\';'."\n";
echo ' erklaerungSitemap.document.write(sitemapErklaerungInhalt);'."\n";
echo ' }'."\n";
echo ' // -->'."\n";
echo '</SCRIPT>'."\n\n";
echo '<table cellspacing="0" cellpadding="10" border="0">'."\n";
echo ' <tr>'."\n";
echo ' <td colspan="2"><a href="#" onClick="sitemapErklaerung()">'.mi18n("Mehr Infos über dieses Modul").'</a></td>'."\n";
echo ' </tr>'."\n";
// Welche CMS-PHP-Datei wird angesprochen?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("CMS-PHP-Skript:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[0]">'."\n";
foreach ($cmsPhpSkript_auswahl AS $mein) {
echo ' <option value="'.$mein.'"';
if ($cmsPhpSkript == $mein) { echo ' selected'; }
echo '>'.$mein.'</option>'."\n";
}
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Soll die letzte Änderung mit aufgenommen werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Änderungsdatum verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[1]">'."\n";
echo ' <option value="0"';
if ($letzteAenderung == "0") { echo ' selected'; }
echo '>'.mi18n("Nicht setzen").'</option>'."\n";
echo ' <option value="1"';
if ($letzteAenderung == "1") { echo ' selected'; }
echo '>'.mi18n("Ja").'</option>'."\n";
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// In welchem Rythmus wird die Seite aktualisiert?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Änderungshäufigkeit aller Seiten:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[2]">'."\n";
foreach ($aktualisierung_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($aktualisierung == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Welche Priorität soll den Seiten zugeordnet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Priorität aller Seiten:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[3]">'."\n";
foreach ($prioritaet_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($prioritaet == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Welch Artikel sollen ausgelassen werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Auszuschliessende Artikel:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="text" name="CMS_VAR[5]" value="'.$dontshow.'" size="10">'."\n";
echo ' '.mi18n("Artikel-Id mit Komma getrennt (z.B. 5,23,89)")."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
/* AUSNAHMEN ----------------------------------------------------------------- */
// Wieviele Ausnahmen
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Wieviele Ausnahmen:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="text" name="CMS_VAR[4]" value="'.$anzAusnahmen.'" size="3"> '.$sSubmitLink."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
if ($anzAusnahmen > 0) {
echo fncAddMultiSelJS();
// Strich
echo ' <tr><td colspan="2"><hr></td></tr>'."\n";
for ($i = 0; $i < $anzAusnahmen; $i++) {
echo "\n"." <!-- Durchlauf ".$i." -->"."\n";
$iElementType = $iDataStart + ($i * 5);
$iElementKat = $iElementType + 1;
$iElementWert_aktu = $iElementType + 2;
$iElementWert_prio = $iElementType + 3;
echo ' <tr>'."\n";
echo ' <td valign="top">'.($i+1).'. '.mi18n("Ausnahme:").'</td>'."\n";
echo ' <td>'."\n";
// Typ der Ausnahme auswählen:
echo ' '.mi18n("Typ:").'<br>'."\n";
echo ' <select name="CMS_VAR['.$iElementType.']">'."\n";
echo ' <option value="0"';
if ($aSettings["k".$i]["ElementType"] == "0") { echo ' selected'; }
echo '>'.mi18n("Bitte auswählen...").'</option>'."\n";
echo ' <option value="changefreq"';
if ($aSettings["k".$i]["ElementType"] == "changefreq") { echo ' selected'; }
echo '>'.mi18n("Änderungshäufigkeit").'</option>'."\n";
echo ' <option value="priority"';
if ($aSettings["k".$i]["ElementType"] == "priority") { echo ' selected'; }
echo '>'.mi18n("Priorität").'</option>'."\n";
echo ' </select>'."\n";
echo ' '.$sSubmitLink.' '."\n";
if ($aSettings["k".$i]["ElementType"] != "0") {
echo ' <br><br>'."\n";
// Kategorie auswählen
echo ' '.mi18n("Kategorien auswählen:").'<br>'."\n";
echo fncBuildCategorySelect("c".$i."cbxAddCatSel", $aSettings["k".$i]["ElementKat"], 0, "ArtAdv_fncUpdateSel('c".$i."cbxAddCatSel', '"."CMS_VAR[".$iElementKat."]"."');", "6", "multiple", false, 0, "");
echo '<input type="hidden" name="CMS_VAR['.$iElementKat.']" value="'.$aSettings["k".$i]["ElementKat"].'">'."\n";
echo ' <br>'."\n";
// Aktualisierung
if ($aSettings["k".$i]["ElementType"] == "changefreq") {
echo ' <select name="CMS_VAR['.$iElementWert_aktu.']">'."\n";
foreach ($aktualisierung_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($aSettings["k".$i]["ElementWert_aktu"] == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
}
// Priorität
if ($aSettings["k".$i]["ElementType"] == "priority") {
echo ' <select name="CMS_VAR['.$iElementWert_prio.']">'."\n";
foreach ($prioritaet_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($aSettings["k".$i]["ElementWert_prio"] == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
}
} // if ($aSettings["k".$i]["ElementType"] != "0") {
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Strich
echo ' <tr><td colspan="2"><hr></td></tr>'."\n";
} // End: for ($i = 0; $i < $aSettings["Elements"]; $i++) {
} // End: if ($aSettings["Elements"] > 0) {
echo '</table>'."\n";
?><?php
AUSGABE:
Code: Alles auswählen
<?php
/* --------------------------------------------------------------------------- */
/* */
/* XML Sitemaps - Ausgabe als XML - Version vom 11.08.2007 */
/* OUTPUT */
/* */
/* --------------------------------------------------------------------------- */
/* DEFINITION DER CMS-VARIABLEN ---------------------------------------------- */
$cmsPhpSkript = "CMS_VALUE[0]";
$letzteAenderung = "CMS_VALUE[1]";
$aktualisierung = "CMS_VALUE[2]";
$prioritaet = "CMS_VALUE[3]";
$anzAusnahmen = "CMS_VALUE[4]";
$dontshow = "CMS_VALUE[5]";
// Ausnahmen
$iDataStart = 30;
if ($anzAusnahmen > 0) {
for ($i = 0; $i < $anzAusnahmen; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementKat = $iElementType + 1;
$iElementWert_aktu = $iElementType + 2;
$iElementWert_prio = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // changefreq, priority
$aSettings["k".$i]["ElementKat"] = explode(",", "CMS_VALUE[$iElementKat]"); // Kategorien, die geändert werden sollen
$aSettings["k".$i]["ElementWert_aktu"] = "CMS_VALUE[$iElementWert_aktu]"; // Wert Aktualisierung
$aSettings["k".$i]["ElementWert_prio"] = "CMS_VALUE[$iElementWert_prio]"; // Wert Priorität
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "0";
}
}
}
/* DEFAULT-WERTE ------------------------------------------------------------- */
if ($cmsPhpSkript == "") {
$cmsPhpSkript = "front_content.php";
}
if ($letzteAenderung == "") {
$letzteAenderung = "0";
}
if ($aktualisierung == "") {
$aktualisierung = "0";
}
if ($prioritaet == "") {
$prioritaet = "0";
}
if ($dontshow == "") {
$dontshow == "";
} else {
$dontshow = 'AND E . idart NOT IN ('.$dontshow.')';
}
/* FUNKTIONEN ---------------------------------------------------------------- */
function iso8601_date($time) {
$tzd = date('O',$time);
$tzd = substr(chunk_split($tzd, 3, ':'),0,6);
$date = date('Y-m-d\TH:i:s', $time) . $tzd;
return $date;
}
/* BEGINN AUSGABE ------------------------------------------------------------ */
$xml_titel = $cfgClient[$client]["path"]["htmlpath"].$cmsPhpSkript."?idcat=".$idcat;
$xml_link = $cfgClient[$client]["path"]["htmlpath"];
// Header ausgeben
header("Content-type: text/xml");
$xmlOutput = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">'. "\n\n";
$query = "SELECT
E . idcat ,
E . idart ,
D . pagetitle ,
C . name ,
UNIX_TIMESTAMP( D . lastmodified ) AS lastmodified
FROM
".$cfg["tab"]["cat_tree"]." AS A ,
".$cfg["tab"]["cat_lang"]." AS C ,
".$cfg["tab"]["cat"]." AS B ,
".$cfg["tab"]["cat_art"]." AS E
INNER JOIN ".$cfg["tab"]["art_lang"]." AS D ON ( E . idart = D . idart )
WHERE
A . idcat = B . idcat
AND B . idcat = C . idcat
AND C . idcat = E . idcat
AND B . idclient = '".$client."'
AND C . idlang = '".$lang."'
AND D . idlang = '".$lang."'
AND C . visible = '1'
AND E . idcatart IS NOT NULL
AND C . public = '1'
AND D . online = '1'
".$dontshow."
ORDER BY
A . idtree, E . idart";
// execute query
$db->query($query);
// get id's of sub articles
while ($db->next_record()) {
$linkid = $db->f("idart");
$linkcat = $db->f("idcat");
$lastmodified = iso8601_date( $db->f("lastmodified") );
$link = $xml_link.$cmsPhpSkript."?idart=".$linkid;
// Bemerkung zum Seitentitel
$xmlOutput .= '<!-- '.$db->f("pagetitle").' -->'."\n";
$xmlOutput .= '<url>'."\n";
$xmlOutput .= ' <loc>'.htmlspecialchars($link).'</loc>'."\n";
// Letzte Änderung
if($letzteAenderung != "0") {
$xmlOutput .= ' <lastmod>'.$lastmodified.'</lastmod>'."\n";
}
// Aktualisierung
if($aktualisierung != "0") {
$aktualisierung_eintrag = $aktualisierung;
for ($i = 0; $i < $anzAusnahmen; $i++) {
if (in_array($linkcat, $aSettings["k".$i]["ElementKat"]) == TRUE) {
if ($aSettings["k".$i]["ElementType"] == "changefreq") {
$aktualisierung_eintrag = $aSettings["k".$i]["ElementWert_aktu"];
break;
}
}
}
$xmlOutput .= ' <changefreq>'.$aktualisierung_eintrag.'</changefreq>'."\n";
} // if($aktualisierung != "0") {
// Priorität
if($prioritaet != "0") {
$prioritaet_eintrag = $prioritaet;
for ($i = 0; $i < $anzAusnahmen; $i++) {
if (in_array($linkcat, $aSettings["k".$i]["ElementKat"]) == TRUE) {
if ($aSettings["k".$i]["ElementType"] == "priority") {
$prioritaet_eintrag = $aSettings["k".$i]["ElementWert_prio"];
break;
}
}
}
$xmlOutput .= ' <priority>'.$prioritaet_eintrag.'</priority>'."\n";
} // if($prioritaet != "0") {
$xmlOutput .= '</url>'."\n\n";
} // end while
$xmlOutput .= '</urlset>';
// Hier wird der ganze String in UTF8 kodiert und ausgegeben
echo utf8_encode($xmlOutput);
?>
Google zeigt die Sitemap bei den Suchresultaten an
Verfasst: Do 30. Aug 2007, 14:03
von ps
Hallo zusammen,
Ich verwenden die Contenido 4.6.8 MR Version und das Google Sitemap Modul (Originalfassung, ganz am Anfang des Threads plus den MR Zusatz). Es funktioniert wunderbar, Google hat die Sitemap auch akzeptiert nur wird diese nun auch bei den Suchresultaten angezeigt. Das Problem liegt wohl daran, dass ich bei Mod/Rewrite die .html Endung hinzufügen lasse, und dass dies bei der Sitemap auch gemacht wird. Anstatt der .xml Endung wird eine .html Endung hingeschrieben und Google sieht dann die Sitemap auch als Seite an.
Gibt es irgend eine Möglichkeit, die Endung bei der Sitemap von .html auf .xml umzustellen, die Mod/Rewrite Funktion aber beizubehalten?
Vielen Dank für eure Tipps und Tricks.
Verfasst: So 2. Sep 2007, 00:33
von matt.loker
das gleiche Problem habe ich auch.
ich für meinen Teil bäuchte es mit der Endung xml um es dann mit der Robot.txt vor der Google-listung zu schützen. Ich wär also auch sehr dankbar für Tipps
Verfasst: Do 6. Sep 2007, 14:23
von matt.loker
Hat keiner n Tipp wie man dieses Problem lösen kann?
Grüße
Matt
Verfasst: Di 18. Sep 2007, 10:09
von derSteffen
matt.loker hat geschrieben:Hat keiner n Tipp wie man dieses Problem lösen kann?
Grüße
Matt
Ich habe das Problem wie folgt gelöst:
Ich habe manuell eine Sitemapindex erstellt:
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
< urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
< url>
< loc>http://www.meine-domain.de/cms/front_content.php?idart=36</loc>
</url>
</urlset>
Das als sitemap.xml in der obersten Ebene meiner Domain gespeichert.
Anmerkung:
< lastmod>2005-01-01</lastmod>
< changefreq>monthly</changefreq>
< priority>0.8</priority>
habe ich aus dem urlset - Gerüst entfernt.
Und somit verweißt eine valide Sitamp.xml auf meine generierte Google-Sitemap. Es wurde auch alles gecrawlt
MfG
Verfasst: Di 18. Sep 2007, 18:13
von matt.loker
also echt auf diesem Trick hätte ich auch selbst kommen können. Tja da stand ich wohl mächtig auf dem schlauch
danke !
Verfasst: Di 13. Nov 2007, 09:53
von derSteffen
Mhm. ich wollte gerade mal das Modul von Ratze testen aber leider leuchtet die rote Lampe im Modulinput bei mir. Kann das jemand bestätigen?
Fehlerbehebung
Verfasst: Do 20. Dez 2007, 08:38
von romaro
Ja, (imho) ist da ein kleiner Fehler drinnen.
Code: Alles auswählen
echo fncBuildCategorySelect("c".$i."cbxAddCatSel", $aSettings["k".$i]["ElementKat"], 0,
"ArtAdv_fncUpdateSel('c".$i."cbxAddCatSel'.'"."CMS_VAR[$iElementKat]"."');"
, "6", "multiple", false, 0, "");
Im Input-Modul nach "// Kategorie auswählen " suchen. Dann die Funktion ersetzen. Irgendwie sind da zu viele Anführungszeichen.
Hoffe es hilft.