Hallo,
ist es eigentlich möglich Artikel aus deaktivierten Kategorien vom Google Indexierung auszuschließen... wäre ja eigentlich sinnvoll oder???
Hallo,
ist es eigentlich möglich Artikel aus deaktivierten Kategorien vom Google Indexierung auszuschließen... wäre ja eigentlich sinnvoll oder???
Die inaktiven Artikel werden in der Sitemap ausgeklammert. Somit sollte Google die ja auch nicht bekommen.
Vielen Dank dann werde ich das noch mal genauer beobachten.... ich hatte den Eindruck, dass das nicht so ist.
Bei mir sind definitiv die deaktiveren Artikel mit drin - woran kann das liegen?
In der sitemap.xml.php wird aber nach product_status abgefragt! Wenn die Kategorie Offline ist, die Produkte ABER NICHT, dann werden die mit ausgegeben. Also Kategorie rekursiv offline schalten .-)
Hi Herr Kausch,
das ist auch der Fall. Ich habe die Produkte einzeln überprüft - Sie sind im Shop offline und werden nach Neugenerierung dennoch in der Sitemap angezeigt.
Wie sieht denn die PHP Datei aus?
Müsste die Original-Datei sein...
<?php
/*
* (c) Copyright 2010 - xt-shopservice.de, ein Projekt von Webdesign Erfurt
*
* Daniel Siekiera - 2010
*/
require('includes/application_top.php');
function blog_da() {
$ist_blog_da = 'blog.php';
if(file_exists($ist_blog_da))
return true;
else
return false;
}
function iso8601_date($timestamp) {
if (PHP_VERSION < 5) {
$tzd = date('O',$timestamp);
$tzd = substr(chunk_split($tzd, 3, ':'),0,6);
return date('Y-m-d\TH:i:s', $timestamp) . $tzd;
} else {
return date('c', $timestamp);
}
}
function xtc_get_languages() {
$languages_query = xtc_db_query("SELECT languages_id, code FROM languages ORDER BY sort_order");
while ($languages = xtc_db_fetch_array($languages_query))
$languages_array[] = array ('id' => $languages['languages_id'], 'code' => $languages['code']);
return $languages_array;
}
$languages = xtc_get_languages();
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<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";
for ($i = 0; $i < sizeof($languages); $i ++) {
#####################################################################
# PRODUKTE
#####################################################################
$product_query = xtc_db_query("SELECT p.products_id,
pd.language_id,
UNIX_TIMESTAMP(p.products_date_added) AS products_date_added,
UNIX_TIMESTAMP(p.products_last_modified) AS products_last_modified
FROM
".TABLE_PRODUCTS." p,
".TABLE_PRODUCTS_DESCRIPTION." pd
WHERE
p.products_status='1'
AND p.products_id = pd.products_id
AND pd.language_id = '".$languages[$i]['id']."'
ORDER BY p.products_id");
if(xtc_db_num_rows($product_query)) {
while($product = xtc_db_fetch_array($product_query)) {
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
$date = ($product['products_last_modified'] != NULL) ? iso8601_date($product['products_last_modified']) : iso8601_date($product['products_date_added']);
$data .= "\t".'<url>'."\n";
$data .= "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($product['products_id']).$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
$data .= "\t\t".'<priority>1.0</priority>'."\n";
$data .= "\t\t".'<lastmod>'.$date.'</lastmod>'."\n";
$data .= "\t\t".'<changefreq>daily</changefreq>'."\n";
$data .= "\t".'</url>'."\n";
}
echo $data;
}
#####################################################################
# KATEGORIEN
#####################################################################
$cat_result = xtc_db_query("SELECT c.categories_id,
c.parent_id,
cd.language_id,
UNIX_TIMESTAMP(c.date_added) AS date_added,
UNIX_TIMESTAMP(c.last_modified) AS last_modified
FROM
".TABLE_CATEGORIES." c,
".TABLE_CATEGORIES_DESCRIPTION." cd
WHERE
c.categories_status = '1'
AND c.categories_id = cd.categories_id
AND cd.language_id = '".$languages[$i]['id']."'
ORDER by cd.categories_id");
$cat_array = array();
if (xtc_db_num_rows($cat_result) > 0) {
while($cat_data = xtc_db_fetch_array($cat_result)) {
$cat_array[$cat_data['categories_id']][$cat_data['code']] = $cat_data;
}
}
reset($cat_array);
function rv_get_path($cat_id, $code) {
global $cat_array;
$my_cat_array = array($cat_id);
while($cat_array[$cat_id][$code]['parent_id'] != 0) {
$my_cat_array[] = $cat_array[$cat_id][$code]['parent_id'];
$cat_id = $cat_array[$cat_id][$code]['parent_id'];
}
return xtc_category_link($my_cat_array[0]);
}
foreach($cat_array as $lang_array) {
foreach($lang_array as $cat_id => $cat_data) {
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
$date = ($cat_data['last_modified'] != NULL) ? $cat_data['last_modified'] : $cat_data['date_added'];
echo "\t".'<url>'."\n";
echo "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_DEFAULT,rv_get_path($cat_data['categories_id'], $cat_data['code']).$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
echo "\t\t".'<priority>1.0</priority>'."\n";
echo "\t\t".'<lastmod>'.iso8601_date($date).'</lastmod>'."\n";
echo "\t\t".'<changefreq>weekly</changefreq>'."\n";
echo "\t".'</url>'."\n";
}
}
#####################################################################
# CONTENT
#####################################################################
$content_query = xtc_db_query("SELECT content_group FROM ".TABLE_CONTENT_MANAGER." WHERE content_status = '1' AND languages_id = '".$languages[$i]['id']."' ");
while($content = xtc_db_fetch_array($content_query)) {
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
echo "\t".'<url>'."\n";
echo "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_CONTENT,'coID='.$content['content_group'].$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
echo "\t\t".'<priority>1.0</priority>'."\n";
echo "\t\t".'<lastmod>'.iso8601_date(time()).'</lastmod>'."\n";
echo "\t\t".'<changefreq>weekly</changefreq>'."\n";
echo "\t".'</url>'."\n";
}
} // Ende for()
#####################################################################
# WENN BLOG INSTALLIERT - DER AUCH MIT REIN
#####################################################################
if(blog_da()) {
for ($i = 0; $i < sizeof($languages); $i ++) {
$categories_query = xtc_db_query("SELECT id, titel, date, update_date FROM ".TABLE_BLOG_CATEGORIES." WHERE status = 1 AND language_id = '".$languages[$i]['id']."' ORDER BY position ASC");
while($categories = xtc_db_fetch_array($categories_query)){
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
$datum = explode('.',$categories['date']);
$update_date = explode('.',$categories['update_date']);
$date = mktime(0,0,0,$datum[1],$datum[0],$datum[2]);
$update = mktime(0,0,0,$update_date[1],$update_date[0],$update_date[2]);
echo "\t".'<url>'."\n";
echo "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_BLOG,'blog_cat='.$categories['id'].$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
echo "\t\t".'<priority>1.0</priority>'."\n";
echo "\t\t".'<lastmod>'.iso8601_date( (!empty($update)) ? $update : $date ).'</lastmod>'."\n";
echo "\t\t".'<changefreq>weekly</changefreq>'."\n";
echo "\t".'</url>'."\n";
// Einzelne Eintraege
$items_query = xtc_db_query("SELECT id, title, date, date_update FROM ".TABLE_BLOG_ITEMS." WHERE status = 1 AND language_id = '".$languages[$i]['id']."' AND categories_id = '".(int)$categories['id']."' ORDER BY position ASC");
$lang_params = '';
$datum = '';
$update_date = '';
$update = '';
while($items = xtc_db_fetch_array($items_query)){
$lang_param = ($languages[$i]['code'] != DEFAULT_LANGUAGE) ? '&language='.$languages[$i]['code'] : '';
$datum = explode('.',$categories['date']);
$update_date = explode('.',$categories['date_update']);
$date = mktime(0,0,0,$datum[1],$datum[0],$datum[2]);
$update = mktime(0,0,0,$update_date[1],$update_date[0],$update_date[2]);
echo "\t".'<url>'."\n";
echo "\t\t".'<loc>'.htmlspecialchars(utf8_encode(xtc_href_link(FILENAME_BLOG,'blog_cat='.$categories['id'].'&blog_item='.$items['id'].$lang_param, 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))).'</loc>'."\n";
echo "\t\t".'<priority>1.0</priority>'."\n";
echo "\t\t".'<lastmod>'.iso8601_date( (!empty($update)) ? $update : $date ).'</lastmod>'."\n";
echo "\t\t".'<changefreq>daily</changefreq>'."\n";
echo "\t".'</url>'."\n";
}
}
}
}
#####################################################################
#####################################################################
echo '</urlset>'."\n";
?>
Alles anzeigen
Die PHP Datei ist korrekt. Reicht Ihr auch die sitemap.xml.php ein?
Ei, du hast recht - ich dachte die sitemap.xml.php generiert nur die sitemap.xml - nein, die haben wir nicht eingereicht, sondern die übers Backend generierte.
Allerdings nimmt er die Sitemap nicht. In der letzten Zeile wird auf folgendend Error verwiesen:
<b>Fatal error</b>: Cannot redeclare rv_get_path() (previously declared in /home/essendbu/dev.essenza-nobile.de/sitemap.xml.php:101) in <b>/home/essendbu/dev.essenza-nobile.de/sitemap.xml.php</b> on line <b>101</b><br />
Denke das liegt an der Zweisprachigkeit des Shops.