sebastian g.: Suchmaschinen Optimierung (advanced)

hallo,

vorab : wir haben eine (nicht kommerzielle) website die (!!! GEWOLLT !!!) etwas anders als "normal" umgesetzt wurde. anstatt eines framesets benutzen wir div-elemente die wir mit AJAX-aufrufen entsprechend füllen. die client-server kommunikation findet also ausschließlich via javascript/AJAX (in unserem fall mit klickbaren span-elementen) statt. somit sind keine <a href>-elemente u.ä. auf unserer seite zu finden!

wir gehen nun davon aus daß dies nicht sonderlich Suchmaschinen-freundlich ist. wie können wir also möglichst optimal eine Suchmaschinen Optimierung umsetzen?

wir haben vorsorglich auf unserer index.php mal die keywords eingetragen auch wenn uns bewusst ist daß google u.ä. diese nur/falls überhaupt geringfügig verwenden.

bekannt ist daß wir uns ja auch bei google (manuell?) eintragen können. eine weitere möglichkeit wären webkataloge o.ä..

lange rede, kurzer sinn : hat jemand mit ähnlichen architekturen schonmal erfahrungen gesammelt und hat vllt. ein paar tipps wie wir diesbzgl. vorgehen sollten?

viele grüße
sebastian

  1. Hi,

    wir gehen nun davon aus daß dies nicht sonderlich Suchmaschinen-freundlich ist. wie können wir also möglichst optimal eine Suchmaschinen Optimierung umsetzen?

    schalte JavaScript ab. Sorge nun dafür, dass Du die Site benutzen kannst. Et voilà.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. schalte JavaScript ab. Sorge nun dafür, dass Du die Site benutzen kannst. »» Et voilà.

      ein sehr zielführender, besonders geistreicher und in foren in diesem kontext dann doch äusserst selten zu findener beitrag den man da von ihnen lesen darf.
      naja, wenigstens heitern sie unseren vormittag hier im büro ein wenig auf.

      für die wirklich interessierten hier vorsorglich nochmal : die anwendung/die architektur ist (s.o.!) GEWOLLT in javascript! das ist so gewünscht und wird auch so bleiben! und unsere Flash-Objekte werden wir natürlich auch nicht abschalten ;)

      gibt es da noch den einen oder anderen "trick"?

      1. welche Seite denn - URL?
        Ohne ansehen kein Nachdenken.

        Gruß Rainer

        1. welche Seite denn - URL?
          Ohne ansehen kein Nachdenken.

          oh, leider ist die seite noch auf den internen servern (entwicklungsserver)! release ist leider erst mitte/ende nächster woche vorgesehen. kurzfristiges hochschieben ist leider nicht mal eben möglich weil noch ein application server (JSP via Websphere) u.ä. dranhängt! ein echter config-rattenschwanz noch sozus. ;)

          sorry, aber wenigstens danke für das interesse!

      2. Hallo Sebastian,

        für die wirklich interessierten hier vorsorglich nochmal : die anwendung/die architektur ist (s.o.!) GEWOLLT in javascript! das ist so gewünscht und wird auch so bleiben! und unsere Flash-Objekte werden wir natürlich auch nicht abschalten ;)

        Überlege Dir, auf welchem Weg die Suchmaschine die Inhalte erreichen und das Ergebnis so präsentieren kann, dass der geneigte Suchmaschinenbenutzer genau den Inhalt findet, den er sucht und der über Javascript und diverse Klicks auf eurer Seite dargestellt wird. Otto Normalsurfer schätzt es nicht besonders, eine Seite zu erhalten, auf der das, was er sucht, überhaupt nicht vorhanden ist.

        Der einfachste Weg zu diesem Ziel wurde Dir bereits genannt ...

        Freundliche Grüße

        Vinzenz

      3. Moin!

        gibt es da noch den einen oder anderen "trick"?

        Making AJAX Applications Crawlable

        Tommi

        1. Moin!

          gibt es da noch den einen oder anderen "trick"?

          Making AJAX Applications Crawlable

          Tommi

          Super!
          Das sieht schwer nach endlich wieder "Vorankommen" aus!
          Habe zwar in der google-Webmaster-Zentrale geblättert, aber dieser Artikel ist mir wohl entgangen.

          Perfekt, vielen Dank!

          gruß
          sebastian

          1. Perfekt, vielen Dank!

            Naja, ich finde das etwas "vermurkst". Für jeden "Zusatnd" eindeutige URLs/Hashs zu vergeben ist auf jeden Fall gut. Das sollte dann aber eigentlich ausreichen. Ich frage mich, warum Google nicht einfach mit JavaScript crawlen kann. Dann hätte sich das bereits erledigt. Was sie vorschlagen, ist, eine Alterntive mit einem speziellen Query-String anzubieten (_escaped_fragment_=key=value). Ob diese Alternative bereit steht, wird mit "#!" gekennzeichnet.

            Hier mal so was in Aktion:

            AJAX:
            http://gizmodo.com/#!5784194/the-10-worst-nuclear-nightmares
            Alternative mit _escaped_fragment_:
            http://gizmodo.com/?_escaped_fragment_=5784194/the-10-worst-nuclear-nightmares

            Also ich denke das ist noch nicht der Weisheit letzter Schluss.

            Tommi

            1. Hallo,

              Naja, ich finde das etwas "vermurkst". Für jeden "Zusatnd" eindeutige URLs/Hashs zu vergeben ist auf jeden Fall gut. Das sollte dann aber eigentlich ausreichen. Ich frage mich, warum Google nicht einfach mit JavaScript crawlen kann. Dann hätte sich das bereits erledigt.

              und welche URI sollte die Suchmaschine ihrem Benutzer anbieten?

              Suchmaschinenbenutzer, die nicht in wenigen Sekunden auf einer Seite das finden, was sie suchen, sind ganz schnell beim nächsten Suchergebnis. Suchmaschinenbenutzer klicken nicht alles mögliche auf der Seite an, sie scrollen bestenfalls einmal durch. Suchmaschinenbenutzer, denen zu viele Ergebnisse präsentiert werden, auf denen auf Anhieb nichts zu sehen ist, wonach gesucht wurde, sind schnell unzufriedene Suchmaschinenbenutzer. Suchmaschinenbetreiber sind aber auf zufriedene Benutzer angewiesen, nicht auf zufriedene SEOs.

              Freundliche Grüße

              Vinzenz

              1. und welche URI sollte die Suchmaschine ihrem Benutzer anbieten?

                z.B.:
                http://gizmodo.com/#!5784194/the-10-worst-nuclear-nightmares

                Tommi

                1. Hallo,

                  und welche URI sollte die Suchmaschine ihrem Benutzer anbieten?

                  z.B.:
                  http://gizmodo.com/#!5784194/the-10-worst-nuclear-nightmares

                  Damit kann der Browser nichts anfangen, wie Du im von Dir verlinkten Artikel nachlesen kannst. Alles nach dem Hash wird gar nicht an den Server geschickt. Deswegen erfolgt doch das Umschreiben in die "häßliche" Version. Genau deswegen ist sowas als Suchmaschinenergebnis ungeeignet, weil der Benutzer nicht das findet, was er erwartet. Er landet auf einer Seite, auf der nichts davon steht, was er haben will. Schlecht. Also klickt der Benutzer das nächste Ergebnis an. Es ist nicht im Interesse der Suchmaschinen, dem Benutzer irrelevante Ergebnisse anzubieten. Deswegen kann der Suchmaschinenbetreiber genau sowas wie

                  http://gizmodo.com/#!5784194/the-10-worst-nuclear-nightmares

                  (bewußt nicht verlinkt) seinen Benutzern nicht anbieten. Sondern er muss etwas anbieten, was den Server dazu veranlasst, dem Benutzer genau das zu schicken, was der Benutzer sehen wollte. Geht mit dem entsprechenden Umschreiben, das der Bot macht. Dein Server muss diese umgeschriebenen URIs verarbeiten können.

                  Welche URI sollte die Suchmaschine dem Benutzer anbieten, wenn keine URI vorhanden ist? Wenn die Suchmaschine durch "Ausführen" von Javascript Inhalte finden könnte, die sie ohne Javascript nicht finden kann, für die es keine URI gibt, weil der Webseitenschreiber nicht daran gedacht hat? Nochmals: welche URI sollte sie in diesem Fall in ihren Ergebnissen zum Anklicken anzeigen? Denk bitte daran, dass Suchmaschinen ihren Benutzern Listen von Links liefern. Hübsche altmodische funktionierende anklickbare Links wie es sie im Internet in Billionenfacher Ausführung gibt.

                  Freundliche Grüße

                  Vinzenz

                  1. Damit kann der Browser nichts anfangen, wie Du im von Dir verlinkten Artikel nachlesen kannst. Alles nach dem Hash wird gar nicht an den Server geschickt.

                    Also ich bekomme nach dem Klick auf http://gizmodo.com/#!5784194/the-10-worst-nuclear-nightmares die gewünschte Seite "The Top 10 Worst Nuclear Nightmares". Der Hash wird ausgelesen und der entsprechende Inhalt vom Server geholt (AJAX). Ob das hier Sinnvoll ist, wage ich zwar zu bezweifeln. Aber das mit dem Auslesen des Hashs um einem "Seitenzustand" eine eindeutige URL zu geben ist zunächst mal OK (z.B. auch wenn man Teile einer Seite aus- und einklappen kann).
                    Überflüssig finde ich die Sache mit dem "_escaped_fragment_". Der Google-Bot müsste einfach nur mit aktiviertem JavaScript den Links (mit Hashs) folgen.

                    Tommi

                    1. Überflüssig finde ich die Sache mit dem "_escaped_fragment_". Der Google-Bot müsste einfach nur mit aktiviertem JavaScript den Links (mit Hashs) folgen.

                      Ich verstehe nicht, warum man da nicht einfach

                      Den hier macht:
                      http://gizmodo.com/5784194/the-10-worst-nuclear-nightmares

                      Und Ajax macht halt das hier:
                      http://gizmodo.com/#!5784194/the-10-worst-nuclear-nightmares

                      Alles im Fragment ist dann 1:1 der Pfad und gut ist.

                    2. Hi!

                      Also ich bekomme nach dem Klick auf http://gizmodo.com/#!5784194/the-10-worst-nuclear-nightmares die gewünschte Seite "The Top 10 Worst Nuclear Nightmares".

                      Ich bekomme auch mit deaktiviertem Werbe- und Socialquark-Blocker nur die Übersichtsseite und zwei Fehlermeldungen in der Fehlerkonsole, und das in vier verschiedenen Browsern.

                      Überflüssig finde ich die Sache mit dem "_escaped_fragment_". Der Google-Bot müsste einfach nur mit aktiviertem JavaScript den Links (mit Hashs) folgen.

                      Mal angenommen, jemand schriebe eine Javascript-Implementation für blinde Server, was genau sollte ein Server dann auswerten? Mal probehalber alle onclick-Events auslösen, und das jedes Mal von vorn, wenn sich das DOM ändert? Vielleicht machen ja einige Eventhandler einen Ajax- oder herkömmlichen Request und nicht nur irgendwelchen optischen Schnickschnack für den sehenden Besucher. Damit kann man den Crawler prima in Timeouts laufen lassen, wenn man solche zyklischen Dinge wie immer wieder von vorn durchlaufende Ticker auf der Seite hat.

                      Im Prinzip wäre jeder Event interessant, denn beispielsweise auch Scroll-Events laden heutzutage Seitenteile nach, wenn man weit genug runtergescrollt hat.

                      Mal weiter angenommen, die Zeit kommt irgendwann, dass Crawler sowas können, wie wird dann das Suchergebnis dem Anwender präsentiert?
                      URL: sowieso - und dann lieber Besucher bitte drei Umdrehungen am Mausrad und auf das Element mit der ID x klicken.
                      Genau die Bedienhandlung, die der Crawler ausführen musste, um zum Inhalt zu kommen, muss ja der Benutzer auch ausführen. Das lässt sich nur insofern abkürzen, wenn es eindeutige URLs zu diesen Bedienhandlungen gibt, die mit einem Klick zum Ergebnis kommen. Die ganze Suchmaschinenfähigkeit fällt und steht schon aus Handhabbarkeitsgründen mit diesen eindeutigen URLs.

                      Lo!

                      1. Das lässt sich nur insofern abkürzen, wenn es eindeutige URLs zu diesen Bedienhandlungen gibt, die mit einem Klick zum Ergebnis kommen.

                        Ja, genau. Mit einem entsprechenden Hash, mit dem man den Zustand der Seite wieder herstellen kann.

                        Tommi

                        1. Hallo,

                          Das lässt sich nur insofern abkürzen, wenn es eindeutige URLs zu diesen Bedienhandlungen gibt, die mit einem Klick zum Ergebnis kommen.

                          Ja, genau. Mit einem entsprechenden Hash, mit dem man den Zustand der Seite wieder herstellen kann.

                          und woher kommt dieser Hash?

                          Freundliche Grüße

                          Vinzenz

                          1. und woher kommt dieser Hash?

                            Von einem Link?! Z.B.

                            <a href="#boxcontent=irgendwas">irgendwas</a>  
                            <a href="#boxcontent=sonstwas">sonst was</a>
                            

                            Der Google-Bot müsste nur den Links folgen und den Seiteninhalt mit JavaScript crawlen.

                            Tommi

                            1. Hallo,

                              und woher kommt dieser Hash?

                              Von einem Link?! Z.B.

                              <a href="#boxcontent=irgendwas">irgendwas</a>

                              <a href="#boxcontent=sonstwas">sonst was</a>

                                
                              
                              > Der Google-Bot müsste nur den Links folgen und den Seiteninhalt mit JavaScript crawlen.  
                                
                              ich sehe in Deinem Codefragment kein Javascript. Inwiefern müsste der Suchmaschinenbot hier mit Javascript crawlen?  
                                
                                
                              Freundliche Grüße  
                                
                              Vinzenz
                              
                              1. ich sehe in Deinem Codefragment kein Javascript. Inwiefern müsste der Suchmaschinenbot hier mit Javascript crawlen?

                                OK, ein Beispiel: Da kannst Du verschiedene Tabs öffnen. Die Tab-Links sind einfach nur "Sprung-Links" (#one, #two, #three). Mit JavaScript wird auf die Änderung des Hashs reagiert und der Content entsprechend nachgeladen.

                                Die "Zustände" der Seite haben echte URLs, die man verlinken und bookmarken kann. Würde der Google-Bot nun JavaScript interpretieren, könnte er einfach z.B. diese URL indexieren und fertig. Den Murks mit ?_escaped_fragment_=foobar könnte man sich dann sparen.

                                Tommi

                                1. Hallo,

                                  OK, ein Beispiel: Da kannst Du verschiedene Tabs öffnen. Die Tab-Links sind einfach nur "Sprung-Links" (#one, #two, #three). Mit JavaScript wird auf die Änderung des Hashs reagiert und der Content entsprechend nachgeladen.

                                  Die "Zustände" der Seite haben echte URLs, die man verlinken und bookmarken kann. Würde der Google-Bot nun JavaScript interpretieren, könnte er einfach z.B. diese URL indexieren und fertig. Den Murks mit ?_escaped_fragment_=foobar könnte man sich dann sparen.

                                  und mit dem nicht allzuaufwendigen Umsetzen *Deinerseits*, auf entsprechende ?_escaped_fragment_-Requests angemessen zu reagieren, erreichst Du das auch. Niemand außer Suchmaschinen sieht und verwendet das, was Du Murks nennst - und die Suchmaschinen müssen noch nicht mal Javascript lernen, um Deine Inhalte in ihre Datenbank kippen zu können. Für mich hört sich das nicht nach Murks an, sondern nach einer sehr effizienten und sinnvollen Vorgehensweise.

                                  Zusätzlich hättest Du den Benefit, diesen *Murks* nicht nur Suchmaschinen, sondern gleich allen javascriptlosen Clients ausliefern zu können. Somit sind Deine Inhalte auch für alle javascriptlosten Clients erreichbar. Ist das nicht toll?

                                  Oh, das ist das, was Cheatah zu Beginn schrieb. Fand Sebastian ja gar nicht toll ...

                                  Freundliche Grüße

                                  Vinzenz

            2. Hallo,

              Hier mal so was in Aktion:

              AJAX:
              http://gizmodo.com/#!5784194/the-10-worst-nuclear-nightmares
              Alternative mit _escaped_fragment_:
              http://gizmodo.com/?_escaped_fragment_=5784194/the-10-worst-nuclear-nightmares

              Also ich denke das ist noch nicht der Weisheit letzter Schluss.

              Nein, wie die Jungs und Mädels das dort machen, ist doch allerletzter Mist.
              Genauso darf man's nicht machen. Es wird zunächst das geladen, was versprochen wird, um dann mit purer Unverschämtheit - man sollte die Seite bei Google melden! - per Javascript irgendwohin anders weiterzuleiten. Tolle Idee! Damit macht man Suchmaschinennutzer gleich doppelt unzufrieden:

              "Ätsch, wir haben zwar das was Du gesucht hast. Wir haben es die Suchmaschine
                 sogar finden lassen. Wir zeigen Dir sogar, dass wir es haben - aber Du musst
                 es auf unserer Seite suchen."

              Ich bin wirklich begeistert. So eine Seite wird mich nie wieder sehen.

              Freundliche Grüße

              Vinzenz

              1. Genauso darf man's nicht machen. Es wird zunächst das geladen, was versprochen wird, um dann mit purer Unverschämtheit - man sollte die Seite bei Google melden! - per Javascript irgendwohin anders weiterzuleiten.

                OK, die _escaped_fragment_-Variante ist nur für den Google-Bot gedacht. Sie sollten aber besser auf den entsprechenden Artikel mit "#!" weiterleiten.

                Tommi

          2. Hallo,

            Making AJAX Applications Crawlable

            Super!
            Das sieht schwer nach endlich wieder "Vorankommen" aus!
            Perfekt, vielen Dank!

            aha. Also genau das, was Dir bereits im ersten Beitrag gesagt wurde, ich zitiere

            <zitat>
                If much of your content is produced with a server-side technology such
                as PHP or ASP.NET, you can use your existing code and only replace the
                JavaScript portions of your web page with static or server-side created
                HTML.

            You can create a static version of your pages offline, as is the current
                practice. For example, many applications draw content from a database that
                is then rendered by the browser. Instead, you may create a separate HTML
                page for each AJAX URL.
            </zitat>

            so wie es aussieht, habt ihr Java als serverseitige Technologie im Einsatz, daher gehe ich davon aus, dass Absatz 1 zutrifft.

            Ansonsten benötigst Du hübsche und (nicht so hübsche) URIs für Deinen Inhalt. Denn was ist das Futter für Suchmaschinenbots? Antwort: URIs.

            Warum wollen Suchmaschinen sowas? Weil der Suchmaschinenkunde diese in Form von hübschen altmodischen Links anklicken kann - und zu seinem Ziel kommt. Wenn Suchmaschinenbenutzer nicht das finden, was sie suchen, dann sind sie mit der Suchmaschine unzufrieden.

            Immer wieder lesenswert zu diesem Thema: Der Suchmaschinen-Robot und der Webdesigner

            Freundliche Grüße

            Vinzenz

      4. Hi,

        schalte JavaScript ab. Sorge nun dafür, dass Du die Site benutzen kannst. »» Et voilà.

        ein sehr zielführender, besonders geistreicher und in foren in diesem kontext dann doch äusserst selten zu findener beitrag den man da von ihnen lesen darf.
        naja, wenigstens heitern sie unseren vormittag hier im büro ein wenig auf.

        Ihr lacht also wie kleine Äffchen über alles, was ihr nicht versteht?

        für die wirklich interessierten hier vorsorglich nochmal : die anwendung/die architektur ist (s.o.!) GEWOLLT in javascript! das ist so gewünscht und wird auch so bleiben! und unsere Flash-Objekte werden wir natürlich auch nicht abschalten ;)

        gibt es da noch den einen oder anderen "trick"?

        Ohne, dass die Inhalte auch an Clients, die kein JavaScript verstehen/interpretieren wollen, in für diese erreichbarer und verständlicher Form ausgeliefert werden - nein.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      5. Hi,

        für die wirklich interessierten hier vorsorglich nochmal : die anwendung/die architektur ist (s.o.!) GEWOLLT in javascript!

        nein, Deine Frage beweist, dass dies *nicht* gewollt ist. Gewollt ist, dass die "Anwendung" auch ohne JavaScript funktioniert, denn gewollt ist, dass ein nicht JavaScript-tauglicher Client - die Bots von Suchmaschinen - damit umgehen können.

        gibt es da noch den einen oder anderen "trick"?

        Sicher: Bewirb Dich bei Google und programmiere den Bot so um, dass er JavaScript beherrscht.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      6. @@sebastian g.:

        nuqneH

        ein sehr zielführender, besonders geistreicher und in foren in diesem kontext dann doch äusserst selten zu findener beitrag den man da von ihnen lesen darf.

        1508, 1296, …

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)