• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Websuchmaschinen und gettext

wosinzky

Gloster
Registriert
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
 

creative7even

Jerseymac
Registriert
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
 

wosinzky

Gloster
Registriert
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
 

MrNase

Champagner Reinette
Registriert
11.01.05
Beiträge
2.656
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.
 

wosinzky

Gloster
Registriert
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.
 

creative7even

Jerseymac
Registriert
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)?
 

creative7even

Jerseymac
Registriert
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>
 

MrNase

Champagner Reinette
Registriert
11.01.05
Beiträge
2.656
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.
 

creative7even

Jerseymac
Registriert
23.02.05
Beiträge
454
Das bringt aber nix weil der Bot von Google keine Sprache mitschickt die er gerne hätte. :)

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
 

wosinzky

Gloster
Registriert
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 :)