PDFLib unter MAMP installieren

Diese Anleitung für die Installation der PDFLib zur Erstellung von PDF-Dateien unter PHP ist nicht mehr ganz aktuell, deswegen hier die aktualisierte Fassung mit richtigen Pfadangaben:

1) PDFLib herunterladen

Wähle in der Rubrik OS X die Version für PHP aus

2) Das soeben heruntergeladene Diskimage öffnen und zum Ordner /bind/php/php-540/ navigieren und die Datei php_pdflib.so in den Ordner /Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525 kopieren.

3) Die Datei /Applications/MAMP/Library/bin/envvars öffnen und den Zeilen

DYLD_LIBRARY_PATH=”/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH”
export DYLD_LIBRARY_PATH

ein #-Zeichen voranstellen, um sie auszukommentieren und das Speichern nicht vergessen.

4) In der /Applications/MAMP/bin/php/php5.4.4/conf/php.ini im Bereich wo die anderen Extensions hinzugefügt werden (etwa um Zeile 540) die folgende Zeile hinzufügen:

extension=php_pdflib.so

Und dann nur noch den Server einmal neustarten und die PDFLib ist installiert. Ob alles geklappt hat, kann man z.B. über den phpinfo()-Aufruf nachsehen:

Inaktive Twitter-Benutzernamen einfordern

Twitter-Nutzer @andreas_bolli schrieb am 6. August, es sei möglich, 6 Monate nicht genutzte Twitter-Accounts für sich zu beanspruchen.

Das ist jedoch nicht der Fall, zumindest nach dieser Support-Antwort von Twitter. Meine Anfrage lautete, ob es möglich sei, den lange ungenutzten Account @justus zu beanspruchen.

lija, Aug-15 09:41 am (PDT):

Hello justusbluemer,

sorry, wenn du dich für einen inaktiven Nutzernamen interessierst, melde dich bitte in einigen Monaten erneut. Es ist uns zur Zeit nicht mehr möglich, auf individuelle Anfragen nach Nutzernamen einzugehen. Wir werden zu einem späteren Zeitpunkt eventuell alle inaktiven Nutzernamen freigeben, es liegen uns jedoch noch keine genauen Zeitangaben hierfür vor.

Twitter leitet nur Anfragen zu Nutzernamen weiter, welche Markenzeichen-Regeln betreffen (http://support.twitter.com/articles/18367). Wenn du aus Gründen von Markenschutzverletzungen schreibst, sende bitte eine neue Anfrage an das Markenschutz-Team: http://support.twitter.com/forms/trademark.

Wenn dein Wunschname bereits vergeben ist, kannst du in den meisten Fällen sehr leicht einen sehr ähnlichen Namen erstellen, indem du Zahlen, Unterstriche oder Abkürzungen verwendest.

Vielen Dank für dein Verständnis!

@lija
Twitter Hilfe
@hilfe

Wäre auch zu einfach gewesen.

Google kann lesen und rankt entsprechend

Gerade bin ich über ein schönes Beispiel gestolpert, das in aller Deutlichkeit zeigt, wie sinnvoll es ist, Impressumsdaten als Grafik zu hinterlegen, um sie damit vor Google zu verstecken: gar nicht. Und wenn Google das kann, dürfte es für professionelle Spammer auch eine überwindbare Hürde sein.

Sucht man nach dem (zugegebenermaßen seltenen) Keyword “Dazu gesellte sich Dyspn6e und Herzklopfen bei k6rperlichen Anstrengungen“, gelangt man auf die folgende Seite: http://www.springerlink.com/content/r5102337875h3m5t/

Der Suchbegriff kommt ausschließlich in der eingebundenen Grafik vor und die ö werden offensichtlich als 6 fehlinterpretiert.

Worin liegt heute überhaupt noch die Motivation, sein Impressum als Grafik auszuliefern?

Nachtrag 14. Juli 2011
Einen weiteren Grund dafür auf Impressumgrafiken zu verzichten liefert der nordseeo: Sind sie immer gleich aufgebaut können sie leicht mit der Google-Suche nach ähnlichen Bildern leicht alle gefunden werden und so ganze Netzwerke enttarnen. Mehr dazu unter “Impressum als Grafik? Denkt an die Google Bildersuche!” im Blog von Nordseeo.de

Traffic mit ShortNews generieren

Spätestens seit den Tandler-Vorträgen, denen ich bereits beiwohnen durfte, habe ich ständig das Bedürfnis, “was mit SMO” zu machen. Der berühmt-berüchtigte Digg-Effekt, mit dem man mit einem Erscheinen auf der Startseite Links im vierstelligen Bereich generieren können soll, wäre doch eine sehr angenehme Möglichkeit, Links zu generieren.

Mein Problem war bisher, dass ich mich kaum mit der Digg-Community auskenne und daher auch nicht weiß, wie die Leute ticken. Meine Englischkenntnisse sind nicht schlecht, aber sich als Fremdsprachler da hineinzuversetzen schätze ich recht schwer ein. Auf jeden Fall würde es also einige Einarbeitungszeit benötigen, auch in Anbetracht der Tatsache, dass ein starker Account beim Veröffentlichen von neuen Stories sehr hilfreich ist.

Also gibt es jetzt erstmal nur ein Experiment und zwar in kleinerem Maßstab: ShortNews.de. Man findet wirklich wenig Erfahrungsberichte im Netz was SEO-Erfolg mit der Plattform angeht, also muss selbst ausprobiert werden.

Ich hatte noch die Domain controversia.de herumliegen, die sich eigentlich ganz gut für den Versuch eignet. WordPress drauf, erstmal mit einem beliebigen Theme und los gehts. Das Konzept: Möglichst aktuelle und reißerische News, die es z.B. bisher nur auf Englisch gibt (Digg! ;) ) umschreiben, auf Controversia.de veröffentlichen, einreichen, Besucher generieren und verlinken lassen.
Soweit die Theorie.

Nun erstmal zu ShortNews an sich: Das System unterscheidet sich grundlegend von Digg oder Reddit. Man hat eine Nachrichtenquelle, fasst den Inhalt der Nachricht in mindestens 300 Wörtern zusammen, versieht das dann mit einer Überschrift und sendet die Zusammenfassung ein. Die Zusammenfassung wird dann geprüft. Das läuft dann nicht mehr maschinell, da sitzen – kaum zu glauben – richtige Editoren, die nachschauen ob die selbe Nachricht nicht schon einmal in anderer Form eingeliefert wurde, ob die Quelle glaubwürdig ist, ob die Zusammenfassung der Quelle entspricht, etc. Da kommen dann durchaus auch persönlich verfasste, menschliche Emails zurück, wenn noch etwas nachzubessern ist.
Noch ein Unterschied zu Digg: Es geht um News. Ein Blogpost über die 10 nervigsten Arten von Fußpilz wird da keinen Erfolg haben, aber wenn Megan Fox gestern mit Fußpilz diagnostiziert wurde, ist das schon eher eine Nachricht wert.

Der Versuch läuft jetzt erst seit ein paar Tagen und ich habe gerade erst richtig angefangen. Die Nachrichten, die ich bisher verfasst habe, finden sich hier: ShortNews.de Nachrichten von BongSchlong

Dabei sind vor allem drei, die durchschlagenden Erfolg hatten und längere Zeit auf der Startseite standen und damit einer Menge Traffic ausgesetzt waren:

Daraus leite ich schonmal ab: Die Überschriften sollten einzigartig sein. Tragisch und schwerwiegend ist okay, aber das Alleinstellungsmerkmal ist wichtig. Ich behaupte dass “Sex-Täter vergewaltigt 8-Jährige” nichtmal halb so erfolgreich gewesen wäre. Mit der Nachricht selbst muss ich noch ein wenig herumexperimentieren, aber meine Vermutung läuft in die Richtung dass man so schreiben muss, dass der Leser noch mehr Hintergrundinfos oder auch Bilder will und auf die Quelle (deine Website) klickt. Content bei der Quelle ist letztendlich also immer noch King.

Interessant wird es bei Bali: 18-Jähriger hatte Sex mit Kuh und fällt in Ohnmacht, während er sie heiratet, denn dort habe ich als Quelle zum ersten Mal controversia.de angegeben. Die Domain ist komplett frisch; die 1.200 Besucher, die im Anschluss an die Veröffentlichung vorbeigeschaut haben, konnten also nur dadurch generiert worden sein. Backlinks kann man damit offenbar auch generieren. Ein kurzer Blick in die Statistik zeigt auf jeden Fall, dass die Besucher von vielen verschiedenen Quellen kommen. Bedenke: Ich habe nichts weiter getan, als die News einzustellen.

Ausblick: Ich werde da auf jeden Fall dranbleiben, noch mehr schreiben und schauen, was sich da noch machen lässt. Vor allem ein authentisches, einzigartiges Design im Zeitungslook muss her und dann schauen wir weiter. Über Fortschritte werde ich berichten.

Hast du schonmal Erfahrungen mit Social News gemacht? Oder bist du ein Digg-König und kannst das besser?

Das Phänomen Linkgeiz

Es gibt immer etwas, über das man sich aufregen kann: Kommentarspam, Affilinet-Newsletter, die es nicht schaffen, das ü in meinem Nachnamen korrekt darzustellen, lahme Auszahlungen oder 15 Euro Checkeinlösegebühr, die man abdrücken muss, weil irgendein Feld-, Wald- und Wiesenpartnerprogramm aus fernen Ländern meint, es wäre effizienter Geld per Post zu verschicken als es einfach zu überweisen. Wenn man das alles aber schon durch hat, bleibt nur noch eins und das ist meistens: Der Linkgeiz.

Linkgeiz ist per definitionem die geringe Bereitschaft von Websitebetreibern, auf andere Websites zu verlinken. Ich bemerke das zum Beispiel, wenn ich auf anderen Websites Gastbeiträge veröffentlichen möchte. In über 80% Prozent der Fälle kommt dann (wenn überhaupt) erstmal die Frage zurück, was ich denn zahle oder auf welcher Seite ich im Gegenzug den Tauschlink setzen würde. 800 oder mehr Wörter hochqualitativer, themenrelevanter und zielgruppengerechter Text wird offenbar nicht als ausreichende Kompensation aufgefasst und auch auf die freundliche Antwort mit der Erklärung, warum ein Gastbeitrag – auch wenn er nur wegen des darin enthaltenen Backlinks geschrieben wird – Vorteile für beide Seiten hat, kommt meistens eine Absage zurück.

Ein anderes Beispiel ist der Linktausch. Anstatt nach Methode Pi mal Daumen vorzugehen wird jedes Detail akribisch geprüft und man stellt wirre Rechnungen mit Anchortexten, Keyworddichte und Domainpopularität auf, die am Ende zum Ergebnis haben, dass ein Linktausch doch nicht so das Wahre ist, weil die Startseiten ja einen unterschiedlichen PageRank haben – da würde man ja mit einer viel schwächeren Seite tauschen.

Das Phänomen Linkgeiz kursiert dabei längst nicht nur in SEO-Kreisen. Die wenigen privaten Hobby-Websitebetreiber, die noch übrig sind, sind extrem SEO-sensibel geworden. Kein Wunder, dunkles Halbwissen um Suchmaschinenrankings, Links und dass an der ganzen Sache viel Geld dranhängt, ist mittlerweile omnipräsent und dank der recht stattlichen Anzahl deutscher SEOs hat wohl der Großteil amateurhafter Seitenbetreiber, deren Thema sich irgendwie kommerziell auslegen lässt, schonmal eine Linkanfrage irgendeiner Art bekommen. Sobald die Seite, die verlinkt werden soll, professionell und nach SEO aussieht, wird der Freizeitwebmaster misstrauisch, schimpft ein wenig über Kommerz und lässt das Verlinken sein. “Quality content attracts quality links” funktioniert für viele Websites einfach nicht mehr.

Woher kommt das?

Jetzt folgt der Part mit meinen wilden Theorien.

  • Zu viel Verantwortung
    Einen Tauschlink oder Gastbeiträge einzupflegen bedeutet zwei, drei, vier, maximal fünf Minuten Arbeit, soviel ist überschaubar. Aber damit handelt man sich die Verantwortung ein, diesen Link auch dort zu belassen. Wird er geändert, verschoben oder entfernt, gibt es entweder Ärger (nervig) und/oder man verliert seinen eigenen Backlink und riskiert Rankings (grauenhaft! Panik! Ah!). Ich behaupte dass besonders SEOs gerne unabhängig sind. Das Problem ist nicht, den Kompensationslink zu setzen, sondern es zu müssen. Das kenne ich von mir selbst, ich hasse es jedes Mal aufs Neue, Websites auf den Strich zu schicken, um ebenso ungern gesetzte Backlinks zu ertauschen.
    Sehr große Websites, die von ebenso großen Unternehmen oder Verlagen geführt werden, haben oft auch viele Mitarbeiter, die zwar alle an den Websites arbeiten, von denen aber niemand gerne die Verantwortung tragen will, wenn etwas schief geht. Oft sind die Aufgaben und Befugnisse nicht eindeutig und bevor man etwas falsch macht, lässt man es lieber ganz sein.
  • Der Vorteil ist vermeintlich zu klein
    Eine PR6-Website mit Qualitätslinks von hunderten von Domains, die ihre Nische dominiert und hunderte Seiten im Index hat, hat es wahrscheinlich nicht nötig, Gastartikel zu veröffentlichen. Dennoch, auch eine extrem starke Seite kann von so einer Aktion profitieren und das ist Geld, das auf der Straße liegt. Ich will nicht klingen wie Morsten Taue, aber das nicht aufzuheben ist ja schon ein bisschen arrogant. Frische Texte über Themen, die so noch nicht auf der Website vorkommen sind nützlich und könnten z.B. gut im Longtail ranken und neue Besucher anziehen. Je mehr Artikel man sich so auf die Website holt, desto mehr Suchmaschinenfutter hat man. Die richtigen Qualitätsstandards für die Texte vorausgesetzt hat das nur Vorteile. SEO-generated-content sozusagen.
    Von der Gastartikel-Schiene abgesehen sehe ich auch kaum SEO-betriebene Websites, die freiwillig und “einfach so” wegen des inhaltlichen Mehrwerts verlinken. Dem Ranking hilft es, weil die Themenzugehörigkeit des Contents besser festgestellt werden kann und dem Nutzer hilft es, weil er zusätzliche Informationen bekommt. Ich sage nicht, dass man unter den “Jetzt kaufen”-Button einen Link zur Konkurrenz anbringen soll, aber es macht doch Sinn von der durchSEOzierten Bohrmaschinen-Website auch auf den hilfreichen Artikel in Karl-Heinz’ Akkuschrauberportal zu verlinken, oder?
  • Der Nachteil ist vermeintlich zu groß
    SEO ist manchmal eine Wissenschaft, das merkt man, wenn man den Blog von Sistrix verfolgt oder schonmal einen Vortrag von Ben Hendrickson gesehen hat. Aber wie eben schon erwähnt, machen sich manche SEOs einfach zu viele Gedanken über ihre Links. Das merkt man, wenn man durch das Abakus Forum blättert und Threads findet, in den gefragt wird ob man wegen 3 PR1-Links pro Woche, von denen einer nofollow ist und zwei bei Vollmond gesetzt werden, in einer Sandbox landet und man erlebt es selbst, wenn man gesagt bekommt, es könne leider kein Link gesetzt werden, weil sonst zu viel “Linkjuice” abfließen würde.
    Außerdem gibt es genug Websites, die externe Links scheuen, weil sie sich zu 100% auf TKP-Basis vermarkten und ihnen mit jedem ausgehendem Besucher das Geld durch die Finger rinnt. Stellt sich dann generell eine Sinnfrage, aber das ist ein anderes Thema.
  • Links sind vermeintlich zu kostbar
    Das sind diejenigen, die glauben, sie dürften selbst keine Links setzen, weil sie welche verkaufen. 750 Euro Linkjahresmiete müssen es schon sein. Wenn man da freiwillig verlinkt, würde man sich doch dann eine ganze Menge Kohle entgehen lassen! Macht Sinn? Nein.

Der Linkgeiz wird gerne mit “typisch Deutsch” in Verbindung gebracht, um dazu Theorien aufzustellen fehlt mir allerdings die Erfahrung in internationalen SEO-Gewässern, sicher kann da jemand anderes mehr zu sagen (Kommentare schreiben!).

Hast du schonmal Linkgeiz zu spüren bekommen? Bist du selbst einer dieser Linkgeizkragen? Alles Schwachsinn und es gibt keinen Linkgeiz?

Semantik, Algorithmen und Sensoren

Werden wir bald von den Computern heimgesucht, die unsere Daten aggregieren, zusammenführen, bewerten und verwerten?

Nein. Die Beispiele, mit denen ihr beginnt, sind für meinen Geschmack etwas sehr weit hergeholt. Handys mit Barometer? Gut, die Geschwindigkeitsmessung wäre dank GPS noch möglich, aber letztendlich muss man immer nach dem Sinn der Nutzung solcher Daten suchen. Es gibt kein universelles Muster der Musik, die Leute hören, wenn sie mit 120 auf der Autobahn unterwegs sind; der eine hört wilden Hip-Hop, der andere Klaviersonaten und das ist bei den meisten anderen Themen genau so. Genau so schwer ist es, aus einfach erhebbaren Informationen wie zum Beispiel der Positions- und Bewegungsdaten, aktuelle und genaue Stimmungsprofile zu erstellen. Gedankenlesen geht nicht.
Gut, wenn das System registriert, dass ich jede zweite Nacht auswärts übernachte, könnte ein Filter anspringen und das als die Adresse meiner Freundin identifizieren oder mir eine allgemeine Vorliebe für Döner unterstellen, wenn ich regelmäßig den entsprechenden Imbiss aufsuche. Das geht jetzt schon und auch wenn das harmlos klingt, nimmt das bei Heavy-Usern Orwell’sche Züge an, die diese Daten sowohl kommerziell als auch für Überwachungsorgane interessant machen würden.

Ich behaupte es gibt keinen Unterschied dazwischen, persönliche Daten vor Personen und Unternehmen oder aber vor “den Maschinen” zu verstecken – sobald irgendwo Informationen verarbeitet oder kombiniert werden, hat das irgendjemand veranlasst, im Zweifel besagte Personen und Unternehmen. Das Bewusstsein, dass irgendwann veröffentlichte Daten irgendwann einmal negative Auswirkungen haben können, ist zwar sehr präsent, wird aber nicht ausreichend umgesetzt:

Wenn ich via Twitter über Kunden lästere, werden die das mit an Sicherheit grenzender Wahrscheinlichkeit nicht lesen. Trotzdem, irgendwann würde es garantiert schiefgehen und irgendwann ist einer von ihnen unter meinen Followern. Und wenn er es jetzt noch nicht ist, vielleicht ist er es irgendwann und liest gerne alte Tweets – das Internet vergisst ja nicht. Ob ich meinen Kundenfrust jetzt bei Twitter, Facebook, StudiVZ oder XING ablasse, ist bis auf die unterschiedliche Wahrscheinlichkeit, mit der der Kunde im jeweiligen Netzwerk angemeldet ist, egal, zumal z.B. Tweets ja bereits jetzt rege in anderen Social-Networks eingebunden und angezeigt werden.

Sich da noch auf AGB und “das sind aber meine Informationen” zu berufen, mag rechtlich gesehen der Königsweg sein, in der Praxis sieht das anders aus. Zum Beispiel gibt es unzählige Seiten, die absolut widerrechtlicherweise WHOIS-Daten veröffentlichen. Diese Daten bekommst du mit etwas Pech niemals aus dem Netz. Also sollte man sich bevor man irgendwo irgendetwas eingibt, genau darüber im Klaren sein, ob man das auch auf anderen Plattformen so schreiben würde.

Zu foursquare und gowalla und wie sie alle heißen lässt sich noch sagen: Ich sehe keinen Sinn darin, meine Follower oder Blogleser darüber zu informieren, wo ich gerade bin oder wo ich mein Mittagessen einnehme. Wo ist der Vorteil für mich und warum sollte es die interessieren?

Mein Lob übrigens an die isarrunde, sehr schöne Serie mit unglaublichem Produktionsaufwand, wie man im Making-Of sieht. Weiter so!

Deutsche Webdesign Blogs

Ich habe keine klassische Blogroll und brauche auch keine. Trotzdem möchte ich eine Empfehlung abgeben zu den deutschen Webdesign-Blogs, die ich regelmäßig verfolge.

Weitere tolle Blogs:

Robots-Metatags für einzelne Seiten in ModX einstellen

Da es hin und wieder vorkommt, dass man mal einige einzelne Seiten einer Website nicht im Suchmaschinenindex wiederfinden will (zum Beispiel das Impressum), braucht man einen Weg, um einzelne Seiten mit folgendem Robots-Metatag zu versehen. In meinem Lieblings-CMS überhaupt, ModX, geht das ganz einfach:

<meta name=”robots” content=”noindex”/>

Auch wenn es nicht notwendig ist, kann ja nicht schaden, möchte man auf den anderen Seiten jedoch den Wert

<meta name=”robots” content=”index, follow”/>

einbringen. Damit man nicht zwei verschiedene ModX-Templates anlegen muss, regelt man das am besten über Templatevariablen. Dazu legt man unter Elemente > Elemente-Verwaltung > Template-Variablen eine neue Template-Variable an. Die Eingetragenen Werte sehen dann so aus:

Die Trenner zwischen index, follow und noindex sind zwei senkrechte Striche, nicht verwechseln.

Zuletzt muss man nur noch folgende Zeile in den <head>-Bereich seines Templates einfügen:

<meta name=”robots” content=”[*robots*]“/>

Standardmäßig stehen jetzt alle Seiten auf index, follow. Möchte man eine Seite nicht im Index haben, geht man im Manager auf die entsprechende Dokumentenseite und kann ganz unten die Templatevaraible auf noindex setzen.

XML per PHP-Skript abfragen

XML ist ein wichtiges Handwerkszeug für Webentwickler und SEOs, denn bei der überwältigenden Mehrheit von APIs und Datenschnittstellen aller Art kommt XML zum Einsatz. Seien es nun Twitter-Nachrichten, Wetterdaten oder ein Produktfeed mit aufbereiteten Daten, die sich bequem automatisch verarbeiten lassen – dank XML. Die Verarbeitung von XML ist sehr einfach und kann auf nahezu jedem Webserver mit PHP durchgeführt werden.

Zunächst muss man an die eigentlichen XML-Daten kommen, sofern man sie nicht als Datei auf dem Server liegen hat. Da gibt es zwei Optionen. Wer einen Aufruf mit mehr Einstellmöglichkeiten erreichen will, kann die Daten zunächst mit cURL herunterladen.

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, 'http://www.justusbluemer.de/blog/feed');
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$xml = curl_exec($curl) or die('Es ist ein Fehler aufgetreten.');

curl_close($curl);

echo $xml;

So kann man über curl_setopt() z.B. Referrer- oder Useragent-Daten selbst bestimmen. Bei php.net gibt es eine volle Liste mit cURL-Optionen.

Alternativ und für die meisten wohl die unkompliziertere Methode verbindet das Abrufen direkt mit dem Laden und so wird die XML-URL oder der Dateipfad, sofern es lokal vorliegt, direkt in den simplexml_load_file()-Aufruf gesteckt:

$xmlHandle = simplexml_load_file('http://www.justusbluemer.de/blog/feed');

print_r($xmlHandle);
} else {
exit('Konnte test.xml nicht öffnen.');
}

Wer das XML per cURL abgerufen hat, verwendet stattdessen simplexml_load_string:

$xml = // ... XML-String mit cURL laden laden (siehe Codebeispiel oben)

$xmlHandle = simplexml_load_string($string);

print_r($xmlHandle);

Das XML besteht nun als Array in $xmlHandle. Wie genau das Array aufgebaut ist, schaut man sich am besten selbst mit einem Aufruf von print_r($xmlHandle) selbst an.
Wichtiger Tip: Auf Attribute greift man mit der Methode ->attributes() zu.

Ältere Artikel »