Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
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: Google Suche Zweisprachiger Shop

    Andrin

    • Fördermitglied
    • Beiträge: 24
    Google Suche Zweisprachiger Shop
    am: 19. Dezember 2018, 13:26:46
    Liebe Community

    Ich habe unseren Shop seit neustem in zwei Sprachen, nun zeigt aber die Google Suche unseren link immer mit dem Zusatz /index.php?language=de an.

    Wie kann ich dies ändern das es keinen Zusatz hat sondern nur https://www.meinshop.de anzeigt und nicht https://www.meinshop.de/index.php?language=de

    Gruss Andrin

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

    Alfred

    • Experte
    • Beiträge: 2.117
    Re: Google Suche Zweisprachiger Shop
    Antwort #1 am: 19. Dezember 2018, 13:59:54
    Du musst dir den Shop umprogrammieren lassen mit z.B. /en in der URL.
    Nur dann funktioniert der Shop richtig mit der Zweisprachigkeit und Google.

    Andrin

    • Fördermitglied
    • Beiträge: 24
    Re: Google Suche Zweisprachiger Shop
    Antwort #2 am: 20. Dezember 2018, 10:35:12
    Vielen Dank für die Antwort, gibt es dazu noch detailiertere Infos wo und was genau gemacht werden muss?

    So wie ich das verstanden habe sollte jeder Link immer als erstes /de oder /en anzeigen.

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: Google Suche Zweisprachiger Shop
    Antwort #3 am: 21. Dezember 2018, 12:33:34
    Hallo Andrin,

    der Teil welcher für die Erzeugung der SEO-URL-Links zuständig ist, ist bereits implementiert und muss nur konfiguriert werden. Der Teil welcher für die Auflösung der erzeugten SEO-URLs zuständig ist habe ich nachfolgend  dazu programmiert.

    Anleitung:
    Du musst in der Datei includes/extra/seo_url_mod/seo_url_shopstat.php vor folgender Codezeile

    Code: PHP  [Auswählen]
    defined('SEO_SEPARATOR') OR define('SEO_SEPARATOR',':');

    diese Zeile einfügen.

    Code: PHP  [Auswählen]
    defined('ADD_LANGUAGE_TO_LINK') OR define('ADD_LANGUAGE_TO_LINK',true);

    und in der Datei .htaccess musst du folgende Codesequenz

      ##----------------------------------------------------------------------------------
      ##-- When working with SEO-Urls you can decide, whether to use a colon ":" or a dash "-" symbol
      ##-- (Windows Servers might have problems with colon as delimiter!)
      ##-- Change the delimiter symbol also in file "/inc/shopstat_functions.inc.php"
      ##----------------------------------------------------------------------------------

      ##-- Use colon delimiter ":" for SEO-URLS (default setting)
      ##-- Categories (:::)
      RewriteRule :::([_0-9]+):([_0-9]+)\.html$ index.php?cPath=$1&page=$2 [QSA,L]
      RewriteRule :::([_0-9]+)\.html$ index.php?cPath=$1 [QSA,L]

      ##-- Products (::)
      RewriteRule ::(.+)\.html$ product_info.php?products_id=$1 [QSA,L]

      ##-- Content (:_:)
      RewriteRule :_:([0-9]+)\.html$ shop_content.php?coID=$1 [QSA,L]

      ##-- Manufacturers (:.:)
      RewriteRule :.:([_0-9]+):([_0-9]+)\.html$ index.php?manufacturers_id=$1&page=$2 [QSA,L]
      RewriteRule :.:([0-9]+)\.html$ index.php?manufacturers_id=$1 [QSA,L]

      ##-- Use dash delimiter "-" for SEO-URLS (alternative setting i.e. for windows servers)
      ##-- Categories (---)
      RewriteRule ---([_0-9]+)-([_0-9]+)\.html$ index.php?cPath=$1&page=$2 [QSA,L]
      RewriteRule ---([_0-9]+)\.html$ index.php?cPath=$1 [QSA,L]

      ##-- Products (--)
      RewriteRule --(.+)\.html$ product_info.php?products_id=$1 [QSA,L]

      ##-- Content (-_-)
      RewriteRule -_-([0-9]+)\.html$ shop_content.php?coID=$1 [QSA,L]

      ##-- Manufacturers (-.-)
      RewriteRule -.-([_0-9]+)-([_0-9]+)\.html$ index.php?manufacturers_id=$1&page=$2 [QSA,L]
      RewriteRule -.-([0-9]+)\.html$ index.php?manufacturers_id=$1 [QSA,L]

    mit dieser ersetzen.

      ##----------------------------------------------------------------------------------
      ##-- When working with SEO-Urls you can decide, whether to use a colon ":" or a dash "-" symbol
      ##-- (Windows Servers might have problems with colon as delimiter!)
      ##-- Change the delimiter symbol also in file "/inc/shopstat_functions.inc.php"
      ##----------------------------------------------------------------------------------
     
      RewriteRule ^([a-z]{2})/$ index.php?language=$1 [QSA,L]
     
      ##-- Use colon delimiter ":" for SEO-URLS (default setting)
      ##-- Categories (:::)
      RewriteRule ^([a-z]{2})/.*:::([_0-9]+):([_0-9]+)\.html$ index.php?cPath=$2&page=$3&language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/.*:::([_0-9]+)\.html$ index.php?cPath=$2&language=$1 [QSA,L]

      ##-- Products (::)
      RewriteRule ^([a-z]{2})/.*::(.+)\.html$ product_info.php?products_id=$2&language=$1 [QSA,L]

      ##-- Content (:_:)
      RewriteRule ^([a-z]{2})/.*:_:([0-9]+)\.html$ shop_content.php?coID=$2&language=$1 [QSA,L]

      ##-- Manufacturers (:.:)
      RewriteRule ^([a-z]{2})/.*:.:([_0-9]+):([_0-9]+)\.html$ index.php?manufacturers_id=$2&page=$3&language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/.*:.:([0-9]+)\.html$ index.php?manufacturers_id=$2&language=$1 [QSA,L]

      ##-- Use dash delimiter "-" for SEO-URLS (alternative setting i.e. for windows servers)
      ##-- Categories (---)
      RewriteRule ^([a-z]{2})/.*---([_0-9]+)-([_0-9]+)\.html$ index.php?cPath=$2&page=$3&language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/.*---([_0-9]+)\.html$ index.php?cPath=$2&language=$1 [QSA,L]

      ##-- Products (--)
      RewriteRule ^([a-z]{2})/.*--(.+)\.html$ product_info.php?products_id=$2&language=$1 [QSA,L]

      ##-- Content (-_-)
      RewriteRule ^([a-z]{2})/.*-_-([0-9]+)\.html$ shop_content.php?coID=$2&language=$1 [QSA,L]

      ##-- Manufacturers (-.-)
      RewriteRule ^([a-z]{2})/.*-.-([_0-9]+)-([_0-9]+)\.html$ index.php?manufacturers_id=$2&page=$3&language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/.*-.-([0-9]+)\.html$ index.php?manufacturers_id=$2&language=$1 [QSA,L]

    Als Ergebnis sollten danach typischerweise solche Links erzeugt werden.
    Code: XML  [Auswählen]
    https://shop.com/en/Testkategorie-2/Testproduct2::2.html

    Nachtrag:
    Wenn du die ursprüngliche Codesequenz in der Datei .htaccess zusätzlich zur neuen beibehältst, werden die alten SEO-URLs per Redirect 301 zu den neuen SEO-URLs weitergeleitet.

    Danach testen und Feedback geben.

    Gruss
    Hanspeter

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: Google Suche Zweisprachiger Shop
    Antwort #4 am: 21. Dezember 2018, 13:37:36
    Nachtrag:
    Das was ich in meiner Antwort #3 unter "Nachtrag:" geschrieben habe funktioniert leider nicht und mit der Datei specials.php sowie der Datei products_new.php gibt es auch noch Probleme. Deshalb poste ich nachfolgend die Änderungen welche in der Datei .htaccess durchzuführen sind nochmals

    In der Datei .htaccess musst du folgende Codesequenz

      ##----------------------------------------------------------------------------------
      ##-- When working with SEO-Urls you can decide, whether to use a colon ":" or a dash "-" symbol
      ##-- (Windows Servers might have problems with colon as delimiter!)
      ##-- Change the delimiter symbol also in file "/inc/shopstat_functions.inc.php"
      ##----------------------------------------------------------------------------------

      ##-- Use colon delimiter ":" for SEO-URLS (default setting)
      ##-- Categories (:::)
      RewriteRule :::([_0-9]+):([_0-9]+)\.html$ index.php?cPath=$1&page=$2 [QSA,L]
      RewriteRule :::([_0-9]+)\.html$ index.php?cPath=$1 [QSA,L]

      ##-- Products (::)
      RewriteRule ::(.+)\.html$ product_info.php?products_id=$1 [QSA,L]

      ##-- Content (:_:)
      RewriteRule :_:([0-9]+)\.html$ shop_content.php?coID=$1 [QSA,L]

      ##-- Manufacturers (:.:)
      RewriteRule :.:([_0-9]+):([_0-9]+)\.html$ index.php?manufacturers_id=$1&page=$2 [QSA,L]
      RewriteRule :.:([0-9]+)\.html$ index.php?manufacturers_id=$1 [QSA,L]

      ##-- Use dash delimiter "-" for SEO-URLS (alternative setting i.e. for windows servers)
      ##-- Categories (---)
      RewriteRule ---([_0-9]+)-([_0-9]+)\.html$ index.php?cPath=$1&page=$2 [QSA,L]
      RewriteRule ---([_0-9]+)\.html$ index.php?cPath=$1 [QSA,L]

      ##-- Products (--)
      RewriteRule --(.+)\.html$ product_info.php?products_id=$1 [QSA,L]

      ##-- Content (-_-)
      RewriteRule -_-([0-9]+)\.html$ shop_content.php?coID=$1 [QSA,L]

      ##-- Manufacturers (-.-)
      RewriteRule -.-([_0-9]+)-([_0-9]+)\.html$ index.php?manufacturers_id=$1&page=$2 [QSA,L]
      RewriteRule -.-([0-9]+)\.html$ index.php?manufacturers_id=$1 [QSA,L]

    mit dieser ersetzen.

      ##----------------------------------------------------------------------------------
      ##-- When working with SEO-Urls you can decide, whether to use a colon ":" or a dash "-" symbol
      ##-- (Windows Servers might have problems with colon as delimiter!)
      ##-- Change the delimiter symbol also in file "/inc/shopstat_functions.inc.php"
      ##----------------------------------------------------------------------------------
     
      RewriteRule ^([a-z]{2})/$ index.php?language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/specials.php$ specials.php?language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/products_new.php$ products_new.php?language=$1 [QSA,L]
     
      ##-- Use colon delimiter ":" for SEO-URLS (default setting)
      ##-- Categories (:::)
      RewriteRule ^([a-z]{2})/.*:::([_0-9]+):([_0-9]+)\.html$ index.php?cPath=$2&page=$3&language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/.*:::([_0-9]+)\.html$ index.php?cPath=$2&language=$1 [QSA,L]

      ##-- Products (::)
      RewriteRule ^([a-z]{2})/.*::(.+)\.html$ product_info.php?products_id=$2&language=$1 [QSA,L]

      ##-- Content (:_:)
      RewriteRule ^([a-z]{2})/.*:_:([0-9]+)\.html$ shop_content.php?coID=$2&language=$1 [QSA,L]

      ##-- Manufacturers (:.:)
      RewriteRule ^([a-z]{2})/.*:.:([_0-9]+):([_0-9]+)\.html$ index.php?manufacturers_id=$2&page=$3&language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/.*:.:([0-9]+)\.html$ index.php?manufacturers_id=$2&language=$1 [QSA,L]

      ##-- Use dash delimiter "-" for SEO-URLS (alternative setting i.e. for windows servers)
      ##-- Categories (---)
      RewriteRule ^([a-z]{2})/.*---([_0-9]+)-([_0-9]+)\.html$ index.php?cPath=$2&page=$3&language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/.*---([_0-9]+)\.html$ index.php?cPath=$2&language=$1 [QSA,L]

      ##-- Products (--)
      RewriteRule ^([a-z]{2})/.*--(.+)\.html$ product_info.php?products_id=$2&language=$1 [QSA,L]

      ##-- Content (-_-)
      RewriteRule ^([a-z]{2})/.*-_-([0-9]+)\.html$ shop_content.php?coID=$2&language=$1 [QSA,L]

      ##-- Manufacturers (-.-)
      RewriteRule ^([a-z]{2})/.*-.-([_0-9]+)-([_0-9]+)\.html$ index.php?manufacturers_id=$2&page=$3&language=$1 [QSA,L]
      RewriteRule ^([a-z]{2})/.*-.-([0-9]+)\.html$ index.php?manufacturers_id=$2&language=$1 [QSA,L]

    Gruss
    Hanspeter

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: Google Suche Zweisprachiger Shop
    Antwort #5 am: 02. Januar 2019, 11:42:05
    Hallo Andrin,

    ein kleiner Nachtrag, den Code welcher das Anhängen des "language" Parameters an die URL verhindert noch ein bisschen überarbeitet und erweitert, siehe hier -> Vorschlag zur SEO-URL, link-alternate-hreflang und sitemap.xml Problematik

    Gruss
    Hanspeter
    Trade Republic - Provisionsfrei Aktien handeln