Webmaster-Zentrale Blog
Offizielle Informationen zum Crawling und zur Indexierung von Webseiten und News für Webmaster
Ein Vorschlag, AJAX crawlbar zu machen
Mittwoch, 14. Oktober 2009
Wir möchten heute gerne einen neuen Standard vorschlagen, um AJAX-basierte Websites crawlbar zu machen. Sowohl Webmaster als auch User können davon profitieren, auf AJAX basierende dynamische und interaktive Websites in den Suchergebnisse jeder Suchmaschine, die dies unterstützt, zugänglich zu machen. Es würde unserer Ansicht nach das Web entscheidend verbessern, diesen Content crawl-und indexierbar zu machen.
AJAX-basierte Websites sind zwar bei Usern beliebt, Suchmaschinen ist es jedoch traditionell nicht möglich, auf diesen Content zuzugreifen. Unsere letzte Untersuchung hat ergeben, dass fast 70 % der uns bekannten Websites in irgendeiner Form JavaScript verwenden. Natürlich handelt es sich bei der Mehrheit dieses JavaScript nicht um AJAX, aber je mehr Suchmaschinen AJAX crawlen und indexieren könnten, desto mehr Entwickler könnten so genannte "rich" Features zu ihren Websites hinzufügen und immer noch in Suchmaschinen auftauchen.
Einige der Ziele unseres Vorschlags sind:
Geringe Anpassungen bei einer wachsenden Website
User und Suchmaschinen sehen denselben Content (kein Cloaking)
Suchmaschinen können User direkt auf die AJAX-URL verweisen (keine statische Kopie)
Sitebesitzer können ueberpruefen, ob ihre AJAX-Website richtig erscheint und somit, ob der Crawler Zugriff auf den gesamten Content hat
Hier ist unser Vorschlag, wie Suchmaschinen AJAX crawlen und indexieren könnten:
Leichte Veränderung der URL-Teile für statusabhängige AJAX-Seiten
Statusabhängige AJAX-Seiten zeigen denselben Content, sofern direkt auf sie zugegriffen wird. Diese Seiten könnten in Suchergebnissen auftauchen. Anstelle einer URL wie
http://example.com/page?query#state
, schlagen wir vor, einen Token hinzufügen, der es ermöglicht, diese URLs zu erkennen:
http://example.com/page?query#[FRAGMENTTOKEN]state
. Basierend auf einer Untersuchung der URLs, die es zur Zeit im Web gibt, schlagen vor, "!" (ein Ausrufungszeichen) als den Token hierfür zu verwenden. Die URL, die in Suchergebnissen gezeigt werden könnte, wäre dann:
http://example.com/page?query#!state
.
Verwendung eines Browsers ohne GUI, der einen HTML-Snapshot an euren Webserver ausgibt
Der GUI-freie Browser wird dazu verwendet, auf AJAX-Seiten zuzugreifen und HTML-Code basierend auf dem Endzustand im Browser zu generieren. Nur speziell getaggte URLs werden an den GUI-freien Browser zur Verarbeitung weitergegeben. Da dies auf der Serverseite passiert, hat der Websitebesitzer Kontrolle über den generierten HTML-Code, und er kann leicht verifizieren, dass der gesamte JavaScript ordnungsgemäß ausgeführt wird. Ein Beispiel für einen solchen Browser ist
HtmlUnit
, ein Open-Source Browser ohne GUI für Java-Programme.
Escapen von Statusinformationen, damit Suchmaschinen-Crawler auf diese URLs zugreifen können
Da URL-Fragmente nie ohne Anfrage zu Servern geschickt werden, ist es notwendig, die URL, die zum Seitenaufruf verwendet wird, leicht zu modifizieren. Gleichzeitig wird dadurch dem Server mitgeteilt, mit dem GUI-freien Browser HTML-Code zu generieren, anstelle die Seite mit JavaScript widerzugeben. Andere existierende URLs - wie etwa die, die von Usern verwendet werden - würden außerhalb des GUI-freien Browsers normal verarbeitet werden. Wir schlagen vor, die Statusinformation mit einem Escape-Zeichen zu versehen und sie zu den Query-Parametern mittels eines Token hinzuzufügen. Um auf das vorherige Beispiel zurückzugreifen, eine derartige URL könnte
http://example.com/page?query&[QUERYTOKEN]=state
sein. Basierend auf unserer Analyse der URLs im Web schlagen wir vor, "_escaped_fragment_" als Token zu verwenden. Die vorgeschlagene URL wäre dann
http://example.com/page?query&_escaped_fragment_=state
.
Anzeige von Original-URLs in den Suchergebnissen
User sollten direkt auf die AJAX-basierten Seiten zu verwiesen werden, um eine bessere User-Erfahrung zu bieten. Dies kann erreicht werden, indem die Original-URL (wie etwa
http://example.com/page?query#!state
aus unserem vorherigen Beispiel) in den Suchergebnissen gezeigt wird. Suchmaschinen können überprüfen, dass der indexierbare Text, der an Googlebot zurückgegeben wird, derselbe oder zumindest ein Auszug des Textes ist, der an die User ausgegeben wird.
(Grafik von Katharina Probst)
Zusammenfassend: Wenn wir von einer statusabhängigen URL wie z. B.
http://example.com/dictionary.html#AJAX
ausgehen, so könnte diese für Crawler und User als
http://example.com/dictionary.html#!AJAX
aufrufbar sein, und sie könnte als
http://example.com/dictionary.html?_escaped_fragment_=AJAX
gecrawlt werden. Die URL würde Usern dann wie folgt gezeigt und als solche aufrufbar sein:
http://example.com/dictionary.html#!AJAX
Hier findet ihr die Original-Präsentation
.
Wir arbeiten zur Zeit an der Implementierung eines Prototypen. Euer Feedback ist jederzeit willkommen - bitte postet eure Kommentare hier oder in unserem
englischsprachigen Diskussionsforum für Webmaster
. Danke für euer Interesse daran, AJAX-basierte Websites für Suchmaschinen erreichbar zu machen!
A proposal for making AJAX crawlable (English version)
Vorschlag von Katharina Probst, Bruce Johnson, Arup Mukherjee, Erik van der Poel und Li Xiao, Google
Post von John Mueller, Webmaster Trends Analyst, Google Zürich (Übersetzung von Claudia, Search Quality)
Labels
#NoHacked
2
2017
1
Accessibility
13
AJAX
1
AMP
7
Android
2
api
1
App-Indexierung
3
Best Practices
99
Bildersuche
2
captcha
1
Chrome
4
Code
12
Crawling
1
Crawling und Indexierung
126
Diskussionsforum
15
Duplicate Content
17
Dynamic Rendering
1
Einsteiger
8
Event
1
events
1
Feedback
1
Geo-Targeting
11
Google Analytics
6
Google Dance
1
Google News
1
Google Places
4
Google-Assistant
1
Google-Suche
59
Google+
9
Hacking
16
Hangouts
1
https
3
JavaScript
3
Kanonische URL
1
Kommentare
1
Konferenz
19
Lighthouse
3
Links
18
Malware
17
Mobile
38
Mobile-first indexing
1
Nachrichten-Center
16
Optimisation
3
PageSpeed Insights
2
Penalties
1
Performance
3
Ranking
1
reCaptcha v3
1
Rendering
2
Rich Snippets
18
Richtlinien für Webmaster
36
robots.txt
7
Safe Browsing
5
Search Console
19
Search Results
1
Security
4
Seitenzugriff
1
SEO
4
Sicherheit
38
Site Clinic
5
Sitemaps
30
Spam Report
9
SSL
1
Structured Data
8
Tools und Gadgets
17
Verschlüsselung
1
Video
132
Webmaster blog
1
Webmaster Community
1
Webmaster-Academy
1
Webmaster-Tools
154
webspam
3
Archiv
2020
Nov.
Sept.
Aug.
Juli
Juni
Mai
Apr.
März
Feb.
2019
Dez.
Nov.
Okt.
Sept.
Juni
Mai
Feb.
Jan.
2018
Dez.
Nov.
Okt.
Sept.
Juli
Juni
Mai
Apr.
Feb.
Jan.
2017
Dez.
Nov.
Juni
Apr.
März
Jan.
2016
Nov.
Sept.
Aug.
Juli
Juni
Mai
Apr.
März
Jan.
2015
Dez.
Nov.
Okt.
Sept.
Aug.
Juli
Mai
Apr.
März
Feb.
Jan.
2014
Nov.
Okt.
Sept.
Aug.
Juni
Mai
Apr.
März
Feb.
Jan.
2013
Dez.
Nov.
Okt.
Aug.
Juli
Juni
Mai
Apr.
März
Feb.
Jan.
2012
Dez.
Nov.
Okt.
Sept.
Aug.
Juli
Juni
Mai
Apr.
März
Feb.
Jan.
2011
Dez.
Nov.
Okt.
Sept.
Aug.
Juli
Juni
Mai
Apr.
März
Feb.
Jan.
2010
Dez.
Nov.
Okt.
Sept.
Aug.
Juli
Juni
Mai
Apr.
März
Feb.
Jan.
2009
Dez.
Nov.
Okt.
Sept.
Aug.
Juli
Juni
Mai
Apr.
März
Feb.
Jan.
2008
Dez.
Nov.
Okt.
Sept.
Aug.
Juli
Juni
Mai
Apr.
März
Feb.
Jan.
2007
Dez.
Nov.
Okt.
Sept.
Aug.
Juli
Juni
Mai
Apr.
März
Feed
Forum für Webmaster
Webmaster-Sprechstunden
Webmaster-Tools-Hilfe
Developers-Site für Webmaster