{{indexmenu_n>30}}
====== Sitemap-XML (Google) ======
===== Kategorielink anstatt Artikellink =====
Es werden anstatt der Artikellinks die Kategorielinks verwendet. Nur der Kategorielink mit dem aktuellsten Artikeldatum wird verwendet.
Einstellung in "CUSTMOM VAR": [true|false] [Kategorie-Link | Artikel-link]
**Update V1.1: 15.07.2010 KH** \\
- Kleine Korrektur in Zeile 102, da bei "mod_rewrite = 0" die URL nicht eingefügt wurde.
$_link = PHPWCMS_URL.'index.php?'.($cat_link)?$_CAT['acat_alias']:setGetArticleAid( $data ); // +KH
getauscht nach
$_link = PHPWCMS_URL.'index.php?'.(($cat_link)?$_CAT['acat_alias']:setGetArticleAid( $data )); // +KH
\\
'.LF;
echo ''.LF;
echo ' '.LF.LF;
//reads complete structure as array
$struct = get_struct_data();
// fallback value when no article available
$base = true;
// now retrieve all articles
$sql = "SELECT article_id, article_cid, DATE_FORMAT(article_tstamp, '%Y-%m-%d') AS article_tstamp, ";
$sql .= "article_title, article_redirect, article_aliasid, article_alias ";
$sql .= "FROM ".DB_PREPEND."phpwcms_article WHERE ";
$sql .= "article_public=1 AND article_aktiv=1 AND article_deleted=0 AND article_nosearch!='1' AND ";
$sql .= "article_nositemap=1 AND article_begin < NOW() AND article_end > NOW() ";
$sql .= "ORDER BY article_tstamp DESC";
if($result = mysql_query($sql, $db)) {
$temp_entry = array();
while($data = mysql_fetch_assoc($result)) {
// first proof if this article is within an "public" structure section
$_CAT = $struct[$data['article_cid']];
if($_CAT['acat_regonly'] || $_CAT['acat_nosearch']=='1' || !$_CAT['acat_nositemap']) {
// no it is no public article - so jump to next entry
continue;
}
// +KH: No double category link if cat_link is active
// Only the most recent date is set
// ----------------------------------------------
if ($cat_link) {
if (!isset($temp_entry[$_CAT['acat_id']]))
$temp_entry[$_CAT['acat_id']] = true;
else continue; // +KH: one category link with the most recent date is set
}
// ----------------------------------------------
// now add article URL to Google sitemap
if(empty($phpwcms['rewrite_url']) || empty($data['article_alias'])) {
// $_link = PHPWCMS_URL.'index.php?'.setGetArticleAid( $data );
$_link = PHPWCMS_URL.'index.php?'.(($cat_link)?$_CAT['acat_alias']:setGetArticleAid( $data )); // +KH
} else {
// $_link = PHPWCMS_URL.rawurlencode($data['article_alias']).'.phtml';
$_link = PHPWCMS_URL.rawurlencode(($cat_link)?$_CAT['acat_alias']:$data['article_alias']).'.phtml'; // +KH
}
echo ' '.LF;
echo ' '.$_link.''.LF;
echo ' '.$data["article_tstamp"].''.LF;
echo ' '.LF;
// yes we have a minimum of 1 article link
$base = false;
}
}
echo LF.' '.LF;
if(is_array($_addURL) && count($_addURL)) {
foreach($_addURL as $value) {
$_link = empty($value['url']) ? '' : trim($value['url']);
if(empty($_link)) {
continue;
}
$_lastmod = empty($value['date']) ? '' : trim($value['date']);
if(empty($value['date'])) {
$_lastmod = date('Y-m-d');
}
echo ' '.LF;
echo ' '.$_link.''.LF;
echo ' '.$_lastmod.''.LF;
echo ' '.LF;
}
} else {
echo ' '.LF.LF;
}
if($base) {
// just return the main URL
echo ' '.LF;
echo ' '.PHPWCMS_URL.''.LF;
echo ' '.date('Y-m-d').''.LF;
echo ' '.LF;
}
echo '';
?>
\\
===== Ersetzt index.php?alias mit alias.phtml =====
**Seit r398 im Core implementiert :!:**
Forum: [[http://forum.phpwcms.org/viewtopic.php?p=112317#p112317]]
Rewrite der Sitemapausgabe mit ##/sitemap.php## für eine sitemap.xml Datei. (index.php?alias -> /alias.phtml)
Normalerweise wird das Rewrite des Alias nach alias.phtml von der .htaccess via Apache erledigt.
Patch für sitemap.php: (Funktioniert nur wenn eine Standard-.htaccess verwendet und nach alias.phtml umgeschrieben wird)
=== Einfügen zwischen: ===
Beginn:require_once (PHPWCMS_ROOT.'/include/inc_front/front.func.inc.php');
**Einfügen:**
// enhanced by k.Heermann (flip-flop) for rewriting to alias.phtml
// --------------------------------------------------------------- +kh 09/01/06
$my_rewrite = false;
if ($phpwcms['rewrite_url'] >= 1 AND file_exists('.htaccess')) { $my_rewrite = true; }
// ----------------------------------------------------------------
Ende:
// start XML
echo ''.LF;
\\
und
=== Ersetzen: ===
$_link = PHPWCMS_URL.'index.php?'.setGetArticleAid( $data );
**mit:**
// ---------------------------------------- +kh 09/01/06
if ($my_rewrite) { $_link = PHPWCMS_URL.setGetArticleAid( $data ).'.phtml'; }
else { $_link = PHPWCMS_URL.'index.php?'.setGetArticleAid( $data ); }
// ----------------------------------------
\\
===== Multidomain sitemap.php =====
Erweiterte Version mit festlegbarer Start-ID im Kategoriebaum abhängig vom aktiven Domainnamen.
// Aktuelle Struktur ID -> wo soll es losgehen?
$my_start_id = 22; //default wenn keine Domain angegeben
// Alle Cat-IDs die permanent ausgeschlossen werden sollen z.B. '4,7,34,9'
$_DISABLE_ID = '4,7,34,9'; // Test
// Start-ID zu Domain zuordnen: Entkommentieren und eintragen
$_DOMAIN_ID = array(
// 'domain1.de' => array( 'ID' => 1 ),
// 'domain2.com' => array( 'ID' => 3 ),
// 'domain3.ch' => array( 'ID' => 11 ),
);
**Verfügbar für alle Personen die brauchbare Beiträge, Übersetzungen oder Videos in das wiki schreiben.** //(Alternativ kann auch gespendet werden).//
\\