Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Keine Meta-Angaben ohne index.php (SEO-URL)

    Merlin

    • Schreiberling
    • Beiträge: 270
    • Geschlecht:
    Keine Meta-Angaben ohne index.php (SEO-URL)
    am: 16. März 2012, 12:47:41
    Hallo,

    ich bin gerade dabei verschiedene SEO-URL Module mit modified eCommerce Shopsoftware zu testen.

    Dazu benutze ich die aktuelle modified eCommerce Shopsoftware 1.05 SP1b Version ohne Shopstat.

    Bisher habe ich zwei kostenpflichtige Module eingebaut, SEF URLs und eine erweiterte DirectUrl Version.

    Beide funktionieren einwandfrei bis auf eine Kleinigkeit.
    Wenn ich die "http://domain.de/index.php" aufrufe dann werden die Meta-Angaben die man im Content Manager bei Index eingeben kann übernommen.
    Rufe ich dagegen "http://domain.de/" auf werden keine Meta-Angaben übernommen.

    Habe gedacht das man es in der "metatags.php" zusätzlich so in der Art machen könnte:
    Code: PHP  [Auswählen]
    <?php if (basename($_SERVER[SCRIPT_NAME]) == '/') { ?>
    <title><?php echo metaClean($meta_title);?></title>
    <meta name="keywords" content="<?php echo metaClean($meta_keyw); ?>" />
    <meta name="description" content="<?php echo metaClean($meta_descr,$metaDesLength); ?>" />
    <?php } ?>

    Hat jemand einen Tipp für mich?

    Grüße
    Merlin

    Linkback: https://www.modified-shop.org/forum/index.php?topic=18944.0

    Merlin

    • Schreiberling
    • Beiträge: 270
    • Geschlecht:
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #1 am: 16. März 2012, 19:35:27
    So erhalte ich eine Ausgabe:
    Code: PHP  [Auswählen]
    <?php if (($_SERVER['REQUEST_URI']) == '/') { ?>
    <title><?php echo TITLE; ?></title>
    <meta name="description" content="<?php echo META_DESCRIPTION; ?>" />
    <meta name="keywords" content="<?php echo META_KEYWORDS; ?>" />
    <?php } ?>

    Leider erhalte ich keine Meta-Angaben die man im Content Manager bei Index eingeben kann, egal wie ich es mache:

    Code: XML  [Auswählen]
    <title><?php echo metaClean($meta_title);?></title>

    <title><?php echo $contents_meta['content_meta_title'];?></title>

    <meta name="description" content="<?php echo $meta_description; ?>" />

    Usw ...

    Nichts davon funktioniert. Hat wirklich niemand eine Idee?

    svadile

    • Neu im Forum
    • Beiträge: 4
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #2 am: 06. Mai 2012, 20:39:21
    Hallo,

    ich habe genau das selbe problem. Konntest du bereits eine Lösung hierzu finden?

    Grüße

    svadile

    • Neu im Forum
    • Beiträge: 4
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #3 am: 06. Mai 2012, 21:55:30
    Sodele,

    das ganze hat mir keine Ruhe gelassen ... Die Lösung ist im Grunde denkbar einfach: das Problem liegt in der Metatag.php. Dort wird die Description und Keyword fix bezogen, es besteht also kein DB zugriff. Also muss dieser erweitert werden.

    Wenn du die Metatags.php von der DirecturlV3 nutzt. musst du in Zeile 77:
    von
    Code: PHP  [Auswählen]
    $contents_meta_query = xtDBquery("SELECT content_heading

    in
    Code: PHP  [Auswählen]
    $contents_meta_query = xtDBquery("SELECT *
    ändern.

    Zeile 83 und 84 : von
    Code: PHP  [Auswählen]
    <meta name="description" content="<?php echo META_DESCRIPTION; ?>" />
    <meta name="keywords" content="<?php echo META_KEYWORDS; ?>" />
     

    in

    Code: PHP  [Auswählen]
    <meta name="description" content="<?php echo $contents_meta['content_meta_description']; ?>" />
    <meta name="keywords" content="<?php echo $contents_meta['content_meta_keywords']; ?>" />

    ändern.

    Das wars.

    Ich hoffe ich konnte helfen. Bei mir funktioniert es zumindest.

    Übrigens: Die Description der Startseite kannst du weiter über das erweiterte Menü anpassen.

    Beste Grüße vadile

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #4 am: 10. Mai 2012, 11:45:57
    Hallo,

    ich möchte das Thema noch eimal aufgreifen, da ich in einigen Kommentaren gelesen habe, dass hier auch einige das SEF URL Modul einsetzen und möglicherweise schon eine Antwort haben.

    Ich habe auch das Problem, dass die Meta Tags der Startseite (index) nicht im Quellcode angezeigt werden, wenn ich in die entsprechenden Feldern der Content-Seite ausgefüllt habe. Es werden nur die Angaben übernommen, die ich in der erweiterten Konfiguration bei Metatags/Suchmaschinen eingegeben habe. Stehen dort keine Angaben drin, wird ebenfalls nicht übernommen. Bei allen anderen Contentseiten sind die Metaangaben drin.

    Ich benutze die Version 1.05 SP1b und die Original metagags.php.

    Es wäre schön, wenn mir einer eine Antwort geben könnte. Ich bekomme leider keinen Support mehr bei dem Entwickler von SEF URL in der Schweiz, da das Modul anscheindend nicht mehr verkauft wird. Auch sonst habe ich im Internet keine Antwort finden können.

    Gruß

    Robert

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #5 am: 10. Mai 2012, 17:53:57
    Hat keiner eine Lösung? Auch nicht die, die das Modul selbst einsetzen?

    Merlin

    • Schreiberling
    • Beiträge: 270
    • Geschlecht:
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #6 am: 10. Mai 2012, 20:32:51
    Hallo,

    bis es mal eine bessere Lösung gibt könnte man es vielleicht so machen in 1.05 SP1b mit Original metagags.php :

    Die gewünschten "Description" und "Keywords" für die Startseite gibt man einfach in der erweiterten Konfiguration bei Metatags/Suchmaschinen ein, die werden ja angezeigt.

    Es fehlt also nur noch eigener Titel "Title" auf der Startseite.

    Da ich nicht weiß wie Ihr eure Domain aufruft "http://domain.de/index.php" oder "http://domain.de/" , hier ein Voeschlag der mit und ohne "index.php" funktioniert:

    In /includes/modules/metagags.php suchen:
    Code: PHP  [Auswählen]
    <title><?php echo metaClean($meta_title);?></title>

    Ersetzen mit:
    Code: PHP  [Auswählen]
    <?php if ($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php'){ ?>
    <title>Eigener Titel - Wie auch immer - domain.de</title>
    <?php } else { ?>
    <title><?php echo metaClean($meta_title);?></title>
    <?php } ?>

    Grüße
    Merlin

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #7 am: 11. Mai 2012, 01:15:10
    Hallo Merlin,

    mit dem SP1c werden die Metatags für Index im Contentmanager auch für "http://domain.de/" übernommen.

    Im Trunk Demoshop müsste das schon funktionieren.

    Gruss Web28

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #8 am: 11. Mai 2012, 17:52:41
    Danke Merlin für die Antwort. Leider wird das Problem dadurch nicht gelöst. Sicher kann ich den Startseitentitel unter "Konfiguration/Shop" einstellen und die Meta-Description sowie Keywords unter "Erweiterte Konfiguration/Metatags/Suchmaschinen." Das funktioniert auch.

    Das eigentliche Problem ist, wenn man z. B. die englische Sprache nutzt. Dann muss man zwangsläufig die Metatags und den Titel bei beiden Sprachen im Content-Manager hinterlegen, sonst sind englischer Titel, Metatags und deutscher Titel/Metatags identisch. Das ist für Suchmaschinen eine Katastrophe.
    Deaktiviere ich das SEF URL Modul, funktioniert alles einwandfrei.

    Daher löst Dein Vorschlag das Problem nicht.

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #9 am: 11. Mai 2012, 18:04:08
    Es wir wohl so sein, wie Svadile hier geschrieben hat:
    "Dort wird die Description und Keyword fix bezogen, es besteht also kein DB zugriff. Also muss dieser erweitert werden."
    In der Datenbank stehen nämlich die Angaben drin, diese werden aber nicht ausgelesen.

    Leider hat er hier eine andere Metatags.php angegeben, so dass ich mit seiner Lösung nichts anfangen kann, weil ich die Original Metatags.php von Modified benutze.

    Eventuell kann mir jetzt eher geholfen werden.

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #10 am: 13. Mai 2012, 12:25:02
    Es gibt doch noch eine andere Lösung, um die Meta Tags und den Titel für die deutsche Sprache und Fremdsprachen per german.php hinzuzufügen, wie im folgenden Beitrag steht:

    http://www.modified-shop.org/forum/index.php?topic=18487.0

    Die Lösung müsste demnach sehr einfach sein, aber kann mir bitte einer erklären, wie ich die metatags.php ändern muss, wenn ich in der german.php die entsprechenden Konstanten einsetze wie z. B. "define('STANDARD_META_TITLE', 'Der deutscher Seitentitel');
    define('STANDARD_META_DESCRIPTION', 'Die Beschreibung');
    define('STANDARD_META_KEYWORDS', 'Die Suchbegriffe');"?

    Das soll allerdings nur für die Startseite (index) erfolgen, da die Meta Tags und Titel der anderen Contentseiten funktionieren.

    Gruß

    Robert

    Merlin

    • Schreiberling
    • Beiträge: 270
    • Geschlecht:
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #11 am: 13. Mai 2012, 18:50:08
    @Web28
    Habe nichts gefunden wo Funktioniert, wo finde ich diese funktionierenden Metatags?

    @Robert
    Was gibt es an meinem Vorschlag auszusetzen?
    Du hast ja nicht gleich gesagt wie viel Sprachen Du in deinem Shop hast.

    Du musst halt meinen Vorschlag nur etwas erweitern.

    Die gewünschten Sprachdatei einfach erweitern. Z.B. in der Sprachdatei "german.php" an Ende hinzufügen:
    Code: PHP  [Auswählen]
    define('INDEX_META_TITLE','Meta Titel für die Startseite - deinshop.de');
    define('INDEX_META_DESCRIPTION','Meta description für die Startseite');
    define('INDEX_META_KEYWORDS','Meta Keywords für die Startseite');

    In der "metatags.php" suchen:
    Code: PHP  [Auswählen]
    <meta name="keywords" content="<?php echo metaClean($meta_keyw); ?>" />
    <meta name="description" content="<?php echo metaClean($meta_descr,$metaDesLength); ?>" />

    Und hiermit Ersetzten:
    Code: PHP  [Auswählen]
    <?php if ($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php') { ?>
    <title><?php echo INDEX_META_TITLE;?></title>
    <meta name="keywords" content="<?php echo INDEX_META_DESCRIPTION; ?>" />
    <meta name="description" content="<?php echo INDEX_META_KEYWORDS; ?>" />
    <?php } else { ?>
    <title><?php echo metaClean($meta_title);?></title>

    <meta name="keywords" content="<?php echo metaClean($meta_keyw); ?>" />
    <meta name="description" content="<?php echo metaClean($meta_descr,$metaDesLength); ?>" />
    <?php } ?>

    Habe es nicht getestet mit mehreren Sprachen aber es müsste funktionieren.

    Grüße
    Merlin

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #12 am: 13. Mai 2012, 19:45:30
    Zitat
    Wenn ich die "http://domain.de/index.php" aufrufe dann werden die Meta-Angaben die man im Content Manager bei Index eingeben kann übernommen.
    Rufe ich dagegen "http://domain.de/" auf werden keine Meta-Angaben übernommen.

    Hallo Merlin,
    das kann ich in den Demoshops nicht nachstellen, in der metatags.php greift ja folgende Abfrage

     
    Code: PHP  [Auswählen]
     // Wenn wir auf der Startseite sind, Metas aus der index-Seite holen  
      if(  basename($_SERVER['SCRIPT_NAME'])==FILENAME_DEFAULT &&
        empty($_GET['cat']) &&
        empty($_GET['cPath']) &&
        empty($_GET['manufacturers_id'])
      ) {
        $ml_meta_where = "content_group = 5";

      // ... ansonsten Metas aus STANDARD_META holen
      } else {
        $ml_meta_where = "content_title = 'STANDARD_META'";
      }

    Falls das bei Dir nicht funktioniert, einfach eine Oder Bedingung hinzufügen

    Code: PHP  [Auswählen]
     || $_SERVER['REQUEST_URI'] == DIR_WS_CATALOG

    Gruss Web28

    Merlin

    • Schreiberling
    • Beiträge: 270
    • Geschlecht:
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #13 am: 14. Mai 2012, 07:28:20
    Hallo Web28,

    mit und ohne Shopstat funktioniert ja alles, es funktioniert nur nicht wenn man DirectURL oder SEF URL von Customweb benutzt.

    Wenn ich z.B. möchte das es bei SEF URL mit und ohne "index.php" funktioniert dan müsste ich beides einfügen:

    Code: PHP  [Auswählen]
            // Wenn wir auf der Startseite sind, Metas aus der index-Seite holen
            if(     basename($_SERVER['SCRIPT_NAME'])==FILENAME_DEFAULT || $_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php' &&
                    empty($_GET['cat']) &&
                    empty($_GET['cPath']) &&
                    empty($_GET['manufacturers_id'])
            ) {
                    $ml_meta_where = "content_group = 5";

            // ... ansonsten Metas aus STANDARD_META holen
            } else {
                    $ml_meta_where = "content_title = 'STANDARD_META'";
            }

    Mit DirectURL habe ich es noch nicht probiert, müsste aber auch funktionieren.

    Gruß
    Merlin

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Keine Meta-Angaben ohne index.php (SEO-URL)
    Antwort #14 am: 14. Mai 2012, 17:32:08
    Hallo Merlin,

    die Und Statements gehören zusammen, der neue Oder Teile kommt davor oder dahinter:

    Code: PHP  [Auswählen]
     // Wenn wir auf der Startseite sind, Metas aus der index-Seite holen  

      if(basename($_SERVER['SCRIPT_NAME'])==FILENAME_DEFAULT &&
        empty($_GET['cat']) &&
        empty($_GET['cPath']) &&
        empty($_GET['manufacturers_id'])
    || $_SERVER['REQUEST_URI'] == DIR_WS_CATALOG
      ) {
        $ml_meta_where = "content_group = 5";
      // ... ansonsten Metas aus STANDARD_META holen
      } else {
        $ml_meta_where = "content_title = 'STANDARD_META'";
      }

     

    FILENAME_DEFAULT = index.php
    DIR_WS_CATALOG = '/' oder '/unterverzeichnis/'

    1. Bedingung: index.php ohne Parameter
    2. Bedingung: Domain (mit Unterverzeichnis)

    Gruss Web28
    3 Antworten
    2668 Aufrufe
    22. September 2013, 11:34:13 von fishnet
    2 Antworten
    2611 Aufrufe
    20. August 2011, 23:09:08 von ds170477
    2 Antworten
    2061 Aufrufe
    07. Juni 2013, 13:23:06 von MarcusS81
    4 Antworten
    3176 Aufrufe
    23. Juli 2011, 13:00:25 von koshiro