html

Ebay: Auktionen optimieren

Als Verkäufer bei Ebay sollten Sie Ihre Artikel und damit Ihren Shop mit einem schicken Design versehen. Damit erhöhen Sie Ihr Vertrauen beim Kunden und steigern gleichzeitig Ihren Umsatz.

Ebay mit HTML ein eigenes Shop-Design erstellen

Der Texteditor von Ebay ist leider sehr eingeschränkt – bis auf den Font, die Schriftart und Standard-Formatierungen können Sie hier leider nichts einstellen. Abhilfe schafft optionaler HTML-Code, den Sie statt des normalen Textes in den HTML-Editor einfügen können. HTML ist die Programmiersprache von Internetseiten – wenn Sie sich damit nicht auskennen, können Sie einen speziellen Editor verwenden (siehe unten). Bei der eigenen Design-Programmierung gibt es folgendes zu beachten:

  • Leider gibt es für Verkäufer unterschiedliche Regeln für den HTML-Editor: Geprüfte Mitglieder, Powerseller und Verkäufer mit über 500 Verkäufen dürfen in Ihrem Code Scripte und Iframes verwenden – so können Sie etwa Ihre Webseite im Ebay-Shop einbinden.
  • Kleine Verkäufer dürfen keine externen CSS- oder Javascript-Dateien einbinden – CSS-Elemente müssen Sie daher sehr eingeschränkt über den „style“-Befehl von div-Boxen setzen.
  • Bilder können Sie wie gewohnt über den Code <img src=“URL“> einbinden. Bei der Positionierung von Bildern müssen Sie auf das Ebay-Design Rücksicht nehmen: Sonst können Ihre Bilder etwa in den Footer der Webseite reichen.

Ein gutes Tool für den Mac hierfür ist der Auction Listing Designer. Für Windows kann man den ListingFactory verwenden. Möchte man sein Layout online erstellen kann man gegen eine monatliche Gebühr auf den Crazylister zurückgreifen.

 

Einbindung externer Webseiten in Ebay mittels iFrame

Möchte man spezielle Webseiten, die (extra) für Ebay entworfen wurden über einen iFrame einbinden, so benötigt man folgenden Code:

<style>
</style>
&nbsp;
<iframe src="https://www.domain.com/ebay/product1.html" height="1500" width="1000"></iframe>

Höhe und Breite können dementsprechend angepasst werden.

 

 

Google Indexierungsstatus überprüfen: Warum ist das wichtig?

Wie viele meiner Unterseiten hat Google eigentlich indexiert? Dieser Frage konnte man bis zur Ankündigung „Geheimnisse des Google-Index enthüllt“ aus dem Juli diesen Jahres nur mit der bekannten site:-Abfrage auf den Grund gehen. Während man seit der Ankündigung innerhalb der Webmaster Tools den genauen Indexierungsstatus der eigenen Webseiten einsehen kann (zu finden unter „Status“ -> „Indexierungsstatus“, mehr dazu in meinem E-Book), hat sich der Blick von außen auf eine Domain doch stark eingeschränkt. Noch vor wenigen Monaten konnte man – eine nicht restriktive Suchanfrage und entsprechend große Seite vorausgesetzt – noch problemlos die Ergebnisse 1 bis 1.000 zu einer Domain über die site:-Abfrage einsehen. Doch wie sieht es heute aus?

Wer sich die Mühe macht und z.B. nach site:wikipedia.org oder site:bild.de sucht, wird feststellen, dass bereits weit vor der 1.000er-Grenze Schluss ist. In der Regel wird bereits nach knapp 700 Ergebnissen der Hinweis auf den Supplemental Index gegeben: 700 relevante Ergebnisse, wer mehr sehen will, kann die Suche ohne Filterung wiederholen. Doch selbst dann ist unter 1.000 Seiten Schluss.

Haben die beiden oben genannten Domains nicht mehr so viel qualitativ hochwertigen Content zu bieten? Das wäre beim Hinweis „Seite 8 von ungefähr 5.890.000 Ergebnissen (0,54 Sekunden)“ doch arg dürftig. Man wird das Gefühl nicht los, dass Google hier bewusst die Anzeige einschränkt – denn die Angabe von knapp 5,9 Millionen Seiten dürfte doch relativ grob sein und vom „Realwert“ in den Webmaster Tools abweichen. So zumindest meine Erfahrung.

Warum es wichtig ist, den Indexierungsstatus der eigenen Webseite zu kennen

Für die meisten Webmaster ist der genaue Indexierungsstatus fremder Webseiten nicht sonderlich interessant, aber für die eigene Webseite möchte man diese Information dann doch gerne haben. In den Google Webmaster Tools kann man diesen Wert finden. Um Probleme bei der URL-Struktur der eigenen Webseite zu erkennen, lohnt sich ein regelmäßiger Blick auf die dort angezeigte Anzahl. Wenn die Anzahl an indexierten URLs weit über den Wert liegt, welchen man erwarten würde, so sollte man sich auf die Suche nach der Ursache machen. Doch auch das Gegenteil muss nicht positiv sein.

Eine Beispielrechnung für die Gesamtanzahl an URLs eines Online-Shops könnte wie folgt aussehen:

Anzahl an Produkten in einem Online-Shop
+ Anzahl an Kategorien
+ Anzahl an paginierten Seiten
+ Anzahl an Filterseiten (z.B. Marke + Kategorie)
+ Anzahl an Marken
+ Anzahl an Webseiten wie „Über uns“ oder Impressum
+ Anzahl der Artikel im Blog
+ Anzahl an URLs, die über die robots.txt blockiert sind
– Seiten, die über Robots „Noindex“ geblockt sind
– Seiten, die nur von URLs verlinkt werden, die über robots.txt blockiert sind
——————————————————————————-
Gesamtanzahl der URLs, die man sich erklären kann

URLs, die über die robots.txt blockiert sind, sollten nicht abgezogen, sondern addiert werden. Denn die robots.txt blockiert nicht die Indexierung von Seiten, sondern nur deren Crawling – und nicht selten entscheidet sich Google dazu, die entsprechenden URLs trotzdem zu indexieren. Durch das Crawling-Verbot sind Seiten, die nur von einer per robots.txt blockierten URL angelinkt werden, für Suchmaschinenrobots hingegen nicht erreichbar und sollten deshalb abgezogen werden.

Sofern sich die ermittelte Gesamtanzahl an URLs von dem in Google Webmaster Tools angezeigten Wert unterscheidet – sowohl positiv als auch negativ – sollte die Webseite genauer untersucht werden. Beispielhaft dazu ein Chart einer Webseite. Auffällig ist, dass die Anzahl indexierter URLs sprunghaft und signifikant nach oben geschnellt ist. Wir sprechen hier nicht von 1.000 Seiten, sondern von über 500.000 neuen URLs. Bereits der Anstieg von August zu September ist auffällig: Hier hat bereits eine Verdoppelung der Anzahl an indexierten Seiten stattgefunden.

Wie viele Seiten hat Google indexiert?

Was können Gründe für „zu viele“ indexierte URLs sein?

Mehr indexierte URLs als erwartet zu haben, muss bei der Suchmaschinenoptimierung nicht zwangsläufig besser sein. Eigentlich gilt hier die Devise: so viele URLs wie nötig, so wenige URLs wie möglich.

Gründe, weshalb der Indexierungsstatus aus dem Ruder läuft, gibt es viele. Die Liste stellt einen Auszug dar:

  • Der Server gibt auch bei „invaliden“ URLs den HTTP-Statuscode 200 aus.
  • Der Content ist über klein- und großgeschriebene URLs erreichbar.
  • Jeder Hostname wird vom Server akzeptiert, z.B. auch http://w.meinedomain.de/.
  • Session-IDs in den URLs.
  • Unnötige Parameter werden nicht von der Indexierung ausgeschlossen.
  • Die Seite ist unter http und https indexiert.

Was können Gründe für „zu wenig“ indexierte URLs sein?

Wenn weit weniger URLs im Google Index vertreten sind als erwartet, kann auch das ein Hinweis auf ein Problem sein.

  • Wurde die Angabe „Noindex“ unbewusst zu häufig eingesetzt?
  • Gibt es Probleme mit dem Canonical-Tag?
  • Sind Verteiler-Seiten der Domain per robots.txt blockiert?
  • Werden alle URLs mindestens 1x angelinkt?
  • Wurden zu restriktive Einstellungen in Google Webmaster Tools für Parameter gewählt?
  • Hat die Domain ein zu niedriges Verhältnis an Backlinks zu Content?
  • Stellt mein Content keinen Mehrwert dar? Ist der Content eventuell kopiert worden?
  • Wurde die Domain erst vor kurzem online gestellt?

Wie geht man vor, wenn der Indexierungsstatus aus dem Ruder läuft?

Bei einigen der Problem helfen die Google Webmaster Tools weiter. Unter dem Punkt „HTML-Verbesserungen“, zu finden unter „Optimierung“ listet Google beispielsweise Seiten auf, die sich dieselben Meta-Informationen teilen. Auch über Parameter und deren Crawling kann unter „Konfiguration“ -> „URL-Parameter“ eine Liste von URLs mit Parametern angesehen werden. Dazu müssen die Beispiel-URLs zu einem der gelisteten Parameter aufgerufen werden. Um zu kontrollieren, ob eine Seite auch unter https:// indexiert wurde, kann der Suchbefehl „site:meinewebseite.de inurl:https“ verwendet werden.

Über die Google Webmaster Tools lassen sich bereits einige Problemfelder identifizieren. Weiteren Aufschluss über Probleme kann ein Crawlvorgang der Webseite liefern. Empfehlenswerte Tools sind dabei unter anderem der Screaming Frog und das SEO-Toolkit von Microsoft.

Anker setzen in WordPress

Plugin: Scroll To Anchor

Schreibst du in Beiträgen oder Seiten längeren Text und möchtest Links zur Verfügung stellen, um Teile zu überspringen?

Normalerweise erfolgt dies, in dem du im Editor im Text-Modus HTML-Anker als Link-Ziele angibst. Aber nicht jeder fühlt sich dabei wohl, HTML-Code zu schreiben, der auch noch fehleranfällig sein kann. Statt dessen kannst du nun das neue Textanker-Icon in der Werkzeugleiste deines Editors (TinyMCE Advanced) verwenden, um Anker zu platzieren.

Klick in den Text an die Stelle, an der du den Textanker platzieren möchtest, dann klicke auf das Textanker-Icon. Es erscheint eine Dialog-Box, in der du deinem Textanker eine kurze Bezeichnung geben kannst (z.B. „Zusammenfassung“) und optional kannst du dem Textanker noch eine CSS-Classe für ein individuelles Layout zuweisen. Als Ergebnis wird in deinem Text ein Shortcode platziert, der dann im Front End mit dem richtigen HTML ersetzt wird.

Als nächstes kannst du an einer anderen Textstelle einen Link zu diesem Anker erzeugen. Schreib dazu etwas Text (z.B. „Zur Zusammenfassung springen“), markiere den Text und verwende das normale Link-Icon in der Werkzeugleiste des Editors. Anstelle einer kompletten URL reicht es aus, wenn du nur den Namen des Textankers mit einem vorangestellten Rautezeichen (z.B. „#zusammenfassung„) angibst. Das ist auch schon alles. Wenn nun ein Besucher deiner Website im Front End auf den Link klickt, scrollt die Webseite sanft zum vorgegebenen Textanker.

 

https://youtu.be/XQYcHrJVvys

 

https://youtu.be/4zv1XyeLlOQ

 

https://youtu.be/ywOAkHRecVs

 

Geschwindigkeit deiner Website optimieren

Wir alle kennen die Tools zum Messen der Geschwindigkeit einer Website: Pagespeed, YSlow, Pingdom, Webpagetest oder das Kombitool aus Pagespeed und YSlow GTMetrix. Aber wie wird zum Beispiel Browser Caching aktiviert? Wer sich damit nicht auskennt, der findet viele, viele Artikel dazu, die viel Code in sich haben und nichts erklären. Hier ist noch einer davon. 😉
Über die vergangenen Jahre habe ich dieses Gist immer wieder ergänzt, verbessert und korrigiert. Entstanden ist eine sehr praktische Sammlung von Einstellungen, die fail safe die jeweiligen Möglichkeiten des Hosters ausnutzen. Die entsprechenden Anweisungen sind in If-Abfragen gekapselt, so dass es bei guten Hostern keine Probleme mit nicht unterstützen Modulen geben sollte.

Die Einstellungen teilen sich in drei Bereiche: Komprimierung (Deflate/GZip), Browser Caching (Ablaufdatum für statische Caching-Inhalte definieren) und dem Setzen von sinnvollen Headern (Keep Alive, Accept Encoding, etc.).

#
# Sources:
# http://stackoverflow.com/questions/7704624/how-can-i-use-gzip-compression-for-css-and-js-files-on-my-websites
# http://codex.wordpress.org/Output_Compression
# http://www.perun.net/2009/06/06/wordpress-websites-beschleuinigen-4-ein-zwischenergebnis/#comment-61086
# http://www.smashingmagazine.com/smashing-book-1/performance-optimization-for-websites-part-2-of-2/
# http://gtmetrix.com/configure-entity-tags-etags.html
# http://de.slideshare.net/walterebert/die-htaccessrichtignutzenwchh2014
# http://de.slideshare.net/walterebert/mehr-performance-fr-wordpress
#
<IfModule mod_deflate.c>
# Insert filters / compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/vtt 
AddOutputFilterByType DEFLATE text/x-component
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/js
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/atom+xml 
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/ld+json 
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject 
AddOutputFilterByType DEFLATE application/x-font-ttf 
AddOutputFilterByType DEFLATE application/x-web-app-manifest+json 
AddOutputFilterByType DEFLATE font/opentype 
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
# Exception: Images
SetEnvIfNoCase REQUEST_URI \.(?:gif|jpg|jpeg|png|svg)$ no-gzip dont-vary
# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 month" 
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/html "access plus 1 minute"
ExpiresByType text/plain "access plus 1 month"
ExpiresByType text/x-component "access plus 1 month" 
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/javascript "access plus 1 months"
ExpiresByType application/x-javascript "access plus 1 months"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds" 
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" 
ExpiresByType text/cache-manifest "access plus 0 seconds" 
ExpiresByType audio/ogg "access plus 1 month" 
ExpiresByType video/mp4 "access plus 1 month" 
ExpiresByType video/ogg "access plus 1 month" 
ExpiresByType video/webm "access plus 1 month" 
ExpiresByType application/atom+xml "access plus 1 hour" 
ExpiresByType application/rss+xml "access plus 1 hour" 
ExpiresByType application/font-woff "access plus 1 month" 
ExpiresByType application/vnd.ms-fontobject "access plus 1 month" 
ExpiresByType application/x-font-ttf "access plus 1 month" 
ExpiresByType font/opentype "access plus 1 month" 
</IfModule>
## EXPIRES CACHING ##
#Alternative caching using Apache's "mod_headers", if it's installed.
#Caching of common files - ENABLED
<IfModule mod_headers.c>
<FilesMatch "\.(ico|pdf|flv|swf|js|css|gif|png|jpg|jpeg|txt|html|htm)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
</IfModule>
<IfModule mod_headers.c>
 <FilesMatch "\.(js|css|xml|gz)$">
 Header append Vary Accept-Encoding
 </FilesMatch>
</IfModule>

<filesMatch "\\.(js|js.gz)$">
Header set Cache-Control "max-age=604800, private"
</filesMatch>
<IfModule mod_gzip.c>
 mod_gzip_on Yes
 mod_gzip_dechunk Yes
 mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
 mod_gzip_item_include handler ^cgi-script$
 mod_gzip_item_include mime ^text/.*
 mod_gzip_item_include mime ^application/x-javascript.*
 mod_gzip_item_exclude mime ^image/.*
 mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
# Set Keep Alive Header
<IfModule mod_headers.c>
 Header set Connection keep-alive
</IfModule>
# If your server don't support ETags deactivate with "None" (and remove header)
<IfModule mod_expires.c> 
 <IfModule mod_headers.c> 
 Header unset ETag 
 </IfModule> 
 FileETag None 
</IfModule>

Mehrsprachige Website

Auf dieser Seite finden Sie Tipps zur Erstellung, Strukturierung und Optimierung einer mehrsprachigen Website.

Sprachweiche via htaccess

http://www.htaccesstools.com/redirection-by-language/

RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (aa|ab|af|am|ar|as|ay|az|ba|be|bg|bh|bi|bn|bo|br|ca|co|cs|cy|da|dz|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|fy|ga|gd|gl|gn|gu|ha|hi|hr|hu|hy|ia|ie|ik|in|is|it|iw|ja|ji|jw|ka|kk|kl|km|kn|ko|ks|ku|ky|la|ln|lo|lt|lv|mg|mi|mk|ml|mn|mo|mr|ms|mt|my|na|ne|nl|no|oc|om|or|pa|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sd|sg|sh|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|uk|ur|uz|vi|vo|wo|xh|yo|zh|zu) [NC]
RewriteRule .* http://www.franz-fertig.de/en/index.html [R,L]
RewriteCond %{HTTP:Accept-Language} (de) [NC]
RewriteRule .* http://www.franz-fertig.de/de/index.html [R,L]
======

RewriteCond %{HTTP:Accept-Language} en-au [NC]
RewriteRule .*index\.html$ www.domain.com/int/au.php
RewriteCond %{HTTP:Accept-Language} en-nz [NC]
RewriteRule .*index\.html$ www.domain.com/int/nz.php
RewriteCond %{HTTP:Accept-Language} ja [NC]
RewriteRule .*index\.html$ www.domain.com/int/jp.php
RewriteCond %{HTTP:Accept-Language} en-uk [NC]
RewriteRule .*index\.html$ www.domain.com/int/uk.php
RewriteCond %{HTTP:Accept-Language} en-gb [NC]
RewriteRule .*index\.html$ http://www.domain.com/int/uk.php

Struktur

Generell ist wichtig, die verschiedenen Sprachen klar zu trennen. Es ist nicht empfehlenswert, im Inhalt einer HTML-Seite verschiedene Sprachen zu mischen.

Prinzipiell gibt es folgende Möglichkeiten der Strukturierung:

  • Sie registrieren für jede Sprache die entsprechende Länderdomain, z.B. meinefirma.de für Deutsch, meinefirma.fr für Französisch, meinefirma.it für Italienisch, etc.
    Diese Lösung ist empfehlenswert, wenn Sie auch Kunden oder sogar Niederlassungen in den jeweiligen Ländern haben.
  • Sie trennen alle Sprachversionen über Unterverzeichnisse. Als Verzeichnisname bietet sich das Sprachkürzel an.
    Z.B. meinefirma.de/en/ für Englisch oder meinefirma.de/fr/ für Französisch. Die deutsche Version lassen Sie im Hauptverzeichnis.
  • Bei dynamischen Seiten können Sie einen Parameter an die URL der jeweiligen Seite anhängen, z.B. meinefirma.de/produkte.php?lang=en.
  • Bei Websites, die nur aus wenige Seiten bestehen, können Sie auch alle Seiten im Hauptverzeichnis ablegen und nach der Sprache benennen.
    Z.B. kontakt.html (de), contact.html (en),  coordonnees.html (fr) oder contatti.html (it).

Navigation / gegenseitige Verlinkung

Falls die Inhalte aller Sprachversionen völlig parallel aufgebaut sind, ist es empfehlenswert, auf jeder Unterseite direkt die Sprachversionen derselben Unterseite wechselseitig zu verlinken.

Falls dies nicht möglich oder zu aufwändig ist, können Sie alternativ auf jeder Unterseite die Startseite der anderen Sprachversionen verlinken.
Wichtig: Flaggen stehen für bestimmte Länder, nicht für Sprachen!
Es ist zwar leider weit verbreitet, Links zu Sprachversionen mit kleinen Flaggen hervorzuheben, aber es ist trotzdem nicht korrekt. Eine ausführliche Begründung finden Sie im Artikel Über Sprachen und Flaggen

Inhalt

Es ist darauf zu achten, dass jede Sprachversion vollständig übersetzt wird. Neben dem eigentlichen Seiteninhalt wird das Übersetzen der folgenden Textstellen gerne übersehen:

  • Seitentitel
  • Verzeichnis- und Seitennamen
  • Ankertexte von internen und externen Links
  • Meta-Description und Meta-Keywords
  • Alt-Texte von Bildern

Eine englischsprachige Seite mit deutschen Seitentiteln oder Metaangaben hat nur geringe Chancen, bei Google gefunden werden. Bei mehrsprachigen Websites besteht die Optimierung also hauptsächlich darin, alle suchmaschinenrelevanten Textstellen konsequent zu übersetzen.

Kennzeichnung

Es gibt verschiedene Möglichkeiten, die Sprache einer Webseite an den Browser oder den Suchmaschinen-Robot zu übermitteln. Dabei werden immer zweibuchstabige Sprachenkürzel nach ISO 639-1 verwendet. Die Beispiele beziehen sich auf die englische Sprache.

  • Das Attribut „lang“
    Damit können Sie den Inhalt eines HTML-Elements mit der verwendeten Sprache kennzeichnen.
    Für eine ganze HTML-Seite verwenden Sie <html lang="en">...</html>
  • Das Attribut „hreflang“
    Damit können Sie die Sprache einer verlinkten Zielseite im verweisenden Link angeben.
    So verlinken Sie z.B. eine englischsprachige Seite: <a href="..." hreflang="en" lang="de">englische Version</a>Das Beispiel verdeutlicht auch den Unterschied zum lang-Attribut, dieses bezieht sich auf die Sprache des Linktextes.
    Sie könnten auch wie folgt verlinken: <a href="..." hreflang="en" lang="en">english version</a>
  • Meta-Angaben
    Folgende Meta-Angabe kennzeichnet den Dateiinhalt als englisch: <meta name="Content-Language" content="en">
  • HTTP-Header
    Die Sprache sollte unbedingt auch per HTTP-Header übermittelt werden. PHP-Beispiel:
    header('Content-language: en');

 

Sprachweiche

Bieten Sie Ihre Homepage in mehreren Sprachen an? Dann können Sie Ihre Besucher mit der Sprachweiche direkt auf die für sie passende Seite weiterleiten.

Hierzu wird die Spracheinstellung des Browsers ausgelesen und entsprechend dieser auf die jeweiligen Seiten umgeleitet. Ist die Standardeinstellung Ihres Besuchers also „English“, kann er auf die englische Seite geführt werden, ist sie hingegen „Deutsch“, wird er von der deutschen Seitenvariante begrüßt.

Anpassung

if ($sprache == "de")
{
echo "<meta http-equiv=Refresh content=\"0; url=deutsch.htm\">";
exit;
}

Ändern Sie im Script einfach die rot gekennzeichneten Stellen Ihren Vorgaben entsprechend ab. Im Beispielcode wird bei der gefundenen Sprache Deutsch („de“) die Seite „deutsch.htm“ geladen.

Eine Liste der möglichen Spracheinstellungen finden Sie zum Beispiel im MS Internet Explorer, wenn Sie unter „Extras“-„Internetoptionen“ die Schaltfläche „Sprachen“ anklicken.

Wenn Sie weitere Unterseiten anbieten, können Sie obigen Code im Script vor der Zeile

#### Alternative Unterseite, falls keine der oben gewählten Sprachen gefunden wird

mit den entsprechenden Sprachmerkmalen einbinden.

Unterhalb dieser Zeile wird eine alternative Seite festgelegt, auf die umgeleitet werden soll, wenn keine der im Script spezifizierten Sprachen gefunden wurde. Ändern Sie hier wie oben im Beispieltext einfach  „deutsch.htm“ auf die Seite ab, die in diesem Fall geladen werden soll.

Jetzt herunterladen: Download (.zip, 547 Byte)

<?php
#### Sprachweiche
#### (C) 2003 Grammiweb.de, http://www.grammiweb.de/
#### Dieses Script kann frei verwendet werden
#### Über einen Link zum Grammiweb würden wir uns natürlich trotzdem freuen :-)
$sprache=substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
#### Deutsche Unterseite (de)
if ($sprache == "de") // Hier statt de die Sprache eintragen
 {
 echo "<meta http-equiv=Refresh content=\"0; url=deutsch.htm\">"; // Hier statt deutsch.htm die entsprechende Seite eintragen
 exit;
 }
#### Englische Unterseite (en)
if ($sprache == "en") // Hier statt en die Sprache eintragen
 {
 echo "<meta http-equiv=Refresh content=\"0; url=english.htm\">"; // Hier statt english.htm die entsprechende Seite eintragen
 exit;
 }
#### Alternative Unterseite, falls keine der oben gewählten Sprachen gefunden wird
echo "<meta http-equiv=Refresh content=\"0; url=deutsch.htm\">"; // Hier statt deutsch.htm die entsprechende Seite eintragen
exit;
?>

Convert HTML to WordPress

Per Software: HTML2WP-Plugin 

http://www.gethtml2wp.com/index.shtml?aid=47546&gr=3077&t=default

 

oder manuell:

 

When I first decided to convert a static HTML design to WordPress I did some searching for a tutorial to help me get started with the basics. Surprisingly, I didn’t find anything that was very complete or easy to follow. For that reason I decided to write a very basic tutorial on how to convert a static HTML template into a WordPress Theme. If you are an absolute beginner at developing WordPress themes then this should help you get started. This tutorial assumes you already have a basic understanding of HTML and CSS. It also assumes you have a website built in HTML and CSS and have it ready for conversion.

 

How WordPress Works

WordPress works in a rather straightforward manner but it may seem confusing if you are completely new to the concept. WordPress relies on PHP to call on different parts of your content from the database management system it stands on. For example, look in your /wp-content/themes/twentythirteen/ directory and open the header.php file. As you scroll through the code notice the PHP calls, they start with a <?phpand end with a ?>. Look at line 37:

<h1><?php bloginfo( 'name' ); ?></h1>

This line uses PHP to look-up your blog’s name from the database and display it. This basic function of retrieving or calling some kind of data from your database and using PHP to display it in your HTML is how WordPress works. Throughout this process you will be substituting PHP for different parts of your content and your code. This will make editing easier in the long run, as you will find out. Now that you understand the basics of how WordPress works, lets get started.

First Things First

The first step is to create a new folder and name it whatever you want your theme to be called. Next, create two new files, style.css andindex.php and place them in the folder. Believe it or not, these are the only two files you actually need for a WordPress theme. Now copy and paste the code from your original CSS file into the style.css file you just created. At the top add the following code:

/*
Theme Name: Replace with your Theme's name.
Theme URI: Your Theme's URI
Description: A brief description.
Version: 1.0
Author: You
Author URI: Your website address.
*/

These comments simply help WordPress properly identify the theme. Your stylesheet is now ready to go.

Chop It Up

Now let’s start chopping up your HTML. Remember how we talked about WordPress using PHP to call data from your database? WordPress can also use PHP to call different files from within your template folder. Imagine your current HTML code chopped up into 4 (or more) different sections. For example, take a look at the layout and corresponding HTML of this page. The header comes first, followed by the content, and finally the footer. Instead of keeping these 3 parts of the HTML together in one file, you are going to put each of them in their own separate file. Then call on them one by one using PHP.

So go ahead and sort through your HTML code and place some markers in the 3 or 4 places where you plan on cutting the code into separate sections.

These next steps assume you have your page set up left to right: header, content, sidebar, footer. If your page is ordered differently you will have to switch a couple of these steps around.

Now create 3 new files (header.phpsidebar.phpfooter.php) and place them in your theme directory. Next take a look at the header.php file from the Twenty Thirteen theme we looked at earlier. Notice all the PHP that is used in between the <head> tags. Copy that code to your new header.phpfile. Now open up your original HTML file and copy the code you marked off for your header (1st section) into your new header.php file (underneath the <head> section). Save and close.

Now open up your new index.php file. Copy the second part of your original HTML code, the content (2nd section) into your new index.phpfile. Save and close.

Getting the hang of it?

Next open up your new sidebar.php file, copy the sidebar (3rd section) of your original code into the sidebar.php file. Finally, copy the original footer (4th section) of code into your new footer.php file.

Put It Back Together

Your original code should now be chopped up into 4 different files (header.php, index.php, sidebar.php, footer.php). Let’s put it back together using a few lines of PHP. Open up your index.php file, it should contain the HTML from the content (2nd section) of your original code. Add this line at the very top of the file:

<?php get_header(); ?>

Now go to the absolute bottom of your index.php file and add these two lines:

<?php get_sidebar(); ?>
<?php get_footer(); ?>

These 3 simple lines of PHP are telling WordPress to fetch and display your header.phpsidebar.php, and footer.php files within your index.phpfile. Your code is now officially put back together. Now, if you want to edit your sidebar you can just edit your sidebar.php file, instead of sorting through your index.php to find it. The same goes for your header.php and your footer.php.

The Loop

Your index.php is almost finished. The final step is to insert the actual content into the code. Luckily, WordPress uses PHP for this as well. The Loop is the PHP function WordPress uses to call and display your posts from the database they are saved in. Grab this code and paste it into your new theme’s index.php file (inside of whichever div you are using to hold your content).

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
  <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <div>
        <div><?php the_time( 'M j y' ); ?></div>
        <h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
        <div><?php the_author(); ?></div>
    </div><!--end post header-->
    <div>
        <?php if ( function_exists( 'add_theme_support' ) ) the_post_thumbnail(); ?>
        <?php the_content(); ?>
        <?php edit_post_link(); ?>
        <?php wp_link_pages(); ?>
    </div><!--end entry-->
    <div>
        <div><?php comments_popup_link( 'Leave a Comment', '1 Comment', '% Comments' ); ?></div>
    </div><!--end post footer-->
  </div><!--end post-->
<?php endwhile; /* rewind or continue if all posts have been fetched */ ?>
  <div>
    <div><?php next_posts_link( 'Older Entries' ); ?></div>
    <div><?php previous_posts_link( 'Newer Entries' ); ?></div>
  </div><!--end navigation-->
<?php else : ?>
<?php endif; ?>

You just inserted a basic version of the loop into your code! WordPress will use the loop to display your posts and comments on your website.

The End

Now upload your theme folder to /wp-content/themes/. Then log into WordPress and activate your theme. Wasn’t that easy?

This tutorial covered the basics for converting your theme to WordPress. To further customize and enhance your theme start looking at theWordPress Codex, specifically Template Tags and Template Files. You can use template tags in your sidebar, in your header, or your footer to call menus, categories, posts, etc. As you learn more about template tags and template files you will discover the endless possibilities for customizing your new WordPress blog.

 

.PSD Photoshop-File zu WordPress Theme

 

[youtube_sc url=“http://www.youtube.com/watch?v=Zd2wOEnTNU8″ theme=“light“ modestbranding=“1″ autohide=“1″ fs=“1″ iv_load_policy=“3″ rel=“0″ showinfo=“0″]

 

[youtube_sc url=“http://www.youtube.com/watch?v=-VnTEkhfYSM“ theme=“light“ modestbranding=“1″ autohide=“1″ fs=“1″ iv_load_policy=“3″ rel=“0″ showinfo=“0″]

GZIP Kompression / GZIP Komprimierung – HTML Website schneller laden

Die Gzip Komprimierung ist ein Kompressionsprogramm mit dem fast alle Dateien auf dem Webhost komprimiert an den Browser senden kann. Um seine Webseiten schneller zu bekommen sollte es auch immer eingesetzt werden. Im Internet gibt es hierzu viele Anleitungen und Beschreibungen die zum Teil verwirrend sind. Daher möchte ich euch an dieser Stelle eine Übersicht geben, welche Wege es gibt um die Gzip Komprimierung zu aktivieren und welche Ressourcen man sich hierzu merken sollte.

 

Grundsätzlich sollte man wissen: Gzip komprimiert alle Dateien einzeln und “packt” diese mittels dem Archivierungsprogramm tar in einen sogenannten Tarball. Daher gibt es am Ende zwei Endungen: Zum einen .gz für eine einzeln komprimierte Datei und zum anderen tar.gz oder einfach nur .tgz für eine Sammlung an Dateien.

Es gibt 2 Wege um Gzip zu nutzen. Serverseitig – also man benutzt das Programm, dass auf dem Webserver liegt, oder man bereitet alles selbst vor und stellt es auf dem Webhost zur Verfügung.

Leider ist nicht auf jedem Hostserver Gzip von Anfang an installiert bzw. zur Nutzung freigegeben, denn die Nutzung von Gzip auf einem Webhost führt zur einer erhöhten Last des Webservers. Zwar macht die Mehrbelastung (CPU | Prozessor) des Servers nur ca. ein Zehntel aus, aber wenn sich 1000 oder mehr Kunden einen Server teilen, dann kann ein Zehntel einige Kunden kosten. Daher sollte man zuerst überprüfen ob Gzip auf dem Webhost verfügbar ist. Am besten bei eurem Service-Provider nachfragen, in den Vertrag nachschauen oder ggf. im Netz suchen. Wenn Gzip nicht auf eurem Webhost verfügbar ist dann bleibt euch nur der zweite Weg offen: Alles selbst machen und zur Verfügung stellen.

Wenn bei euch Gzip verfügbar ist, dann gibt es wiederum mehrere Wege: Zum einen über die Konfigurationsdatei “.htaccess”, mit Hilfe von PlugIns oder mittels Skripts bzw. Skriptsprachen (PHP). Am besten finde ich, man nutzt die Konfigurationsdatei “.htaccess”. Leider setzt aber die einfachste Art auch gewisse Dinge voraus. Mehr dazu in der entsprechenden Anleitung:

Gzip Komprimierung mittels der Konfigurationsdatei .htaccess installieren

Mittels der Konfigurationsdatei .htaccess kann man, wie angedeutet, am einfachsten die Gzip Kompression auf dem Webserver nutzen. Voraussetzung ist jedoch, dass das Modul “mod_deflate” auf dem Webserver aktiviert ist. Wenn dieser Weg erstmal nicht funktioniert, müsst Ihr klären ob bei euch das Server-Modul aktiviert ist, bzw. ob man es noch aktivieren kann. Ist die Sache geklärt und das Modul aktiviert, dann müsst Ihr diesen Abschnitt in eure “.htaccess” Datei einfügen. Erst dann werden alle Dateien, welche Ihr mittels Dateiendungen in der Zeile “<FilesMatch ”\.(js|css|html|xml)$”>” angibt, komprimiert. Wollt Ihr mehr Dateiendungen komprimieren oder müsst Ihr es, dann einfach wie folgt einfügen:

“<FilesMatch ”\.(Endung1|Endung2|Endung3|Endung4|Endung5|Endung6|usw)$”>”.

Wichtig ist das nach der letzen Endung kein vertikaler Strich mehr kommt. Also das “|”. Manchmal macht es auch kein Sinn schon komprimierte Formate weiter zu komprimieren. Zum Beispiel PDF, JPG, GIF oder PNG. Das merkt Ihr wenn die Ersparnis zwischen der erstellten Gzip Datei und der Originaldatei kaum ein Unterschied ergibt.

Hier die Code Zeilen für eure .htaccess:

<IfModule mod_deflate.c>
 <FilesMatch “\\.(js|css|html|xml)$”>
 SetOutputFilter DEFLATE
 </FilesMatch>
 </IfModule>

Gzip Komprimierung mittels der Skriptsprache PHP

Mit der Skriptsprache PHP kann man durch ein paar Zeilen Code ebenfalls eine Gzip Komprimierung durchführen. Man muss hierzu in jeder einzelnen PHP Datei folgenden Code in die erste Zeile schreiben:

<?php
 ob_start(“ob_gzhandler”);
 ?>

Der Hacken ist nur, dass dies nur mit PHP Dateien funktioniert.

Gzip Komprimierung mittels manueller Arbeit

Eine weitere Variante ist die manuelle Vorbereitung verbunden mit der Eingabe von ein paar Zeilen Code in die “.htaccess” Datei. Hierzu ladet Ihr euch zuerst das Programm 7Zip runter und geht dann folgende Schritte durch:

1. Jede einzelne Datei in eine Gzip packen.
Wichtig: Heißt eine Datei z.B.: impressum.html so muss die Gzip Datei impressum.html.gz heißen.

2. Alle Gzip Dateien in .jgz umbennenen
Also: Aus impressum.html.gz wird impressum.html.jgz

3. Alle Dateien hochladen

4. Folgenden Code in die .htaccess einfügen:

RewriteEngine on
 RewriteCond %{HTTP:Accept-Encoding} gzip
 RewriteCond %{REQUEST_FILENAME}.jgz -f
 RewriteRule (.*)\.js$ $1\.js.jgz [L]
 AddType “text/javascript” .js.jgz
 AddEncodig gzip .jgz

Nun sollte die Gzip Komprimierung bei euch funktionieren.

Gzip Komprimierung mittels Plugins

Je nach dem was Ihr für ein System einsetzt um Webseiten, Blogs oder Shop zu kreieren bzw. zu pflegen, wird es bestimmt viele Plugins geben, die diese Aufgabe für euch übernehmen. Meistens basieren aber alle auf PHP und fügen, wie oben beschrieben, die PHP Zeile ein.

Bei WordPress kann ich euch das Gzip Komprimierung WordPress Plugin von Sergej Müller empfehlen. Bei anderen Systemen müsst Ihr einfach mal Googeln. Aber ich rate euch so oder so entweder zur ersten Variante oder zur manuellen Vorbereitung. Ist minimal schneller als wie die PHP Variante.

Gzip Komprimierung testen

Ob die Gzip Komprimierung bei euch funktioniert, könnt Ihr auf diesen beiden Seiten testen. Einfach eure URL (Webseite) eingeben und schon bekommt Ihr eine Antwort.

http://www.gidnetwork.com/tools/gzip-test.php oder http://www.whatsmyip.org/http-compression-test/

Ressourcen

Das Programm 7Zip findet Ihr unter http://www.7-zip.org/

Das WordPress Plugin von Sergej findet Ihr unter http://playground.ebiene.de/plugin-fuer-gzip-komprimierung-der-beitraege-in-wordpress-25/

Die Website von Gzip findet Ihr unter http://www.gzip.org/

Tiefgehendere Erklärungen findet Ihr unter http://de.wikipedia.org/wiki/Gzip

Nicht zu verachten ist der Artikel über die Einrichtung mittels Apache oder MS Dienste. Findet Ihr hier: http://www.sysadminslife.com/allgemein/webseiten-optimierung-mit-gzip-komprimierung-in-apache2-und-iis6/

Fazit

Auch wenn immer mehr Leute DSL haben und schnelle Rechner, so bleibt die Ladezeit ein signifikanter Bestandteil einer Seite. Zumal mobile Internetzugänge noch nicht sehr schnell sind und die Datenmengen immer größer werden. Außerdem beachtet bekanntlich Google den Aspekt der Ladezeit als ein gewichtigen Faktor. Aber der wichtigste Grund ist die Zufriedenheit der Nutzer, die nachweislich bei schnelleren Seiten steigt. Ein bis Zwei Sekunden können gefühlt sehr langsam wirken und somit altbacken. Und schließlich macht im Idealfall die Aktivierung kaum Arbeit.

 


 

 

GZIP bei Strato

Inhalte komprimiert übertragen

Je größer eine Webseite ist, desto mehr Dateien gehören dazu – entsprechend steigt auch die Gesamtgröße in KB/MB, die von Besuchern Ihrer Seite geladen werden muss. Um möglichst geringe Ladezeiten zu erreichen, ist es sinnvoll die Dateien vor der Übertragung durch den Server komprimieren zu lassen. Hierbei kommt das Apache-Modul „mod_gzip“ zum Einsatz.

Ab dem Paket STRATO PowerWeb Basic können Sie die Komprimierung wie folgt einschalten:

Öffnen Sie die .htaccess-Datei im Hauptverzeichnis Ihrer Web-Anwendung und ergänzen die Zeile: mod_gzip_on Yes

Den Browser-Cache nutzen

Eine weitere Optimierungsmöglichkeit besteht darin, Dateien, die sich nur selten ändern, durch den Browser Ihrer Besucher zwischenspeichern zu lassen (cachen). Gelangt ein Besucher das erste Mal auf Ihre Webseite, wird diese vollständig geladen. Bei einem erneuten Aufruf prüft der Browser, ob beispielsweise ein Bild bereits im Zwischenspeicher abgelegt wurde und lädt dieses dann von dort. Der Seitenaufbau wird so deutlich schneller.

Beispiel

Die hierfür notwendigen Einträge in der .htaccess-Datei können etwa wie folgt aussehen:

 

# Caching einrichtenFileETag MTime Size
ExpiresActive On
ExpiresByType text/css „access plus 1 weeks“
ExpiresByType application/javascript „access plus 1 weeks“
ExpiresByType application/x-javascript „access plus 1 weeks“
ExpiresByType image/gif „access plus 1 months“
ExpiresByType image/jpeg „access plus 1 months“
ExpiresByType image/png „access plus 1 months“
ExpiresByType image/x-icon „access plus 1 months“

Kurz eine Erläuterung dazu:

 

FileETag MTime Size bildet einen für jede Datei Ihrer Webseite einmalige Kennung aus dem letzten Änderungsdatum sowie der Größe der Datei.

Die Abfrage <IfModule mod_expires.c> prüft, ob das notwendige Servermodul installiert ist – das ist in allen STRATO Paketen der Fall.

ExpiresActive On schaltet das Modul für Ihre Webseite ein, anschließend folgen die Angaben, welche Dateitypen gecached werden sollen und für welchen Zeitraum. Die Zeitangabe erfolgt dabei in der Form „ab letztem Zugriff für Zeitraum X“, im Beispiel „access plus 1 weeks“ also „ab Zugriff für eine Woche“. Ist der gesetzte Zeitraum abgelaufen, wird die Datei im Browser-Cache durch die aktuelle Version von Ihrer Webseite ersetzt.

Im Beispiel werden CSS- und JavaScript (JS) -Dateien für eine Woche gecached, Bilder und das Favoriten-Icon hingegen für einen Monat. Achten Sie bitte darauf, dass die Zeitangabe immer in der Mehrzahl definiert wird, also ein „s“ am Ende steht (weeks, months, …). Welche Werte als Zeitangabe möglich sind, entnehmen Sie bitte der offiziellen Dokumentation des Apache Webservers:  http://httpd.apache.org/docs/2.0/mod/mod_expires.html#AltSyn

Den Zeitraum können Sie selbst festlegen. In der nachfolgenden Tabelle finden Sie einige Tipps:

DateitypCache ZeitraumDetails
Bilder (jpg/png/gif)access plus 1 monthsBei statischen Webseiten, Blogs, Bildergalerien, etc.
access plus 1 weeksFür Onlineshops mit häufigem Wechsel der Produktbilder
CSS-Dateienaccess plus 1 monthsSollten Sie öfter Änderungen am Layout Ihrer Webseite vornehmen, wählen Sie einen passenden kürzeren Zeitraum, etwa 1-2 Wochen.
JavaScript (JS) Dateienaccess plus 1 months

Damit Besucher Ihrer Webseite auch Änderungen sehen, die mitten in einem Cache-Zeitraum erfolgen (Cache für 1 Monat – Änderung z. B. nach 14 Tagen), setzen Sie einfach in der .htaccess-Datei den Wert für den Cache-Zeitraum des entsprechenden Dateityps herab. Lassen Sie die Einstellung für beispielsweise eine Woche aktiv und setzen dann wieder die ursprünglichen Werte ein.

Beispiel:

Aus access plus 1 months wird dann access plus 1 hours.

Hinweis: Sofern Sie die Komprimierung (siehe oben) nicht nutzen, ergänzen Sie bitte für eine optimale Nutzung des Caching in der .htaccess-Datei manuell die Zeile Header append Vary Accept-Encoding. Ist die Komprimierung aktiv, wird der Header automatisch gesetzt, die oben genannte Zeile muss dann nicht eingetragen werden.

In Abhängigkeit vom verwendetem CMS gibt es meist noch weitere Möglichkeiten die Performance zu verbessern. Hierzu gehören beispielsweise:

  • CDN (Content Delivery Network) aufsetzen
  • Bilder in CSS-Sprites auslagern
  • CSS/JS Skripte komprimiert auf dem Webspace ablegen
  • Falls nicht genutzt: mootools im Frontend deaktivieren (Joomla)

Ausführliche Anleitungen wie dies speziell bei dem von Ihnen verwendetem Content Management System vorzunehmen ist, finden Sie in der Regel im Supportforum Ihres Content Management System.

 

 


 

 

 

Javascript und CSS mit Gzip komprimieren

Ein großes Interesse fürs Web ist es, dass ihre Seiten schnell laden. Die kann unter anderem durch die Komprimierung von Javascripten und CSS-Code erreicht werden.

Javascriptdateien und auch Stylesheets sind oft sehr groß. Als Beispiel verwende ich die Javascript Bibliothek jQuery. Diese hat unkomprimiert ca. 167 kb. Komprimiert kommt man auf eine Größe von nur 44 kb. Dies sind nur noch 26% der ursprünglichen Größe. Durch dieses Verfahren laden die Homepages um ein vielfaches schneller als zuvor.

Was ist nun wenn ein Browser oder ein Gerät nicht mit der Komprimierung zurechtkommt?
Für diesen Fall liegen immernoch die unkomprimierten Dateien auf dem Server.

Dateien komprimieren

An der Einbindung der Dateien in Ihre Homepage ändert sich rein gar nichts. Sie erfolgt wie üblich mit

<link type=„text/css“ rel=„stylesheet“ href=„css/styles.css“ />
<script type=„text/javascript“ src=„js/jquery-latest.js“></script>

Nun müssen Sie die Scripte komprimieren und auf den Server laden. Die Scipte müssen in diesem Fall styles.css.gz und jquery-latest.js.gz heißen und im gleichen Ordner liegen wie die unkomprimierte Version.

Wie komprimiere ich ein Script?
Das Freeware Tool 7zip (Download hier) beherrscht diesen Komprimierungsformat. Oder für Mac OSX Ez7z 

.htaccess bearbeiten

Als zweiten Schritt müssen Sie nun folgenden Code in die Datei .htaccess einfügen:

# BEGIN Gzip Compression
 AddEncoding gzip .gz
 <filesmatch "\.js\.gz$">
 AddType "text/javascript" .gz
 </filesmatch>
 <filesmatch "\.css\.gz$">
 AddType "text/css" .gz
 </filesmatch>
 <ifmodule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond %{HTTP:Accept-encoding} gzip
 RewriteCond %{REQUEST_FILENAME} \.(js|css)$
 RewriteCond %{REQUEST_FILENAME}.gz -f
 RewriteRule ^(.*)$ $1.gz [QSA,L]
 </ifmodule>
 # END Gzip Compression

Damit wählt der Server aus, ob Gzip verwendet wird, oder nicht. Wenn ein Gerät die Komprimierung nicht unterstützt, wird die unkomprimierte Version genommen.

Leeren Sie nun Ihren Cache und laden Sie Ihre Seite neu. Die Ladezeiten sind nun erheblich geringer.

 


 

 

Komprimierung mittels Software

Smaller is a powerful HTML, CSS and JavaScript compressor on OS X which also has the ability to combine several files into one. Compress your files and make your websites load faster.

How to use it?

Drop files. Or drop a folder, Smaller can intelligently add all the HTML/CSS/JS files under it to the minify queue.

Combining several files into one is easy, ⌘ click to select multiple files, right click and choose „Combine“.

As a professional, you definitely need more control. Smaller is aware of your needs and provides this for you.

You can also drop files directly on to the Dock icon, Smaller will do the rest for you, quite handy, isn’t it?

TIPP: TinyPNG zum Komprimieren von PNG und JPEG´s