Mehr als 50 Zeichen für META-Angaben im xt:Commerce Admin-Bereich
Möchte man in xt:Commerce für die Artikel META-Angaben z. B. für Suchmaschinen erfassen, so kommt man im Admin-Bereich nicht über 50 Zeichen hinaus, obwohl die Datenbank hier ganze Romane aushalten würde. Das betrifft die META-Description und die META-Keywords, auf die manche Suchmaschinen Wert legen.
Es ist ein gut gehütetes Geheimnis, wieviele Zeichen in den META-Angaben eine gute Suchmaschinenplatzierung ermöglichen. Aber wenn man der Meinung ist, 50 sind zu wenig, dann muss man xt:Commerce anpassen:
Originale /admin/includes/modules/new_product.php:
<td class="main" valign="top" style="padding: 15px;">
<?php echo TEXT_PRODUCTS_KEYWORDS; ?><br />
<?php echo xtc_draw_input_field('products_keywords[' . $languages[$i]['id'] . ']',(($products_keywords[$languages[$i]['id']]) ? stripslashes($products_keywords[$languages[$i]['id']]) : xtc_get_products_keywords($pInfo->products_id, $languages[$i]['id'])), 'size=25 maxlenght=255'); ?><br />
<?php echo TEXT_META_TITLE; ?><br />
<?php echo xtc_draw_input_field('products_meta_title[' . $languages[$i]['id'] . ']',(($products_meta_title[$languages[$i]['id']]) ? stripslashes($products_meta_title[$languages[$i]['id']]) : xtc_get_products_meta_title($pInfo->products_id, $languages[$i]['id'])), 'size=25 maxlenght=50'); ?><br />
<?php echo TEXT_META_DESCRIPTION; ?><br />
<?php echo xtc_draw_input_field('products_meta_description[' . $languages[$i]['id'] . ']',(($products_meta_description[$languages[$i]['id']]) ? stripslashes($products_meta_description[$languages[$i]['id']]) : xtc_get_products_meta_description($pInfo->products_id, $languages[$i]['id'])), 'size=25 maxlenght=50'); ?><br />
<?php echo TEXT_META_KEYWORDS; ?><br />
<?php echo xtc_draw_input_field('products_meta_keywords[' . $languages[$i]['id'] . ']', (($products_meta_keywords[$languages[$i]['id']]) ? stripslashes($products_meta_keywords[$languages[$i]['id']]) : xtc_get_products_meta_keywords($pInfo->products_id, $languages[$i]['id'])), 'size=25 maxlenght=50'); ?>
</td>
Angepasste Version:
</tr>
<tr>
<td width="60%" valign="top" class="main">
<STRONG><?php echo TEXT_PRODUCTS_KEYWORDS; ?></STRONG><br />
<?php echo xtc_draw_input_field('products_keywords[' . $languages[$i]['id'] . ']',(($products_keywords[$languages[$i]['id']]) ? stripslashes($products_keywords[$languages[$i]['id']]) : xtc_get_products_keywords($pInfo->products_id, $languages[$i]['id'])), 'size=106 maxlength=255'); ?><br />
<STRONG><?php echo TEXT_META_TITLE; ?></STRONG><br />
<?php echo xtc_draw_input_field('products_meta_title[' . $languages[$i]['id'] . ']',(($products_meta_title[$languages[$i]['id']]) ? stripslashes($products_meta_title[$languages[$i]['id']]) : xtc_get_products_meta_title($pInfo->products_id, $languages[$i]['id'])), 'size=106 maxlength=500'); ?><br />
<STRONG><?php echo TEXT_META_DESCRIPTION; ?></STRONG><br />
<?php echo xtc_draw_input_field('products_meta_description[' . $languages[$i]['id'] . ']',(($products_meta_description[$languages[$i]['id']]) ? stripslashes($products_meta_description[$languages[$i]['id']]) : xtc_get_products_meta_description($pInfo->products_id, $languages[$i]['id'])), 'size=106 maxlength=500'); ?><br />
<STRONG><?php echo TEXT_META_KEYWORDS; ?></STRONG><br />
<?php echo xtc_draw_input_field('products_meta_keywords[' . $languages[$i]['id'] . ']', (($products_meta_keywords[$languages[$i]['id']]) ? stripslashes($products_meta_keywords[$languages[$i]['id']]) : xtc_get_products_meta_keywords($pInfo->products_id, $languages[$i]['id'])), 'size=106 maxlength=500'); ?>
</td>
Wer genau hinsieht, bemerkt, dass ich neben der Erweiterung auf 500 Zeichen auch die Tabellenstruktur angepasst habe. Denn die Felder für die META-Angaben waren mir einfach zu klein.
Apropos 500 Zeichen: Das habe ich nur aus Bequemlichkeit so hoch eingestellt. Keineswegs bin ich der Meinung, dass man von dieser Menge Gebrauch machen sollte. Wenn ich Google-Bot wäre, würde ich bei mehreren hundert Zeichen META-Description anfangen, über META-Spam nachzudenken …
Nachtrag vom 14. April 2008: Tine (s. u.) hat mich darauf aufmerksam gemacht, dass es im Admin-Bereich eine weitere Stelle gibt, bei der META-Angaben erfasst werden können: Backend -> Konfiguration -> Meta-Tags/Suchmaschinen -> Description oder Keywords.
Wer hier die Feldinhalte in breiteren Feldern anzeigen möchte, der muss den Vorgabewert von 40 erhöhen. Dazu ist die Datei /admin/configuration.php anzupassen. In der Datei gibt es eine Stelle (genau eine) mit size=40:
Auszug aus der originalen /admin/configuration.php:
} else {
$value_field = xtc_draw_input_field($configuration['configuration_key'], $configuration['configuration_value'],'size=40');
}
Ich habe bei mir size=40 durch size="80" maxlength="255" ersetzt:
} else {
$value_field = xtc_draw_input_field($configuration['configuration_key'], $configuration['configuration_value'],'size="80" maxlength="255"');
}
Mehr als maximal 255 Buchstaben schafft die Datenbank in der originalen Konfiguration nicht; den Wert für size kann jeder nach Geschmack und Bildschirmbreite anpassen.
Wem 255 Buchstaben zu wenig sind, der muss in der Tabelle CONFIGURATION die Spalte configuration_value von 255 auf den Wunschwert setzen (per alter table) und anschließend maxlength (s. o.) anpassen. Wer mit alter table nicht vertraut ist, der kann ggf. phpMyAdmin nutzen.
Bitte beachten: Ich überblicke nicht, welche Konsequenzen das Hochsetzen der 255 hat. Es handelt sich immerhin um die Tabelle mit allen Konfigurationseinstellungen und es könnte Programmteile geben, die die Obergrenze von 255 fest kodiert haben. Wer hier rumfummelt, der sollte seinen Shop erneut ausgiebig testen.


Siehe auch den zugehörigen Thread im Traum-Projekt.