Google gegen sexuelle Aufklärung und Gesundheitstipps – Verbot dieser Themen bei Google Adsense Schaltung

14. Juni 2012 at 10:23
Walpurgisnacht in Bad-Grund

© Rainer Dollichon / piqs.de

Im Jahr 2012 unglaublich, aber wahr.

Google bzw. Google Adsense verbietet Webseitenbetreiber jegliche Artikel zum Thema sexuelle Aufklärung oder Gesundheitstipps. Im Detail schreiben Sie:

Sehr geehrte AdSense-Kundin, sehr geehrter AdSense-Kunde, bei der letzten Überprüfung Ihres Kontos haben wir festgestellt, dass Sie derzeit Google-Anzeigen auf eine Art und Weise schalten, die gemäß unseren Programmrichtlinien nicht zulässig ist (https://www.google.com/support/adsense/bin/answer.py?hl=de&answer=48182&stc=aspe-1pp-en).

 

GEFUNDENE VERSTÖSSE:

NICHT JUGENDFREIE THEMEN / SEXUELLE GESUNDHEIT / TIPPS BEZÜGLICH
SEXUALITÄT: Gemäß unseren Programmrichtlinien dürfen AdSense-Publisher
keine Google-Anzeigen auf Seiten mit nicht jugendfreiem Content bzw.
Content für Erwachsene schalten. Dies gilt möglicherweise auch für Themen
wie sexuelle Gesundheit und Tipps oder Ratschläge bezüglich Sexualität.
Weitere Informationen zu dieser Richtlinie erhalten Sie in der
AdSense-Hilfe
(https://www.google.com/adsense/support/bin/answer.py?hl=de&answer=105957).

GEFORDERTE AKTION: Bitte nehmen Sie alle erforderlichen Änderungen
innerhalb der nächsten 72 Stunden vor.

Wenn die Verstöße innerhalb des genannten Zeitraums behoben werden, wird
die Anzeigenschaltung nicht beeinträchtigt. Sollten keine Änderungen
vorgenommen bzw. andere Richtlinienverstöße während des Freigabeverfahrens
festgestellt werden, wird die Anzeigenschaltung für Ihre Website
deaktiviert.

Das hätte der Papst bzw. die katholische Kirche nicht besser schreiben können.

Da es so unglaublich ist, hier noch einmal:

GEFUNDENE VERSTÖSSE:

NICHT JUGENDFREIE THEMEN / SEXUELLE GESUNDHEIT / TIPPS BEZÜGLICH
SEXUALITÄT: Gemäß unseren Programmrichtlinien dürfen AdSense-Publisher
keine Google-Anzeigen auf Seiten mit nicht jugendfreiem Content bzw.
Content für Erwachsene schalten. Dies gilt möglicherweise auch für Themen
wie sexuelle Gesundheit und Tipps oder Ratschläge bezüglich Sexualität.

Keine Aufklärung zu Themen wie sexuelle Gesundheits oder Tipps oder Ratschläge bezüglich Sexualität.

Nee is klar … Hier wird wohl sehr negativ ersichtlich dass Google ein amerikanischens und daher arg prüdes Unternehmen ist.
Sexuelle Aufklärung ist da nicht erwünscht, Krankheiten werden generell tot geschwiegen und die Welt ist schön.

Armes Google ….armes Internet …

Résumé: google is evil!

Magento: Einzelne EAV-Attribute speichern

25. Mai 2012 at 17:22

Möchtet ihr bei einem Produkt, Bestellung, oder ähnlich in Magento ein Attribute speichern, so geht das in der Regel wie folgt (Bsp. an einem Produkt):

// Produkt laden
$product = Mage::getModel("catalog/product")->load(123);
// Attribut ändern
$product->setTitle("Asdf");
// Produkt speichern
$product->save();

Allerdings funktioniert das Speichern nicht an jeder Stelle, hinzu kommt das bei dem obigen Beispiel jeweils das gesamte Produkt inkl. alle Werte gespeichert wird. Da das EAV-Model ein komplexes Konstrukt ist, kann der Speichervorgang unnötig viele Ressourcen verschwenden.

Deshalb ist das Speichern einzelner Attribute direkt über das Resource-Model die bessere Wahl.
Hier am Beispiel des Produktes:

// Produkt laden
$product = Mage::getModel("catalog/product")->load(123);
// Attribut ändern
$product->setTitle("Asdf");
// geändertes Attribute über das Resource-Model des Produktes speichern
$product->getResource()->saveAttribute($product, "title");

Sollte euch der Artikel geholfen haben, so teilt diesen doch bitte bei Google+ und/oder Facebook!

Wartungsseite / Wartungsmodus über mod_rewrite definieren? Wartungsseiten in Magento

18. Mai 2012 at 14:18

Ihr möchtet eine Wartungsseite über mod_rewrite für verschiedene Hosts (Domains / Webseiten) und als Ausnahme z.B. das interne Firmennetzwerk definieren?

Hier die Lösung über mod_rewrite:

############################################
## Maintenance window
RewriteCond %{HTTP_HOST} ^domain1\.de$
RewriteCond %{HTTP:x-forwarded-for} !^192\.168\.0\.13$
RewriteCond %{REQUEST_URI} !^/media/ [NC]
RewriteRule .* tools/wartung/maintenance_page1.php [L]
RewriteCond %{HTTP_HOST} ^domain2\.de$
RewriteCond %{HTTP:x-forwarded-for} !^192\.168\.0\.13$
RewriteCond %{REQUEST_URI} !^/media/ [NC]
RewriteRule .* tools/wartung/maintenance_page2.php [L]
RewriteCond %{HTTP_HOST} ^domain3\.de$
RewriteCond %{HTTP:x-forwarded-for} !^192\.168\.0\.13$
RewriteCond %{REQUEST_URI} !^/media/ [NC]
RewriteRule .* tools/wartung/maintenance_page3.php [L]

 

Gleichseitig sollte auf der maintenance_page ein 503-Status-Code ausgegeben werden, z.B. mit folgender Seite:

<?php

<?php
ob_start();
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 3600');
header('X-Powered-By:');
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Temporarily Unavailable</title>
</head><body>
<h1>Service Temporarily Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>

?>

Gefällt euch der Artikel? Dann bitte bewerten und bei Facebook & Google+ teilen!
Danke für euren Support!

SEO – Mehrsprachigkeit: Was ist besser? Mehrere Länderdomains oder eine .com?

8. Mai 2012 at 18:23

Auf der Suche nach geeigneten Domains für eine neue Webseite wird oft die Frage gestellt „Mehrere Länderdomains oder eine .com?“. Als Beispiel fällt mir ein Web-Shops ein, welcher in verschiedenen Ländern präsent sein soll.

Klares Pro-Argument ist ein psychologischer Faktor, und zwar werden bei der breiten Masse der Internetbenutzer (primär ältere Nutzer) Webseiten mit der Länderdomain des jeweiligen Landes, als vertrauenswürdiger angesehen und damit auch mehr genutzt. Google selbst kann die Seiten ebenfalls besser zuordnen, vor allem bei der lokalen-Suche kann dieser Faktor ein Mehrwert sein. Auch kann es durchaus sein dass Anwender die jeweilige Domain intuitiv eingeben oder teile der Domain bei google.de, so dass diese als Vorschlag erscheint.

Aber was ist jetzt SEO-technisch die beste Lösung?

Da großer internationaler Konzern, lieber eine „große“ .com oder .eu Domain mit vielen Unterseiten und den jeweiligen Sprachversionen als Unterkategorien oder doch lieber mehrere Domains mit Länderendungen (.de, .co.uk, .fr, etc.)?

Und was ist jetzt bei gleichsprachigen Ländern wie z.B. Österreich (.at) und gleichzeitig Deutschland (.de)?
Wie wird da verhindert das Google beide  Seiten bzgl. duplicate content abstraft?

Viele Fragen, auf die ich in diesem Artikel eingehen möchte.

Bei der Lösung mit jeweils eigenständigen Länder-Domains, erfolgt eine Aufsplittung der eingehenden Linkpower, wobei bei der 1-Domain-Lösung (z.B. über .com oder .eu mit jeweils Unterseiten pro Land) die Domain den gesamten Link-Juice abbekommt.

Ist das überhaupt ein Problem? Ist mit diesem Faktor schon die Entscheidung gefallen?

Nicht ganz und vor allem ist es weit wichtiger, auch über die regionalen Suche gefunden zu werden.

Mit der .com wird die Seite zwar auch gefunden, wenn jemand „Seiten aus Deutschland“ bei Google anklickt (oder je nach dem aus welchem Land die IP kommt), jedoch nicht Seiten aus Östereich / Seiten aus der Schweiz etc.!

Mit .de, .ch, .at etc. wird automatisch auch die Seite mit der Regionalen Suche gefunden. Was wiederum einfacher zu optimieren ist.

Und wie lösen wir das Duplicate Content Problem bei Seiten mit der selben Sprache aber unterschiedlicher Domain?

Jetzt steht weiterhin dass Problem, der doppelten Inhalte auf zwei verschiedenen Webseiten/Domains mit der selben Sprache, im Raum (z.B. .de und .at). Wie lösen? Durch 301 oder canonical-link würden nicht beide Varianten auch in den SERPs gelistet, was allerdings gewollt ist.

Internationale und mehrsprachige Websites

Schauen wir doch mal bei Google in der FAQ dort wird unser Beispiel genannt.
Gerade im spanischen Raum (Latainamerika, Spanien, etc.) kommt es zu ähnlichen Problen.
Hier geht Google im Detail auf das Problem „Duplizierter Content und internationale Websites“ ein.

Interessant ist meiner Meinung nach die Kombination beider Varianten, daher schon auf die jeweiligen Länderdomains setzen, allerdings auch ein offizielles Länder-Kürzel mit in die URL aufzunehmen, z.B. bei der kanadischen Domain:

http://example.ca/fr/vélo-de-montagne.html http://fr.example.ca/vélo-de-montagne.html

Google sagt dazu

Ein Hinweis auf die Sprache in der URL kann auch dabei helfen, Probleme mit mehrsprachigem Content auf Ihrer Website zu ermitteln.

„Ein Hinweis auf die Sprache in der URL kann auch dabei helfen, Probleme mit mehrsprachigem Content auf Ihrer Website zu ermitteln.

Zusätzlich geht Google auf das Thema „Duplizierter Content und internationale Websites“ ein, allerdings wird genau das Problem nicht erklärt, sondern darauf verwiesen per canonical oder redirect auf die als „bevorzugte Version“ fest gelegte Seite zu leiten. Aber genau das wollen wir ja nicht, die Seiten sollen sowohl mit der .de-domain in den deutschen SERPs als auch mit der .AT-Domain in den Österreichischen SERPs gelistet werden, auch mit dem selben Content.

Ich denke dieser Weg ist Bestandteil der Lösung (neben einbinden der Sprache in der URI):

Einstellungen für die geografische Ausrichtung (Geotargeting). Mithilfe des Geotargeting-Tools in den Webmaster-Tools können Sie für Google angeben, dass Ihre Website auf ein bestimmtes Land ausgerichtet ist. Dies sollten Sie jedoch nur tun, falls Ihre Website eine gTLD (Generic Top-Level Domain) aufweist. Falls sich Ihre Website an mehrere Länder richtet, sollten Sie dieses Tool nicht verwenden. Es wäre beispielsweise sinnvoll, für eine Website über Restaurants in Montreal „Kanada“ als Ziel einzustellen. Hingegen ist dieses Ziel für eine Website, die sich an französischsprachige Nutzer in Frankreich, Kanada und Mali richtet, nicht geeignet.

Zuständlich sollte das Markup Linkelements „rel=“alternate“ hreflang  zur Auszeichnung verwendet werden:

<link rel="alternate" hreflang="es" href="http://www.example.com/" />
<link rel="alternate" hreflang="es-ES" href="http://es-es.example.com/" />
<link rel="alternate" hreflang="es-MX" href="http://es-mx.example.com/" />
<link rel="alternate" hreflang="en" href="http://en.example.com/" />

Anwendungsbeispiel für Österreich, Schweiz & Deutschland

URL: www.website.de/beispielseite/
<link rel=“alternate“ hreflang=“de-AT“ href=“http://www.website.at/beispielseite/“ />
<link rel=“alternate“ hreflang=“de-CH“ href=“http://www.website.ch/beispielseite/“ />

URL: www.website.ch/beispielseite/
<link rel=“alternate“ hreflang=“de-AT“ href=“http://www.website.at/beispielseite/“ />
<link rel=“alternate“ hreflang=“de-DE“ href=“http://www.website.de/beispielseite/“ />

URL: www.website.at/beispielseite/
<link rel=“alternate“ hreflang=“de-CH“ href=“http://www.website.ch/beispielseite/“ />
<link rel=“alternate“ hreflang=“de-DE“ href=“http://www.website.de/beispielseite/“ />

Über hreflang wird also neben der Sprache auch die Region hinterlegt, in der die jeweilige Seite ausgespielt werden soll.

Quelle: googlewebmastercentral-de.blogspot.de/2011/12/neues-markup-fur-mehrsprachige-inhalte.html

Was meint Ihr zu diesem Thema?
Ich würde mich freuen wenn ihr eure Meinung als Kommentar schreibt.

 

Anwendungsbeispiel


URL: www.website.de/beispielseite/

<link rel=“alternate“ hreflang=“de-AT“ href=“http://www.website.at/beispielseite/“ />
<link rel=“alternate“ hreflang=“de-CH“ href=“http://www.website.ch/beispielseite/“ />

URL: www.website.ch/beispielseite/
<link rel=“alternate“ hreflang=“de-AT“ href=“http://www.website.at/beispielseite/“ />
<link rel=“alternate“ hreflang=“de-DE“ href=“http://www.website.de/beispielseite/“ />

URL: www.website.at/beispielseite/
<link rel=“alternate“ hreflang=“de-CH“ href=“http://www.website.ch/beispielseite/“ />
<link rel=“alternate“ hreflang=“de-DE“ href=“http://www.website.de/beispielseite/“ />

Über hreflang wird also neben der Sprache auch die Region hinterlegt, in der die jeweilige Seite ausgespielt werden soll.

SEO: Tipps zur optimierung der Ladezeiten einer Webseite – Pagespeed optimieren – SEO Tipps

30. April 2012 at 12:49
speed ampel geschwindigkeit performance

© Steve Webel / piqs.de

Die Seitengeschwindigkeit (engl. Pagespeed) bzw. genauer die Ladezeit einer Webseite, ist seit 2010 laut Google ein wichtiges Ranking-Kriterium. Daher ist es wichtig diese regelmäßig zu überwachen (Monitoring), bei schlechten Werten zu analysieren und schlussendlich zu optimieren.

An dieser Stelle möchte ich hierzu ein paar Optimierungs-Tipps geben.

Gerne könnt ihr in den Kommentaren Ergänzungen oder Kritiken schreiben, wenn sinnvoll nehme ich diese gerne in den Artikel mit auf.

Test-Tools / Seitengeschwindigkeit analysieren

Google stellt dafür ein kostenloses Tool zum Performance evaluieren der Webseite zur Verfügung, zu erreichen über den folgenden Link.

https://developers.google.com/pagespeed

Das Tool gibt es auch als kostenloses Browser Plugin:

https://developers.google.com/speed/pagespeed/download

Ladezeit mit Google-Analytics messen

Ich empfehle ebenfalls die Ladezeiten auch mit Google-Analytics regelmäßig zu monitoren.
Detailierte Informationen hierzu unter Google-Analytics.

Ziel: regelmäßiges automatisches Monitoring der Ladezeit

Grafiken komprimieren

Die Ladezeit von Grafiken lässt sich durch automatische Komprimierung wesentlich verkürzen,
Qualitätsunterschiede sind für das menschliche Auge fast nicht erkennen. Ein guter Komprimierungs-Dienst ist z.B.:

Tipp:    JPEGmini.com

Ziel: Grafiken verkleinern ohne merklichen Qualitätsverlust – weniger Datenvolumen zwischen Client & Server

Gzip Komprimierung aktiveren

Die automatische Gzip komprimierung lässt sich über die .htaccess ggf. über den Webserver (Provider) konfigurieren und sollte entsprechend aktiviert sein.

Ziel: Datenvolumen zwischen Client & Server verringern

CSS + Javascript Dateien zusammenfassen

Oft werden mehrere CSS und/oder JS-Dateien verwendet. Durch das zusammenfassen dieser Dateien, vermindern sich die HTTP-Requests (aus verschiedenen wird nur noch einer), dadurch erhöht sich ebenfalls die Ladezeit der Webseite.

Ziel: Weniger HTTP-Requests

Cache aktivieren

Wenn möglich ein Cache-Module des Webservers einbinden und aktivieren (z.B. APC oder MemCache).

Ziel: Webseiten werden im Cache vorgehalten, dadurch verringert sich die Last & Ladezeit des Webservers

Google Drive – der neue Google Cloud Dienst

26. April 2012 at 14:51

Google-logo-wikipediaMeine ersten Erfahrungen mit dem neuen, bis zu 5GB kostenlosen Cloud Dienst „Google Drive“ sind bisher positiv.
Neben dem Zugriff über den Webbrowser gibt es ein direkten Client für Windows  & Mac (Linux folgt sicher zeitnah).
Hoch geladene Dateien können entweder per Freigabe oder per Anhang als E-Mail geteilt werden.
Mein DropBox-Account nutze ich aktuell nicht mehr …

Auch positiv zu erwähnen ist, dass die bei Google-Docs hoch geladenen Dokumente ebenfalls gleich bei Google-Drive auftauchen (wenn über selbiges Konto).

Schön wäre wenn die kostenlose Grenze von 5GB noch erhöht wird. Aus Datenschutzgründen werde ich dort keine sensiblen Daten hoch laden, weder von mir noch vom Kunden. Dies bzgl. rate ich natürlich auch allen Anwendern davon ab. Allerdings zum speichern von allg. Dokumenten, Bildern, Videos, etc. ist der kostenlose  Dienst eine schöne Erweiterung im stetig wachsenden Google-Portfolio.

Screen Session unter Linux starten

16. April 2012 at 17:03

Ihr möchtet sicher gehen dass ein längerer Script definitiv ausgeführt wird, auch wenn z.B. die Terminal-Session geschlossen wird?

Dafür gibt es das GNU/Linux Tool „screen“.

Mit
screen -ls

könnt ihr euch alle laufenden Screen-Sessions anzeigen lassen.

Eine neue Session startet ihr mit
screen -S sessionname

Die eröfnete Session wieder fort führen mit
screen -r sessionname

Weitere Informationen zu Screen wie immer mit
man screen

 

Magento: Neue Collection anlegen / create new collection

11. April 2012 at 12:20

Um eine neue Collection in Magento anzulegen erstellt ihr eine entsprechende Datei in eurem Modul unter /Model/Mysql4/CollectionName/Collection.php welche die Klasse Mage_Core_Model_Mysql4_Collection_Abstract erweitert, z.b.:

class Namespace_OwnModule_Model_Mysql4_CollectionName_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
{
protected function _construct()
{
// your own code
}
}

Der Aufruf erfolgt dann über:

$collection = Mage::getModel('namespace_ownModule/')->getCollection();

Apple ist scheiße – Warum ich auf Apple sauer bin – schlechter Apple Service & schlechte Qualität

11. April 2012 at 11:03

Apple steht für Innovation und eigentlich auch für Qualität. So denkt man jedenfalls … Seit dem iPhone 4 ist zu mindest letzteres nicht mehr an einer hohen Position.  Schon zur  Veröffentlichung des iPhone 4 gab es gravierende Empfangsprobleme aufgrund einer schlecht konzeptionierten und später verbauten Antenne. Verbindungsabbrüche gehörten zur Tagesordnung, das iPhone 4 war praktisch nicht zum telefonieren zu gebrauchen. Apple besserte nach.

hängender Home-Button ist schon seit dem iPhone 1 bekannt

Andere Probleme wie ein ständig hängender Home-Button sind schon seit dem iPhone 1 bekannt und wurden bis jetzt nicht gelöst, auch im iPhone 4 hängt dieser nach ca. 1/2 Jahr „normaler“ Benutzung.

Siri schwächelt ebenfalls

Siri schwächelt ebenfalls und macht nicht dass, was sie machen soll bzw. im Apple-Werbespot gezeigt wird.
Entweder passen die Antworten nicht, sind falsch oder es gibt gar keine Antwort.
Die Benutzer-Beschwerden häufen sich ebenfalls im Internet.
In den USA wurde jetzt die erste Klage eingereicht, weil im Werbe Apple-Werbespot mehr versprochen wird als Siri wirklich in der Praxis kann.

In den USA erste Klagen wegen Siri eingereicht

Weitere bekannte und häufig erwähnte Probleme wie der Ausfall des Ohrmuschel-Lautsprechers (der Lautsprecher welcher beim telefonieren am Ohr anliegt) werden gar tot geschwiegen, Kundenbeschwerden über dieses Problem häufen sich allerdings zunehmend im Internet.

Ich selbst habe genau dieses Problem nach ca. 1 Jahr Benutzung, leider weniger Tage nach Ablauf der nur 1 jährigen Garantie seitens Apple. Apple garantiert nämlich nur für 1 Jahr das ihre Geräte funktionieren, soviel zum Thema Garantie … teure Care-Packs können natürlich abgeschlossen werden, sind diese bei anderen Anbietern meist für bis zu 5 Jahren, so bei Apple allein für das 2. Benutzungsjahr. Gewährleistungen müssen generell über den Händler abgewickelt werden, Apple selbst verweist darauf das die Beweispflicht bzgl. des technischen Defektes klar beim Kunden liegt.

Apple Support Hotline redet Probleme schön

Andere Hersteller wie z.B. Nokia oder LG hatten, zu mindest in der Vergangenheit bei Gewährleistungsfällen, kein Problem damit die gesetzliche Gewährleistung abzuwickeln, daher Abwicklung war direkt über den Kundensupport möglich ohne den komplizierten Weg über den Händler. Im Jahr 2012 durchaus zeitgemäß …

In meinem aktuellen Fall ist der Ohrmuschel-Lautsprechers (der Lautsprecher welcher beim telefonieren am Ohr anliegt) nach und nach immer leiser geworden, bei maximal eingestellter Lautstärke. Aktuell ist dieser so leise das ein telefonieren quasi unmöglich geworden ist, da nichts bzw. kaum zu hören.

Von einem seriösen Unternehmen hätte ich erwartet das dieser offensichtliche Hardware-Defekt, welcher bei vielen Benutzern nach nur 1 Jahr Benutzungsdauer auftritt, zu mindest eine Kulanz-Reparatur erfolgt wäre im Rahmen der gesetzlichen Gewährleistungspflicht, auch kurz nach Ablauf der 1 jährigen Garantie.

Aber nix da … der unfreundliche und leicht neben der Spur stehende Support-Mitarbeiter verwies auf ablauf der Garantie und auf den zuständigen Händler bei welchem ich das Gerät käuflich erworben hätte.

Traurig Apple, es wäre echt schön ein wenig mehr dem europäischen Markt angepassten Service auf selbigen anzubieten anstatt nur amerikanische Minimum Standards abzuwickeln.

Habt ihr ähnliche Probleme oder eine eigene Meinung zu diesem Thema?
Schreibt eure Erfahrungen hier als Kommentar!

Weiter führende Links zum Thema:

http://support.apple.com/kb/TS2802?viewlocale=de_DE&locale=de_DE

http://www.focus.de/digital/handy/iphone/apple-handy-iphone-4s-besitzer-schimpfen-ueber-netzprobleme_aid_675334.html

http://www.chip.de/artikel/iPhone-4-Bugs-Die-13-groessten-Probleme-loesen_43618381.html

Magento Code Snippet: Prüfen ob aktuelle Seite eine CMS, Category oder Produkt Seite ist

10. April 2012 at 15:02

Gelegentlich ist es notwendig zu prüfen von welchem Typ die aktuelle Seite ist.
Interessant dabei ist z.B. ob die aktuelle Seite eine Produkt-, Kategorie oder CMS-Seite ist.
Unter Anderem mit dem folgenden PHP-Code-Snippet könnt ihr dies prüfen:

if( Mage::registry('current_product') ) {
echo 'Product Page';
} else if( Mage::registry('current_category') ) {
echo 'Category Page';
} else if(Mage::registry('cms_page')) {
echo 'CMS Page';
}