Banner - Blog zu den Themen Programmierung, SEO, SEM, Social Media, Internet Marketing, Webdesign, IT-Service und Mehr - SEO Hannover - IT-Dienstleistungen und SEO Agentur Fly2Mars-Media.de

Archiv

Archiv für die Kategorie ‘Blog’

Magento: Datum und Zeit / Date and Time

Bei Operationen mit Datum und Zeit sollten die Klassen Mage_Core_Model_Date oder
Mage_Core_Model_Locale verwendet werden, um Zeitverschiebungen zu berücksichtigen.

Verwendung von now() und date() dafür nicht geeignet.

Beispiele zur Verwendung der Date Funktion in Magento

// get timestamp on server based time
$now = Mage::getModel('core/date')->timestamp(time());
// get server date and time
$now = Mage::getModel('core/date')->date('Y-m-d h:i:s');
// get UTC date and time
$now = Zend_Date::now();
$anyDate = '2011-12-11';
$currentDate = Mage::getModel('core/date')->date('d.m.Y', strtotime($anyDate));
// a more complete example with the im admin panel configured timezone
$datetime = Zend_Date::now();
// admin controls this output through configuration
$datetime->setLocale(Mage::getStoreConfig(
Mage_Core_Model_Locale::XML_PATH_DEFAULT_LOCALE))
->setTimezone(Mage::getStoreConfig(
Mage_Core_Model_Locale::XML_PATH_DEFAULT_TIMEZONE));
echo $datetime->get(Zend_Date::DATETIME_SHORT);
// formated
$date = $datetime->toString("Y-MM-d_H:m:s");
GD Star Rating
loading...
GD Star Rating
loading...

Wie deaktiviert man korrekt Observer-Funktionen OHNE die Core-Module zu verändern?

Schreibt ein eigenes Module, dort in der etc/config.xml ist es möglich über z.b. folgende Zeilen den Aufruf der Methode “initByRequest” durch das Event controller_action_predispatch zu deaktivieren.

Wichtig dabei folgende Zeile zum deaktivieren des Events: <type>disabled</type>

    <frontend>
        <events>
            <controller_action_predispatch>
                <observers>
                    <log>
                        <class>log/visitor</class>
                        <method>initByRequest</method>
                        <type>disabled</type>
                    </log>
                </observers>
            </controller_action_predispatch>
		</events>
	</frontend>

Warum nicht direkt im core?

Durch saubere Trennung zwischen eigenem (veränderten) und core-code, ist eure Magento-Version weiterhin wartbar,
daher Updates (vor allem Security-Fixes) lassen sich einfacher einspielen.

Mit jeder direkten Änderung am core-code, verschlechtert sich die Wartbarkeit der Magento-Suite.

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

GD Star Rating
loading...
GD Star Rating
loading...

Linux Konsolen Befehle in Windows verwenden

Eine Möglichkeit Linux-Tools/-Programme direkt unter Windows ohne eigene Linux-Installation laufen zu lassen bietet z.b. das Windows-Programm Cygwin entwickelt von Red Hat. Als gute Ergänzung empfehle ich das Windows-Programm MSYS.

Linux Befehle unter Windows – Alternativen

Für einige Linux-Befahle wie z.b. echo, Umleitung von Ausgaben sowie cat gibt es in der Windows Shell (cmd.exe) Alternativen.

Umleitung des Ausgab-Streams

type befehl1 > text.txt

Pipeline

Identisch mit dem Aufruf unter Linux:

cmd1 | cmd2

cat

asdf

set –x oder set +x

Die Befehle schalten den Debug Modus ein oder aus. In Windows geht das mit echo on und echo off.

Dev/null

/dev/null aus Linux entspricht dem Device nul in Windows.

 

GD Star Rating
loading...
GD Star Rating
loading...

SEO: Die Bedeutung des Canonical-Tag – sinnvoll oder falsch verwendet?

Ständig fällt in Bezug auf “unique Links” das Wort “Canonical-Tag wurde gesetzt” … toll, aber das Problem ist damit nicht gelöst.

Warum?

- Der Canonical-Tag ist nur ein Verweis auf das Original
- Link Juicy geht weiterhin komplett verloren
- Die Original-Seite erhält nicht den Link-Power den sie bekommen würde wenn es nur die eine Seite gebe (oder die doppelte per 301 auf diese geht)

Wie ist eure Meinung dazu?

GD Star Rating
loading...
GD Star Rating
loading...

PHP Call-Back-Funktionen verwenden

Kennt ihr Call-Back-Funktionen? Z.b. wenn es heißt Daten neu zu formatieren, z.b. in einer Attribute-Liste, dann sind Call-Back-Funktionen echt nützlich. Warum auch immer werden Callback-Funktion nicht so oft benutzt wie es sinnvoll wäre, aus diesem Grund ein kurzes Blog-Post zu der Thematik.

So geht’s:

$callback = '_test' . uc_words($attributeCode, '');
 if (method_exists($this, $callback)) {
 $entry = $this->$callback($attribute);
 if (!empty($entry)) {
 $data[$attributeCode] = $entry;
 }
 }
 protected function _testColor($attributeCode)
 {
 // do something
 //return data
 $return $data[$attributeCode] = array(
 'value' => 'attribute value'
 );
 return $data;
 }

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

GD Star Rating
loading...
GD Star Rating
loading...
KategorienBlog, PHP, Programmierung Tags:

PHP: Zip Archiv ohne Dateipfad im Zip-File

Ihr wollt mit PHP ein Zip-Archiv erstellen, eine Datei hinzufügen ohne im Zip-File den Pfad zu beinhalten?

So geht’s:

// function getFileNameWithPath() liefert den Pfad zum gewünschten zip-file
$zipFile = $this->getFileNameWithPath().'.zip';
 $zip = new ZipArchive();
 $overwrite = false;
if(file_exists($this->getFileNameWithPath())) {
 $overwrite = true;
 }
if ($zip->open($zipFile, $overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE)!==TRUE)
 {
 exit("cannot open <$zipFile>\n");
 }
$zip->addFile($this->getFileNameWithPath(), self::FILE_NAME);
 echo "status:" . $zip->status . "\n";
 $zip->close();

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

GD Star Rating
loading...
GD Star Rating
loading...

MySQL: Doppelte Datensätze finden

6. Februar 2014 1 Kommentar

Ihr müsste doppelte Datensätze innerhalb einer MySQL-Tabelle finden?

Das folgende SQL-Query hilft euch dabei (in spalte 1 werden doppelte Datensätze gesucht):

<code>SELECT COUNT(*) AS COUNT, spalte1, spalte2 FROM tabelle
GROUP BY spalte1 HAVING COUNT(*)>1;
</code>

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

GD Star Rating
loading...
GD Star Rating
loading...

SEO: Googles Trust Factor als Ranking-Faktor (Was beeinflusst diesen?)

Häufig wird davon gesprochen dass Google einer Seite ein bestimmten Trust zuweist. Nicht jedem ist klar was damit gemeint ist bzw. welche Kriterien für Google bedeutend sind und damit den Trust beeinflussen.

Wie setzt sich der Google Trust Factor zusammen?

Aus diesem Grund möchte ich an dieser Stelle kurz erklären welche Faktoren für den Google Trust Factor bedeutend sind.

Der Google Trust Factor setzt sich aus einzelnen Faktoren zusammen (OnPage als auch OffPage Faktoren). Je höher dabei der Trust einer Seite ist, desto wahrscheinlicher ist es, dass bestimmte Seiten/Artikel zu bestimmten Suchanfragen in den SERPS besser ranken als Seiten mit vergleichbaren Inhalten.

Folgende Faktoren sind wichtig für den Google Trust Factor:

  • viele Lange Artikel und einzigartige Inhalte
  • die Website enthält AGBs und eine Datenschutzerklärung
  • Ausgehende Links auf andere Trust-Seiten (z.b. wikipedia.de)
  • die Anzahl an Social Signals (likes, +1, etc. auf google+ oder facebook)
  • eine lange Verweildauer der Besucher auf der Website
  • die Anzahl Backlinks von Seiten mit hohem Trust
  • eine geringe Ladegeschwindigkeit der WebSeite

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

GD Star Rating
loading...
GD Star Rating
loading...

SEO: meta-tags & title ohne double encode

19. Dezember 2013 Keine Kommentare

Werden die Daten für die meta-tags sowie dem title aus einem cms ausgelesen, so kann es passieren das Sonderzeichen (special chars) enthalten sind. Diese sind natürlich nicht erwünscht, z.b. das doppelte Hochkomma (“) kann so gar den html-tag “zerstören”.

Die Lösung ist selbstverständlich in php die Funktion htmlspecialchars() .

Doch wird diese nicht mit entsprechenden Parametern ausgeführt, so werden ggf. doppelte encodings vorgenommen so wird aus einem

$einString = “‘Honey’ & s&uuml;&szlig;e \”Schokolade\””;

ein

&#039;Honey&#039; &amp; s&amp;uuml;&amp;szlig;e &quot;Schokolade&quot;

Das ist nicht unbedingt erwünscht. Daher lieber wie folgt aufrufen

echo htmlspecialchars($string, ENT_QUOTES, "UTF-8", false)";

und ihr erhaltet als Ausgabe

&#039;honey&#039; &amp; s&uuml;&szlig;e &quot;Schokolade&quot;<br>

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

GD Star Rating
loading...
GD Star Rating
loading...

robots.txt vs. noindex

13. Dezember 2013 Keine Kommentare

seokanzler contest

Des Öfteren werde ich gefragt welche die Beste Möglichkeit ist die indexierung einer Seite durch Google zu unterbinden.

Methoden um die indexierung von webseiten zu unterbinden

Dazu gibt es bekannterweise verschiedene Möglichkeiten, am interessantesten ist hierbei der Einsatz der robots.txt sowie den meta noindex-Metatag .

Klingt erst mal einfach, ist es aber nicht! ;-)

Der Irrglaube

Weit verbreitet ist der Irrglaube dass eine in der robots.txt mit disallow markierte URL nicht indexiert werden kann. Das ist schlichtweg falsch! Die robots.txt dient nur zur Steuerung des jeweiligen Crawlers der Suchmaschinenanbieter. In der Regel halten sich diese an die Einträge in der robots.txt, eine Pflicht dazu gibt es allerdings nicht. Praxis Erfahrungen zeigen das selbst Google sich nicht immer an diese Einträge hält.

Übrigens der historische Zweck der robots.txt war, den Crawler von den Bereichen der Website fern zu halten, die eine besonders hohe Serverlast erzeugten. Der Nebeneffekt dabei: die per robots.txt “geschützten” URLs konnten nicht in den Index gelangen.

Aktuell ist es allerdings so, das Google selbst eintscheidet welche Links sie verfolgen und indexieren und welche nicht. Hat ein Link bzw. eine Seite für Google eine sehr hohe Bedeutung, so kann bereits ein Link auf eine URL reichen um die URL in den Index mit aufzunehmen. Dabei nimmt Google so gar Seiten auf, wenn sie vom Crawler noch nicht einmal besucht wurden.

Und schwups sind Seiten im Index die per robots.txt gesperrt sind.

Die Praxis-Falle

In der Praxis würde jetzt der Webseitenbetreiber nachträglich ein meta-tag mit noindex setzen – <meta name=”robots” content=”noindex”>. Gut gemeint aber jetzt passiert folgendes: nix

???

Da die Seite per Disallow-Anweisung in der robots.txt-Datei für den crawler gesperrt ist, besucht dieser die Seite nicht und z.B. Google kennt diesen Meta-Tag auf dieser Seite nicht, da die Seite selbst nicht besucht wird.

Der Einsatz von robots.txt und des Noindex-Metatags widerspricht sich hiermit und deshalb sollten die Einträge abgestimmt werden!

robots.txt und metatag-nofollow richtig einsetzen

Wie lösen wir jetzt das Problem bzw. wie setzen wir die beiden “Tools” korrekt ein?

Die robots.txt sollte immer nur dann verwendet werden, wenn es erwünscht ist dass ein Crawler auf eine geschützten URLs nicht zugreifen soll oder einfach die Last des Servers gesenkt werden soll. Das kann sein z.b. der Login-Bereich, bestimmte Bilder, Dateien, etc. pp, auch das duplicate Content Problem kann damit angegangen werden.

So erreichen wir dass der Crawler sich nicht mit unnötigen URLs verlustiert und anschließend keine Ressourcen mehr für die wichtigen Seiten übrig hat. Aus SEO-Sicht müssen wir ggf. damit leben, dass manche URLs trotzdem im Google-Index gelistet werden.

Wollen wir definitiv das Listing einer Seite im Google-Index verhindern, so kommen wir um den Einsatz eines noindex-Metatag nicht herum. Dabei ist zu berücksichtigen dass die Suchmaschinen Zugriff auf diese Seite haben und sie NICHT per robots.txt als disallow markiert ist.

Übrigens, der Einsatz des nofollow-attributes für links ist nur eine Empfehlung für die Suchmaschinen diese Seite nicht zu indexieren. In der Praxis hält sich Google sowieso nicht daran, bewertet die Links nur schlechter beim Ranking. Hinzu kommt das Google seiten auch negativ sieht welche nur nofollow-tags haben. Ist ja klar, die Seite erlaubt Google keine ausgehenden Links zu scannen und ist für den Crawler eine Sackgasse.

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

GD Star Rating
loading...
GD Star Rating
loading...