1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Websuchmaschinen und gettext

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von wosinzky, 22.01.08.

  1. wosinzky

    wosinzky Gloster

    Dabei seit:
    07.02.06
    Beiträge:
    62
    Moin,

    ich hoffe die Überschrift passt halbwegs :-D . Mein Problem ist folgendes: ich habe mein Webprojekt mehrsprachig gemacht. Und das mittels gettext. Mein Problem ist nun folgendes: Google & Co. finden nur die Sprache, die in _("DIE SPRACHE") angegeben ist. Andere nicht! Ist ja auch logisch, woher soll die Suchmaschine (bzw. der robot) wissen welche anderen Sprachen noch verfügbar sind. Mein Frage ist nun, wie kann ich erreichen das der "deutsche" Google die deutschen Seiten findet und der "xyz" Google die xyz Seiten findet?????


    Hmm...hab noch keine Lösung gefunden.

    Wosinzky
     
  2. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    Setze Meta-Angaben zur Sprache:

    http://de.selfhtml.org/html/kopfdaten/meta.htm#sprache
    und:
    Code:
    <meta http-equiv="content-language" content="de">
    siehe auch: Ländercodes

    Damit Google auch noch die weiteren verfügbaren Sprachen findet muss man die entsprechenden Seiten optimieren- dh: von internen bzw externen Seiten verlinken (w^3.mypage.com/de/, w^3.mypage.com/en/, etc). Den Rest erledigt Google dann automatisch - da kann man nicht eingreifen.
    lg
     
  3. wosinzky

    wosinzky Gloster

    Dabei seit:
    07.02.06
    Beiträge:
    62
    Wenn ich ehrlich bin, verstehe ich nicht was Du geschrieben hast. Vielleicht kannst Du es für mich ein bisschen Idiotensicherer machen? Also meine Seiten sehen ca. so aus :

    <?php
    /* sucht die vom Nutzer im Browser eingestellte Sprache und schaltet gettext ein. */
    setupGettext();
    ?>

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title> <? echo _("a title") ?> </title>
    </head>
    <body>
    <?php
    echo _("a text.");
    ?>
    </body>
    </html>


    Vielleicht kannst Du mir einen Beispielcode geben?

    Woher weiss die Suchmaschine welche anderen Sprachen noch verfügbar sind? Bzw. wie sage ich ihr das?

    Thx
     
  4. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Hallo,

    Du müsstest dann ja irgendwie auslesen ob der Bot eine Info mitschickt welche Sprache er will. Das geht aber nicht weil der Bot keine Sprache spricht und der Bot eine Seite auch nicht dann indexiert wenn jemand darauf zugreifen will sondern die Seite schon im voraus indexiert und dann landet sie so wie sie ist im Index von Google.

    Das manipulieren würde ich aber auch nicht empfehlen weil Google das als doppelten Inhalt sieht und das sieht Google gar nicht gerne. ;)

    Was du machen kannst ist, einen Check einzubauen welche Sprache der Besucher spricht um ihm dann eine passende Sprache zu präsentieren wenn die Seite betritt und das machst du ja auch so.
     
  5. wosinzky

    wosinzky Gloster

    Dabei seit:
    07.02.06
    Beiträge:
    62
    Hmm, das ist es ja. Ich hab eine Funktion die mir raussucht an welcher Sprache der Nutzer interessiert ist und dem entsprechend gettext einstellt. Das klappt alles 1A.

    Problem ist, wenn der Nutzer meine Seite ergooglet (was für'n Wort :) ??? ) sieht er in Google aber nur die englische Version, da der Bot ja auch nur die englische Seite sieht. Irgendwie muss es aber möglich sein, da die großen Unternehmen auch alles in mindestens 2 Sprachen anbieten. Und wenn man sucht, dann erscheint das Suchergebnis immer in der jeweils "richtigen" Sprache.
     
  6. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    Beispiel:
    Ich habe als bevorzugte Sprache "deutsch" eingestellt - möchte aber die englische Version sehen. Was kann ich tun? Gibts einen Link für die alternative(n) Seitensprache(n)?
     
  7. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    Ok - noch ne kleine Hilfestellung:


    Sprachauswahl auf der Webseite:
    Code:
    …
    <body>
       <a href="index.php?lang=de">Deutsche Version</a>
       <a href="index.php?lang=en">English Version</a>
    </body>
    …
    

    php-Quellcode könnte dann so aussehen (Betonung liegt auf könnte da ich nicht weiss welche Konfigurationsmöglichkeiten getText bietet):

    Code:
    …
    <html>
    <head>
    <?php
       
      switch($_GET("lang") {
         case 'en':
            setupGettext("EN");
            echo('<meta http-equiv="content-language" content="en"/>');
            break;
         case 'de':
         default:
            setupGettext("DE");
              // meta Angabe zur Sprache => somit weiss google dass es sich um einen deutschsprachigen Inhalt handelt
            echo('<meta http-equiv="content-language" content="de"/>');
      }
    
    ?>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title> <? echo _("a title") ?> </title>
    </head>
    <body>
    <?php
    echo _("a text.");
    ?>
    </body>
    </html>
    
    
     
  8. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Das bringt aber nix weil der Bot von Google keine Sprache mitschickt die er gerne hätte. :)

    Es wird also immer die deutsche oder immer die englische Sprache im Index auftauchen. Natürlich abhängig davon was als Standard eingestellt wurde.
     
  9. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    Ja deshalb auch die Verlinkung damit Google die alternativen Seiten findet:
    Code:
    …
    <body>
       <a href="index.php?lang=de">Deutsche Version</a>
       <a href="index.php?lang=en">English Version</a>
    </body>
    …
    um dann die Sprache von gettext über den GET-Parameter einzustellen:

    Pseudocode:
    Code:
    …   
      switch($_GET("lang") {
         case 'en':
            setupGettext("EN");
    …
    
    

    man müsste allerdings den GET-Parameter bei allen Links mitziehen
     
  10. wosinzky

    wosinzky Gloster

    Dabei seit:
    07.02.06
    Beiträge:
    62
    Hab die Idee verstanden. Wird wohl auch die einzige Möglichkeit sein o_O ?

    Irgendwie unbefriedigend :(

    Aber trotzdem danke :)
     

Diese Seite empfehlen