<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Websites Archives - jiaa.io Blog</title>
	<atom:link href="https://blog.jiaa.io/category/websites/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.jiaa.io/category/websites/</link>
	<description>Digital madness and beyond</description>
	<lastBuildDate>Wed, 07 May 2025 13:00:43 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.jiaa.io/wp-content/uploads/2017/01/cropped-favicon-2-150x150.png</url>
	<title>Websites Archives - jiaa.io Blog</title>
	<link>https://blog.jiaa.io/category/websites/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Performance gains from offloading WordPress Media to S3 / DigitalOcean Spaces</title>
		<link>https://blog.jiaa.io/2021/03/02/performance-gains-from-offloading-wordpress-media-to-s3-digitalocean-spaces/</link>
		
		<dc:creator><![CDATA[michael_goldbeck]]></dc:creator>
		<pubDate>Tue, 02 Mar 2021 05:41:39 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://blog.jiaa.io/?p=3047</guid>

					<description><![CDATA[<p>WordPress and performance. If one follows the ongoing battle between aficionados and adversaries of the most used content management system on the Web, the extremes could not be more pronounced. One side argues that the ecosystem surrounding WordPress justifies some trade-offs when it comes to performance &#8211; while the other argues that legacy code sustaining [&#8230;]</p>
<p>The post <a href="https://blog.jiaa.io/2021/03/02/performance-gains-from-offloading-wordpress-media-to-s3-digitalocean-spaces/">Performance gains from offloading WordPress Media to S3 / DigitalOcean Spaces</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">WordPress and performance. If one follows the ongoing battle between aficionados and adversaries of the most used content management system on the Web, the extremes could not be more pronounced. One side argues that the ecosystem surrounding WordPress justifies some trade-offs when it comes to performance &#8211; while the other argues that legacy code sustaining the CMS is dragging down the Web as a whole. However valid both of these arguments seem to be, I think that doing your homework can make your WordPress installation fly &#8211; to a surprising degree. So let&#8217;s roll and see what we can do <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<span id="more-3047"></span>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" src="https://media.giphy.com/media/lcySndwSDLxC4eOU86/giphy.gif" alt="" width="351" height="215"/></figure></div>



<p>One of the simplest ways to ensure WordPress speed grandeur is to focus on the things that can clog down your web server: media files. Every page has loads of them. Images, videos and too many stupid GIFs. I know, I know &#8211; who am I to talk. But let&#8217;s face it: text is not the most satisfying content out there any more. But what to do if you already have exhausted all the common strategies of improving performance &#8211; such as using proper caching or optimising all images? </p>



<h2 class="wp-block-heading">Offloading media to the rescue!</h2>



<p>Offloading media means to save your images not only in the &#8222;<em>/wp-content/uploads</em>/&#8220; folder &#8211; a.k.a. your web server &#8211; but also on a specialised service providing you with cheap storage and fast delivery &#8211; a Content Delivery Network or CDN for short. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>But why &#8211; in the name of Tim Berners-Lee &#8211; would I waste any more of my hard-earned golden nuggets on hosting?</p><cite>Anyone hosting websites on the cheap</cite></blockquote>



<p><strong><em>Good that you ask.</em></strong> Because first and foremost your users will thank you for improved speed and better user experience &#8211; and <a href="https://yoast.com/does-site-speed-influence-seo/" target="_blank" rel="noreferrer noopener nofollow">Google will rank you better</a>. If that alone does not tickle your buttons, then listen to this: </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Spending money on offloading media and a proper CDN setup will actually save you some bucks as you scale up.</p><cite>Lonely Austrian Nerd</cite></blockquote>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" src="https://media.giphy.com/media/gTURHJs4e2Ies/source.gif" alt=""/></figure></div>



<p><strong><em>Spending money to save money?</em></strong> No, I am not entirely crazy. Let me explain.</p>



<p>Let&#8217;s say you host the Website of a medium sized company aiming for signups to a service &#8211; and assume that you regularly send out newsletters which lead to spikes in visitors. These spikes turn your website sluggish &#8211; the reason why your conversions are <em><strong>down 25%</strong></em> in comparison to any normal day. That sucks, mate.</p>



<h2 class="wp-block-heading">So how do we fix this? </h2>



<p>Well, doubling server resources would most certainly take care of things. But it seems crazy to basically double server costs just to handle one spike every couple of months. Going static rocks hard when it comes to performance &#8211; but would also require a full rewrite of the Website.</p>



<p><strong>I say let&#8217;s get rid of media.</strong> But not by getting rid of the images itself but rather offloading them to a CDN. For this Proof-of-Concept I ran a WordPress Multisite installation on a basic tier droplet of <a href="https://www.digitalocean.com/products/droplets/" target="_blank" rel="noreferrer noopener nofollow">DigitalOcean</a> ($5/month) using a managed database (MySQL, $15/month) &#8211; using <a href="https://www.flood.io/" target="_blank" rel="noreferrer noopener nofollow">flood.io</a> to load test three pages with multiple images and 100 concurrent users &#8211; resulting in thousands of requests per minute. </p>



<h2 class="wp-block-heading">Initial run without offloading media</h2>



<p>I hear you say &#8222;<em>are you barking mad? 100 concurrent users on a tiny droplet like that?</em>&#8222;. Well &#8211; if caching is used (in this test I use the <a href="https://wordpress.org/plugins/w3-total-cache/" target="_blank" rel="noreferrer noopener nofollow">W3 Total Cache plugin</a>), this fares relatively well:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="1024" height="337" src="https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-performance-without-CDN-offloading-1024x337.jpg" alt="" class="wp-image-3083" srcset="https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-performance-without-CDN-offloading-1024x337.jpg 1024w, https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-performance-without-CDN-offloading-300x99.jpg 300w, https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-performance-without-CDN-offloading-768x253.jpg 768w, https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-performance-without-CDN-offloading-800x263.jpg 800w, https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-performance-without-CDN-offloading.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Performance of WordPress on a small server without CDN</figcaption></figure></div>



<p><strong><em>So, what do we have here?</em></strong> As you can see by the lack of red, the rate of failed requests was actually 0 &#8211; so no failed requests at all. That&#8217;s good. However, what becomes painfully obvious is the influence of concurrency on response time &#8211; after the ramp up period the perfectly acceptable 250ms jump up to a &#8222;<em>I-will-bounce-from-this-site</em>&#8220; 8500ms; a bloody disgrace to any professional Website. All in all, this should not come as a surprise &#8211; using a $5/month server to be bombarded with almost 2,500,000 requests a day (approx. 1,760 requests per minute) seems to go a bit overboard <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" src="https://media.giphy.com/media/B86lxbrMSZ0SQ/source.gif" alt=""/></figure></div>



<h2 class="wp-block-heading">Performance of WordPress with media offloading to a CDN</h2>



<p class="has-drop-cap"><strong>New the moment of truth: </strong>how does WordPress fare when offloading all media to a CDN? Well, great. But before diving into the data let me explain what exactly I offloaded &#8211; so that you can judge the possible impact offloading media to a CDN can have for your WordPress installation. </p>



<p>First of all, I used DigitalOcean&#8217;s &#8222;<a href="https://www.digitalocean.com/products/spaces/" target="_blank" rel="noreferrer noopener nofollow">Spaces Object Storage</a>&#8220; with a custom subdomain to offload media from my server. The process of uploading all media automatically to this object storage is done &#8211; quite unusually &#8211; not by plugin, but by using a combination of <a href="https://axkibe.github.io/lsyncd/" target="_blank" rel="noreferrer noopener nofollow">Lsyncd</a> and <a href="https://s3tools.org/s3cmd" target="_blank" rel="noreferrer noopener nofollow">s3cmd</a>. But let&#8217;s not get distracted by the more exciting parts of this PoC and get back to the boring data <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> &#8211; a post will follow on how to build a similar setup.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="1024" height="446" src="https://blog.jiaa.io/wp-content/uploads/2021/03/performance-comparison-wordpress-media-offloading-1024x446.jpg" alt="" class="wp-image-3099" srcset="https://blog.jiaa.io/wp-content/uploads/2021/03/performance-comparison-wordpress-media-offloading-1024x446.jpg 1024w, https://blog.jiaa.io/wp-content/uploads/2021/03/performance-comparison-wordpress-media-offloading-300x131.jpg 300w, https://blog.jiaa.io/wp-content/uploads/2021/03/performance-comparison-wordpress-media-offloading-768x335.jpg 768w, https://blog.jiaa.io/wp-content/uploads/2021/03/performance-comparison-wordpress-media-offloading-800x349.jpg 800w, https://blog.jiaa.io/wp-content/uploads/2021/03/performance-comparison-wordpress-media-offloading.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Performance of WordPress on a small server with CDN</figcaption></figure></div>



<p>Same testing period, same ramp-up period &#8211; and most important of all, same amount of concurrent users. As you can see in the comparison above, the results are quite striking. Not only was the test able to run at a substantially higher transaction rate of 2,250 requests per minute &#8211; an increase of well over 25% &#8211; but also the response times decreased mindbogglingly: from a catastrophic 4.7 seconds to an average of 166ms. I cannot stress this improvement enough: <strong>while serving approximately 3,240,000 requests a day the response time decreased to an average of 3,5% of the initial reaction time &#8211; all at the negligible cost increase of $5/month.</strong></p>



<h2 class="wp-block-heading">How far can we push this?</h2>



<p class="has-drop-cap">So, now we have seen a direct comparison of WordPress running on a small server without and with CDN. We saw that offloading media to a CDN yields substantial benefits to anyone trying to squeeze out every inch of performance from good ol&#8216; WordPress. </p>



<p>Well &#8211; to be perfectly honest, this has nothing to do with WordPress itself. The reason why this works so well is simple: by offloading media to a managed service hosted somewhere else, there is no need for our server to flex its muscles. As the images are not loaded from the same host as WordPress, the web server (Apache in this case) does not have to work as hard due to fewer requests made (about half actually &#8211; but this greatly depends on your site/workload). Consequentially, with less requests the CPU does not need to work as hard, the memory does not fill up as quickly and the drives hum along softly as there are very few files to serve.</p>



<p class="has-text-align-center"><strong><em>This is all great. But when are we finally going to break things? </em></strong><br><strong><em>Patience, young coder.</em></strong></p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" src="https://media.giphy.com/media/H8F81L6AsOaNCYCVv7/source.gif" alt=""/></figure></div>



<p>Alright &#8211; how far can we push this? Let&#8217;s give this another run &#8211; and triple the number of concurrent users to 300.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="288" src="https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-cdn-performance-comparison-max-load-1024x288.jpg" alt="" class="wp-image-3120" srcset="https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-cdn-performance-comparison-max-load-1024x288.jpg 1024w, https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-cdn-performance-comparison-max-load-300x84.jpg 300w, https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-cdn-performance-comparison-max-load-768x216.jpg 768w, https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-cdn-performance-comparison-max-load-800x225.jpg 800w, https://blog.jiaa.io/wp-content/uploads/2021/03/wordpress-cdn-performance-comparison-max-load.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Pushing a $5/month server with 300 concurrent users</figcaption></figure></div>



<p>While it still amazes me that this setup can handle over 6.2 million requests per day without returning a single error, one thing becomes clear: with an average response time of almost 10 seconds we won&#8217;t be winning any medals from our customers. Nevertheless, this PoC strengthens my view that scaling WordPress is not only a matter of pushing more money to a better hosting provider but substantially depends on your ability to optimise. </p>



<h2 class="wp-block-heading">Summa summarum</h2>



<p>In this post we used Object Storage to offload our WordPress media. This enabled us to more than double the amount of concurrent users our server can handle &#8211; and still leaves some room for further optimisation, such as offloading CSS and JavaScript files, offloading minified files generated by T3 Total Cache, switching from Apache to nginx, &#8230; </p>



<p>Your Website experiences spikes and you want to save a buck while still being able to handle more users? Go ahead and use a CDN &#8211; your visitors will thank you with higher sign-up rates.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" src="https://media.giphy.com/media/a0h7sAqON67nO/source.gif" alt=""/></figure></div>



<p class="has-text-align-center"><strong>How do you optimise your WordPress installations? </strong></p>
<p>The post <a href="https://blog.jiaa.io/2021/03/02/performance-gains-from-offloading-wordpress-media-to-s3-digitalocean-spaces/">Performance gains from offloading WordPress Media to S3 / DigitalOcean Spaces</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Upgrading Ubuntu 16.04 LTS to Ubuntu 18.04 LTS on DigitalOcean</title>
		<link>https://blog.jiaa.io/2019/10/06/upgrading-ubuntu-16-04-lts-to-ubuntu-18-04-lts-on-digitalocean/</link>
		
		<dc:creator><![CDATA[michael_goldbeck]]></dc:creator>
		<pubDate>Sun, 06 Oct 2019 14:24:27 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Websites]]></category>
		<guid isPermaLink="false">https://blog.jiaa.io/?p=2787</guid>

					<description><![CDATA[<p>With Ubuntu 18.04 LTS (BionicBeaver) having been released on the 8th of August 2019, everyone using its predecessor Ubuntu 16.04 LTS (XenialXerus) stands before the annoying decision of when to upgrade. With a proven track record of upgrading screw ups (allegedly ?), this is not a decision made lightly &#8211; especially, when End of Support [&#8230;]</p>
<p>The post <a href="https://blog.jiaa.io/2019/10/06/upgrading-ubuntu-16-04-lts-to-ubuntu-18-04-lts-on-digitalocean/">Upgrading Ubuntu 16.04 LTS to Ubuntu 18.04 LTS on DigitalOcean</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">With Ubuntu 18.04 LTS (<a rel="noreferrer noopener" aria-label="BionicBeaver (opens in a new tab)" data-bcup-haslogintext="no" href="https://wiki.ubuntu.com/BionicBeaver" target="_blank">BionicBeaver</a>) having been released on the 8th of August 2019, everyone using its predecessor Ubuntu 16.04 LTS (<a rel="noreferrer noopener" aria-label="XenialXerus (opens in a new tab)" data-bcup-haslogintext="no" href="https://wiki.ubuntu.com/XenialXerus" target="_blank">XenialXerus</a>) stands before the annoying decision of when to upgrade. With a proven track record of upgrading screw ups (allegedly ?), this is not a decision made lightly &#8211; especially, when End of Support (April 2021) as well as End of Life (April 2024) seem to be still quite far off.</p>



<span id="more-2787"></span>



<p>However, as peace of mind prevails, I tend to upgrade once the main upgrading related issues have been sorted out &#8211; or at least have been discussed in the community forums. For me the sweet spot to jump on a new release is around 2-3 months after its roll out. If you have to support something mission critical, this might take a bit longer.</p>



<p>Be that as it may, let&#8217;s get Ubuntu 16.04 upgraded to Ubuntu 18.04 on DigitalOcean ?.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://media.giphy.com/media/MGaacoiAlAti0/source.gif" alt="" /></figure></div>



<h2 class="wp-block-heading">Step 1: Snapshots, Snapshots, Snapshots</h2>



<p>It seems redundant to write this &#8211; but it&#8217;s unfortunately still common practice to just wing it when upgrading a system. But it should go without saying that losing all of your data is a bit more than potentially problematic. As I run all of my infrastructure on virtual servers (Droplets) provided by <a rel="noreferrer noopener" aria-label="DigitalOcean (opens in a new tab)" data-bcup-haslogintext="no" href="https://www.digitalocean.com/" target="_blank">DigitalOcean</a>, it&#8217;s very easy to not only back-up all of my data, but to make a functional snapshot of the full machine.</p>



<p>If you want to take a snapshot of your droplet, you simply go to the droplet in question, select &#8222;Snapshots&#8220; in the sidebar menu and click the &#8222;Take live snapshot&#8220; button &#8211; and wait for it to finish. </p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="1024" height="662" src="https://network.jiaa.io/jiaa-blog/wp-content/uploads/sites/5/2019/10/1-do-snapshot-1024x662.png" alt="" class="wp-image-2794" srcset="https://blog.jiaa.io/wp-content/uploads/2019/10/1-do-snapshot-1024x662.png 1024w, https://blog.jiaa.io/wp-content/uploads/2019/10/1-do-snapshot-300x194.png 300w, https://blog.jiaa.io/wp-content/uploads/2019/10/1-do-snapshot-768x496.png 768w, https://blog.jiaa.io/wp-content/uploads/2019/10/1-do-snapshot-800x517.png 800w, https://blog.jiaa.io/wp-content/uploads/2019/10/1-do-snapshot.png 1380w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p>It&#8217;s good practice to shutdown the droplet before doing so as well as ensuring that the snapshot actually works, so you don&#8217;t have any surprises if something does go wrong&#8230;</p>



<h2 class="wp-block-heading">Step 2: Installing updates</h2>



<p>Let&#8217;s start with the fun part: installing stuff. Hop onto your machine with the nice SSH access of yours. </p>



<pre class="wp-block-code"><code>$ ssh user@1.2.3.4</code></pre>



<p>I hope for you, that you have a nice <a rel="noreferrer noopener" aria-label="SSH key (opens in a new tab)" data-bcup-haslogintext="no" href="https://www.cyberciti.biz/faq/ubuntu-18-04-setup-ssh-public-key-authentication/" target="_blank">SSH key</a> already installed so you don&#8217;t waste precious time thinking about your password. </p>



<p><strong>Update already:</strong></p>



<pre class="wp-block-code"><code>$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade</code></pre>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://media.giphy.com/media/YlZCtRuanxPV4h0RBU/giphy.gif" alt="" /></figure></div>



<p>I know, I know &#8211; the last one might be redundant. Sue me ?</p>



<h2 class="wp-block-heading">Step 3: Upgrading to that hot new version</h2>



<p>And here we are, finally ready to upgrade to Ubuntu 18.04. </p>



<pre class="wp-block-code"><code>$ sudo do-release-upgrade</code></pre>



<p>You will be asked some questions before the upgrading process starts. Just hop along with <em>&#8218;y&#8216;</em> and everything will be fine (hopefully^^). A healthy dose of reading the output and thinking about what it means will do the trick. Just be aware that this might take a while. You&#8217;ll also be prompted with a SSH config step &#8211; as I have modified my <em>sshd_config</em> I will stick to my current one.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="1014" height="346" src="https://blog.jiaa.io/wp-content/uploads/2019/10/ssh-config.png" alt="" class="wp-image-2802" srcset="https://blog.jiaa.io/wp-content/uploads/2019/10/ssh-config.png 1014w, https://blog.jiaa.io/wp-content/uploads/2019/10/ssh-config-300x102.png 300w, https://blog.jiaa.io/wp-content/uploads/2019/10/ssh-config-768x262.png 768w, https://blog.jiaa.io/wp-content/uploads/2019/10/ssh-config-800x273.png 800w" sizes="auto, (max-width: 1014px) 100vw, 1014px" /></figure></div>



<p>After some time your happy little machine should be telling you that the upgrade is complete &#8211; otherwise you will have encountered some error. As this requires a restart, continue with <em>&#8218;y&#8216;</em>.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="400" height="157" src="https://blog.jiaa.io/wp-content/uploads/2019/10/upgrade-complete.png" alt="" class="wp-image-2805" srcset="https://blog.jiaa.io/wp-content/uploads/2019/10/upgrade-complete.png 400w, https://blog.jiaa.io/wp-content/uploads/2019/10/upgrade-complete-300x118.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure></div>



<p>After accepting this, you will be disconnected. Give your machine a couple of seconds to reboot and reconnect.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="573" height="441" src="https://blog.jiaa.io/wp-content/uploads/2019/10/ubuntu-1804-login-screen.png" alt="" class="wp-image-2806" srcset="https://blog.jiaa.io/wp-content/uploads/2019/10/ubuntu-1804-login-screen.png 573w, https://blog.jiaa.io/wp-content/uploads/2019/10/ubuntu-1804-login-screen-300x231.png 300w" sizes="auto, (max-width: 573px) 100vw, 573px" /></figure></div>



<p>And there we go &#8211; 18.04 LTS (XenialXerus) runs smoothly, including all services that were hosted on the machine before upgrading. For peace of heart, it&#8217;s not unreasonable to check ones firewall, so that just the needed ports are open to the public.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="428" height="217" src="https://blog.jiaa.io/wp-content/uploads/2019/10/ufw-status.png" alt="" class="wp-image-2807" srcset="https://blog.jiaa.io/wp-content/uploads/2019/10/ufw-status.png 428w, https://blog.jiaa.io/wp-content/uploads/2019/10/ufw-status-300x152.png 300w" sizes="auto, (max-width: 428px) 100vw, 428px" /></figure></div>



<p>And that&#8217;s that ????</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://media.giphy.com/media/huPOaNv3v2krwpD4Zh/giphy.gif" alt="" /></figure></div>
<p>The post <a href="https://blog.jiaa.io/2019/10/06/upgrading-ubuntu-16-04-lts-to-ubuntu-18-04-lts-on-digitalocean/">Upgrading Ubuntu 16.04 LTS to Ubuntu 18.04 LTS on DigitalOcean</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A Web for the Many, not the Few</title>
		<link>https://blog.jiaa.io/2018/12/19/a-web-for-the-many-not-the-few/</link>
					<comments>https://blog.jiaa.io/2018/12/19/a-web-for-the-many-not-the-few/#comments</comments>
		
		<dc:creator><![CDATA[michael_goldbeck]]></dc:creator>
		<pubDate>Wed, 19 Dec 2018 21:02:33 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Policy]]></category>
		<category><![CDATA[Websites]]></category>
		<guid isPermaLink="false">https://blog.jiaa.io/?p=264</guid>

					<description><![CDATA[<p>The Web has come a long way. When Tim Berners-Lee, the inventor of the Web,&#160; envisioned the very first foundations of what now is an ever expanding aggregation of hyperlinks, I daresay he did not foresee what kind of transformation he was going to kick off.&#160; This transformation has most certainly brought a lot of [&#8230;]</p>
<p>The post <a href="https://blog.jiaa.io/2018/12/19/a-web-for-the-many-not-the-few/">A Web for the Many, not the Few</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>The <a href="https://en.wikipedia.org/wiki/World_Wide_Web">Web</a> has come a long way. When <a href="https://www.w3.org/People/Berners-Lee/">Tim Berners-Lee</a>, the inventor of the Web,&nbsp; envisioned the very first foundations of what now is an ever expanding aggregation of <a href="https://en.wikipedia.org/wiki/Hyperlink">hyperlinks</a>, I daresay he did not foresee what kind of transformation he was going to kick off.&nbsp;</p>



<span id="more-264"></span>



<p>This transformation has most certainly brought a lot of benefits to humanity. Unrestricted access to information, reasonably priced global communications and faster shopping than anybody needs. However, this has come at a cost. Companies focusing on commercialising the web for their own profit quickly gained substantial power. These global players have grown so fast and so big, that we are struggling to grasp the full magnitude of the problems they pose.</p>



<p>On the 6th of December 2018 Tim Berners-Lee published <a href="https://www.nytimes.com/2018/12/06/opinion/tim-berners-lee-saving-the-internet.html">an outstanding opinion in The New York Times</a>. In this piece he not only reflects on what has gone wrong in the last couple of years but also outlines a way forward.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>To preserve a web that serves all of humanity, not just the privileged and the powerful, we will have to fight for it.</p><cite>Tim Berners-Lee</cite></blockquote>



<div class="wp-block-button aligncenter is-style-outline is-style-outline--1"><a class="wp-block-button__link" href="https://www.nytimes.com/2018/12/06/opinion/tim-berners-lee-saving-the-internet.html"><strong>Read: </strong><em>How to Save the Web</em></a></div>



<p>In this opinion he asks everyone to sign a set of core principles he developed with the <a href="https://webfoundation.org/">World Wide Web Foundation</a>, drafting responsibilities of all actors on the web. This should be a guide for a formal <a href="https://contractfortheweb.org/">Contract for the Web</a>, holding each and everyone accountable.&nbsp;</p>



<h2 class="wp-block-heading">So what do I think?</h2>



<p>Even though I am not sure at all whether this voluntary contract based on self-regulation is deemed to fail or can actually improve the status quo, at least it is a start. Together with his &#8222;<em><strong><a href="https://solid.mit.edu/">Solid</a></strong></em>&#8220; project for a new re-decentralised web and other initiatives actively promoting <a href="https://en.wikipedia.org/wiki/Privacy_by_design">privacy by design</a> and privacy by default, I can see&nbsp;light at the end of the tunnel. But a lot needs to be done.</p>



<p style="text-align:center"><a rel="noreferrer noopener" aria-label="Image&nbsp;by&nbsp;Piotr Lohunko (opens in a new tab)" href="https://stocksnap.io/photo/RALDM02X8S" target="_blank">Image&nbsp;</a>by&nbsp;<a href="https://stocksnap.io/author/41338">Taduuda</a></p>
<p>The post <a href="https://blog.jiaa.io/2018/12/19/a-web-for-the-many-not-the-few/">A Web for the Many, not the Few</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.jiaa.io/2018/12/19/a-web-for-the-many-not-the-few/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Insecurity by Default: A1 Edition</title>
		<link>https://blog.jiaa.io/2017/08/03/insecurity-default-a1-edition/</link>
		
		<dc:creator><![CDATA[michael_goldbeck]]></dc:creator>
		<pubDate>Thu, 03 Aug 2017 06:19:43 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Websites]]></category>
		<guid isPermaLink="false">https://blog.jiaa.io/?p=225</guid>

					<description><![CDATA[<p>Eines gleich vorab: dieser Beitrag dient nicht dazu A1 kategorisch als unsicher oder völlig unfähig zu bezeichnen &#8211;  ich nutze A1 Produkte selbst seit rund 15 Jahren und führe in keinster Weise persönlichen Vendetta gegen diese Firma. Dieser Text soll symbolisch für ein &#8211; meiner Meinung nach &#8211; großes Problem unserer Gesellschaft stehen: Produkte und [&#8230;]</p>
<p>The post <a href="https://blog.jiaa.io/2017/08/03/insecurity-default-a1-edition/">Insecurity by Default: A1 Edition</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><em><span style="font-weight: 400">Eines gleich vorab: dieser Beitrag dient nicht dazu A1 kategorisch als unsicher oder völlig unfähig zu bezeichnen &#8211;  ich nutze A1 Produkte selbst seit rund 15 Jahren und führe in keinster Weise persönlichen Vendetta gegen diese Firma. Dieser Text soll symbolisch für ein &#8211; meiner Meinung nach &#8211; großes Problem unserer Gesellschaft stehen: Produkte und Software werden per default unsicher einer breiten Masse zur Verfügung gestellt. </span></em></p>
<p><span style="font-weight: 400">Vor ein paar Wochen war ich bei meinen Schwiegereltern auf Besuch und das Unumgängliche ist passiert: das Internet funktionierte nicht. Ob ich mir das als &#8222;ITler&#8220; anschauen könne? Sicher <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span></p>
<p><span style="font-weight: 400"><a href="http://www.yourdictionary.com/nerdom" target="_blank" rel="noopener">Nerdom</a> to the rescue! Ab ins WLAN und rein in den Terminal. Doch was als einfaches Problem begonnen hat (Netzwerkkarte des PCs hat gejammert), wurde nach einer kurzen Konsultierung des Routers zu einer klaffenden Sicherheitslücke.</span></p>
<p><span id="more-225"></span></p>
<p><span style="font-weight: 400"><strong>Kontext</strong>: vor nicht allzu langer Zeit wurde ein “neues Internet” aka Vertrag abgeschlossen. A1 lieferte dabei ihren Flagschiff-Router aus: die <em>A1 Hybrid Box</em> aka <em>Huawei HA35-22/AM</em>. Auch wenn ich persönlich kein Fan von diesen mitgelieferten Kisten bin, weil oft technologisch veraltet, sollte der Router für “<em>normale</em>” Haushalte ausreichen. Was mich eher schockiert hat, war die Absicherung dieses Produkts &#8211; nämlich keine. </span></p>
<p><span style="font-weight: 400"><strong>You read that right</strong>: A1-Router kommen <em>per default</em> ohne Passwort. Jede/r im Netzwerk kann also tun und lassen was ihm/ihr gefällt. Nice!</span></p>
<p><span style="font-weight: 400">Als First-Class-Jammerer und mitteilungswütiger Mitbürger musste ich natürlich gleich meinen Unmut kundtun:</span></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="de" dir="ltr">Liebes <a href="https://twitter.com/A1Telekom?ref_src=twsrc%5Etfw">@A1Telekom</a>. Das Ausliefern von Routern OHNE Passwort ist ein Verbrechen an der Sicherheit eurer Kunden! <a href="https://twitter.com/hashtag/network?src=hash&amp;ref_src=twsrc%5Etfw">#network</a> <a href="https://twitter.com/hashtag/security?src=hash&amp;ref_src=twsrc%5Etfw">#security</a></p>
<p>&mdash; Michael Goldbeck (@m_goldbeck) <a href="https://twitter.com/m_goldbeck/status/876019549828722688?ref_src=twsrc%5Etfw">June 17, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p><span style="font-weight: 400">So weit, so groovy. Was mich dann aber wirklich von den Socken gehauen hat, war die darauf folgende Konversation mit dem A1-Account. </span><span style="font-weight: 400">Und ich meine dabei nicht die offensichtlich mangelnde technische Expertise des Antwortenden &#8211; nicht jeder muss sich zwangsläufig mit dem Thema auseinandersetzen, immerhin werden die meisten Anfragen zu Paketen und Abrechnungen sein; so zumindest meine Annahme. Was mich zutiefst schockiert hat, war die entgegengebrachte Ignoranz und Gleichgültigkeit der Antworten.</span></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="de" dir="ltr">Eigentlich sollte jeder Internetnutzer sich Gedanken über die Sicherheit seines Internetzgangs machen. ^LG Frederic</p>
<p>&mdash; A1 (@A1Telekom) <a href="https://twitter.com/A1Telekom/status/876048200452452352?ref_src=twsrc%5Etfw">June 17, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p><span style="font-weight: 400">I mean, wtaf? Der User ist selbst schuld, wenn er/sie ein vom Unternehmen als Plug-and-Play beworbenes Produkt nicht selbst absichert? Sonst geht&#8217;s aber schon noch, oder? In Zeiten des <a href="https://hub.jhu.edu/magazine/2017/spring/internet-personal-cyberattacks/" target="_blank" rel="noopener">Internet-of-Bad-Things</a> sollten vor allem ISPs ihrer Verantwortung gerecht werden und gängige Standards einhalten. Und wenn schon nicht dynamisch beim ersten Start des Routers ein Passwort generiert wird, dann sollte zumindest mit der Auslieferung des Geräts eines gesetzt sein. Vor allem wenn man sich auf der Website mit “Smart Home” Absicherung bewirbt (dabei aber eher Kameras als Netzwerksicherheit meint). </span></p>
<p><strong>Aber ja, so ist das bei vielen Anbietern leider der Fall. </strong></p>
<p><span style="font-weight: 400">Es wird aber noch besser. Gestern war ich wieder zu besuch. Natürlich wundervoll mit dem WLAN verbunden und ready to roll. Aufgabe: kurz meinen Telefonvertrag checken. Rein in den Browser, auf zu a1.net und einloggen. Hang on &#8211; warum bin ich schon eingeloggt? Hang on &#8211; mit welchem Account bin ich automatisch eingeloggt worden? </span></p>
<blockquote><p><span style="font-weight: 400">Natürlich mit dem Account meiner Schwiegereltern.</span></p></blockquote>
<p><span style="font-weight: 400">Naaa, das kann nicht stimmen. Telefon raus, ins WLAN verbunden, <a href="https://www.a1.net/">a1.net</a> und BOOM! Wieder mit dem Account der Schwiegereltern verbunden. <em>You’ve got to be kidding me</em>.</span></p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-231 aligncenter" src="https://network.jiaa.io/jiaa-blog/wp-content/uploads/sites/5/2017/08/a1-account-1024x640.jpg" alt="" width="672" height="420" srcset="https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-1024x640.jpg 1024w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-300x188.jpg 300w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-768x480.jpg 768w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-1536x960.jpg 1536w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-800x500.jpg 800w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account.jpg 1600w" sizes="auto, (max-width: 672px) 100vw, 672px" /></p>
<p><span style="font-weight: 400">Aber das kann doch nicht der volle Zugriff sein, oder? As it turns out, it is. Ich habe Einsicht auf Rechnungen, Zahlungsdaten, das volle Programm. </span></p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-232 aligncenter" src="https://network.jiaa.io/jiaa-blog/wp-content/uploads/sites/5/2017/08/a1-account-daten-1024x640.jpg" alt="" width="672" height="420" srcset="https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-daten-1024x640.jpg 1024w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-daten-300x188.jpg 300w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-daten-768x480.jpg 768w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-daten-1536x960.jpg 1536w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-daten-800x500.jpg 800w, https://blog.jiaa.io/wp-content/uploads/2017/08/a1-account-daten.jpg 1600w" sizes="auto, (max-width: 672px) 100vw, 672px" /></p>
<p><span style="font-weight: 400">Zu deren &#8222;<em>Verteidigung</em>&#8222;: <a href="https://www.a1.net/hilfe-kontakt/article/Internet/Internet-Sicherheit/Sicherheitseinstellungen/Wie-kann-ich-das-automatische-Einloggen-in-den-Mein-A1-Bereich-verhindern-Autologin-deaktivieren-/500000000007372/500000000027367" target="_blank" rel="noopener">diese Einstellung</a> kann zumindest abgestellt werden</span><span style="font-weight: 400">. Trotzdem ist mir schleierhaft, warum der Auto-Login standardmäßig aktiviert ist. Auch ein Logout hilft nicht; bei allen im Netzwerk befindlichen Geräten ist man automatisch eingeloggt &#8211; ergo müsste man alle Geräte einzeln ausloggen. Tausende Haushalte, die die Standardeinstellungen niemals zu Gesicht bekommen, sind durch diese Praktiken angreifbar und zutiefst unsicher. </span></p>
<blockquote><p><span style="font-weight: 400">Vor allem wenn der einzige Schutz ein Router ohne Passwort ist.</span></p></blockquote>
<p><span style="font-weight: 400">Liebes A1 und alle anderen Anbieter da draußen: die Sicherheit eurer Produkte ist kein Add-on, dass ihr nur auf der eigenen Website bewerben müsst. Gängige Standards sollten eingehalten und dem Endverbraucher die Absicherung der gekauften Produkte erleichtert werden. Und nicht nur das: Security sollte <em>per default</em> auch aktiviert sein. Kein Versteckspiel in User-Einstellungen oder Untermenüs. </span></p>
<p><a href="https://stocksnap.io/photo/B4I4XD7WY4" target="_blank" rel="noopener">Image</a> by <a href="https://stocksnap.io/author/5678" target="_blank" rel="noopener">Piotr Lohunko</a></p>
<p>The post <a href="https://blog.jiaa.io/2017/08/03/insecurity-default-a1-edition/">Insecurity by Default: A1 Edition</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>shöpping.at: e-Commerce auf Österreichisch</title>
		<link>https://blog.jiaa.io/2017/01/28/shopping-e-commerce-auf-osterreichisch/</link>
					<comments>https://blog.jiaa.io/2017/01/28/shopping-e-commerce-auf-osterreichisch/#comments</comments>
		
		<dc:creator><![CDATA[michael_goldbeck]]></dc:creator>
		<pubDate>Sat, 28 Jan 2017 22:02:49 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Websites]]></category>
		<guid isPermaLink="false">https://blog.jiaa.io/?p=127</guid>

					<description><![CDATA[<p>Die österreichische Post hat in den letzten Jahren digital einiges richtig gemacht. Der Service wurde für Kunden verbessert, eine Usability-technisch zumutbare Website geschaffen und eine App für mobile Devices public gestellt, die durchaus zu empfehlen ist. Dann hat die Post auch noch ein ziemlich ambitioniertes Projekt vorgestellt: shöpping.at. Ein österreichischer online Shop, der österreichischen Unternehmen aus [&#8230;]</p>
<p>The post <a href="https://blog.jiaa.io/2017/01/28/shopping-e-commerce-auf-osterreichisch/">shöpping.at: e-Commerce auf Österreichisch</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Die <a href="https://www.post.at/" target="_blank" rel="noopener">österreichische Post</a> hat in den letzten Jahren digital einiges richtig gemacht. Der Service wurde für Kunden verbessert, eine Usability-technisch zumutbare Website geschaffen und eine App für mobile Devices public gestellt, die durchaus zu empfehlen ist.</p>
<p>Dann hat die Post auch noch ein ziemlich ambitioniertes Projekt vorgestellt: <a href="http://www.shoepping.at" target="_blank" rel="noopener">shöpping.at</a>. Ein österreichischer online Shop, der österreichischen Unternehmen aus den Klauen von Amazon, Zalando und Ebay helfen soll. So weit, so optimistisch.</p>
<p><span id="more-127"></span></p>
<blockquote><p>Für ihr ambitioniertes Projekt hat die Post laut Medienberichten rund 30 Mio. Euro budgetiert. &#8211; <a href="http://derstandard.at/2000051569868/Post-startet-Amazon-Mitbewerber-shoeppingat-im-April" target="_blank" rel="noopener">derstandard.at/2000051569868/Post-startet-Amazon-Mitbewerber-shoeppingat-im-April</a></p></blockquote>
<p><strong>30 Millionen Euro.</strong></p>
<p>Keine Sorge, ich musste den Satz auch ein zweites Mal lesen. Das ist viel Geld &#8211; da sollte technisch auch was ordentliches rausschauen, so zumindest meine Annahme.</p>
<p>Was macht ein Web-Entwickler, wenn er ein neues Produkt sieht? Genau, er sucht sich mal quer durch den Quelltext <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Was sich dort Interessantes finden lässt, will ich euch nicht enthalten!</p>
<p><strong>http<del>s</del>:// &#8211; gelebte Unsicherheit</strong></p>
<p>Eine Entscheidung, die mich in den ersten 2 Sekunden nach Aufruf der Seite verwundert hat, war die Wahl <a href="https://en.wikipedia.org/wiki/HTTPS"><em>https</em></a> nicht zu erzwingen. Es sind beide Versionen möglich &#8211; <a href="https://www.shoepping.at" target="_blank" rel="noopener">https://www.shoepping.at</a> und <a href="http://www.shoepping.at/" target="_blank" rel="noopener">http://www.shoepping.at</a>. Warum das ein Problem ist?</p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-133 alignnone" src="https://network.jiaa.io/jiaa-blog/wp-content/uploads/sites/5/2017/01/shoeppingat-auf-google-1024x226.png" alt="" width="672" height="148" srcset="https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-auf-google-1024x226.png 1024w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-auf-google-300x66.png 300w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-auf-google-768x169.png 768w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-auf-google-800x176.png 800w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-auf-google.png 1370w" sizes="auto, (max-width: 672px) 100vw, 672px" /></p>
<p>Weil News-Seiten nur die <a href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol">http</a>-Version verlinkt haben, hat Google auch nur diese indexiert. Da Nutzer leider überdurchschnittlich oft Domains via Google suchen anstatt diese in die Adresszeile zu tippen, kommen sie automatisch auf die http-Version.</p>
<p>Was dabei noch spannender ist: in der http-Version wird eine Weiterleitung auf <em>www</em> erzwungen, d.h., jeder User, der via http auf die Seite zugreift, wird automatisch auf <a href="http://www.shoepping.at" target="_blank" rel="noopener">http://www.shoepping.at</a> weitergeleitet. Logic dictates, dass, wenn ich in der http-Version auf www weitergeleitet werde, auch in der https-Version gleiches Verhalten feststellen kann. Nope.</p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-135 alignnone" src="https://network.jiaa.io/jiaa-blog/wp-content/uploads/sites/5/2017/01/shoeppingat-zertifikat-fehler-1024x511.png" alt="" width="672" height="335" srcset="https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-zertifikat-fehler-1024x511.png 1024w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-zertifikat-fehler-300x150.png 300w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-zertifikat-fehler-768x383.png 768w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-zertifikat-fehler-800x399.png 800w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-zertifikat-fehler.png 1376w" sizes="auto, (max-width: 672px) 100vw, 672px" /></p>
<p>&#8222;<em>Your connection is not private</em>&#8222;. Chrome &amp; Co. machen also einen auf <a href="https://www.youtube.com/watch?v=mJZZNHekEQw" target="_blank" rel="noopener">Gandalf</a>. Aber warum? Developer Tools to the rescue!</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-138 aligncenter" src="https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-falsches-zertifikat.png" alt="" width="919" height="301" srcset="https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-falsches-zertifikat.png 919w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-falsches-zertifikat-300x98.png 300w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-falsches-zertifikat-768x252.png 768w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-falsches-zertifikat-800x262.png 800w" sizes="auto, (max-width: 919px) 100vw, 919px" /></p>
<p>Tja. Wenn ein Zertifikat einer anderen Domain (die nebenbei angemerkt auf post.at weiterleitet) angewandt werden soll, wundert mich die Gandalf&#8217;sche Reaktion des Browsers herzlichst wenig.</p>
<p>Und was passiert, wenn man trotz aller Warnungen auf https://shoepping.at weiter will? Genau, eine Weiterleitung auf die unsichere http-Version. Fehlerhafte vhost / .htaccess Konfigurationen stehen bei 30 Millionen Euro Projekten also auch noch auf der Tagesordnung. Das kann ja nur gut gehen.</p>
<p>Zugegebenermaßen, auf einer simplen statischen Landing-Page sind die Auswirkungen nicht so groß wie beim Webshop selbst. <strong>Trotzdem ist das Bad-Practice</strong>. Ganz davon abgesehen, dass verschiedenste Formulare auf der Seite eingebunden sind &#8211; und Eingaben somit innerhalb eines Netzwerks (z.B. Public Wlan) wunderbar einfach abgefangen werden können. Da helfen auch die vielen verschiedenen externen Dienste nicht, die auf der Seite eingebunden sind.</p>
<p><em><strong>// EDIT</strong>: nach knapp einer Woche wurde der Redirecting-Fehler behoben.  https wird aber noch immer nicht komplett durchgesetzt.</em></p>
<p><strong>Was der Quelltext noch alles verrät</strong></p>
<p>Ok, das Schlimmste sei überstanden. Was kann den am Mark-up der Seite großartig schief gehen?</p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-145 aligncenter" src="https://network.jiaa.io/jiaa-blog/wp-content/uploads/sites/5/2017/01/shoeppingat-quellcode-01-1024x413.png" alt="" width="672" height="271" srcset="https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-quellcode-01-1024x413.png 1024w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-quellcode-01-300x121.png 300w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-quellcode-01-768x310.png 768w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-quellcode-01-800x323.png 800w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-quellcode-01.png 1338w" sizes="auto, (max-width: 672px) 100vw, 672px" /></p>
<p>Die ersten Zeilen sind wenig interessant. Doctype und Co., ein wenig Meta-Daten. Umlaute zu kodieren wenn UTF-8 genutzt wird, finde ich ein wenig übertrieben, aber kein Ding. Spannend wird es erst ab dem CSS-Teil. Die Bilder werden über einen <a href="https://de.wikipedia.org/wiki/Content_Delivery_Network" target="_blank" rel="noopener">CDN-Dienst</a> namens <em>cloudfront</em>  abgewickelt &#8211; ein Dienst, der zu Amazon Web Services gehört &#8211; dem größten Cloud Computing Anbieter der Welt. Das wäre an und für sich nicht nennenswert &#8211; werden CDNs dazu genutzt, um Dateien (Bilder &amp; Co.) schneller an Kunden auszuliefern, wenn diese weitflächig verteilt sind. Glaubt man aber einem <a href="http://derstandard.at/permalink/p/1018085519" target="_blank" rel="noopener">User im derStandard-Forum</a>, ist shoepping.at IP locked auf Österreich.</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-147 aligncenter" src="https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-derstandard-forum-screenshot.png" alt="" width="537" height="328" srcset="https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-derstandard-forum-screenshot.png 537w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-derstandard-forum-screenshot-300x183.png 300w" sizes="auto, (max-width: 537px) 100vw, 537px" /></p>
<p>Ich muss ehrlich zugeben, dass ich noch nie getestet habe wieviel Unterschied gemessen werden kann, wenn ein User in Wien und ein anderer aus Vorarlberg auf etwas zugreifen will. Schätze den Unterschied aber eher gering ein. Be it as it may &#8211; nicht wesentlich.</p>
<p>Was aber mit jeder Zeile im Quellcode offensichtlich wird, ist, dass sehr viele verschiedene externe Dienste genutzt werden, um diese simple Landing-Page zu generieren:</p>
<ul>
<li><strong>Cloudfront</strong> &#8211; CDN zur Auslieferung von Files =&gt;Amazon</li>
<li><strong>Unbounce</strong> &#8211; Dienst zur Erstellung von Landing-Pages (genutzt um die Seite zu bauen)</li>
<li><strong>jQuery von googleapis.com</strong> &#8211; CDN zur Bereitstellung von jQuery Library =&gt; Google (wird &#8211; warum auch immer- 2 mal eingebunden)</li>
<li><strong>Google Webfonts</strong> &#8211; CDN zur Bereitstellung von Web-Schriftarten =&gt; Google</li>
<li><strong>123contactform</strong> &#8211; Anbieter zur Bereitstellung von Online-Formularen</li>
<li><strong>conversionfox</strong> &#8211; Tool zur Lead-Generierung</li>
<li><strong>hotjar</strong> &#8211; Tool zur Echtzeit Analyse vom User-Verhalten</li>
<li><strong>Google Tag Manager</strong> &#8211; Tool zur Analyse vom Klickverhalten der User =&gt; Google</li>
<li><strong>Google Forms</strong> &#8211; Tool zur Erstellung und Speicherung von Online-Formularen =&gt; Google</li>
</ul>
<p>Ja, jedes dieser Tools ist mächtig. Es steht auch außer Debatte, dass viele dieser Tools das Leben eines Entwicklers leichter machen &#8211; ich nutze auf diesem Blog auch Google Analytics; aber nur bis der &#8222;How-to Setup PIWIK&#8220; Beitrag fertig ist ;). Es muss aber trotzdem angemerkt werden, dass viele dieser Dienste aus Sicht der Privatsphäre alles andere als unproblematisch sind. Mit hotjar können die Mitarbeiter der Post  zusehen, wie Nutzer auf shoepping.at die Seite bedienen. Kino-Feeling, wie der <a href="https://www.youtube.com/watch?v=XZSDpnu7DoA" target="_blank" rel="noopener">Werbe-Clip</a> verspricht. Wenn sich Händler eintragen wollen, werden sie gezwungen ihre Daten auch gleichermaßen an Google weiterzuleiten &#8211; immerhin landen dort alle Daten des Online-Formulars. Wo die Klick-Analysen durch den Google Tag Manager landen, will ich garnicht wissen.</p>
<p><strong>Ganz spannend dabei:</strong> Der User wird über die Verwendung von Cookies sowie die bereits aufgezählten Dienste NICHT informiert. Gesetze und so, liebe Post.</p>
<p><strong>Ok, jetzt wissen wir also, dass die Nutzerdaten von shoepping.at auf verschiedensten Diensten landen &#8211; keiner davon aus Österreich, die meisten davon nicht mal aus Europa. </strong></p>
<p>Blenden wir alles vorherige aus. Friede, Freude, Eierkuchen &#8211; oder so ähnlich. Besucht man die Seite, fällt eines auf: sie hat viel Whitespace.</p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-154 aligncenter" src="https://network.jiaa.io/jiaa-blog/wp-content/uploads/sites/5/2017/01/shoeppingat-whitespace-1024x676.png" alt="" width="672" height="444" srcset="https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-whitespace-1024x676.png 1024w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-whitespace-300x198.png 300w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-whitespace-768x507.png 768w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-whitespace-800x528.png 800w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-whitespace.png 1377w" sizes="auto, (max-width: 672px) 100vw, 672px" /></p>
<p>Das ist an und für sich auch kein Problem &#8211; immerhin kann ich einfach bis zum nächsten Bereich scrollen. Aber was ist, wenn ich aufgrund einer Beeinträchtigung die einzelnen Bereiche nicht sehe, sondern auf einen <a href="https://de.wikipedia.org/wiki/Screenreader" target="_blank" rel="noopener">Screenreader</a> angewiesen bin?</p>
<p><strong>Liebe Post, diese Seite ist durch Screenreader nahezu unbedienbar!</strong> Will man sich durch die Seite navigieren, springt man als erste Station auf  den Link &#8222;Pressekontakt&#8220;. Ja. Pressekontakt. Bei nahezu allen Bildern fehlt der alt-Text. Daher erfährt niemand, um was es eigentlich geht. Der User springt aufwärts &#8211; also entgegen der eigentlichen Nutzungsrichtung. Dies alles widerspricht nicht nur unseren  <a href="https://www.w3.org/standards/webdesign/accessibility" target="_blank" rel="noopener">Gesellschaft Grundfesten</a>, den <a href="https://www.wko.at/Content.Node/service/t/Barrierefreie-Websites_Inhaltliche-Umsetzung_2015-06.pdf" target="_blank" rel="noopener">gängigen Gesetzen</a> sondern auch der <a href="https://www.audioeye.com/accessibility-is-a-business-advantage/" target="_blank" rel="noopener">Business-Logik</a> eines jeden Online-Dienstes.</p>
<p>Zu beheben wäre dieses Problem ziemlich einfach: <a href="https://validator.w3.org" target="_blank" rel="noopener">valides HTML</a>.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-159" src="https://network.jiaa.io/jiaa-blog/wp-content/uploads/sites/5/2017/01/shoeppingat-validator-1024x310.png" alt="" width="672" height="203" srcset="https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-validator-1024x310.png 1024w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-validator-300x91.png 300w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-validator-768x232.png 768w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-validator-800x242.png 800w, https://blog.jiaa.io/wp-content/uploads/2017/01/shoeppingat-validator.png 1329w" sizes="auto, (max-width: 672px) 100vw, 672px" /></p>
<p>Mit <strong>73 Fehlern und 19 Warnungen</strong> hat sich irgendwer nicht Mühe gegeben (auch wenn die Seite noch so sehr von einem Generator erstellt wurde). Dabei würde valides HTML nicht &#8222;<em>nur</em>&#8220; bei Accessibility helfen: die Suchmaschinen-Optimierung steigt wesentlich und der Code ist in Zukunft einfacher wart- und erweiterbar. Quasi drei Fliegen mit einer Klappe.</p>
<p>So sehr ich das Konzept als spannend empfinde, muss ich leider sagen, dass die Seite typisch österreichisch umgesetzt wurde. Von einem 30 Millionen Euro Budget sollte sich auch eine ordentliche Landing-Page finanzieren lassen.</p>
<p>Unabhängig davon habe ich nach über 24 Stunden noch keinen Zugang bekommen &#8211; würde man damit Nutzer aktiv ansprechen wollen (unabhängig ob eine Beta Version oder nicht), ist das nicht akzeptabel.</p>
<p><strong>Schade.</strong></p>
<p>The post <a href="https://blog.jiaa.io/2017/01/28/shopping-e-commerce-auf-osterreichisch/">shöpping.at: e-Commerce auf Österreichisch</a> appeared first on <a href="https://blog.jiaa.io">jiaa.io Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.jiaa.io/2017/01/28/shopping-e-commerce-auf-osterreichisch/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
