<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Blog on Ulis Notizen</title>
    <link>https://wolf-u.li/tag/blog/</link>
    <description>Recent content in Blog on Ulis Notizen</description>
    <generator>Hugo</generator>
    <language>de</language>
    <copyright>Copyright 2006-CURRENTYEAR Uli Wolf - All rights reserved</copyright>
    <lastBuildDate>Fri, 03 May 2024 21:17:14 +0300</lastBuildDate>
    <atom:link href="https://wolf-u.li/tag/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Layer-Ads auf bestimmten Beiträgen mit dem Theme K2</title>
      
      
      <link>https://wolf-u.li/layer-ads-auf-bestimmten-beitraegen-mit-dem-theme-k2/</link>
      <pubDate>Sun, 15 Jun 2008 12:30:18 +1500</pubDate>
      <guid>https://wolf-u.li/layer-ads-auf-bestimmten-beitraegen-mit-dem-theme-k2/</guid>
      <description>&lt;p&gt;Gestern hat &lt;link rel=dns-prefetch href=//www.feldstudie.net /&gt; &lt;a href=&#34;http://www.feldstudie.net/&#34;
    title=&#34;Torsten Feld&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Torsten Feld&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; in einem &lt;link rel=dns-prefetch href=//www.feldstudie.net /&gt; &lt;a href=&#34;http://www.feldstudie.net/2008/06/14/tutorial-layerads-nur-auf-bestimmten-beitrgen-anzeigen/&#34;
    title=&#34;Beitrag&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Beitrag&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; ein kleines Plugin veröffentlicht, welches auf bestimmten Beiträgen Layer-Ads zulässt. Prinzipiell genial, da sich in der Layerads-Übersicht über subids tracken lässt, welche Beiträge die Werbeeinnahmen generieren. So ganz auf Anhieb hat es mir nicht gefallen, wie es im Blog eingebaut wurde, daher habe ich meine Vorgehensweise in meinem Experiment etwas abgeändert.&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Gestern hat <link rel=dns-prefetch href=//www.feldstudie.net /> <a href="http://www.feldstudie.net/"
    title="Torsten Feld" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Torsten Feld&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> in einem <link rel=dns-prefetch href=//www.feldstudie.net /> <a href="http://www.feldstudie.net/2008/06/14/tutorial-layerads-nur-auf-bestimmten-beitrgen-anzeigen/"
    title="Beitrag" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Beitrag&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> ein kleines Plugin veröffentlicht, welches auf bestimmten Beiträgen Layer-Ads zulässt. Prinzipiell genial, da sich in der Layerads-Übersicht über subids tracken lässt, welche Beiträge die Werbeeinnahmen generieren. So ganz auf Anhieb hat es mir nicht gefallen, wie es im Blog eingebaut wurde, daher habe ich meine Vorgehensweise in meinem Experiment etwas abgeändert.</p>
<p>Das Plugin blieb das gleiche wie es bei ihm zum Download gibt,daran habe ich nichts geändert. Jedoch verwende ich das Theme K2 für den grundsätzlichen Themeaufbau (Banner usw sind selbstgemacht), welches mir viele schöne Ajax-Sachen bereitstellt (und leider das Blog ein wenig aufbläht&hellip;). Das Problem daran ist, dass dieses Theme zwar eine &ldquo;single.php&rdquo; besitzt, diese jedoch keinen erkennbaren sinnvollen Content besitzt.</p>
<p>Bei Layer-Ads wird beschrieben, dass man die Layer am besten kurz vor dem <code>&lt;/body&gt;</code>-Tag einbauen sollte, was mir diesmal sehr zu pass kam. Ich editierte also meine footer.php des Themes mit folgendem Code:
Suche den <code>&lt;/body&gt;</code>-Tag und füge davor ein:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-php" data-lang="php"><span class="line"><span class="cl"><span class="o">&lt;!--?</span><span class="nx">php</span> <span class="k">if</span><span class="p">(</span><span class="nx">showlayerad</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">is_user_logged_in</span><span class="p">()</span> <span class="o">&amp;&amp;</span> <span class="nx">is_single</span><span class="p">()</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">is_home</span><span class="p">())</span> <span class="p">{</span> <span class="o">?--&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="o">&lt;</span><span class="nx">script</span> <span class="nx">src</span><span class="o">=</span><span class="s2">&#34;http://layer-ads.de/la-60116-subid:&lt;?php the_ID(); ?&gt;.js&#34;</span> <span class="nx">type</span><span class="o">=</span><span class="s2">&#34;text/javascript&#34;</span><span class="o">&gt;&lt;/</span><span class="nx">script</span><span class="o">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="o">&lt;!--?</span><span class="nx">php</span> <span class="p">}</span> <span class="o">?--&gt;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Wobei 60116 durchaus durch die eigene Layer-Ads-ID ersetzt werden darf ;)</p>
<p>Was macht dieser Code? Zunächst wird mittels des Plugins von Torsten (showlayerad) überprüft, ob der Benutzerdefinierte Feld &ldquo;Layerad&rdquo; auf 1 gesetzt wurde. Wenn dies der Fall ist, und es eine einzelne Seite (nicht aber die Startseite) ist, so wird die Werbung angezeigt, sofern der User nicht eingeloggt ist (d.h. Registrierte Nutzer bekommen keine Werbung).
Da ich persönlich Werbung immer etwas nervig finde, zeige ich einen Hinweis für alle Nutzer rechts oben, wie man diese recht leicht loswird (Ausser über einen Werbeblocker). Diesen habe ich über ein Widget im K2 Sidebar Manager (SBM) eingebaut, welches folgendermaßen aussieht:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-php" data-lang="php"><span class="line"><span class="cl"><span class="o">&lt;!--?</span><span class="nx">php</span> <span class="k">if</span><span class="p">(</span><span class="nx">showlayerad</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">is_user_logged_in</span><span class="p">()</span> <span class="o">&amp;&amp;</span> <span class="nx">is_single</span><span class="p">()</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">is_home</span><span class="p">())</span> <span class="p">{</span> <span class="o">?--&gt;</span>
</span></span><span class="line"><span class="cl"><span class="o">&lt;</span><span class="nx">img</span> <span class="nx">src</span><span class="o">=</span><span class="s2">&#34;/upload/blog/attention.webp&#34;</span> <span class="nx">align</span><span class="o">=</span><span class="nx">left</span> <span class="o">/&gt;</span><span class="nx">Dieser</span> <span class="nx">Beitrag</span> <span class="nx">ist</span> <span class="nx">werbefinanziert</span><span class="o">.</span> <span class="nx">Sie</span> <span class="nx">können</span> <span class="nx">ohne</span> <span class="nx">Werbung</span> <span class="nx">auf</span> <span class="nx">meinen</span> <span class="nx">Seiten</span> <span class="nx">surfen</span><span class="p">,</span> <span class="nx">indem</span> <span class="nx">Sie</span> <span class="nx">sich</span> <span class="o">&lt;</span><span class="nx">a</span> <span class="nx">href</span><span class="o">=</span><span class="s2">&#34;/wp-login.php?action=register&#34;</span><span class="o">&gt;</span><span class="nx">registrieren</span><span class="o">&lt;/</span><span class="nx">a</span><span class="o">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="o">&lt;!--?</span><span class="nx">php</span> <span class="p">}</span> <span class="o">?--&gt;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Leider hat sich die <a href="/u/11"
    title="Layer-Ads" 
   >
  Layer-Ads</a> mit meiner Amazon-Werbung überhaupt nicht vertragen haben, daher musste ich diese ausschalten, wenn Layer-Ads an ist. Gleichzeitig habe ich noch eingebaut, dass es nur unregistrierten Nutzer angezeigt wird:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-php" data-lang="php"><span class="line"><span class="cl"><span class="o">&lt;!--?</span><span class="nx">php</span> <span class="k">if</span><span class="p">(</span><span class="nx">showlayerad</span><span class="p">()</span> <span class="o">!=</span> <span class="s1">&#39;1&#39;</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nv">$user_ID</span><span class="p">)</span> <span class="p">{</span> <span class="o">?--&gt;</span>
</span></span><span class="line"><span class="cl"><span class="o">&lt;!--</span> <span class="nx">Amazon</span> <span class="nx">Werbe</span><span class="o">-</span><span class="nx">Javascript</span><span class="o">-</span><span class="nx">Code</span> <span class="nx">hier</span> <span class="o">--&gt;</span>
</span></span><span class="line"><span class="cl"><span class="o">&lt;!--?</span> <span class="p">}</span> <span class="o">?--&gt;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Es sind nun nur ausgewählte Beiträge (<a href="/759/fun_plug-fuer-das-conceptronic-ch3snas/"
    title="Beispiel" 
   >
  Beispiel</a>) mit Werbung versehen worden. ich denke, mit dieser nervigen Art von Werbung können sich die meisten noch anfreunden. Mal schauen, wie lange ich das so lasse :P</p>
<p>Danke an Torsten für das Plugin :)</p>
]]></content:encoded>
    </item>
    <item>
      <title>1000 Artikel - Es ist vollbracht ;)</title>
      
      
      <link>https://wolf-u.li/1000-artikel-es-ist-vollbracht/</link>
      <pubDate>Sun, 05 Jun 2016 18:51:22 +0500</pubDate>
      <guid>https://wolf-u.li/1000-artikel-es-ist-vollbracht/</guid>
      <description>&lt;p&gt;Nach etwas mehr als 10 Jahren (das Jubiläum habe ich schon im März verpennt ;) ) habe ich nun endlich mein Blog mit 1.000 öffentlichen Artikeln gefüllt. Das ist mal ein Meilenstein ;)&lt;/p&gt;
&lt;p&gt;Angefangen mit einfachen Linux-Artikeln dann vielen NAS-Artikeln und nun eher Smart Home (FHEM) und Programmierung hat sich doch irgendwie immer ein Thema gefunden ;) Nun auf zu den nächsten 1000 Artikeln ;) Danke für die vielen Kommentare (aktuell 8476 Kommentare) und Rückmeldungen!&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Nach etwas mehr als 10 Jahren (das Jubiläum habe ich schon im März verpennt ;) ) habe ich nun endlich mein Blog mit 1.000 öffentlichen Artikeln gefüllt. Das ist mal ein Meilenstein ;)</p>
<p>Angefangen mit einfachen Linux-Artikeln dann vielen NAS-Artikeln und nun eher Smart Home (FHEM) und Programmierung hat sich doch irgendwie immer ein Thema gefunden ;) Nun auf zu den nächsten 1000 Artikeln ;) Danke für die vielen Kommentare (aktuell 8476 Kommentare) und Rückmeldungen!</p>
]]></content:encoded>
    </item>
    <item>
      <title>MoBlog per Mail - Mobiles Bloggen via Mail</title>
      
      
      <link>https://wolf-u.li/moblog-per-mail-mobiles-bloggen-via-mail/</link>
      <pubDate>Tue, 01 Jan 2008 18:51:58 +0100</pubDate>
      <guid>https://wolf-u.li/moblog-per-mail-mobiles-bloggen-via-mail/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://wolf-u.li/882/moblog-mobiles-bloggen-von-unterwegs/&#34;
    title=&#34;Gestern&#34; 
   &gt;
  Gestern&lt;/a&gt; habe ich über die Möglichkeit des mobilen Bloggens mit Hilfe des Plugins &amp;ldquo;WPhone&amp;rdquo; geschrieben. Auf der Fahrt nach München zur Silvesterfete ist mir dann aufgefallen, dass ich gar keine Bilder bloggen kann, was natürlich ein großer Nachteil dieser Methode ist. Der Blogger &lt;link rel=dns-prefetch href=//alleswasbewegt.de /&gt; &lt;a href=&#34;http://alleswasbewegt.de/2007/08/20/bloggen-von-unterwegs-2/&#34;
    title=&#34;Oliver Münk&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Oliver Münk&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; hat jedoch vor einiger Zeit auf das Plugin Postie hingewiesen, welches hierfür verwendet werden kann. Wie ich finde ist dieses aus mehreren Gründen ein sehr interessantes Plugin.
Ich kann also nun per Handy-Cam spontane Bilder schiessen und diese direkt via eMail (ich habe ja den Internet-Pack M von O2) an mein Blog senden. Da diese normalerweise zu groß sind, verkleinert das Plugin diese auf eine vernünftige Größe, bevor diese veröffentlicht werden. Was man dabei jedoch bedenken sollte, ist natürlich, dass man aufgrund des begrenzten Datenvolumens vielleicht eher auf dem PocketPC das Bild schon verkleinern sollte.
Zum anderen kann man so einen Eintrag mit vielen Bildern vorbereiten und dann an einem Hostspot in einem Schwung per Mail ans Blog senden ohne alle Bilder einzeln zu senden. (Auch hier gilt: Je kleiner die Bilder desto schneller gehts!)&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p><a href="/882/moblog-mobiles-bloggen-von-unterwegs/"
    title="Gestern" 
   >
  Gestern</a> habe ich über die Möglichkeit des mobilen Bloggens mit Hilfe des Plugins &ldquo;WPhone&rdquo; geschrieben. Auf der Fahrt nach München zur Silvesterfete ist mir dann aufgefallen, dass ich gar keine Bilder bloggen kann, was natürlich ein großer Nachteil dieser Methode ist. Der Blogger <link rel=dns-prefetch href=//alleswasbewegt.de /> <a href="http://alleswasbewegt.de/2007/08/20/bloggen-von-unterwegs-2/"
    title="Oliver Münk" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Oliver Münk&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> hat jedoch vor einiger Zeit auf das Plugin Postie hingewiesen, welches hierfür verwendet werden kann. Wie ich finde ist dieses aus mehreren Gründen ein sehr interessantes Plugin.
Ich kann also nun per Handy-Cam spontane Bilder schiessen und diese direkt via eMail (ich habe ja den Internet-Pack M von O2) an mein Blog senden. Da diese normalerweise zu groß sind, verkleinert das Plugin diese auf eine vernünftige Größe, bevor diese veröffentlicht werden. Was man dabei jedoch bedenken sollte, ist natürlich, dass man aufgrund des begrenzten Datenvolumens vielleicht eher auf dem PocketPC das Bild schon verkleinern sollte.
Zum anderen kann man so einen Eintrag mit vielen Bildern vorbereiten und dann an einem Hostspot in einem Schwung per Mail ans Blog senden ohne alle Bilder einzeln zu senden. (Auch hier gilt: Je kleiner die Bilder desto schneller gehts!)</p>
<p><strong>Edit:</strong> Postie 1.1 kann leider mit dem neuen Kategoriensystem von Wordpress nicht mehr zusammenarbeiten, da sich das Datenbankschema geändert hat. Daher hat ein findiger Blogger die beiden Dateien gepatched. Das geht nun schon mal wieder&hellip;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Neue Blogs &amp; Pages in meinem Radius</title>
      
      
      <link>https://wolf-u.li/neue-blogs-und-pages-in-meinem-radius/</link>
      <pubDate>Mon, 21 Apr 2008 18:02:03 +2100</pubDate>
      <guid>https://wolf-u.li/neue-blogs-und-pages-in-meinem-radius/</guid>
      <description>&lt;p&gt;Eine Menge neuer Blogs haben sich eingefunden, wie sich anhand meiner länger werdenden Blogroll in der Seitenleiste erkennen lässt. Unter anderem habe ich meine Arbeitskollegen Martin &amp;amp; &lt;del&gt;Chris&lt;/del&gt; mit der Blogsucht angesteckt, aber auch mein Bruder &lt;link rel=dns-prefetch href=//antonwolf.de /&gt; &lt;a href=&#34;http://antonwolf.de/&#34;
    title=&#34;Tony&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Tony&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; hat sein Blog neu designed und nun auf der Basis von Wordpress aufgebaut. Die vorherige XML/XSLT-Page ist auf meine Bitte hin weiterhin &lt;link rel=dns-prefetch href=//xsltsite.xephex.de /&gt; &lt;a href=&#34;http://xsltsite.xephex.de&#34;
    title=&#34;hier&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  hier&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; erreichbar (Ich fand das Konzept genial). Daniel hat nach einigen Kämpfen mit PHP und Smarty nun seine &lt;link rel=dns-prefetch href=//tsv-graben.de /&gt; &lt;a href=&#34;http://tsv-graben.de/&#34;
    title=&#34;Vereinsseite&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Vereinsseite&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; hochgestellt, die für ein erstes Projekt schon sehr gut aussieht.
Bei einigen Blogs warte ich aber schon länger auf neue Beiträge. Unter anderem von &lt;del&gt;Alex&lt;/del&gt; und &lt;del&gt;PaGo&lt;/del&gt;, aber auch von meinem Kollegen &lt;link rel=dns-prefetch href=//techcrawler.riedme.de /&gt; &lt;a href=&#34;http://techcrawler.riedme.de/&#34;
    title=&#34;Patrick&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Patrick&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt;. &lt;em&gt;tztztzt&lt;/em&gt; Sven postet zwar selten, aber doch immer mal wieder ;)
Wäre schön, wenn alle weiter/wieder bloggen würden :)&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Eine Menge neuer Blogs haben sich eingefunden, wie sich anhand meiner länger werdenden Blogroll in der Seitenleiste erkennen lässt. Unter anderem habe ich meine Arbeitskollegen Martin &amp; <del>Chris</del> mit der Blogsucht angesteckt, aber auch mein Bruder <link rel=dns-prefetch href=//antonwolf.de /> <a href="http://antonwolf.de/"
    title="Tony" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Tony&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> hat sein Blog neu designed und nun auf der Basis von Wordpress aufgebaut. Die vorherige XML/XSLT-Page ist auf meine Bitte hin weiterhin <link rel=dns-prefetch href=//xsltsite.xephex.de /> <a href="http://xsltsite.xephex.de"
    title="hier" 
     target="_blank" rel="nofollow noopener noreferrer" >
  hier&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> erreichbar (Ich fand das Konzept genial). Daniel hat nach einigen Kämpfen mit PHP und Smarty nun seine <link rel=dns-prefetch href=//tsv-graben.de /> <a href="http://tsv-graben.de/"
    title="Vereinsseite" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Vereinsseite&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> hochgestellt, die für ein erstes Projekt schon sehr gut aussieht.
Bei einigen Blogs warte ich aber schon länger auf neue Beiträge. Unter anderem von <del>Alex</del> und <del>PaGo</del>, aber auch von meinem Kollegen <link rel=dns-prefetch href=//techcrawler.riedme.de /> <a href="http://techcrawler.riedme.de/"
    title="Patrick" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Patrick&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>. <em>tztztzt</em> Sven postet zwar selten, aber doch immer mal wieder ;)
Wäre schön, wenn alle weiter/wieder bloggen würden :)</p>
]]></content:encoded>
    </item>
    <item>
      <title>Was bedeutet / heißt / ist 1337?</title>
      
      
      <link>https://wolf-u.li/was-bedeutet-heisst-ist-1337/</link>
      <pubDate>Sun, 15 Jun 2008 19:59:13 +1500</pubDate>
      <guid>https://wolf-u.li/was-bedeutet-heisst-ist-1337/</guid>
      <description>&lt;p&gt;Dieser Artikel ist ein Meilenstein meines Blogs :) Wie man an der Artikelnummer erkennen kann, ist dies Artikel 1337 (Was heisst: Ich habe bis jetzt 1337 Einträge oder Dateien oder Bildern eingestellt). Daher beschäftige ich mich in diesem Beitrag mit der Frage nach: Was bedeutet eigentlich 1337?
&lt;em&gt;1337&lt;/em&gt; leitet sich ab von &amp;ldquo;&lt;em&gt;Leetspeak&lt;/em&gt;&amp;rdquo; und hat viele Bedeutungen.&lt;/p&gt;
&lt;p&gt;So bezeichnet es zum Beispiel eine Sprache bzw. einem Geheimcode.
In Leetspeak werden in der einfachsten Stufe verschiedene Buchstaben durch Zahlen ersetzt. So wird &lt;code&gt;i/I/j/J&lt;/code&gt; zu 1, &lt;code&gt;e/E&lt;/code&gt; zu 3, &lt;code&gt;a/A&lt;/code&gt; zu 4, &lt;code&gt;s/S&lt;/code&gt; zu 5, &lt;code&gt;G&lt;/code&gt; zu 6, &lt;code&gt;t/T&lt;/code&gt; zu 7, &lt;code&gt;b&lt;/code&gt; zu 8, &lt;code&gt;g&lt;/code&gt; zu 9, &lt;code&gt;o/O&lt;/code&gt; zu 0. Ungeübte Personen kommen bereits hier ins Straucheln.&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Dieser Artikel ist ein Meilenstein meines Blogs :) Wie man an der Artikelnummer erkennen kann, ist dies Artikel 1337 (Was heisst: Ich habe bis jetzt 1337 Einträge oder Dateien oder Bildern eingestellt). Daher beschäftige ich mich in diesem Beitrag mit der Frage nach: Was bedeutet eigentlich 1337?
<em>1337</em> leitet sich ab von &ldquo;<em>Leetspeak</em>&rdquo; und hat viele Bedeutungen.</p>
<p>So bezeichnet es zum Beispiel eine Sprache bzw. einem Geheimcode.
In Leetspeak werden in der einfachsten Stufe verschiedene Buchstaben durch Zahlen ersetzt. So wird <code>i/I/j/J</code> zu 1, <code>e/E</code> zu 3, <code>a/A</code> zu 4, <code>s/S</code> zu 5, <code>G</code> zu 6, <code>t/T</code> zu 7, <code>b</code> zu 8, <code>g</code> zu 9, <code>o/O</code> zu 0. Ungeübte Personen kommen bereits hier ins Straucheln.</p>
<p>In der nächsten Stufe werden bestimmte Zeichen durch zwei Zeichen ersetzt. So wird beispielsweise ein <code>V</code> zu <code>\/</code>, ein <code>U</code> zu <code>|_|</code> oder ein <code>W</code> zu <code>\^/</code>. So wird das lesen schon deutlich komplizierter.</p>
<p>Natürlich kann man das beliebig steigern, beispielsweise könnte man ein <code>P</code> als <code>|*</code> oder ein <code>N</code> als <code>|1</code> schreiben. Die Lesbarkeit ist hier nicht mehr entscheidend.</p>
<p>Teilweise aufgrund des 1337, aber auch in verschiedenen Chats haben sich einige Kürzel entwickelt, die mittlerweile als Standard des 1337 angenommen wurden. Beispielsweise wird oft &ldquo;you&rdquo; als &ldquo;u&rdquo; bzw. &ldquo;ya&rdquo; und &ldquo;See&rdquo; als &ldquo;C&rdquo; abgekürzt. &ldquo;later&rdquo; hat sich so auch zu &ldquo;l8er&rdquo; entwickelt. (&ldquo;Bis später&rdquo; heisst daher: &ldquo;C u l8er&rdquo; oder &ldquo;Cya l8er&rdquo;).</p>
<p>1337 ist aber auch eine Lebenseinstellung. So steht 1337 auch für eine Abgrenzung der Personen, die dessen mächtig sind. Man spricht daher oft von einer Elite (daher wird 1337 auch von manchen als 313373 geschrieben). Auch gibt es viele Webseiten, die dieser Elite eine Plattform bieten, um sich auszutauschen. Diese Elite sind oft Personen, die viel Zeit vor/mit elektronischen Kommunikationsmitteln und Geräten verbringen und häufig viel oder sogar ausschließlich über diese kommunizieren.</p>
<p>Man merkt, dass der Artikel nicht alles erklären kann, daher stehe ich für Fragen über die Kommentarfunktion bereit ;)</p>
<p>PS: Natürlich gibt es auch <link rel=dns-prefetch href=//www.google.com /> <a href="http://www.google.com/intl/xx-hacker/"
    title="Google mit Leetspeak" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Google mit Leetspeak&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Umleitung bei ausschließlicher Angabe der post_id in der URL auf den vollen Wordpress-Permalink mittels Nginx</title>
      
      
      <link>https://wolf-u.li/umleitung-bei-ausschliesslicher-angabe-der-post_id-in-der-url-auf-den-vollen-wordpress-permalink-mittels-nginx/</link>
      <pubDate>Sat, 27 Mar 2010 16:05:56 +2700</pubDate>
      <guid>https://wolf-u.li/umleitung-bei-ausschliesslicher-angabe-der-post_id-in-der-url-auf-den-vollen-wordpress-permalink-mittels-nginx/</guid>
      <description>&lt;p&gt;Ich poste mittels &lt;link rel=dns-prefetch href=//wordpress.org /&gt; &lt;a href=&#34;http://wordpress.org/extend/plugins/twitpress/&#34;
    title=&#34;Twitpress&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Twitpress&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; meine Einträge auf &lt;link rel=dns-prefetch href=//twitter.com /&gt; &lt;a href=&#34;http://twitter.com/wolfuli&#34;
    title=&#34;Twitter&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Twitter&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt;, wobei ich die URL zum Eintrag mittels der ID des Posts, also im Fall dieses Posts 3385, angebe. Dies sieht dann so aus:&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Ich poste mittels <link rel=dns-prefetch href=//wordpress.org /> <a href="http://wordpress.org/extend/plugins/twitpress/"
    title="Twitpress" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Twitpress&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> meine Einträge auf <link rel=dns-prefetch href=//twitter.com /> <a href="http://twitter.com/wolfuli"
    title="Twitter" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Twitter&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>, wobei ich die URL zum Eintrag mittels der ID des Posts, also im Fall dieses Posts 3385, angebe. Dies sieht dann so aus:</p>
<blockquote>
<p>Neuer Blog-Eintrag: Umleitung bei ausschließlicher Angabe der post_id in der URL auf den vollen Wordpress-Permalink mittels Nginx <link rel=dns-prefetch href=//wolf-u.li /> <a href="https://wolf-u.li/3385/"
    title="https://wolf-u.li/3385/" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://wolf-u.li/3385/&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></p>
</blockquote>
<ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-2322978122735420" data-ad-slot="3161252284"></ins>
<p>Früher wurde dann per Wordpress auf die volle URL umgeleitet, jedoch funktioniert dies in der Version 2.9.2, die ich momentan fahre, nicht mehr so. Das führte dazu, dass unter <link rel=dns-prefetch href=//wolf-u.li /> <a href="https://wolf-u.li/3385/"
    title="https://wolf-u.li/3385/" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://wolf-u.li/3385/&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> und der langen Url des Beitrags der gleiche Inhalt angezeigt wurde, was zu Problemen mit den Suchmaschinen führen kann. Da ich keinen Bock hatte, mich bei mir auf Fehlersuche zu begeben, habe ich kurz gegoogled und festgestellt, dass dies für Version 3.1 von Wordpress wieder<link rel=dns-prefetch href=//core.trac.wordpress.org /> <a href="http://core.trac.wordpress.org/ticket/12456"
    title="geplant" 
     target="_blank" rel="nofollow noopener noreferrer" >
  geplant&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> ist. Ein wenig <link rel=dns-prefetch href=//codex.wordpress.org /> <a href="http://codex.wordpress.org/Using_Permalinks#Long_Permalinks#Long_Permalinks"
    title="Recherche" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Recherche&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> brachte an den Tag, dass man auch manuell per .htaccess (bei Nutzung von Apache) auf <em>index.php?p={POST_ID}</em> umleiten kann.</p>
<p>Dieser Artikel ist Teil einer Reihe zum Webserver nginx. Schau dir auch die anderen Artikel an: <a href="/3137/leitartikel-zur-konfiguration-und-installation-des-webservers-nginx/"
    title="Zum Leitartikel" 
   >
  Zum Leitartikel</a></p>
<p>Da ich den Webserver Nginx einsetze, habe ich also nun einfach eine Prüfung geschrieben, die nachsieht, ob nach wolf-u.li/ einfach nur eine Zahl folgt und in diesem Fall auf die index.php leitet, welche dann auf die korrekte lange URL leitet. Die komplette Location könnte also so aussehen:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">location / <span class="o">{</span>
</span></span><span class="line"><span class="cl"> <span class="k">if</span> <span class="o">(</span>-f <span class="nv">$request_filename</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl"> break<span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="o">}</span>
</span></span><span class="line"><span class="cl"> rewrite ^/<span class="o">([</span>0-9<span class="o">]</span>+<span class="o">)</span>/$ /index.php?p<span class="o">=</span><span class="nv">$1</span> last<span class="p">;</span>
</span></span><span class="line"><span class="cl"> rewrite ^<span class="o">(</span>.+<span class="o">)</span>$ /index.php last<span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Zuerst wird geprüft, ob der angeforderte Dateiname vorhanden ist. Wenn dem der Fall ist, werden keine weiteren Prüfungen durchgeführt und diese Datei zurückgegeben. Wenn nicht, wird zunächst die oben beschriebene Prüfung durchgeführt. Wurde kein Match ermittelt, so wird einfach nur auf index.php umgeleitet.</p>
<p>Das behob bei mir das Problem des doppelten Contents ;)</p>
]]></content:encoded>
    </item>
    <item>
      <title>Wordpress 2.6.2 ist erschienen - Kritisches Update</title>
      
      
      <link>https://wolf-u.li/wordpress-262-ist-erschienen-kritisches-update/</link>
      <pubDate>Tue, 09 Sep 2008 09:05:40 +0900</pubDate>
      <guid>https://wolf-u.li/wordpress-262-ist-erschienen-kritisches-update/</guid>
      <description>&lt;p&gt;&lt;link rel=dns-prefetch href=//blog.wordpress-deutschland.org /&gt; &lt;a href=&#34;http://blog.wordpress-deutschland.org/2008/09/08/wordpress-262-veroeffentlicht.html&#34;
    title=&#34;Gestern Abend&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Gestern Abend&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; wurde die neue Version 2.6.2 von Wordpress veröffentlicht. Diese behebt neben ein paar &lt;link rel=dns-prefetch href=//trac.wordpress.org /&gt; &lt;a href=&#34;http://trac.wordpress.org/query?status=closed&amp;amp;milestone=2.6.2&amp;amp;resolution=fixed&amp;amp;order=priority&#34;
    title=&#34;kleinen Bugs&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  kleinen Bugs&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; zwei kritische Fehler, welcher durch den PHP-Sicherheitspezialisten Stefan Esser aufgedeckt wurde:&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p><link rel=dns-prefetch href=//blog.wordpress-deutschland.org /> <a href="http://blog.wordpress-deutschland.org/2008/09/08/wordpress-262-veroeffentlicht.html"
    title="Gestern Abend" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Gestern Abend&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> wurde die neue Version 2.6.2 von Wordpress veröffentlicht. Diese behebt neben ein paar <link rel=dns-prefetch href=//trac.wordpress.org /> <a href="http://trac.wordpress.org/query?status=closed&amp;milestone=2.6.2&amp;resolution=fixed&amp;order=priority"
    title="kleinen Bugs" 
     target="_blank" rel="nofollow noopener noreferrer" >
  kleinen Bugs&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> zwei kritische Fehler, welcher durch den PHP-Sicherheitspezialisten Stefan Esser aufgedeckt wurde:</p>
<ul>
<li>Bei einer offenen Benutzerregistrierung führt eine sogenannte &ldquo;<link rel=dns-prefetch href=//www.suspekt.org /> <a href="http://www.suspekt.org/2008/08/18/mysql-and-sql-column-truncation-vulnerabilities/"
    title="SQL Column Truncation" 
     target="_blank" rel="nofollow noopener noreferrer" >
  SQL Column Truncation&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>&rdquo; dazu, dass der gewählte Benutzername ein existierender sein kann und deshalb dessen Passwort zurückgesetzt wird. Nur ärgerlich, da der Angreifer keinen Zugriff auf den Account erhält.</li>
<li>Ein Fehler in der PHP-Funktion mt_rand() führt dazu, dass das während der Registrierung erstellte Passwort vorhersagbar ist. Dies betrifft auch andere Webapplikationen und ist derzeit mittels des Sicherheitspatches &ldquo;<link rel=dns-prefetch href=//www.suspekt.org /> <a href="http://www.suspekt.org/2008/08/22/suhosin-0926-improved-randomness/"
    title="Suhosin" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Suhosin&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>&rdquo; behebbar. Daher sind die Applikationen auf meinem Server nicht davon betroffen.</li>
</ul>
<p>Das <link rel=dns-prefetch href=//wordpress.org /> <a href="http://wordpress.org/download/"
    title="Update ist auf den englischsprachigen Seiten" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Update ist auf den englischsprachigen Seiten&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> (<link rel=dns-prefetch href=//wordpress.org /> <a href="http://wordpress.org/development/2008/09/wordpress-262/"
    title="Release-Blog-Eintrag" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Release-Blog-Eintrag&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>)schon erschienen, die Version von Wordpress-Deutschland <del>wird sicher auch bald erscheinen</del> ist ebenfalls <link rel=dns-prefetch href=//blog.wordpress-deutschland.org /> <a href="http://blog.wordpress-deutschland.org/2008/09/09/wordpress-262-de-edition-und-upgradepaket.html"
    title="erschienen" 
     target="_blank" rel="nofollow noopener noreferrer" >
  erschienen&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>. Derweil kann man sich schon mal die <link rel=dns-prefetch href=//trac.wordpress.org /> <a href="http://trac.wordpress.org/changeset?old_path=tags%2F2.6.1&amp;old=8849&amp;new_path=tags%2F2.6.2&amp;new=8849"
    title="Liste der geänderten Dateien" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Liste der geänderten Dateien&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> ansehen und bei Bedarf manuell Updaten.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Page Speed Service von Google: Was bringts?</title>
      
      
      <link>https://wolf-u.li/page-speed-service-von-google-was-bringts/</link>
      <pubDate>Fri, 29 Jul 2011 09:14:14 +2900</pubDate>
      <guid>https://wolf-u.li/page-speed-service-von-google-was-bringts/</guid>
      <description>&lt;p&gt;Seit gestern gibt es den Page Speed Service von Google, der mit wenig Aufwand eine Komplettoptimierung der Webseite verspricht. Ich habe es mir natürlich nicht nehmen lassen, diesen gleich mal auszuprobieren.&lt;/p&gt;
&lt;p&gt;Ich habe zwei Tests gemacht:
Zunächst mit einer meiner größten Seiten (&lt;a href=&#34;https://wolf-u.li/1426/fun_plug-05-auf-dem-conceptronic-ch3snas-bzw-d-link-dns-323-installieren/&#34;
    title=&#34;Installation des fun_plug&#34; 
   &gt;
  Installation des fun_plug&lt;/a&gt;), da diese für Besucher am schmerzhaftesten ist:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;Original&lt;/th&gt;
          &lt;th&gt;Optimized&lt;/th&gt;
          &lt;th&gt;Difference&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Page Load Time&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;17.674s&lt;/td&gt;
          &lt;td&gt;17.668s&lt;/td&gt;
          &lt;td&gt;-0.006s (0.0%)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Start Render Time&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;6.704s&lt;/td&gt;
          &lt;td&gt;7.198s&lt;/td&gt;
          &lt;td&gt;+0.494s (7.4%)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Repeat View Page Load Time&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;15.434s&lt;/td&gt;
          &lt;td&gt;14.531s&lt;/td&gt;
          &lt;td&gt;-0.903s (5.9%)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Repeat View Start Render Time&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;6.221s&lt;/td&gt;
          &lt;td&gt;6.052s&lt;/td&gt;
          &lt;td&gt;-0.169s (2.7%)&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;link rel=dns-prefetch href=//www.webpagetest.org /&gt; &lt;a href=&#34;http://www.webpagetest.org/result/110728_V4_45840aeb1d034851513043d505b2573b/&#34;
    title=&#34;Details&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Details&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt;&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Seit gestern gibt es den Page Speed Service von Google, der mit wenig Aufwand eine Komplettoptimierung der Webseite verspricht. Ich habe es mir natürlich nicht nehmen lassen, diesen gleich mal auszuprobieren.</p>
<p>Ich habe zwei Tests gemacht:
Zunächst mit einer meiner größten Seiten (<a href="/1426/fun_plug-05-auf-dem-conceptronic-ch3snas-bzw-d-link-dns-323-installieren/"
    title="Installation des fun_plug" 
   >
  Installation des fun_plug</a>), da diese für Besucher am schmerzhaftesten ist:</p>
<table>
  <thead>
      <tr>
          <th></th>
          <th>Original</th>
          <th>Optimized</th>
          <th>Difference</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Page Load Time</strong></td>
          <td>17.674s</td>
          <td>17.668s</td>
          <td>-0.006s (0.0%)</td>
      </tr>
      <tr>
          <td><strong>Start Render Time</strong></td>
          <td>6.704s</td>
          <td>7.198s</td>
          <td>+0.494s (7.4%)</td>
      </tr>
      <tr>
          <td><strong>Repeat View Page Load Time</strong></td>
          <td>15.434s</td>
          <td>14.531s</td>
          <td>-0.903s (5.9%)</td>
      </tr>
      <tr>
          <td><strong>Repeat View Start Render Time</strong></td>
          <td>6.221s</td>
          <td>6.052s</td>
          <td>-0.169s (2.7%)</td>
      </tr>
  </tbody>
</table>
<p><link rel=dns-prefetch href=//www.webpagetest.org /> <a href="http://www.webpagetest.org/result/110728_V4_45840aeb1d034851513043d505b2573b/"
    title="Details" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Details&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></p>
<p>Die Unterschiede sind eher marginal, hier würde es sich meiner Ansicht nach nicht oder kaum lohnen auf den Service zu gehen.</p>
<p>Bei einer kleinen Seite (<a href="/4043/review-test-des-spiderpro-hueft-tragesystem-fuer-dslr/"
    title="Review des SpiderPro" 
   >
  Review des SpiderPro</a>) sieht das ganze schon etwas anders aus:</p>
<table>
  <thead>
      <tr>
          <th></th>
          <th>Original</th>
          <th>Optimized</th>
          <th>Difference</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Page Load Time</strong></td>
          <td>8.456s</td>
          <td>6.868s</td>
          <td>-1.588s (18.8%)</td>
      </tr>
      <tr>
          <td><strong>Start Render Time</strong></td>
          <td>3.216s</td>
          <td>1.667s</td>
          <td>-1.549s (48.2%)</td>
      </tr>
      <tr>
          <td><strong>Repeat View Page Load Time</strong></td>
          <td>3.524s</td>
          <td>2.289s</td>
          <td>-1.235s (35.0%)</td>
      </tr>
      <tr>
          <td><strong>Repeat View Start Render Time</strong></td>
          <td>1.576s</td>
          <td>1.033s</td>
          <td>-0.543s (34.5%)</td>
      </tr>
  </tbody>
</table>
<p><link rel=dns-prefetch href=//www.webpagetest.org /> <a href="http://www.webpagetest.org/result/110729_63_8e11d6d8d27799d6e478252e34fcc0be/"
    title="Details" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Details&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></p>
<p>Die Unterschiede sind hier deutlicher zu sehen und fordern mich nun auf, noch mehr auf Optimierung Wert zu legen. Für meinen Teil ist natürlich die Start Render Time ein interessanter Faktor und so kann ich nun dank des ausführlichen Vergleichs auch herausfinden was ich selber tun kann.</p>
<p>Fazit: Google hat hier wieder einen verrückten Weg beschritten, der dafür sorgt, dass das Web schneller wird. Heruntergeladen hat Google die Daten sowieso schon, da gibts also keine Geheimnisse. Interessant wirds aber wenn man dann an das Backend (Admininterface) oder Foren denkt. Ob das auch so gut ist? Für mich ist die Optimierung meiner Webseite schon ein wichtiger Faktor, jedoch behalte ich das ganze gerne in meiner Hand. Natürlich nehme ich mir aber die Ergebnisse zu Herzen und versuche mich an der Optimierung.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Umstieg von Disclose-Secret und Role-Manager auf Role-Scoper</title>
      
      
      <link>https://wolf-u.li/umstieg-von-disclose-secret-und-role-manager-auf-role-scoper/</link>
      <pubDate>Wed, 18 Mar 2009 17:07:56 +1800</pubDate>
      <guid>https://wolf-u.li/umstieg-von-disclose-secret-und-role-manager-auf-role-scoper/</guid>
      <description>&lt;p&gt;Seit Ewigkeiten habe ich auf meiner Seite &lt;link rel=dns-prefetch href=//wordpress.org /&gt; &lt;a href=&#34;http://wordpress.org/extend/plugins/disclose-secret/&#34;
    title=&#34;Disclose-Secret&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Disclose-Secret&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; und &lt;link rel=dns-prefetch href=//www.im-web-gefunden.de /&gt; &lt;a href=&#34;http://www.im-web-gefunden.de/wordpress-plugins/role-manager/&#34;
    title=&#34;Role-Manager&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Role-Manager&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; zum Schutz privater Beiträge in Betrieb gehabt. Leider funktioniert dieser nach Umstieg auf &lt;a href=&#34;https://wolf-u.li/2196/wordpress-27-coltrane-ist-erschienen/&#34;
    title=&#34;Wordpress 2.7&#34; 
   &gt;
  Wordpress 2.7&lt;/a&gt; nur noch sehr eingeschränkt, bei Bearbeitungen und neuen Beiträgen gar nicht mehr.
Auf der Suche nach einer Alternative stieß ich auf das Plugin &lt;link rel=dns-prefetch href=//web.archive.org /&gt; &lt;a href=&#34;http://web.archive.org/web/20131017085811/http://agapetry.net/news/introducing-role-scoper/&#34;
    title=&#34;Role-Scoper&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Role-Scoper&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt;, welches nach einigen Feature-Requests meinerseits nun problemlos eine Authentifizierung im RSS-Feed und eine Zuordnung von Beiträgen zu Gruppen unterstützt.
Neben meinem regulären &lt;a href=&#34;https://wolf-u.li/feed/&#34;
    title=&#34;RSS-Feed&#34; 
   &gt;
  RSS-Feed&lt;/a&gt; ist nun für registrierte Leser mit den entsprechenden Gruppenzuweisungen auch ein gesonderter &lt;a href=&#34;https://wolf-u.li/feed/?http_auth=1&#34;
    title=&#34;Feed&#34; 
   &gt;
  Feed&lt;/a&gt; verfügbar, in welchem ein paar Beiträge zusätzlich verfügbar sind.
Im Gegensatz zu Disclose Secret arbeitet das Plugin einwandfrei unter Wordpress 2.7 und integriert sich problemlos in die Oberfläche.&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Seit Ewigkeiten habe ich auf meiner Seite <link rel=dns-prefetch href=//wordpress.org /> <a href="http://wordpress.org/extend/plugins/disclose-secret/"
    title="Disclose-Secret" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Disclose-Secret&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> und <link rel=dns-prefetch href=//www.im-web-gefunden.de /> <a href="http://www.im-web-gefunden.de/wordpress-plugins/role-manager/"
    title="Role-Manager" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Role-Manager&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> zum Schutz privater Beiträge in Betrieb gehabt. Leider funktioniert dieser nach Umstieg auf <a href="/2196/wordpress-27-coltrane-ist-erschienen/"
    title="Wordpress 2.7" 
   >
  Wordpress 2.7</a> nur noch sehr eingeschränkt, bei Bearbeitungen und neuen Beiträgen gar nicht mehr.
Auf der Suche nach einer Alternative stieß ich auf das Plugin <link rel=dns-prefetch href=//web.archive.org /> <a href="http://web.archive.org/web/20131017085811/http://agapetry.net/news/introducing-role-scoper/"
    title="Role-Scoper" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Role-Scoper&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>, welches nach einigen Feature-Requests meinerseits nun problemlos eine Authentifizierung im RSS-Feed und eine Zuordnung von Beiträgen zu Gruppen unterstützt.
Neben meinem regulären <a href="/feed/"
    title="RSS-Feed" 
   >
  RSS-Feed</a> ist nun für registrierte Leser mit den entsprechenden Gruppenzuweisungen auch ein gesonderter <a href="/feed/?http_auth=1"
    title="Feed" 
   >
  Feed</a> verfügbar, in welchem ein paar Beiträge zusätzlich verfügbar sind.
Im Gegensatz zu Disclose Secret arbeitet das Plugin einwandfrei unter Wordpress 2.7 und integriert sich problemlos in die Oberfläche.</p>
<p>Der Autor ist an einer Weiterentwicklung interessiert und veröffentlicht beispielsweise nach einem <link rel=dns-prefetch href=//web.archive.org /> <a href="http://web.archive.org/web/20110606235345/http://agapetry.net/forum/role-scoper/bug-in-scoped-user_anonphp/page-1/post-1156/"
    title="Bugreport" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Bugreport&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> auch schnell neue <link rel=dns-prefetch href=//web.archive.org /> <a href="http://web.archive.org/web/20081120190729/http://agapetry.net/downloads/role-scoper_current"
    title="Versionen" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Versionen&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Disclose-Secret 2.4 und die HTTP-Basic-Authentifizierung per PHP über mod_fcgid</title>
      
      
      <link>https://wolf-u.li/disclose-secret-24-und-die-http-basic-authentifizierung-per-php-ueber-mod_fcgid/</link>
      <pubDate>Wed, 28 Jan 2009 10:56:18 +2800</pubDate>
      <guid>https://wolf-u.li/disclose-secret-24-und-die-http-basic-authentifizierung-per-php-ueber-mod_fcgid/</guid>
      <description>&lt;p&gt;Ich verwende bisher das Plugin &amp;ldquo;&lt;link rel=dns-prefetch href=//bluesome.net /&gt; &lt;a href=&#34;http://bluesome.net/post/2006/01/01/121/&#34;
    title=&#34;Disclose Secret&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Disclose Secret&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt;&amp;rdquo; für den Schutz der privaten Posts. Leider hat dieses Plugin ein paar Probleme. Eins davon ist, dass es keine HTTP-Basic-Authentifizierung per &lt;a href=&#34;https://wolf-u.li/2110/mod_fcgid-und-basic-authentication-per-htaccess-und-einer-umgebungsvariable/&#34;
    title=&#34;ungepatchem mod_fcgid&#34; 
   &gt;
  ungepatchem mod_fcgid&lt;/a&gt; unterstützt, wodurch der geschützte &lt;a href=&#34;https://wolf-u.li/feed/?http_auth=yes&#34;
    title=&#34;RSS-Feed&#34; 
   &gt;
  RSS-Feed&lt;/a&gt; nicht mit einem registrierten Nutzer abrufbar ist.&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Ich verwende bisher das Plugin &ldquo;<link rel=dns-prefetch href=//bluesome.net /> <a href="http://bluesome.net/post/2006/01/01/121/"
    title="Disclose Secret" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Disclose Secret&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>&rdquo; für den Schutz der privaten Posts. Leider hat dieses Plugin ein paar Probleme. Eins davon ist, dass es keine HTTP-Basic-Authentifizierung per <a href="/2110/mod_fcgid-und-basic-authentication-per-htaccess-und-einer-umgebungsvariable/"
    title="ungepatchem mod_fcgid" 
   >
  ungepatchem mod_fcgid</a> unterstützt, wodurch der geschützte <a href="/feed/?http_auth=yes"
    title="RSS-Feed" 
   >
  RSS-Feed</a> nicht mit einem registrierten Nutzer abrufbar ist.</p>
<p>Dazu muss man in der .htaccess folgende Zeilen hinzufügen:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># PHP (CGI mode) HTTP Authorization with ModRewrite:</span>
</span></span><span class="line"><span class="cl">RewriteEngine on
</span></span><span class="line"><span class="cl">RewriteCond %<span class="o">{</span>HTTP:Authorization<span class="o">}</span> ^<span class="o">(</span>.*<span class="o">)</span>
</span></span><span class="line"><span class="cl">RewriteRule ^<span class="o">(</span>.*<span class="o">)</span> - <span class="o">[</span><span class="nv">E</span><span class="o">=</span>HTTP_AUTHORIZATION:%1<span class="o">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Anmerkung: Sofern die Rewrite-Engine schon aktiviert wurde, muss man das natürlich nicht nochmal machen&hellip;</p>
<p>Nun muss man die Datei des Plugins bearbeiten. Suche in der Datei <code>disclose-secret.php</code>:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-php" data-lang="php"><span class="line"><span class="cl"><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="k">empty</span><span class="p">(</span><span class="nv">$current_user</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="k">return</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">isset</span><span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">&#39;PHP_AUTH_USER&#39;</span><span class="p">])</span> <span class="o">||</span> <span class="o">!</span><span class="nx">isset</span><span class="p">[</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">&#39;PHP_AUTH_PW&#39;</span><span class="p">]]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Ersetze durch:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-php" data-lang="php"><span class="line"><span class="cl"><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="k">empty</span><span class="p">(</span><span class="nv">$current_user</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="k">return</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="p">(</span><span class="nx">isset</span><span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">&#39;HTTP_AUTHORIZATION&#39;</span><span class="p">]))</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nv">$ha</span> <span class="o">=</span> <span class="nx">base64_decode</span><span class="p">(</span> <span class="nx">substr</span><span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">&#39;HTTP_AUTHORIZATION&#39;</span><span class="p">],</span><span class="mi">6</span><span class="p">)</span> <span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="k">list</span><span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">&#39;PHP_AUTH_USER&#39;</span><span class="p">],</span> <span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">&#39;PHP_AUTH_PW&#39;</span><span class="p">])</span> <span class="o">=</span> <span class="nx">explode</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">,</span> <span class="nv">$ha</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"> <span class="nx">unset</span><span class="p">(</span><span class="nv">$ha</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">isset</span><span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">&#39;PHP_AUTH_USER&#39;</span><span class="p">])</span> <span class="o">||</span> <span class="o">!</span><span class="nx">isset</span><span class="p">[</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">&#39;PHP_AUTH_PW&#39;</span><span class="p">]]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Momentan überlege ich aufgrund der Bugs in Disclose-Secret im Zusammenhang mit Wordpress 2.7 (Beim Bearbeiten von Posts gehen die Berechtigungen verloren, neue Posts können nicht mit Berechtigungen versehen werden (nur über direktes Einfügen in der Datenbank) und das Berechtigungspanel erscheint ÜBER der Eingabemaske) auf <link rel=dns-prefetch href=//web.archive.org /> <a href="http://web.archive.org/web/20131017085811/http://agapetry.net/news/introducing-role-scoper/"
    title="Role Scoper" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Role Scoper&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> zu wechseln. Gleichzeitig würde ich mir damit den <link rel=dns-prefetch href=//www.im-web-gefunden.de /> <a href="http://www.im-web-gefunden.de/wordpress-plugins/role-manager/"
    title="Role-Manager" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Role-Manager&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> sparen, der ebenfalls viele seltsame Bugs hat. Blöderweise kann Role Scoper den RSS-Feed noch nicht schützen, aber das habe ich bereits als Feature beim Autor requested. Mal sehen, ob das vielleicht kommt. Dann steige ich auf jeden Fall um.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Bildercache für den Webserver nginx am Beispiel von Gravatar-Icons</title>
      
      
      <link>https://wolf-u.li/bildercache-fuer-den-webserver-nginx-am-beispiel-von-gravatar-icons/</link>
      <pubDate>Mon, 22 Feb 2010 18:57:57 +2200</pubDate>
      <guid>https://wolf-u.li/bildercache-fuer-den-webserver-nginx-am-beispiel-von-gravatar-icons/</guid>
      <description>&lt;p&gt;Dieser Artikel ist Teil einer Reihe zum Webserver nginx.
Schau dir auch die anderen Artikel an: &lt;a href=&#34;https://wolf-u.li/3137/leitartikel-zur-konfiguration-und-installation-des-webservers-nginx/&#34;
    title=&#34;Zum Leitartikel&#34; 
   &gt;
  Zum Leitartikel&lt;/a&gt;
Vor einigen Tagen &lt;a href=&#34;https://wolf-u.li/3347/auslieferung-von-gravatar-icons-aus-einem-lokalen-cache-download-per-curl/&#34;
    title=&#34;schrieb&#34; 
   &gt;
  schrieb&lt;/a&gt; ich bereits über eine Möglichkeit, die Gravatar-Icons lokal zwischen zu speichern. Leider wurde dabei bei jedem Aufruf eines Bildes immer einen php-call gemacht, was mir bei manchen Beiträgen das Blog in die Knie zwingen würde und dem eigentlich gewünschten Effekt (Beschleunigung) entgegenstehen würde. Daher habe ich mir mal die Funktionen meines Webservers nginx angesehen und dabei festgestellt, dass dieser die folgende Prüfung erlaubt:&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Dieser Artikel ist Teil einer Reihe zum Webserver nginx.
Schau dir auch die anderen Artikel an: <a href="/3137/leitartikel-zur-konfiguration-und-installation-des-webservers-nginx/"
    title="Zum Leitartikel" 
   >
  Zum Leitartikel</a>
Vor einigen Tagen <a href="/3347/auslieferung-von-gravatar-icons-aus-einem-lokalen-cache-download-per-curl/"
    title="schrieb" 
   >
  schrieb</a> ich bereits über eine Möglichkeit, die Gravatar-Icons lokal zwischen zu speichern. Leider wurde dabei bei jedem Aufruf eines Bildes immer einen php-call gemacht, was mir bei manchen Beiträgen das Blog in die Knie zwingen würde und dem eigentlich gewünschten Effekt (Beschleunigung) entgegenstehen würde. Daher habe ich mir mal die Funktionen meines Webservers nginx angesehen und dabei festgestellt, dass dieser die folgende Prüfung erlaubt:</p>
<ul>
<li>Ist das Bild vorhanden?
<ul>
<li>Wenn ja: Direkte Auslieferung</li>
<li>Wenn nein: Aufruf einer PHP-Datei zum Download des Bildes</li>
</ul>
</li>
</ul>
<p>Die Umsetzung war dann einfach:</p>
<p>Das ist die Konfigurationsdatei für den vHost in nginx:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">server <span class="o">{</span>
</span></span><span class="line"><span class="cl"> listen 80<span class="p">;</span>
</span></span><span class="line"><span class="cl"> server_name img.yourdomain.tld<span class="p">;</span>
</span></span><span class="line"><span class="cl"> error_log /path/to/your/logs/error/img.yourdomain.tld.log warn<span class="p">;</span>
</span></span><span class="line"><span class="cl"> root /path/to/your/document/root/<span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> location ~ <span class="se">\.</span>php$ <span class="o">{</span>
</span></span><span class="line"><span class="cl"> fastcgi_pass 127.0.0.1:1234<span class="p">;</span>
</span></span><span class="line"><span class="cl"> include /etc/nginx/fastcgi_params<span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> location / <span class="o">{</span>
</span></span><span class="line"><span class="cl"> index cdn.php<span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="c1"># if the requested file exists, return it immediately</span>
</span></span><span class="line"><span class="cl"> <span class="k">if</span> <span class="o">(</span>-f <span class="nv">$request_filename</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl"> break<span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># all other requests go to CDN-PHP-File</span>
</span></span><span class="line"><span class="cl"> <span class="k">if</span> <span class="o">(</span>!-e <span class="nv">$request_filename</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl"> rewrite ^<span class="o">(</span>.+<span class="o">)</span>$ /cdn.php last<span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="o">}</span>
</span></span><span class="line"><span class="cl"> <span class="o">}</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Nun speichert man in <code>/path/to/your/document/root/</code> die Datei cdn.php mit folgendem Inhalt:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"> <span class="nv">$grav_img</span>,
</span></span><span class="line"><span class="cl"> <span class="nv">CURLOPT_HEADER</span> <span class="o">=</span>&gt; false,
</span></span><span class="line"><span class="cl"> <span class="nv">CURLOPT_RETURNTRANSFER</span> <span class="o">=</span>&gt; true,
</span></span><span class="line"><span class="cl"> <span class="nv">CURLOPT_TIMEOUT</span> <span class="o">=</span>&gt; 20,
</span></span><span class="line"><span class="cl"> <span class="nv">CURLOPT_BINARYTRANSFER</span> <span class="o">=</span>&gt; true,
</span></span><span class="line"><span class="cl"> <span class="nv">CURLOPT_MAXREDIRS</span> <span class="o">=</span>&gt; <span class="m">2</span>
</span></span><span class="line"><span class="cl"> <span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> curl_setopt_array<span class="o">(</span><span class="nv">$gch</span>, <span class="nv">$gcurl_options</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="nv">$gdata</span> <span class="o">=</span> curl_exec<span class="o">(</span><span class="nv">$gch</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="k">if</span><span class="o">(</span>!curl_errno<span class="o">(</span><span class="nv">$gch</span><span class="o">))</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl"> <span class="nv">$info</span> <span class="o">=</span> curl_getinfo<span class="o">(</span><span class="nv">$ch</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="k">if</span><span class="o">(</span>curl_getinfo<span class="o">(</span><span class="nv">$gch</span>, CURLINFO_HTTP_CODE<span class="o">)</span> !<span class="o">=</span> 200<span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl"> <span class="nb">echo</span> <span class="s2">&#34;Foo&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> exit<span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="o">}</span>
</span></span><span class="line"><span class="cl"> <span class="o">}</span>
</span></span><span class="line"><span class="cl"> curl_close <span class="o">(</span><span class="nv">$gch</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> unset<span class="o">(</span><span class="nv">$gch</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="o">}</span>
</span></span><span class="line"><span class="cl"> <span class="nv">$gfilehandle_img</span> <span class="o">=</span> fopen<span class="o">(</span><span class="s2">&#34;g/&#34;</span> . <span class="nv">$cache</span><span class="o">[</span><span class="s1">&#39;size&#39;</span><span class="o">]</span> . <span class="s2">&#34;/&#34;</span> . <span class="nv">$cache</span><span class="o">[</span><span class="s1">&#39;hash&#39;</span><span class="o">]</span> . <span class="s2">&#34;.webp&#34;</span>, <span class="s2">&#34;wb+&#34;</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> fwrite<span class="o">(</span><span class="nv">$gfilehandle_img</span>, <span class="nv">$gdata</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> fclose<span class="o">(</span><span class="nv">$gfilehandle_img</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> unset<span class="o">(</span><span class="nv">$gfilehandle_img</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> header<span class="o">(</span><span class="s1">&#39;content-type: image/png&#39;</span><span class="o">)</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="nb">echo</span> <span class="nv">$gdata</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Was macht diese Datei?</p>
<p>Zunächst wird die URL zerlegt und anhand des Typs die Quelle für die Avatare ausgewählt. Warum der Unterordner /g/? Ich wollte mir damit offen halten, verschiedene Bildertypen zu cachen. Das habe ich gelöst, indem ich meinen Bilderhashes ein &ldquo;<code>/g/</code>&rdquo; vorstelle, welches diese als Gravatar-Bilder markiert. Fällt mir also irgendwann mal ein, dass ich beispielsweise gerne noch Pavatar (wie auch immer geartet) cachen möchte, dann kann ich dies hier einbauen.</p>
<p>Der nächste Teil der URL ist die größe des Avatars, die nur aus Zahlen bestehen darf.</p>
<p>Anschließend wird eine Prüfung der md5-summe der E-Mailadresse durchgeführt, die einige mögliche Angriffsvektoren ausfiltern soll. Dabei bleiben dann nur Strings mit 32 Zeichen in Groß- und Kleinbuchstaben übrig, andernfalls wird das Script beendet. Im Anschluss wird dann das Bild geholt (per curl, wenn möglich), gespeichert und ausgegeben. Das verzeichnis /path/to/your/document/root/<strong>g/</strong> sollte hierzu vorhanden sein.</p>
<p>Die Url für ein 32x32 großes Bild sieht also am Ende so aus:</p>
<blockquote>
<p><code>http://img.yourdomain.tld/g/32/a9ec4695d424a6dcb6f896afb0ee22bc.webp</code></p>
</blockquote>
<p>und wird bei ersten Aufruf gecached mittels php und anschließend in den weiteren Aufrufen immer statisch durch den Webserver ausgegeben. Möchte man nun regelmäßig die Bilder aktualisieren, empfiehlt es sich, das <a href="/3347/auslieferung-von-gravatar-icons-aus-einem-lokalen-cache-download-per-curl/"
    title="hier" 
   >
  hier</a> bereits vorgestellte Script in regelmäßigen Abständen laufen zu lassen.</p>
<p>Für den Einbau in Wordpress ist das ganze auch recht einfach. Hierzu nimmt man einfach <a href="/4188/wordpress-plugin-fuer-den-abruf-von-gravatar-bildern-per/"
    title="mein Wordpress-Plugin wu-get_avatar" 
   >
  mein Wordpress-Plugin wu-get_avatar</a>.</p>
<p>Zu guter letzt noch ein Hinweis für Apache-Nutzer: Das PHP-Script lässt sich natürlich auch mit diesem Webserver nutzen.</p>
]]></content:encoded>
    </item>
    <item>
      <title>CoolIris PicLens mittels Wordpress-Plugin</title>
      
      
      <link>https://wolf-u.li/cooliris-piclens-mittels-wordpress-plugin/</link>
      <pubDate>Fri, 31 Oct 2008 10:05:40 +3100</pubDate>
      <guid>https://wolf-u.li/cooliris-piclens-mittels-wordpress-plugin/</guid>
      <description>&lt;p&gt;Soeben habe ich das Plugin WP PicLens Plus auf diesem Blog installiert. Damit kann man das Browser-Plugin &lt;link rel=dns-prefetch href=//www.cooliris.com /&gt; &lt;a href=&#34;http://www.cooliris.com/&#34;
    title=&#34;CoolIris&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  CoolIris&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt; (zuvor PicLens) zum Ansehen meiner Bilder nutzen, was vor allem bei den privaten Berichten (Reisefotos usw) sehr interessant ist. Einfach die Seite &lt;link rel=dns-prefetch href=//www.cooliris.com /&gt; &lt;a href=&#34;http://www.cooliris.com/&#34;
    title=&#34;cooliris.com&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  cooliris.com&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt;, Plugin im Firefox (Windows XP/Vista and Mac), Internet Explorer oder Safari (Mac) installieren und meine Beiträge aufrufen. Sehr geiler Effekt :)&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Soeben habe ich das Plugin WP PicLens Plus auf diesem Blog installiert. Damit kann man das Browser-Plugin <link rel=dns-prefetch href=//www.cooliris.com /> <a href="http://www.cooliris.com/"
    title="CoolIris" 
     target="_blank" rel="nofollow noopener noreferrer" >
  CoolIris&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> (zuvor PicLens) zum Ansehen meiner Bilder nutzen, was vor allem bei den privaten Berichten (Reisefotos usw) sehr interessant ist. Einfach die Seite <link rel=dns-prefetch href=//www.cooliris.com /> <a href="http://www.cooliris.com/"
    title="cooliris.com" 
     target="_blank" rel="nofollow noopener noreferrer" >
  cooliris.com&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>, Plugin im Firefox (Windows XP/Vista and Mac), Internet Explorer oder Safari (Mac) installieren und meine Beiträge aufrufen. Sehr geiler Effekt :)</p>
]]></content:encoded>
    </item>
    <item>
      <title>Saubere Entfernung von Sprachen im Wordpress-Plugin Global Translator für Übersetzungen des Webseiteninhalts</title>
      
      
      <link>https://wolf-u.li/saubere-entfernung-von-sprachen-im-wordpress-plugin-global-translator-fuer-uebersetzungen-des-webseiteninhalts/</link>
      <pubDate>Sat, 27 Mar 2010 15:37:36 +2700</pubDate>
      <guid>https://wolf-u.li/saubere-entfernung-von-sprachen-im-wordpress-plugin-global-translator-fuer-uebersetzungen-des-webseiteninhalts/</guid>
      <description>&lt;p&gt;In den vergangenen Wochen habe ich mich ein wenig mit meinem Google Webmasters Panel auseinander gesetzt und den &lt;a href=&#34;https://wolf-u.li/3365/haeufung-von-fehler-unerreichbar-in-google-webmaster-tools-aufgrund-von-global-translator-und-parameter-replytocom/&#34;
    title=&#34;ein&#34; 
   &gt;
  ein&lt;/a&gt; oder anderen Fehler ausgemerzt, der dazu führen könnte, dass ich erneut meinen PageRank verliere. Dies war bereits im Juli letzten Jahres geschehen, da ich wohl zuviele nicht erreichbare Seiten hatte. Mittlerweile habe ich wieder meinen damaligen &lt;a href=&#34;https://wolf-u.li/2892/wolf-uli-hat-pagerank-3-bekommen/&#34;
    title=&#34;PR3&#34; 
   &gt;
  PR3&lt;/a&gt;, de ich auch gerne behalten möchte.&lt;/p&gt;
&lt;p&gt;Damals war das Plugin Global Translator dafür verantwortlich, welches bei einer nicht vorhandenen Übersetzung ein 404 ausgespuckt hatte, was Google nicht so sehr gefallen hatte. Mittlerweile siehts in meinen Google Webmaster Tools schon wieder nicht so rosig aus. Da der Anteil ausländischer Besucher aus Ländern, deren Sprache nicht Englisch oder Chinesisch ist, täglich nur bei ~2% liegt, habe ich mich nun entschlossen, alle überflüssigen Sprachen zu entfernen, um mehr Anfragen für die Übersetzungen der Sprachen Englisch und Deutsch verfügbar zu haben. Natürlich ist das nicht so leicht, da ja doch mittlerweile knapp 12k Seiten im Google Index gelandet sind und ich für Unerreichbarkeit keine Schelte bekommen möchte ;)&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>In den vergangenen Wochen habe ich mich ein wenig mit meinem Google Webmasters Panel auseinander gesetzt und den <a href="/3365/haeufung-von-fehler-unerreichbar-in-google-webmaster-tools-aufgrund-von-global-translator-und-parameter-replytocom/"
    title="ein" 
   >
  ein</a> oder anderen Fehler ausgemerzt, der dazu führen könnte, dass ich erneut meinen PageRank verliere. Dies war bereits im Juli letzten Jahres geschehen, da ich wohl zuviele nicht erreichbare Seiten hatte. Mittlerweile habe ich wieder meinen damaligen <a href="/2892/wolf-uli-hat-pagerank-3-bekommen/"
    title="PR3" 
   >
  PR3</a>, de ich auch gerne behalten möchte.</p>
<p>Damals war das Plugin Global Translator dafür verantwortlich, welches bei einer nicht vorhandenen Übersetzung ein 404 ausgespuckt hatte, was Google nicht so sehr gefallen hatte. Mittlerweile siehts in meinen Google Webmaster Tools schon wieder nicht so rosig aus. Da der Anteil ausländischer Besucher aus Ländern, deren Sprache nicht Englisch oder Chinesisch ist, täglich nur bei ~2% liegt, habe ich mich nun entschlossen, alle überflüssigen Sprachen zu entfernen, um mehr Anfragen für die Übersetzungen der Sprachen Englisch und Deutsch verfügbar zu haben. Natürlich ist das nicht so leicht, da ja doch mittlerweile knapp 12k Seiten im Google Index gelandet sind und ich für Unerreichbarkeit keine Schelte bekommen möchte ;)</p>
<p>Der mehrstufige Actionplan sieht nun folgendes vor:</p>
<ul>
<li>Erstellung von Rewrite-Rules für nginx zur 301-Umleitung (Moved Permanentely) auf Webserverebene</li>
<li>Beantragung der Entfernung der Übersetzungen aus dem Google Suchindex</li>
<li>Anpassen der Einstellungen in Global Translator</li>
<li>Entfernung der überflüssigen Übersetzungsverzeichnisse</li>
<li>Aktualisierung des Page-Cache</li>
</ul>
<h2 id="erstellung-von-rewrite-rules-für-nginx-zur-301-umleitung">Erstellung von Rewrite-Rules für nginx zur 301-Umleitung</h2>
<p>Die Übersetzungslinks sollen für eventuelle, schon vorhandene Verlinkungen, auf den Originalartikel umgeleitet werden. Da ich, wie vielleicht einige wissen, als Webserver Nginx einsetze (Siehe <a href="/3137/leitartikel-zur-konfiguration-und-installation-des-webservers-nginx/"
    title="Leitartikel" 
   >
  Leitartikel</a>), benötige ich hierfür die entsprechenden Rewrite-Rules. Leider bin ich ein Experte in Regex, jedoch funzt der folgende Code:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">location ~* ^/<span class="o">(</span>ar<span class="p">|</span>be<span class="p">|</span>ca<span class="p">|</span>cs<span class="p">|</span>da<span class="p">|</span>el<span class="p">|</span>es<span class="p">|</span>et<span class="p">|</span>fa<span class="p">|</span><span class="k">fi</span><span class="p">|</span>fr<span class="p">|</span>ga<span class="p">|</span>gl<span class="p">|</span>hu<span class="p">|</span>is<span class="p">|</span>ko<span class="p">|</span>mk<span class="p">|</span>ms<span class="p">|</span>mt<span class="p">|</span>nl<span class="p">|</span>bg<span class="p">|</span>hr<span class="p">|</span>id<span class="p">|</span>it<span class="p">|</span>hi<span class="p">|</span>iw<span class="p">|</span>ja<span class="p">|</span>no<span class="p">|</span>lv<span class="p">|</span>lt<span class="p">|</span>pl<span class="p">|</span>pt<span class="p">|</span>ru<span class="p">|</span>sk<span class="p">|</span>sl<span class="p">|</span>sq<span class="p">|</span>sr<span class="p">|</span>sv<span class="p">|</span>ro<span class="p">|</span>th<span class="p">|</span>tl<span class="p">|</span>tr<span class="p">|</span>uk<span class="p">|</span>vi<span class="o">)</span>/ <span class="o">{</span>
</span></span><span class="line"><span class="cl">  rewrite ^/<span class="o">(</span>ar<span class="p">|</span>be<span class="p">|</span>ca<span class="p">|</span>cs<span class="p">|</span>da<span class="p">|</span>el<span class="p">|</span>es<span class="p">|</span>et<span class="p">|</span>fa<span class="p">|</span><span class="k">fi</span><span class="p">|</span>fr<span class="p">|</span>ga<span class="p">|</span>gl<span class="p">|</span>hu<span class="p">|</span>is<span class="p">|</span>ko<span class="p">|</span>mk<span class="p">|</span>ms<span class="p">|</span>mt<span class="p">|</span>nl<span class="p">|</span>bg<span class="p">|</span>hr<span class="p">|</span>id<span class="p">|</span>it<span class="p">|</span>hi<span class="p">|</span>iw<span class="p">|</span>ja<span class="p">|</span>no<span class="p">|</span>lv<span class="p">|</span>lt<span class="p">|</span>pl<span class="p">|</span>pt<span class="p">|</span>ru<span class="p">|</span>sk<span class="p">|</span>sl<span class="p">|</span>sq<span class="p">|</span>sr<span class="p">|</span>sv<span class="p">|</span>ro<span class="p">|</span>th<span class="p">|</span>tl<span class="p">|</span>tr<span class="p">|</span>uk<span class="p">|</span>vi<span class="o">)</span>/<span class="o">(</span>.*<span class="o">)</span>$ /<span class="nv">$2</span> permanent<span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Er muss mit in den Server-Teil der betreffenden Blog-Domain eingebaut werden. Vermutlich könnte man von der Location her direkt die Sprache capturen, so wie oben funzt es aber auf jeden Fall ;) Die Sprachen &ldquo;en&rdquo;, &ldquo;zh-CN&rdquo; und &ldquo;zh-TW&rdquo; habe ich weggelassen, da ich diese vorerst weiter behalte.</p>
<h2 id="beantragung-der-entfernung-der-übersetzungen-aus-dem-google-suchindex">Beantragung der Entfernung der Übersetzungen aus dem Google Suchindex</h2>
<p>Bis dato hatte ich von den angebotenen Sprachen des Global Translator nur jene aktiviert, die seitens Google Adsense erlaubt sind. Diese müssen nun über die Google Webmaster Tools entfernt werden.
Dazu loggt man sich zunächst <link rel=dns-prefetch href=//www.google.com /> <a href="https://www.google.com/webmasters/tools/"
    title="dort" 
     target="_blank" rel="nofollow noopener noreferrer" >
  dort&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> ein. Man wählt die betreffende Webseite und geht zu &ldquo;<em>Website-Konfiguration</em>&rdquo; -&gt; &ldquo;<em>Crawler-Zugriff</em>&rdquo;. Dort klickt man auf den Tab &ldquo;URL entfernen&rdquo;. Im folgenden Auswahlfenster wählt man dann als Option &ldquo;Ein Verzeichnis sowie alle Unterverzeichnisse auf der Website&rdquo;, da wir beispielsweise /ar/* entfernen möchten. Im nächsten Eingabefeld muss dann <strong>ar/</strong> eingegeben werden.</p>
<p><img src="/upload/2010/03/3380-Google-Webmaster-Tools-01.webp" alt="Webmaster Tools" loading="lazy" title="3380-Google-Webmaster-Tools-01">
<img src="/upload/2010/03/3380-Google-Webmaster-Tools-02.webp" alt="Webmaster Tools" loading="lazy" title="3380-Google-Webmaster-Tools-02">
<img src="/upload/2010/03/3380-Google-Webmaster-Tools-03.webp" alt="Webmaster Tools" loading="lazy" title="3380-Google-Webmaster-Tools-03"></p>
<p>Laut <link rel=dns-prefetch href=//www.google.com /> <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=59819&amp;hl=de"
    title="Google" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Google&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> sollte man ausserdem nun die robots.txt anpassen, da ein 301 Redirect nicht als &ldquo;nicht mehr erreichbar&rdquo; gilt. Hierzu legt man für jede entfernte Sprache ein</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-plaintext" data-lang="plaintext"><span class="line"><span class="cl">Disallow: /{SPRACHCODE}/
</span></span></code></pre></td></tr></table>
</div>
</div><p>an, sodass dies dann beispielsweise so aussieht:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-plaintext" data-lang="plaintext"><span class="line"><span class="cl">User-agent: *
</span></span><span class="line"><span class="cl">Allow: /
</span></span><span class="line"><span class="cl">Disallow: /ar/
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="anpassen-der-einstellungen-in-global-translator">Anpassen der Einstellungen in Global Translator</h2>
<p>Nun rate ich dazu, die Sprachen im Plugin zu entfernen. Bei mir bleiben derzeit nur &ldquo;en&rdquo;, &ldquo;zh-CN&rdquo; und &ldquo;zh-TW&rdquo; übrig, den Rest habe ich deaktiviert. Nach dem Speichern sollte die Sitemap neu erzeugt werden, da nun die überflüssigen Sprachen wegfallen.</p>
<h2 id="entfernung-der-überflüssigen-übersetzungsverzeichnisse">Entfernung der überflüssigen Übersetzungsverzeichnisse</h2>
<p>Hat man die obigen Schritte erfolgreich durchgeführt, so können die überflüssigen Übersetzungsverzeichnisse gelöscht werden. Glücklich ist, wer Shellzugriff hat, da gehts etwas schneller als per FTP ;). Die Übersetzungen finden sich in <em>{WORDPRESS_HOME}/wp-content/gt-cache/</em>. Ich würde das Verzeichnis &ldquo;stale&rdquo; nicht mitlöschen, auch dort würde ich nur die nicht mehr benötigten Sprachen entfernen.</p>
<h2 id="aktualisierung-des-page-cache">Aktualisierung des Page-Cache</h2>
<p>Ich setze für das Cachen meiner Seiten das Plugin <link rel=dns-prefetch href=//wordpress.org /> <a href="http://wordpress.org/extend/plugins/wp-super-cache/"
    title="WP-Super-Cache" 
     target="_blank" rel="nofollow noopener noreferrer" >
  WP-Super-Cache&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a> ein, welches nun auch aktualisiert werden sollte. Ein Klick auf &ldquo;<em>Delete Cach</em>e&rdquo; auf der Einstellungsseite des Plugins würde dies durchführen. Ich persönlich verwende aber zusätzlich das Plugin &ldquo;<link rel=dns-prefetch href=//wordpress.org /> <a href="http://wordpress.org/extend/plugins/askapache-crazy-cache/"
    title="Askapache Crazy Cache" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Askapache Crazy Cache&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>&rdquo;, welches mir erlaubt, schnell alle Seiten neu zu cachen. Auf einem shared Webspace macht dies jedoch nur begrenzt Sinn, da die CPU-zeit häufig begrenzt ist.</p>
<p>Fazit: So bin ich nun relativ sauber die überflüssigen Sprachen losgeworden und hoffe so die nicht erreichten Seiteninhalte reduzieren zu können.</p>
]]></content:encoded>
    </item>
    <item>
      <title>TechCrawler öffnet seine Pforten</title>
      
      
      <link>https://wolf-u.li/techcrawler-oeffnet-seine-pforten/</link>
      <pubDate>Sun, 03 Feb 2008 13:23:08 +0300</pubDate>
      <guid>https://wolf-u.li/techcrawler-oeffnet-seine-pforten/</guid>
      <description>&lt;p&gt;Mein Kollege Patrick hat sein Technik-Blog eröffnet. Themen sind UMTS, Nachrichten rund um TK und alles was sonst an wissenswertem anfällt. Einfach mal vorbeischauen auf wildboys.biz.&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Mein Kollege Patrick hat sein Technik-Blog eröffnet. Themen sind UMTS, Nachrichten rund um TK und alles was sonst an wissenswertem anfällt. Einfach mal vorbeischauen auf wildboys.biz.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Schöne Feiertage und einen guten Rutsch ins neue Jahr!</title>
      
      
      <link>https://wolf-u.li/schoene-feiertage-und-einen-guten-rutsch-ins-neue-jahr/</link>
      <pubDate>Sun, 25 Dec 2011 16:31:12 +2500</pubDate>
      <guid>https://wolf-u.li/schoene-feiertage-und-einen-guten-rutsch-ins-neue-jahr/</guid>
      <description>&lt;p&gt;Dieses Jahr ganz pragmatisch ;) Ich wünsch meinen Lesern schöne Feiertage und einen guten Rutsch ins neue Jahr!&lt;/p&gt;
&lt;p&gt;Grad auf Facebook noch ausgegraben (Urheber unbekannt):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plaintext&#34; data-lang=&#34;plaintext&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*.˛.°★。˛ °.★** **★* *˛.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;˛ °_██_*。*./ \ .˛* .˛.*.★* *★ 。*
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;˛. (´• ̮•)*˛°*/.♫.♫*˛.* ˛_Π_____. * ˛*
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.°( . • . ) ˛°./• &amp;#39;♫ &amp;#39; •\.˛*./______/~＼*. ˛*.。˛* ˛. *。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*(...&amp;#39;•&amp;#39;.. ) *˛╬╬╬╬╬˛°.｜田田 ｜門｜╬╬╬╬ .
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;¯˜&amp;#34;*°••°*&amp;#34;˜¯`´¯˜&amp;#34;*°••°*&amp;#34;˜¯ `­´¯˜&amp;#34;*°´¯˜&amp;#34;*°••°*&amp;#34;˜¯`´¯˜&amp;#34; *°
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      
         <content:encoded><![CDATA[<p>Dieses Jahr ganz pragmatisch ;) Ich wünsch meinen Lesern schöne Feiertage und einen guten Rutsch ins neue Jahr!</p>
<p>Grad auf Facebook noch ausgegraben (Urheber unbekannt):</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-plaintext" data-lang="plaintext"><span class="line"><span class="cl">*.˛.°★。˛ °.★** **★* *˛.
</span></span><span class="line"><span class="cl">˛ °_██_*。*./ \ .˛* .˛.*.★* *★ 。*
</span></span><span class="line"><span class="cl">˛. (´• ̮•)*˛°*/.♫.♫*˛.* ˛_Π_____. * ˛*
</span></span><span class="line"><span class="cl">.°( . • . ) ˛°./• &#39;♫ &#39; •\.˛*./______/~＼*. ˛*.。˛* ˛. *。
</span></span><span class="line"><span class="cl">*(...&#39;•&#39;.. ) *˛╬╬╬╬╬˛°.｜田田 ｜門｜╬╬╬╬ .
</span></span><span class="line"><span class="cl">¯˜&#34;*°••°*&#34;˜¯`´¯˜&#34;*°••°*&#34;˜¯ `­´¯˜&#34;*°´¯˜&#34;*°••°*&#34;˜¯`´¯˜&#34; *°
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
  </channel>
</rss>
