Wie schon zuletzt berichtet, liegen die großen Hauptbilder immer noch auf Google, da es einfach kein Plugin gibt, das verlinkte Bilder auf WordPress holt. Alle holen nur das in den Posts angezeigte Bild, nicht das verlinkte.
Man könnte seinen Blog wieder mal durchschauen und das manuell korrigieren, aber – jetzt wo ich da schon mit der API rumspiele – das könnte ein Job bis zur Pensionierung werden, weil auf den beiden Blogs sind es über 2000 Posts mit knapp 16000 Bildern auf Google.
Daher gehe ich zur Variante b und skripte das mal schnell. Da haben sie aber einige Hindernisse in die ‘mal schnell’ Variante eingebaut. Eines der vordringlichsten: Provider wollen es ganz einfach ganz sicher machen. Sie haben daher versucht die REST API zu killen. Das fällt bei meinem darin auf, daß der normale Rewrite fehlt und man statt /wp-json
die lange Form /index.php/wp-json
schreiben muß. Dann bekommt man Zugriff und kann ohne jegliche Authentifizierung vieles lesen. Auch fragwürdige Sicherheit. Wenn man dann versucht seine Medien raufzuladen oder die Posts zu verändern, dann verlangt wordpress eine Authentifizierung. Nur egal was man da tut, es geht nicht. Langes Suchen später: Sie haben den Authentifizierungs Header einfach gekilled. Damit kann man das nicht. Der Support schlägt vor, ich könnte mir doch gleich einen vServer bei ihnen mieten (wer das Geld für das feature ausgeben will…). Wollte ich nicht.
Mit dem Hack, das man natürlich das .htaccess file im wordpress Folder setzen kann und das nicht gesperrt ist, kann man den Header aber wiederbekommen und schon darf man auch wieder per REST-API schreiben (wenn man sich vorher einen API-Key eingerichtet hat). Die spannenden Einträge sind:
RewriteEngine on RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Damit stehe ich aktuell bei dem Stand:
-
Ich habe alle Posts gezogen und nach Bildern durchsucht. Es lebe der Spaß mit regex, um Bild-URLs zu finden, die in Konstrukten ähnlich
<a href="xxx" <img src="yyy">>
zu finden sind. -
Ich habe schon alle Bilder auf meinen lokalen Rechner kopiert und alle entsprechenden Daten gezogen
-
Ich habe die APIs durchgetestet und kann Beiträge und Medien erzeugen
Jetzt fehlt nur mehr:
- Neue Bilder zum Post hochladen
- Posts modifizieren
- Alte Thumbnail-Bilder löschen
Wenn ich das erledigt habe, gibt es wieder einen Post dazu. Mal sehen ob es Sinn macht, das Skript zu posten, damit es andere leichter haben Google zu verlassen.