Seite 1 von 1

Ajax, Javascript und Google-Bot

Verfasst: 23.04.2010, 14:19
von virtualart
Hallo zusammen,

ich bin neu hier und seit ein paar Wochen passiver Leser in diesem Forum.

Ich habe folgendes Problem:

Ich habe eine Webseite die Stark auf AJAX basiert. Es werden z.b. wichtige Dinge, wie die Navigation über AJAX realisiert. Daher wird dynamisch (PHP) alternativ eine nicht AJAX basierte Lösung (mit normalen HTML Links) bereitgestellt um den Content auch für Bots und User ohne JavaScript zugänglich zu machen.

Zur Detektion, ob der Client JS unterstützt habe ich in einem JavaScript HTML-Tag einen Redirect gesetzt und auf die Hauptseite mit einer modifizierten URL (Query &js) weitergeleitet und dort dann mit PHP die URL auf den Parameter "js" untersucht. Ist der Parameter vorhanden, ist auch JavaScript akitiviert.

Wie ich jetzt gesehen habe (ich bin noch grün hinter den Ohren bzgl SEO) ist das tödlich hinsichtlich Google-Bots, SEO usw da:
+ ein clientseitiger Redirect ausgelöst wird
+ direkt auf der Hauptseite ein Redirect ausgelöst wird
==> Das mag Google gar nicht, was ich auch bitter an meinen Income-Searchs über die Google SERPs gesehen habe :-(

Meine Frage(n)
+ Liege ich richtige mit meiner Erkentnis?

+ Verschluckt sich der GoogleBot tatsächlich an der Client-weiterleitung (lt. meinen Kenntnisstandes verarbeitet der GoogleBot kein JS), oder analysiert der Bot einfach den HTML-Code auf solchen Code?

+ Gibt es den "richtigen" Weg zu detektieren ob ein Client JS unterstützt?

Vielen Dank für jeglichen Input! Ich bin derzeit etwas Rat- und Planlos über meine nächsten Korrekturen die ich treffen sollte.

Simon

Verfasst:
von

Re: Ajax, Javascript und Google-Bot

Verfasst: 23.04.2010, 15:13
von Mork vom Ork
virtualart hat geschrieben:+ Gibt es den "richtigen" Weg zu detektieren ob ein Client JS unterstützt?
Es gibt nur einen, <noscript>, und der ist nicht nur in Anführungszeichen richtig (lies: irgendwie hingemurkst), sondern müsste Javascript-Programmierern bekannt sein, schon alleine, weil <noscript> so lange existiert wie <script> und beide in der einen oder anderen Form ein unzertrennliches Gepann bilden. Angesichts dessen ist mir offen gesagt schleierhaft, warum du so ein Tralala mit Javascript und Umleitung und URL-Parametern und Bla veranstaltest.

Verfasst: 23.04.2010, 15:19
von virtualart
1) <noscript> wurde bei meinen Tests vom Chrome-Browser komplett ignoriert. Firefox, IE, Safari + Opera reagieren darauf.

2) egal ob <script> oder <noscript>: ich habe dann immer noch das selbe problem, weil ich auf Serverseite in php beim generieren der Seite wissen "muss" ob JS verfügbar ist oder nicht und die einzige Möglichkeit scheint zu sein, eine Parameterübergabe zu machen....

Verfasst:
von

Verfasst: 23.04.2010, 15:25
von DanielS
virtualart hat geschrieben:2) egal ob <script> oder <noscript>: ich habe dann immer noch das selbe problem, weil ich auf Serverseite in php beim generieren der Seite wissen "muss" ob JS verfügbar ist oder nicht und die einzige Möglichkeit scheint zu sein, eine Parameterübergabe zu machen....
Warum muss der Server das wissen? Du generierst einfach immer die JavaScript-Freie Navigation und packst die in den <noscript>-Tag.

Verfasst: 23.04.2010, 15:39
von virtualart
@DanielS: Ok, das wäre eine Möglichkeit. Vielen Dank für den Tip!!! Nur das es irgendwie mit Chrome und dem <noscript> Tag irgendwie nicht so hinhaut (Chrome + Javascript disabled ==> <noscript> wird trotzdem ignoriert)
Aber ich werde das ausprobieren, vllt. lag es auch an was anderem.

Verfasst: 23.04.2010, 15:45
von DanielS
virtualart hat geschrieben:...vllt. lag es auch an was anderem.
Wahrscheinlich

Verfasst: 23.04.2010, 16:00
von Mork vom Ork
virtualart hat geschrieben:
DanielS hat geschrieben:Du generierst einfach immer die JavaScript-freie Navigation und packst die in den <noscript>-Tag.
Ok, das wäre eine Möglichkeit. Vielen Dank für den Tipp!!!
Gnrmbl … "Tipp" ist gut, das ist die vorgesehene Verwendung für <noscript>. Was hast du denn gedacht, wozu das Ding gut ist?

Verfasst: 23.04.2010, 16:32
von DanielS
Mork vom Ork hat geschrieben:Gnrmbl … "Tipp" ist gut, das ist die vorgesehene Verwendung für <noscript>. Was hast du denn gedacht, wozu das Ding gut ist?
:lol:

Verfasst: 24.04.2010, 12:03
von virtualart
Habs eben getestet: JavaScript AUS!

Also folgender Code funktioniert in den Major-Browser, allerdings im Chrome (Version 4.1.249.1059) nicht. ==> Es wird kein NOSCRIPT ausgegeben :-(


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"https://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body>
<script type="text/javascript">document.write("SCRIPT")</script>
<noscript><h1>NOSCRIPT</h1></noscript>
</body>
</html>