Timo Paul Dienstleistungen Timo Paul Dienstleistungen Timo Paul Dienstleistungen Timo Paul Dienstleistungen Timo Paul Dienstleistungen Timo Paul Dienstleistungen Timo Paul Dienstleistungen

SEO Images für xtcModified - Timo Paul Dienstleistungen

SEO Images für xtcModified

modified eCommerce Shopsoftware

Um Bilder der Artikel und Kategorien im modified eCommerce Shop für Suchmaschinen freundlicher darzustellen ist nicht viel Aufwand zu betreiben.

Hier möchte ich eine einfache und schnelle Variante vorstellen wie die Dateinamen von Kategorie- und Artikelbildern automatisch mit den entsprechenden Stichwörtern versehen werden können.

Download

Download ab Shopversion 2.0

Für die modified eCommerce Shopsoftware ab Version 2.0 könnt ihr euch das erweiterte Modul mit neuen Funktionen und einer umfangreicheren konfiguration hier bestellen:
Suchmaschinenfreundliche Bilder für die modified eCommerce Shopsoftware ab Version 2.0

Beispiel

sandbox.modified16.timopaul.biz

Changelog

/*
2012-11-11 v1.0
  [NEW] erste Version der neuen Komponente
  
2012-11-17 v1.1
  [FIX] Korrekturen zur Berechnung der Bildgrößen
  
2014-01-06 v2.0
  [FIX] Korrekturen zur Verwendung des Moduls in den Suchergebnissen.
    Besten Dank an *Reinhold* für den Bericht und Fix.
  [UPDATE] Komponente und Anleitung für modified eCommerce v1.06 aktualisiert

2014-01-12 v2.1
  [ADD] Name als Grundlage zur Generierung der Dateinamen als weitere Auswahl hinzu gefügt
  [ADD] optionaler Fallback auf weitere Grundlage (Name) für fehlende Angaben zum Artikel
  [ADD] seoImages auch in Boxen wie z.B. "Zuletzt angesehen" oder "Bestseller" anwenden

2014-10-07 v2.2
  [FIX] Tippfehler in Informationstexten korrigiert
  [FIX] Slash (/) in Dateinamen berücksichtigen. Besten Dank an *CojaX*
  [FIX] SQL-Fehlern bei Artikeln ohne speziellem Bild vorbeugen

2014-10-11 v2.3
  [ADD] Trennzeichen '-' für SEO-URL's ebenfalls unterstützen

2014-10-14 v2.4
  [ADD] Umlaute in Dateinamen ausschreiben ('ae' statt 'ä')
  [FIX] SEO Dateinamen ebenso im Artikellisting einer Kategorie verwenden

2014-10-28 v2.5
  [FIX] umzuschreibende Umlaute anhand des ASCII-Wertes erkennen
  [ADD] Keywords für die weiteren Bilder der Reihe nach arrangieren
  [ADD] Trennzeichen für einzelne Wörter: Leerzeichen, Komma, Punkt, -, +, \, /, &
  [FIX] doppelte Keywords eliminieren
  [ADD] Anleitung für SEO-Images in den Boxen "Zuletzte angesehen", "Angebote" und "Neue Artikel"
*/

Kurzanleitung zur Installation der SEO Images

ACHTUNG: Alle Modifikationen sind in Blöcken zusammen gefasst:

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
Hier stehen die Änderungen.
Bitte kopiere die Kommentare mit um später diese Änderungen wieder zu erkennen
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

1. Backup erstellen

Bitte leg ein Backup vom Shop und der Datenbank an bevor du die folgenden Schritte ausführst!

KEINE HAFTUNG FÜR FEHLFUNKTIONEN NACH DER INSTALLATION

2. Sprachdateien aktualisieren

[SHOP_ROOT]/lang/german/admin/configuration.php

Füge am Ende der Datei ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
define('SEARCH_ENGINE_FRIENDLY_IMAGES_TITLE', 'Suchmaschinenfreundliche Bilder?');
define('SEARCH_ENGINE_FRIENDLY_IMAGES_DESC', 'Die Dateinamen der Katgorie- und Artikelbilder können automatisch für Suchmaschinen optimiert angezeigt werden.

Funktioniert nur im Zusammenhand mit "' . SEARCH_ENGINE_FRIENDLY_URLS_TITLE . '"!'); define('SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS_TITLE', 'Feld für die Keywords'); define('SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS_DESC', 'Keywords aus diesem Feld des Artikels/der Kategorie werden verwendet um die Dateinamen der Bilder zu generieren

keywords: Daten aus dem Feld "Zusatz-Begriffe für Suche" des Artikels / der Kategorie
meta_keywords: Daten aus dem Feld "Meta Keywords" des Artikels / der Kategorie
title: Name des Artikels / der Kategorie'); define('SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS_FALLBACK_TITLE', 'Fallback Grundlage'); define('SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS_FALLBACK_DESC', 'Diese Daten werden genutzt um die Dateinamen der Bilder zu generieren wenn in dem "' . SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS_TITLE . '" keine Daten vorliegen.

false: keine Generierung Suchmaschinenfreundlicher Dateinamen
title: Name des Artikels / der Kategorie'); define('SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS_LIMIT_TITLE', 'Anzahl der Keywords'); define('SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS_LIMIT_DESC', 'Maximale Anzahl an Keywords die für die Suchmaschinenfreundlichen Dateinamen der Bilder verwendet werden.'); // EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

3. Konfiguration einspielen

Bitte führe das SQL-Script config.sql in deinem RDBMS (z.B. PHPmyAdmin) aus.

DELETE FROM `configuration` WHERE `configuration_key` LIKE 'SEARCH_ENGINE_FRIENDLY_IMAGES%';
INSERT INTO `configuration` (`configuration_key`, `configuration_value`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`)
VALUES
  ('SEARCH_ENGINE_FRIENDLY_IMAGES',          'false',  '16',  '30',  CURDATE(),  CURDATE(),  NULL,  "xtc_cfg_select_option(array('true', 'false'),"),
  ('SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS',      'keywords',  '16',  '32',  CURDATE(),  CURDATE(),  NULL,  "xtc_cfg_select_option(array('keywords', 'meta_keywords', 'name'),"),
  ('SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS_FALLBACK',  'false',  '16',  '33',  CURDATE(),  CURDATE(),  NULL,  "xtc_cfg_select_option(array('false', 'name'),"),
  ('SEARCH_ENGINE_FRIENDLY_IMAGES_KEYWORDS_LIMIT',  '3',    '16',  '34',  CURDATE(),  CURDATE(),  NULL,  NULL)
;

Bei einem Update einer füheren Version kann das selbe Script verwendet werden.

4. neue Dateien aufspielen

a) Shop-Core

Bitte kopiere den Inhalt aus dem Verzeichnis shop_root per FTP (z.B. FileZilla) in das Home-Verzeichnis von deinem Shop. Es werden keine Dateien überschrieben!

b) Template

Zusätzlich die Dateien aus dem Ordner /shop_root/templates/xtc5/smarty/ in das Unterverzeichnis [SHOP_ROOT]/templates/[DEIN_TEMPLATE]/smarty/ kopieren

5. Shopdateien aktualisieren

a) [SHOP_ROOT]/.htaccess

Suche nach Zeile

RewriteRule (.*):.:([0-9]+)\.html$ index.php?manufacturers_id=$2 [QSA,L]

Füge unter dieser Zeile ein

## BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
#
##-- Bilder (:__:)
RewriteCond %{REQUEST_URI} (.*)/[^/]*:__:([_0-9]+)\.(jpg|jpeg|gif|png)$ [NC]
RewriteRule ^(.*)/[^/]*:__:([_0-9]+)\.(jpg|jpeg|gif|png)$ $1/$2.$3 [qsappend,L,NC]
#
## EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

Suche nach Zeile

#RewriteRule (.*)-.-([0-9]+)\.html$ index.php?manufacturers_id=$2 [QSA,L]

Füge unter dieser Zeile ein

## BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
#
##-- Bilder (-__-)
#RewriteCond %{REQUEST_URI} (.*)/[^/]*-__-([_0-9]+)\.(jpg|jpeg|gif|png)$ [NC]
#RewriteRule ^(.*)/[^/]*-__-([_0-9]+)\.(jpg|jpeg|gif|png)$ $1/$2.$3 [qsappend,L,NC]
#
## EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

b) [SHOP_ROOT]/includes/classes/product.php

Suche nach Zeile

$products_image = $this->productImage($array['products_image'], $image);

Ersetze diese Zeilen durch

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
//$products_image = $this->productImage($array['products_image'], $image);
$products_image = $this->productImage($array['products_image'], $image, $array);
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

Suche nach Zeile

function productImage($name, $type) {

Ersetze diese Zeilen durch

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
//function productImage($name, $type) {
function productImage($name, $type, $data = false) {
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

Suche nach Zeile

return $path.$name;

Füge vor dieser Zeile ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
if (SEARCH_ENGINE_FRIENDLY_URLS == 'true' && SEARCH_ENGINE_FRIENDLY_IMAGES == 'true') {
  if (!function_exists('getSeoImage') && file_exists(DIR_WS_MODULES . '/seo_images.php')) {
    require_once DIR_WS_MODULES . '/seo_images.php';
  }
  $name = getSeoImage($name, is_array($data) ? $data : $this->data);
}
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

c) [SHOP_ROOT]/includes/modules/product_listing.php

Suche nach Zeilen

$category_query = xtDBquery("SELECT cd.categories_description,
                  cd.categories_name,
                  cd.categories_heading_title,
                  c.listing_template,
                  c.categories_image
               FROM ".TABLE_CATEGORIES." c,
                  ".TABLE_CATEGORIES_DESCRIPTION." cd
              WHERE c.categories_id = '".$current_category_id."'
                AND cd.categories_id = '".$current_category_id."'
                  ".$group_check."
                AND cd.language_id = '".$_SESSION['languages_id']."'
              LIMIT 1");

Ersetze diese Zeilen durch

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
//$category_query = xtDBquery("SELECT cd.categories_description,
//                                    cd.categories_name,
//                                    cd.categories_heading_title,
//                                    c.listing_template,
//                                    c.categories_image
//                               FROM ".TABLE_CATEGORIES." c,
//                                    ".TABLE_CATEGORIES_DESCRIPTION." cd
//                              WHERE c.categories_id = '".$current_category_id."'
//                                AND cd.categories_id = '".$current_category_id."'
//                                    ".$group_check."
//                                AND cd.language_id = '".$_SESSION['languages_id']."'
//                              LIMIT 1");
$category_query = xtDBquery("SELECT cd.categories_description,
                  cd.categories_name,
                  cd.categories_meta_keywords,
                  cd.categories_heading_title,
                  c.listing_template,
                  c.categories_image
               FROM ".TABLE_CATEGORIES." c,
                  ".TABLE_CATEGORIES_DESCRIPTION." cd
              WHERE c.categories_id = '".$current_category_id."'
                AND cd.categories_id = '".$current_category_id."'
                  ".$group_check."
                AND cd.language_id = '".$_SESSION['languages_id']."'
              LIMIT 1");
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

Suche nach Zeile

$module_smarty->assign('CATEGORIES_NAME', $category['categories_name']);

Füge vor dieser Zeile ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
if ($image && SEARCH_ENGINE_FRIENDLY_URLS == 'true' && SEARCH_ENGINE_FRIENDLY_IMAGES == 'true') {
  if (!function_exists('getSeoImage') && file_exists(DIR_WS_MODULES . '/seo_images.php')) {
    require_once DIR_WS_MODULES . '/seo_images.php';
  }
  $image = getSeoImage($image, $category);
}
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

d) [SHOP_ROOT]/includes/modules/default.php

Suche nach Zeile

$listing_sql = "-- /includes/modules/default.php

Füge vor dieser Zeile ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images
$select .= 'pd.products_keywords, pd.products_meta_keywords, ';
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-14 - SEO-Images

Suche nach Zeile

$categories_query = xtDBquery($categories_query);

Füge vor dieser Zeile ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images
$categories_query = str_replace('cd.categories_name,', 'cd.categories_name, cd.categories_meta_keywords,', $categories_query);
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images

Suche nach Zeilen

if ($categories['categories_image'] != '') {
  $image = DIR_WS_IMAGES.'categories/'.$categories['categories_image'];
  if(!file_exists($image)) $image = DIR_WS_IMAGES.'categories/noimage.gif';
  $image = $image;

Füge nach diesen Zeilen ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images
if (SEARCH_ENGINE_FRIENDLY_URLS == 'true' && SEARCH_ENGINE_FRIENDLY_IMAGES == 'true') {
  if (!function_exists('getSeoImage') && file_exists(DIR_WS_MODULES . '/seo_images.php')) {
  require_once DIR_WS_MODULES . '/seo_images.php';
  }
  $image = getSeoImage($image, $categories);
}
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images

Suche nach Zeile

$category_query = xtDBquery($category_query);

Füge vor dieser Zeile ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images
$category_query = str_replace('cd.categories_name,', 'cd.categories_name, cd.categories_meta_keywords,', $category_query);
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images

Suche nach Zeilen

if ($category['categories_image'] != '') {
  $image = DIR_WS_IMAGES.'categories/'.$category['categories_image'];
  if(!file_exists($image)) $image = DIR_WS_IMAGES.'categories/noimage.gif';
  $image = $image;

Füge nach diesen Zeilen ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images
if (SEARCH_ENGINE_FRIENDLY_URLS == 'true' && SEARCH_ENGINE_FRIENDLY_IMAGES == 'true') {
  if (!function_exists('getSeoImage') && file_exists(DIR_WS_MODULES . '/seo_images.php')) {
  require_once DIR_WS_MODULES . '/seo_images.php';
  }
  $image = getSeoImage($image, $category);
}
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images

e) [SHOP_ROOT]/popup_image.php

Suche nach Zeile

foreach ($mo_images as $mo_img) {

Füge nach dieser Zeile ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2012-11-17 - correct SEO-Iamge Filenames
$mo_img['image_name'] = preg_replace('#^[^/]+' . SEO_SEPARATOR . '__' . SEO_SEPARATOR . '([_0-9]+\.[a-z]{3,4})$#i', '/${1}', $mo_img['image_name']);
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2012-11-17 - correct SEO-Iamge Filenames

f) [SHOP_ROOT]/templates/[DEIN_TEMPLATE]/source/boxes/last_viewed.php

Suche nach Zeile

$random_query = xtDBquery($random_query);

Füge vor dieser Zeile ein

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images
$random_query = str_replace('pd.products_name,', 'pd.products_name, pd.products_keywords, pd.products_meta_keywords, ', $random_query);
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images

g) [SHOP_ROOT]/templates/[DEIN_TEMPLATE]/source/boxes/specials.php

Suche nach Zeilen

if ($random_product = xtc_random_select("select
                     p.products_id,
                     pd.products_name,
                     p.products_price,
                     p.products_tax_class_id,
                     p.products_image,
                     s.expires_date,
                     p.products_vpe,
                     p.products_vpe_status,
                     p.products_vpe_value,
                     s.specials_new_products_price
                     from ".TABLE_PRODUCTS." p,
                     ".TABLE_PRODUCTS_DESCRIPTION." pd,
                     ".TABLE_SPECIALS." s where p.products_status = '1'
                     and p.products_id = s.products_id
                     and pd.products_id = s.products_id
                     and pd.language_id = '".$_SESSION['languages_id']."'
                     and s.status = '1'
                     ".$group_check."
                     ".$fsk_lock."                                             
                     order by s.specials_date_added
                     desc limit ".MAX_RANDOM_SELECT_SPECIALS)) {

Ersetze diese Zeilen durch

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images
//if ($random_product = xtc_random_select("select
//                                           p.products_id,
//                                           pd.products_name,
//                                           p.products_price,
//                                           p.products_tax_class_id,
//                                           p.products_image,
//                                           s.expires_date,
//                                           p.products_vpe,
//                                           p.products_vpe_status,
//                                           p.products_vpe_value,
//                                           s.specials_new_products_price
//                                           from ".TABLE_PRODUCTS." p,
//                                           ".TABLE_PRODUCTS_DESCRIPTION." pd,
//                                           ".TABLE_SPECIALS." s where p.products_status = '1'
//                                           and p.products_id = s.products_id
//                                           and pd.products_id = s.products_id
//                                           and pd.language_id = '".$_SESSION['languages_id']."'
//                                           and s.status = '1'
//                                           ".$group_check."
//                                           ".$fsk_lock."                                             
//                                           order by s.specials_date_added
//                                           desc limit ".MAX_RANDOM_SELECT_SPECIALS)) {
if ($random_product = xtc_random_select("select
                       p.products_id,
                       pd.products_name,
                       pd.products_keywords,
                       pd.products_meta_keywords,
                       p.products_price,
                       p.products_tax_class_id,
                       p.products_image,
                       s.expires_date,
                       p.products_vpe,
                       p.products_vpe_status,
                       p.products_vpe_value,
                       s.specials_new_products_price
                       from ".TABLE_PRODUCTS." p,
                       ".TABLE_PRODUCTS_DESCRIPTION." pd,
                       ".TABLE_SPECIALS." s where p.products_status = '1'
                       and p.products_id = s.products_id
                       and pd.products_id = s.products_id
                       and pd.language_id = '".$_SESSION['languages_id']."'
                       and s.status = '1'
                       ".$group_check."
                       ".$fsk_lock."                                             
                       order by s.specials_date_added
                       desc limit ".MAX_RANDOM_SELECT_SPECIALS)) {
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images

h) [SHOP_ROOT]/templates/[DEIN_TEMPLATE]/source/boxes/whats_new.php

Suche nach Zeilen

if ($random_product = xtc_random_select("-- templates/xtc5/source/boxes/whats_new.php
                    SELECT distinct
                        p.products_id,
                        p.products_image,                                              
                        p.products_tax_class_id,
                        p.products_vpe,
                        p.products_vpe_status,
                        p.products_vpe_value,
                        p.products_price,
                        pd.products_name
                     FROM ".TABLE_PRODUCTS." p
                  LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." pd 
                       ON (p.products_id = pd.products_id AND pd.language_id = '".(int) $_SESSION['languages_id']."' AND pd.products_name != '')
                  LEFT JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." p2c
                       ON p.products_id = p2c.products_id
                  LEFT JOIN ".TABLE_CATEGORIES." c
                       ON c.categories_id = p2c.categories_id AND c.categories_status = 1
                    WHERE p.products_status = 1
                      " . $fsk_lock . "
                      " . $group_check . "
                      " . $current_prd . "
                      " . $days . "                                           
                   ORDER BY p.products_date_added desc
                    LIMIT ".MAX_RANDOM_SELECT_NEW))

Ersetze diese Zeilen durch

// BOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images
//if ($random_product = xtc_random_select("-- templates/xtc5/source/boxes/whats_new.php
//                                        SELECT distinct
//                                              p.products_id,
//                                              p.products_image,                                              
//                                              p.products_tax_class_id,
//                                              p.products_vpe,
//                                              p.products_vpe_status,
//                                              p.products_vpe_value,
//                                              p.products_price,
//                                              pd.products_name
//                                         FROM ".TABLE_PRODUCTS." p
//                                    LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." pd 
//                                           ON (p.products_id = pd.products_id AND pd.language_id = '".(int) $_SESSION['languages_id']."' AND pd.products_name != '')
//                                    LEFT JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." p2c
//                                           ON p.products_id = p2c.products_id
//                                    LEFT JOIN ".TABLE_CATEGORIES." c
//                                           ON c.categories_id = p2c.categories_id AND c.categories_status = 1
//                                        WHERE p.products_status = 1
//                                          " . $fsk_lock . "
//                                          " . $group_check . "
//                                          " . $current_prd . "
//                                          " . $days . "                                           
//                                     ORDER BY p.products_date_added desc
//                                        LIMIT ".MAX_RANDOM_SELECT_NEW))
if ($random_product = xtc_random_select("-- templates/xtc5/source/boxes/whats_new.php
                    SELECT distinct
                        p.products_id,
                        p.products_image,                                              
                        p.products_tax_class_id,
                        p.products_vpe,
                        p.products_vpe_status,
                        p.products_vpe_value,
                        p.products_price,
                        pd.products_name,
                        pd.products_keywords,
                        pd.products_meta_keywords
                     FROM ".TABLE_PRODUCTS." p
                  LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." pd 
                       ON (p.products_id = pd.products_id AND pd.language_id = '".(int) $_SESSION['languages_id']."' AND pd.products_name != '')
                  LEFT JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." p2c
                       ON p.products_id = p2c.products_id
                  LEFT JOIN ".TABLE_CATEGORIES." c
                       ON c.categories_id = p2c.categories_id AND c.categories_status = 1
                    WHERE p.products_status = 1
                      " . $fsk_lock . "
                      " . $group_check . "
                      " . $current_prd . "
                      " . $days . "                                           
                   ORDER BY p.products_date_added desc
                    LIMIT ".MAX_RANDOM_SELECT_NEW))
// EOF - Timo Paul (mail[at]timopaul[dot]biz) - 2014-10-28 - SEO-Images

6. Installation / Konfiguration

Im Shop-Backend unter "Erweiterte Konfiguration" >> "Meta-Tags/Suchmaschinen" sind am Ende der Liste drei neue Konfigurationsmöglichkeiten zu finden.

a) Suchmaschinenfreundliche Bilder?

De-/Aktiviert das Modul "SEO Images"

b) Feld für die Keywords

Wählbar ob die Daten aus dem Feld "keywords" (Zusatz-Begriffe für Suche), "meta_keywords" (Meta Keywords) oder "name" (Name) verwendet werden sollen.

c) Fallback für die Keywords

Sollten in dem unter b) angegebenen Feld keine Daten vorhanden sein, werden optional die hier angegebenen verwendet

d) Anzahl der Keywords

Anzahl der zu verwendenden Keywords zur generierung der Suchmaschinenfreundlichen Dateinamen als Ganzzahl (3-7 sind zu empfehlen).

7. Fertig

Das war es auch schon. Nun wollen wir gemeinsam zusehen wie das Ranking unserer Bilder in den Suchmaschinen steigt.

Kommentare (4)

  • Hallo Arno,

    vielen Dank für die Nachricht. Da die Sprachangaben nur für die Administrationsbereich sind werde ich es erst in der nächsten Version (2.2) einbauen.

    Ob es in einer der kommenden Versionen des Shop-Cores mit aufgenommen wird, kann ich nicht entscheiden, werde aber Torsten und das modified-Team aufmerksam machen.

    [EDIT] habe soeben eine Antwort erhalten, wurde als Ticket #191 für die Shop-Version 2.10 mit aufgenommen.
  • 3 Tippfehler in /lang/german/admin/configuration.php:

    Dateinamen statt Dteinamen
    Kategorie statt Katgorie
    Zusammenhang statt Zusammenhand

    Alle Angaben wie immer ohne Gewähr. ;)

    Ich hoffe, Du bringst das Dingen im Standard unter, vielen Dank dafür!
  • Hi Fan,
    vielen Dank für den Hinweis. Die Komponente wurde bereits aktualisiert.
  • Hallo Timo, danke für das tolle Modul aber ist niemandem von den 13 "gefällt mir Klickern" aufgefallen das in der advanced_search.php ein Fehler in deinem Code ist? ;-)

500 Zeichen verbleiben

Cancel or