toscho.design

Spinner und Sauger

Ich mag Feeds. Zumindest dann, wenn sie validieren und nicht kastriert werden.
Die kann ich ganz bequem im Newsreader meines Browsers lesen oder zu eigenen Anwendungen zusammenstecken.

Auch andere Leute mögen Feeds; deshalb hat sich dieses Format vom dahinter stehenden XML emanzipiert. Und deshalb wiederum existieren ganz viele Programme, die Feeds verarbeiten.

Die meisten sind kaputt.

Zu dumm für Links

Der Hauptfeed für diese Website steht unter http://toscho.de/feed/ bereit. Und exakt so wird er auch überall verlinkt.

Dennoch rufen viele Programme als erstes immer die Adresse /feed auf, scheitern also am schließenden /. Sie holen sich den Statuscode 301 (Moved Permanently) ab und gehen dann erst zur korrekten Adresse.

Die penetrantesten:

  • Java/1.6.x
  • Yahoo! Slurp/3.0
  • Feedfetcher-Google
  • Rome Client

Wenn das einmal passiert, stört es mich nicht. Aber ein User-Agent, der die einfachsten Statuscodes nicht beherrscht, ist einfach Dreck. Und wo holen die sich die kaputte Adresse her?

Da programmiert ja mein Kater besser.

Zu gierig

Apple-PubSub/65.11 fragt meinen Feed aller 30 Minuten ab. Warum?
In meinem Feed steht sehr deutlich das Maximum:

<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>

Und selbst damit bin ich noch sehr großzügig: Eine Anfrage aller 12 Stunden täte es auch. Immerhin ist das ein Conditional Request, den ich kostengünstig mit einem 304 beantworten kann. Möge Apple irgendwann einen Programmierer finden, der das Prinzip der Uhr versteht.

Der FriendFeed-Bot kommt aller 45 Minuten – und holt den kompletten Feed. Dort hätte ich am wenigsten einen so dummen Fehler erwartet …
Die schon genannten Javabots verhalten sich genauso. Ich erwäge, die komplett zu blocken. Wer so etwas benutzt und diesen Beitrag liest, sollte jetzt bitte begründeten Einspruch erheben.
Nachtrag vom 20.10.2009: Die Javabots leite ich jetzt auf eine statische HTML-Seite um.

Die meisten Browser bringen inzwischen auch einen Feedreader mit. Sei es ein Kastrat wie in Firefox, eine eigene Darstellung wie in Safari oder ein gut ins Mailprogramm integrierter wie in Opera.

Warum kann der Nutzer nur in Opera einstellen, wie oft der Feed abgerufen wird? Wenn ich weiß, daß Alexander Fischer noch seltener bloggt als ich, dann werde ich ihm doch keine überflüssigen Kosten zumuten:

Aktualisierungsrate in Opera

Gerade bei Firefox sollte diese Option nicht schwer einzubauen sein: Der Bruder Thunderbird hat sie schon (für einzelne Feeds?).

Meine Bitte an dich: Wenn deine Software diese Option anbietet, dann benutze sie auch.

Guessware

Ja, das Beste habe ich mir aufgehoben. Manche Crawler sind so schlecht, daß ich sie nicht einmal Software nennen möchte.

Die Obertrottel dieser Woche heißen Sphere Scout und Spinn3r.
Beide begnügen sich nicht mit dem verlinkten Feed, sondern sie probieren wild URLs aus: /atom.xml, /index.rss und ein Rudel weiterer Adressen.

Jetzt fragt man sich, was das soll. Mit der Begründung verstehe ich auch den Namen Spinn3r:

We attempt to use web standards as much as possible to find the feeds that exist on your site. Unfortunately, there are many websites that break web standards in ways which can confuse robots. We attempt to assert that your weblog software is configured correctly by requesting additional files. We try to avoid downloading the entire file, and only use conditional gets to avoid wasting bandwidth. The biggest problem with this approach though is that it generates 404 error messages, but we only do this once per week.

Ich habe mich nicht an die Standards gehalten? Und du willst herausfinden, ob meine Website richtig konfiguriert wurde? Wöchentlich? Im Labor?

Die standardkonforme Antwort darauf lautet:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Sphere\ Scout [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} Spinn3r
RewriteRule ^.* http://localhost [L,R=301]

Der Sphere Scout bleibt draußen, weil er nicht einmal HEAD-Requests zustandebringt, und der Spinn3r ob seiner frechen »Erklärung«.

Mögen beide schnell sterben.

13 Kommentare

  1. GwenDragon am 08.10.2009 · 11:51

    @toscho

    RewriteEngine On
    RewriteCond %{HTTP_USER_AGENT} ^Sphere\ Scout [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} Spinn3r [NC,OR]
    RewriteRule ^.* http://localhost [L,R=301]

    Ist so nicht ganz korrekt, jedenfalls logisch gesehen.
    Die letzte Bedingung darf kein OR beinhalten.
    Sonst meckert der Apache bzw. die Regel wird immer ausgeführt.

    Da hast du wohl den Schnippsel schnell aus deiner langen Liste heraus kopiert.

    Manche Clients sind wirklich übel und verdienen die kalte Ausperrung per .htaccess.

    Am schlimmsten trieb es bei mir mal ein Feedreader aus dem Opera-Netzwerk (opera-mini.net):

    195.189.142.227 - - [22/May/2008:02:14:25 +0200] "GET /rss HTTP/1.1" 200 6504 "-" "Mozilla/4.0 (compatible; MSIE 6.0; ; Linux i686) Opera 7.50 [en]"

    Der holte alle 5 Minuten den kompletten Feed und scherte sich um keine Angabe der Updatefrequenz im Feed.
    Da hilft nur die Feeds zu begrenzen und solche Clients auszusperren.

  2. Thomas Scholz am 08.10.2009 · 11:59

    @GwenDragon: Danke für den Hinweis. Ja, die beiden stehen in der langen Liste. ☺ Hab’s gleich repariert.

    Hast du den übergierigen Sauger bei Opera gemeldet? Die können doch auch kein Interesse daran haben.

  3. GwenDragon am 08.10.2009 · 12:15

    @toscho
    Sicher meldete ich den Sauger an Operas Abuse-Team.
    Gemacht haben sie nichts. Das ist ja das Ärgerliche.

  4. GwenDragon am 08.10.2009 · 16:06

    toscho schrieb:

    Ich mag Feeds. Zumindest dann, wenn sie validieren und nicht kastriert werden.

    Hast Recht. Kastrierte Feeds sind nicht so fein. Besonders, wenn die falschen Plugins die Inhalte abnagen bis zur Unkenntlichkeit; ich bin selbst so dusselig gewesen RSS valide und gekürzt auszuliefern, muss ich zugeben.

    Für mich stellt sich manchmal auch die Frage: Sollten Bilder in Originalgröße, extra verkleinert oder überhaupt nicht in Feeds drin sein oder nur der Text mit Links?

  5. Thomas Scholz am 08.10.2009 · 16:14

    @GwenDragon: Ich sehe keinen Unterschied zwischen Text und Bildern. Manche Leser bevorzugen den Feed vielleicht deshalb, weil sie das Layout der Quellseite nicht mögen – die sollen dennoch den ganzen Inhalt bekommen.

    Schwierig wird nur eingebettetes Javascript: Das wird oft ausgefiltert oder zumindest nicht ausgeführt.

  6. GwenDragon am 08.10.2009 · 18:53

    @Thomas Scholz: Opera zeigt auch nur Bilder an, soweit ich sehen kann. In object eingebundenes wird ignoriert. Schade, denn object ist normalerweise ein HTML-„Universalelement“, mit dem sich vieles anzeigen ließe (wenn die Browser es so verwenden würden).

    Javascript wird in Feed-Readern wohl ignoriert, aus Sicherheitserwägungen.

  7. Alex Bystrica am 08.10.2009 · 23:30

    @GwenDragon:
    Auch danke. Ich hatte ähnliche Fehler

  8. GwenDragon am 09.10.2009 · 09:46

    @Thomas
    Eine Anregung bitte für die Kommentarfeeds.
    Sie enthalten im Titel leider keinen Hinweis, von welcher Webseite sie kommen.
    Das ist dann, wenn nicht gerade ein Icon angezeigt wird, unpraktisch, wenn eine mehrere Kommentare von verschiedenen Feeds abonniert hat.

    Wie wäre es, wenn im Titel sowas stände: toscho.de – Kommentare zu: Spinner und Sauger?

    Leider neigen genügend viele in ihren Blogs dazu, mag wohl am Plugin liegen, die Titel ihrer Feeds ohne Hinweis auf die Website zu lassen.

    Was meinst du dazu.

  9. Günni am 11.11.2009 · 19:23

    @Thomas Scholz: Naja, so wirklich klappt das ja sowieso nicht mit dem "nur Inhalt empfangen" da die meisten Blogs sich die Klicks nicht entgehen lassen wollen und nur einen Teil der Posts in den Feed packen. Irgendwo kann man das ja auch verstehen. Wenn man schon bloggt, möchte man halt auch, dass es jemand liest! :D

  10. Thomas Scholz am 11.11.2009 · 20:15

    @Günni: Die Frage nach dem Volltextfeed ist eine separate Geschichte. Dazu habe ich ein sehr klare Meinung: Wer kastrierte Feeds anbietet, der hat das Format und – schlimmer! – seine Leser nicht verstanden. So jemand dürfte gar nicht publizieren.

    Persönlich abonniere ich bis auf wenige Ausnahmen (heise) keine Stummelfeeds; nach meinem Erleben sind die eher selten.
    Sie bringen auch nicht mehr Leser auf die Website, sondern weniger. Denn um einen Kommentar zu schreiben, einen Link oder ein Lesezeichen zu setzen, muß ich ja erstmal den Text dazu gelesen haben. Und das mache ich nicht, wenn mir jemand ein bestimmtes Verhalten vorschreiben will.
    Stummelfeeds sind das neue target=_blank. Mögen sie etwas schneller aussterben.
    </rant>

  11. fpr am 23.11.2009 · 21:07

    LoL - Du bist für ungekürzte Feeds und zeigst bei Deinen Feeds auch nur ein Excerpt?

    PS: Ich zeige bei meinen Feeds noch weniger als das Excerpt - so hält man sich wenigstens die Scraper-Kiddies vom Hals, die noch nichts von Content-Extraktion gehört haben.

  12. Thomas Scholz am 23.11.2009 · 21:09

    @fpr: Mein Feed kommt als Volltext. Kontrolliere deine Software bitte mal genau.

  13. fpr am 23.11.2009 · 23:17

    Sorry, stimmt.
    Firefox zeigt erstaunlicherweise nur die Excerpts; ich hätte mal in den Quelltext schauen sollen.