Kategorien
SEO

Google Panda Update SEO

Google hat mit seinem neusten Update ihres Ranking Algorithmusses den Kampf gegen schlechten und doppelten Inhalt aufgenommen.

Leider funktioniert das sehr gut, wie ich auf meiner Webseite wo-bin-ich-jetzt.de festellen musste. Am 12.8.2011 wurde das Update in Deutschland aktiviert und führte auf meiner Seite prompt zu einem Einbruch der Google-Besucher um -80%, weil dort ausschließlich doppelter Content von verschiedenen APIs verwendet wird.

Eingie Kriterien für schlechte Qualität von Inhalten sind

  • zu kurze Texte oder gar kein
  • keine Strukturierung der Texte mit Auszählungen und Überschrifthierachien (h1-h5)
  • einfache Keyword Wiederholungen ohne Sätze zu benutzen

Außerdem kann Google auch die Verweildauer auf der Webseite messen, wenn User über Google suchen, auf einen Link klicken und kurze Zeit später wieder zurück sind und weitersuchen. Ich habe beobachtet, dass besonders die Seiten mit schlechter Verweildauer besonders abgestrafft worden sind.

Die Lösung kann nur sein, den doppelten Inhalt zu verändern und in verschiedene Satzformen zu skripten, um einen attrativeren Content zu schaffen. Dabei muss auch auf die Eigenheiten der deutschen Sprache wie Fälle und Ein- und Mehrzahl geachtet werden.

Kategorien
PHP Zend Framework

Design Patterns im Zend Framework

Für einen Uni Vortrag habe ich mich mit den zahlreichen Design Patterns im Zend Framework beschäftigt. Folgende Themen werden beleuchtet mit Code- Beispielen:

Gliederung:

1. MVC
2. Front-Controller
3. Singleton
4. Row-Data-Gateway und Table-Data-Gateway
5. Registry

Download:

zend_framework_design_patterns

Kategorien
iPhone/iOS

Probleme mit dem Apple Application Loader

Die hochzuladene .app Datei befindet sich im Ordner Projekt-Name/Build/foo.app. Diese muss gezippt werden und wird dann akzeptiert vom Loader. Um vorab zu testen, welche Probleme es gibt, sollte man Button links oben, einstellen: Active Configuration->Release. Der Button ist derselbe, bei dem man auch zwischen Simulator und Device wechseln kann.

Wenn meine seine App für Apple bereitstellt zum Testen und zum ersten Mal mit dem Application Loader hochlädt, kann es zu folgenden Problemen kommen:

application executable is missing a required architecture At least one of the following architecture(s) must be present: armv6

Dieser Fehler kann nur mit einem Versionswechsel des Application Loaders verhindert werden. Wer Version 1.4.1 hat sollte sich 1.4 oder Application Loader 1.3 installieren.

An dieser stellen fängt Apple auch gleich an zu rummeckern, dass das Icon in 57×57 Pixel groß und als png vorliegen muss. Der Sinn entzieht sich total, weil Icons in der Größe auf dem iPad und iPhone4 richtig pixelig aussehen. Deswegen ist zu empfehlen mehrer Icons anzulegen in den folgenden Größen:

57×57 (iPhone), 114×114 (iPhone4), 72×72 (iPad) und 512×512 (wer weiss, was noch kommt)

Kategorien
iPhone/iOS Mobil

Wie stelle ich meine App in den App Store Anmeldung

Wenn ihr eine App programmiert habt und das gute Stück in den App Store uploaden wollt für die ganze Welt,müsst ihr euch einem Account vom Apple Developer Programm besorgen. Dieser kostet 99$ pro Jahr und es sollte beachtet werden, dass Apple die App aus dem App Store schmeist, wenn der Account nicht bezahlt wird jährlich.

Die App muss danach auf ITunes Connect registriert werden:

  1. App Name: wird nur im App Store angezeigt.
  2. SKU Number: selbst ausgedachte ID für die App
  3. Bundle ID: im apple developer center zu erstellen
  4. App Beschreibung Plain ohne HTML (max 4000 Bytes)
  5. Keywords für die Suche, sehr wichtig. Tipp: von Google Analytics Keywords inspirieren lassen (max 100 Bytes, entspricht ca. 10 Keywords)
  6. 2 Kategorien, von 20 möglichen, in denen die App erscheinen soll z.B: Lifestyle oder  Utilities
  7. eine Support Webseite und/oder eine allgemeine Webseite über die App (beides optional)
  8. Screenshots der App, die im App Store angezeigt werden sollen. vom iPhone und/oder iPad
  9. ein Logo für den App Store in 512×512 Pixel und mindestens 72dpi

Der App Code kann konfortabel mit dem Xcode Application Loader (/Developer/Applications/Utilities/Application Loader.app) hochgeladen werden.

Bei Problemen lesen Sie Xcode Application Loader

Kategorien
iPhone/iOS

IOS überprüfen, ob eine Kamera vorhanden ist

Da die Apps auf allen IOS Geräten funktionieren müssen, wozu auch der iPod Touch gehört, der keine Kamera in den älteren Versionen enthält, sollte Folgendes beachtet werden:

  1. Bei notwendiger Verwendung der Kamera innerhalb der App, muss in der foo-Info.plist ein Vermerk unter Required device capabilities gemacht werden. Dann wird die App nur für Geräte installiert und angezeigt, die eine Kamera haben.
  2. Bei einer möglichen Verwendung der Kamera, sollte dies im Code geprüft werden:
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO){
            NSLog(@"Kamera nicht vorhanden");
        }
        else{
            NSLog(@"Kamera vorhanden");
        }
Kategorien
CodeIgniter Framework SEO

$_GET Variablen in CodeIgniter und SEO

CodeIgniter hat aufgrund der Sichheitsprobleme von Get-Variablen dieses standmäßig deaktiviert, d.h. sie werden überschrieben beim Starten der Webseite.

Ein Möglichkeit GET-Variablen trotzdem zu nutzen und gleichzeitig suchmaschinenfreundliche URLs zu erzeugen ist:

$this->uri->segment(3)

Dieser Befehl gibt bei einer URL namens:http://www.foo.de/1/2/3/ den Wert 3 zurück.

Der Vorteil ist, dass keine Namen-Wert-Paare mehr in der URL befindlich sind, sondern nur noch die Werte, was die Länge der URL verkürzt und sehr seo freundlich ist. Der Nachteil ist, dass die Reihenfolge sich natürlich verändern kann und es dann zu Problen kommt.

Kategorien
iPhone/iOS WordPress

iPhone Oberfläche für WordPress

Mit dem Plugin WPtouch ist das kinderleicht erledigt und funktioniert bestens. Gerade habe ich das Plugin für meinen Blog installiert und bin begeistert.

20110819-101522.jpg

Kategorien
iPhone/iOS

Erstellen einer zweiten Lite Version einer App

Wenn man ein Projekt kopieren will, um bspw. eine Lite-Version einer App zu erstellen, muss man folgende Schritte durchführen:

  1. kopieren des Projekt Verzeichnisses
  2. Projekt umbennen in Xcode: Project->Rename
  3. erstellen einer neuen App ID auf http://developer.apple.com/
  4. ändern der eingegebenen Bundle ID in der foo-Info-plist
  5. löschen des build-Ordners des Projektes in der Terminal Konsole mit dem folgenden Befehl. Natürlich muss man sich im Projekt Verzeichnis befinden dafür. Die Xcode Funktion „Clean all Targets“ reicht leider nicht aus.
rm -rf build/
Kategorien
CodeIgniter Framework PHP

RESTful Services in CodeIgniter und White Screen

Um einen RESTful Service in CodeIgniter einzubauen, nutzt man am besten die sehr gute Bibliothek von Phil Sturgeon, vielen Dank dafür!

Ich habe mich leider mit dem White Screen of Death bei Code Igniter rumschlagen müssen und folgende Lösung gefunden: Die Bibliothek in der neusten Version 2.4 funktioniert nicht mit CodeIgniter 1.7x. Es sollte die Version 2.2 der Bibliothek installiert werden.

Um das zu überprüfen, kann die Versionsnummer von CodeIgniter in der Datei system/codeigniter/CodeIgniter.php herausgefunden werden.

Wenn der REST-Service läuft, sollte man übrigends die folgende Zeile in der  REST_controller.php abändern,damit deutsche Umlaute und Sonderzeichen korrekt ohne Error : Entity ‚ouml‘ not defined usw. angezeigt werden:

Zeile 693

$value = htmlspecialchars(html_entity_decode($value, ENT_QUOTES, 'UTF-8'), ENT_QUOTES, "UTF-8");
Kategorien
CodeIgniter Framework PHP Webdeveloper Tools

CodeIgniter debuggen mit FirePHP

Codeignitor macht einem das debuggen nicht einfach, weil bei einem normalen printf oder var_dump() Ausgaben die komplette Seite nicht geladen wird und es nur einen Serverfehler zurückgibt. Deshalb wird der Entwickler gezwungen, sein Projekt ordentlich zu debuggen, es gibt mehrer Möglichkeiten:

  1. per Logfile
  2. nutzen der oben benannten Funktion und danach ein die()
  3. XDebug, was aber lokal einfach möglich ist
  4. FirePHP für den Firefox
  5. per Codeigniter Profiler

Die Installation von FirePHP in Codeignitor ist sehr gut hier beschrieben.

Die Debug Informationen können mit folgendem Code in der Firebug Konsole ausgegeben werde:

$this->firephp->log('Message');

Der sehr gute Codeigniter Profiler kann mit dem folgenden Befehl aktiviert werden:

            $this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
            $this->output->set_header("Cache-Control: post-check=0, pre-check=0");
            $this->output->set_header("Pragma: no-cache");
            $this->output->enable_profiler(TRUE);