Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

_escaped_fragment_ --> Googlebot gibt 301 zurück

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Allertaler
PostRank 1
PostRank 1
Beiträge: 3
Registriert: 12.09.2012, 08:27

Beitrag von Allertaler » 12.09.2012, 08:41

Hallo Gemeinde,

ich habe ein Problem mit meinen HTML-Snapshot-Dateien. Für den Googlebot habe ich jene extra erstellt und in der .htaccess ausgewiesen:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=\/([^&]*)
RewriteRule .* http://www.domain.de/index.php?cont=%1 [R=301,L,NE]
Die Original-URL lautet bspw.: https://www.domain.de/#!/inhalt. Wenn ich zum Testen https://www.domain.de/?_escaped_fragment_=/inhalt aufrufe, wird diese auch korrekt zu https://www.domain.de/index.php?cont=inhalt umgeleitet. Jetzt sind im Google-Index allerdings auch diese Version gelistet (https://www.domain.de/index.php?cont=inhalt), obwohl ich ausschließlich die URL's mit #! in der XML-Sitemap gelistet habe. Wenn ich in den Webmastertools unter "Abruf wie durch Google" --> https://www.domain.de/#!/inhalt eingebe, gibt er mir aus:

Code: Alles auswählen

HTTP/1.1 301 Moved Permanently
(...)
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http&#58;//www.domain.de/index.php?cont=inhalt">here</a>.</p>
<hr>
<address>Apache/2.2.22 Server at www.domain.de Port 80</address>
</body></html>
Kennt jemand das Problem bzw. könnte mir evt. helfen? Wie erreiche ich zudem, dass in der Google-Suche auch die "Pretty URL" (wie die Google-Hilfe sie nennt) und nicht die "Ugly URL" angezeigt werden?

Vielen Dank & Grüße
Sven

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.09.2012, 09:56

Nun, dann darfst Du keine Weiterleitung setzen. Du sagst Google ja explizit: "Nimm nicht die _escaped_fragment_ (gibt es nicht mehr) sondern die index.php?cont".

https://support.google.com/webmasters/b ... wer=174993

Allertaler
PostRank 1
PostRank 1
Beiträge: 3
Registriert: 12.09.2012, 08:27

Beitrag von Allertaler » 12.09.2012, 10:11

Aber ich dachte, diese Anweisung in der .htaccess bewirkt, wenn der Googlebot ja die Anfrage mit ?_escaped_fragment_= stellt, dass dann die index.php?cont= geladen wird (in dem ja der lesbare Inhalt steckt). Oder habe ich da einen gehörigen Denkfehler?

Danke & Grüße

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.09.2012, 13:31

Ja, das hast Du einen Denkfehler. Wenn Du nur willst, dass das File geladen wird, dann setze als Flag einfach ein [L]. Dann wird das hinten angegebene File geladen, die URL bleibt aber wie vorne angegeben.

Du setzte aber ein [R=301,L] und lädst das File also nicht einfach, sondern leitest die Anfrage an eine andere, neue URL weiter. Nach der Weiterleitung hast Du also eine neue URL und dann wird das File aufgerufen.

Das eine heißt also, dass der Inhalt des Files geladen wird. Das andere, dass an die neue URL eine Weiterleitung erfolgt. Das sind zwei gänzlich unterschiedliche Dinge.

0101
PostRank 1
PostRank 1
Beiträge: 2
Registriert: 17.09.2012, 09:55

Beitrag von 0101 » 17.09.2012, 10:04

Muss mich hier mal einklinken weil ich eine ähnliche Frage habe:

Google wandelt ja den Hashbang #! in ?_escaped_fragment_ um. Nun zu meinem Problem:
Ich übergebe bereits eine Variable sodass zwei ? in der Url stehen würden. Also dachte ich mir schreibe ich das 2te ? mit nem mod_rewrite in ein & um und lasse es verarbeiten. Leider kriege ich letzteres nicht hin. Mein Verusch: index.php?url=test.php?_escaped_fragment_= zu index.php?url=test.php&_escaped_fragment_= umzuschrieben

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)
RewriteRule ^(.*)$ ^index.php?url=test.php&_escaped_fragment_=$1 [L]

klappt leider nicht.
Wäre schön wenn sich jemand der Sache mal annehmen könnte.

Danke

Gruß

Allertaler
PostRank 1
PostRank 1
Beiträge: 3
Registriert: 12.09.2012, 08:27

Beitrag von Allertaler » 17.09.2012, 10:28

Dank Synonym, für den Hinweis. Ich habe die .htaccess jetzt so abgeändert (vielleicht hilft es anderen auch), so dass es nun funktioniert:

Code: Alles auswählen

RewriteCond %&#123;QUERY_STRING&#125; ^_escaped_fragment_=\/&#40;&#91;^&&#93;*&#41;
RewriteRule .* /index.php?cont=%1 &#91;L&#93;
Gruß Sven

0101
PostRank 1
PostRank 1
Beiträge: 2
Registriert: 17.09.2012, 09:55

Beitrag von 0101 » 17.09.2012, 10:33

Hab das ganze jetzt wie folgt geändert:


RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=\/([^&]*)
RewriteRule ^(.*)? index.php?url=test.php&_escaped_fragment=$1 [QSA,L]


Klappt aber leider immer noch nicht, der include der index.php meldet nen fehler das er index.php?url=test.php?_escaped_fragment_= nicht finden kann --> immer noch das ? in der Url

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag