<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/assets/css/rss-feed-v1.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="https://www.simoncox.com/web/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Web from SimonCox.com</title>
    <link>https://www.simoncox.com/web/</link>
    <atom:link href="https://www.simoncox.com/web/feed-web.xml" rel="self" type="application/rss+xml" />
    <description>Simon Cox&#39;s Web feed</description>
    <language>en</language>
    <item>
      <title>Measuring the effectiveness of your redirects</title>
      <link>https://www.simoncox.com/post/2026-02-13-measuring-the-effectiveness-of-your-redirects/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2026-02-13-measuring-the-effectiveness-of-your-redirects.jpg&quot; alt=&quot;Bright red cornus, Silver birch and blue sky at Wakehurst Winter Garden with a signpost - left arm is broken and says 404 and the right arm says This Way! over here now 301&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;p&gt;When I work on a site migration I like to redirect everything I possibly can find, very much in a &#39;no one gets left behind&#39; sort of way. Most migration projects don&#39;t do this, for a multitude of reasons, but years ago I was told to only redirect the top 200 pages of a site which was about 10% of the live pages. I did strongly voice an opinion on this and after lengthy discussions was firmly told I was wrong. Inevitably the site lost 66% of its traffic for several years following that migration. Now this is part of my processes that I do not take any short cuts with.&lt;/p&gt;
&lt;p&gt;So how important are redirects? If you look in your Google Search Console at any page you can find where they found links to a page. Sometimes it can be a URL on your site that vanished many years ago and isn&#39;t even in the Google index. This usually means there is a page out there somewhere on the web with a link to the old URL on it. Googles bots find these and add these old URLs as incoming links. If you followed Sir Tim Berners-Lee’s advice &lt;a href=&quot;https://www.w3.org/Provider/Style/URI&quot;&gt;Cool URIs Don&#39;t change&lt;/a&gt; and never changed any of your URLs, this will not be a problem. You do do that, don&#39;t you though?&lt;/p&gt;
&lt;p&gt;The thing is you don&#39;t really know where all the backlinks to your site are.  No-one has a complete database of the whole internet - it&#39;s just to big.&lt;/p&gt;
&lt;h2 id=&quot;tracking-404&#39;s&quot; tabindex=&quot;-1&quot;&gt;Tracking 404&#39;s&lt;/h2&gt;
&lt;p&gt;To mitigate these issues I track incoming traffic that arrives at my 404 page.  I have set this up as a &lt;a href=&quot;https://www.simoncox.com/short-articles/2024-02-11-tracking-broken-links-with-fathom/&quot;&gt;Fathom event - read how I did that here&lt;/a&gt; and I also track this page with Google Analytics - the only page on the site where I use it. The reason for the GA4 is that I switched to fathom but initially had no way to track the 404s so kept the GA4 tracker on there. I built a Data Studio dashboard using that data and still find that handy to look at now and then so the code is still there.&lt;/p&gt;
&lt;p&gt;As I already have most of my old URLs redirected it means the URLs are usually misspellings, or badly formed links.&lt;/p&gt;
&lt;h3 id=&quot;llms-hallucinating-urls&quot; tabindex=&quot;-1&quot;&gt;LLMs hallucinating urls&lt;/h3&gt;
&lt;p&gt;I have noticed recently that I am getting 404 URLs that never existed and these appear to be coming from LLMs hallucinating URLs on my site. This is a concern but with regular checks of the 404&#39;s I can mostly set up suitable redirects. I don&#39;t however have any context where the link was created - so it is a bit of guess work.&lt;/p&gt;
&lt;p&gt;How often do people arrive at my site using an old URL though? I was wondering this so have set up an experiment to track this by utilising UTMs in my redirects.&lt;/p&gt;
&lt;h2 id=&quot;using-utm&#39;s-in-redirects&quot; tabindex=&quot;-1&quot;&gt;Using UTM&#39;s in redirects&lt;/h2&gt;
&lt;p&gt;I use Fathom analytics and it has a section in the dashboard for Campaign tracking. This is normally used for marketing campaigns where you want to track effects of adverts.
Campaign Source Medium Content Term&lt;/p&gt;
&lt;p&gt;Currently I have set the UTM tracking up as:
source=redirect
medium=301
campaign=simoncox.com
content= last part of the old URL&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/blog/swanage-belle /post/2011-10-16-swanage-belle/?utm_source=redirect&amp;amp;utm_medium=301&amp;amp;utm_campaign=simoncox.com&amp;amp;utm_content=swanage-belle 301
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I have not used the whole old URL because of some concerns over parsing the forward slashes and some other characters that creep in, though might change this - I should at least experiment!&lt;/p&gt;
&lt;p&gt;Anecdote alert: Many years ago I tracked all the links on a home page as someone had surmised that the links at the bottom of the page got no traffic - actually they did and more than those in the middle of the page!&lt;/p&gt;
&lt;h3 id=&quot;utm-examples-for-redirects&quot; tabindex=&quot;-1&quot;&gt;UTM examples for redirects&lt;/h3&gt;
&lt;p&gt;Looking back through my extensive set of redirect for my own site I realise now that it would have been helpful to keep a record of where I found the URLs to redirect from. However in future I will use the campaign field for where I found the redirect.
Potentials for the campaign field include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;campaign=archives&lt;/li&gt;
&lt;li&gt;campaign=GSC&lt;/li&gt;
&lt;li&gt;campaign=Bing&lt;/li&gt;
&lt;li&gt;campaign=Semrush&lt;/li&gt;
&lt;li&gt;campaign=Ahrefs&lt;/li&gt;
&lt;li&gt;campaign=404&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For wholesale directory changes, for example I have kept my articles in several different directories over the years, I use Cloudflare&#39;s &#39;splat&#39; redirect to change the directory - the last part of the URL has remained the same. For these I have used the content field to indicate which redirect rule was firing. I wholesale moved /article/ to /post/  and have this in my redirects file:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/article/* /post/:splat?utm_source=redirect&amp;amp;utm_medium=301&amp;amp;utm_campaign=simoncox.com&amp;amp;utm_content=articleSPLAT 301
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;google-analytic-utms&quot; tabindex=&quot;-1&quot;&gt;Google Analytic UTMs&lt;/h2&gt;
&lt;p&gt;Most of you will be using GA4 for your analytics and that has a larger &lt;a href=&quot;https://support.google.com/analytics/answer/10917952?hl=en&quot;&gt;set of parameters available&lt;/a&gt;  that you can customise to track what you need.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;utm_id: Campaign ID. Used to identify a specific campaign or promotion. This is a required key for Google Analytics data import. Use the same IDs that you use when uploading campaign data.&lt;/li&gt;
&lt;li&gt;utm_source: Referrer, for example: google, newsletter4, billboard&lt;/li&gt;
&lt;li&gt;utm_medium: Marketing medium, for example: cpc, banner, email&lt;/li&gt;
&lt;li&gt;utm_campaign: Product, slogan, promo code, for example: spring_sale&lt;/li&gt;
&lt;li&gt;utm_source_platform: The platform responsible for directing traffic to a given Analytics property (such as a buying platform that sets budgets and targeting criteria or a platform that manages organic traffic data). For example: Search Ads 360 or Display &amp;amp; Video 360.&lt;/li&gt;
&lt;li&gt;utm_term: Paid keyword&lt;/li&gt;
&lt;li&gt;utm_content: Use to differentiate creatives. For example, if you have two call-to-action links within the same email message, you can use utm_content and set different values for each so you can tell which version is more effective.&lt;/li&gt;
&lt;li&gt;utm_creative_format: Type of creative, for example: display, native, video, search but  utm_creative_format isn&#39;t currently reported in Google Analytics properties.&lt;/li&gt;
&lt;li&gt;utm_marketing_tactic: Targeting criteria applied to a campaign, for example: remarketing, prospecting but utm_marketing_tactic also isn&#39;t currently reported in Google Analytics properties.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;conclusion&quot; tabindex=&quot;-1&quot;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;So far since installing these UTMs I have not had that many hits on the redirects so they may not be as important as I considered, but I will leave it for a year or two before making any claims – and of course everything in SEO will have changed again. THis does not give me any insight into how Google are processing any old links they find but resolving them to the correct content can only help.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/2026-02-13-measuring-the-effectiveness-of-your-redirects.jpg" type="image" />
      <pubDate>Fri, 13 Feb 2026 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2026-02-13-measuring-the-effectiveness-of-your-redirects/</guid>
    </item>
    <item>
      <title>Sort ordering for your Fathom Analytics accounts</title>
      <link>https://www.simoncox.com/short-articles/2026-02-10-sort-ordering-for-your-fathom-analytics-accounts/</link>
      <description>&lt;p&gt;I use Fathom Analytics for measuring my sites as it is privacy based and has a great dashboard.
One of the features of the dashboards is that it has keyboard shortcuts to switch between the sites being tracked. They are 1-9 and 0. 0 actually takes you back to the overall display showing all sites - except that it actually show 12 and has pagination if you are tracking more than 12 - which I do.&lt;/p&gt;
&lt;p&gt;What I did not realise is that the 1-9 keys are assigned alphabetically - thank you Ash at Fathom Analytics for pointing that out to me. This site happens to be currently 13th in the list so I have no shortcut to get to the Analytics data.&lt;/p&gt;
&lt;p&gt;But wait!&lt;/p&gt;
&lt;p&gt;Turns out you can rename the accounts in the settings for each one.
And so I did - i added a 1. to the start of the simoncox.com name - and that puts it first alphabetically:
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2026-02-10-sort-ordering-for-your-fathom-analytics-accounts.png&quot; alt=&quot;Fathom Analytics dashboard with my account renamed from simoncox.com to 1. simoncox.com&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And that allows me to press the 1 key and pop up the data for my site. Later I will be assigning 2-9 to the other sites in the order I think I might want them in.&lt;/p&gt;
&lt;p&gt;If you think you might be interested in Fathom Analytics - please do use my affiliate link &lt;a href=&quot;https://usefathom.com/ref/ILRGSP&quot;&gt;https://usefathom.com/ref/ILRGSP&lt;/a&gt;&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Tue, 10 Feb 2026 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2026-02-10-sort-ordering-for-your-fathom-analytics-accounts/</guid>
    </item>
    <item>
      <title>Creating Cloudflare redirects</title>
      <link>https://www.simoncox.com/short-articles/2025-10-08-creating-cloudflare-redirects/</link>
      <description>&lt;p&gt;I was having issues sorting out the redirects on Cloudflare and have learnt a few things on the way so am documenting them here – because I will forget it all whilst in the pursuit of happier things.&lt;/p&gt;
&lt;h2 id=&quot;directory-migration&quot; tabindex=&quot;-1&quot;&gt;Directory migration&lt;/h2&gt;
&lt;p&gt;I made a major change to the structure of a section of my site /shorts/ has reverted back to &lt;a href=&quot;https://www.simoncox.com/short-articles/&quot;&gt;/short-articles/&lt;/a&gt; as I am testing out a possible issue with &lt;a href=&quot;https://www.simoncox.com/post/2025-04-07-recovery-from-a-bing-de-indexing/&quot;&gt;this sites current  lack of SERP visibility in Bing&lt;/a&gt;. As such I needed to revert the redirects from /short-articles/ to /shorts/ back again. Not usually an issue for my skills but I thought I&#39;d make some notes.&lt;/p&gt;
&lt;h2 id=&quot;cloudflare-hosting&quot; tabindex=&quot;-1&quot;&gt;Cloudflare hosting&lt;/h2&gt;
&lt;p&gt;This site is currently hosted on Cloudflare pages, auto deployed from its github repository. I can use the inbuilt redirect solution that Cloudflare provides but that has a very limited capacity so I have created a file named _redirects that Cloudflare recognises (as does Netlify) and uses for redirects. This is in my 11ty setup and has a passthrough so that it is output in the build exactly the same as I have written it.&lt;/p&gt;
&lt;p&gt;This file can have up to 2,000 redirects if properly formatted. I have had issues with only being able to use 120 redirects but this was because I had built some of them incorrectly.&lt;/p&gt;
&lt;h3 id=&quot;deployment-logs&quot; tabindex=&quot;-1&quot;&gt;Deployment logs&lt;/h3&gt;
&lt;p&gt;One source of info that is really useful is the deployment log files. Find it here:
Cloudflare &amp;gt; Compute (Workers) &amp;gt; your site &amp;gt; View details&lt;/p&gt;
&lt;p&gt;Now scroll down in the Build log and it will tell you all sorts of interesting things such as time and what happened. This includes parsing the redirects file.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;10:41:26.990	Parsed 83 valid redirect rules.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The log helpfully tells you redirects that have not been implemented and also provides some optimisation suggestions such as the order of the redirects.&lt;/p&gt;
&lt;h2 id=&quot;notes-on-cloudflare-redirect-rules-best-practices&quot; tabindex=&quot;-1&quot;&gt;Notes on Cloudflare redirect rules best practices&lt;/h2&gt;
&lt;h3 id=&quot;exclamation-mark-on-the-end-of-the-rule&quot; tabindex=&quot;-1&quot;&gt;Exclamation mark on the end of the rule&lt;/h3&gt;
&lt;p&gt;I think this was a leftover from Netlify&#39;s redirect rules&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;http://simoncox.com/*   https://www.simoncox.com/:splat  301!
Valid status codes are 200, 301, 302 (default), 303, 307, or 308. Got 301!.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I did a find and replace and removed the exclamations marks.&lt;/p&gt;
&lt;p&gt;There was another issue with this particular rule though!&lt;/p&gt;
&lt;h3 id=&quot;only-relative-urls-are-allowed&quot; tabindex=&quot;-1&quot;&gt;Only relative URLs are allowed&lt;/h3&gt;
&lt;p&gt;I had some domain redirects in place, &lt;a href=&quot;https://httpscolonforwardslashforwardslash.com/&quot;&gt;because you can&#39;t have enough domains&lt;/a&gt;, but Cloudflare doesn&#39;t like them as the source URL, they have to be a part of the directory structure, so I had to take them out.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;https://www.tagsoup.net/*  https://www.simoncox.com/:splat  301!
Only relative URLs are allowed. Skipping absolute URL https://www.tagsoup.net/*.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I am now forwarding those domains using an external method.&lt;/p&gt;
&lt;h3 id=&quot;redirect-rule-spaces-and-or-tabs&quot; tabindex=&quot;-1&quot;&gt;Redirect rule spaces and or tabs&lt;/h3&gt;
&lt;p&gt;Cloudflare is quite particular about the number of spaces - it looks for gaps in the redirect rule of 2 and 3 sets of spaces or tabs. If there are 4 or more sets of spaces and the rule will be ignored.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/blog/category:Model Railways /narrow-gauge-modelling/ 301
Expected exactly 2 or 3 whitespace-separated tokens. Got 4.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This means if your URL has a space you will need to use %20 in place of the space:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/blog/category:Model%20Railways /narrow-gauge-modelling/ 301
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;colons-interpreted-as-placeholders&quot; tabindex=&quot;-1&quot;&gt;Colons interpreted as placeholders&lt;/h3&gt;
&lt;p&gt;I have some URLs with colons in them, such as /blog/category:things, and have put these under section 2 as the colon is interpreted as a placeholder, or you can URL-encode the colon of course!&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/blog/category%3AModel%20Railways /narrow-gauge-modelling/ 301
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;order-of-redirect-rules&quot; tabindex=&quot;-1&quot;&gt;Order of redirect rules&lt;/h3&gt;
&lt;p&gt;For performant reasons it is better to list static redirects before dynamic ones so that Cloudflare’s systems can run these more effectively:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Static rules - /home, /about, /contact&lt;/li&gt;
&lt;li&gt;Rules with placeholders - /blog/:slug, /users/:id&lt;/li&gt;
&lt;li&gt;Rules with splats - /old-site/*&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I split these up using # comments in my redirect files.&lt;/p&gt;
&lt;h2 id=&quot;final-thoughts-about-the-cloudflare-redirect-file-rules&quot; tabindex=&quot;-1&quot;&gt;Final thoughts about the Cloudflare redirect file rules&lt;/h2&gt;
&lt;p&gt;I originally thought I could switch the sites hosting between Cloudflare and Netlify hosting by just changing the DNS, a very handy and quick solution, but I am not going to have to keep two sets of redirect files if I want to do this as the rules are quite different between them.&lt;/p&gt;
&lt;p&gt;Having learnt more about the Cloudflare redirect rules If am much happier running the rules from this file. Also, this started off as a shorticle but is long enough to be a full article.&lt;/p&gt;
&lt;p&gt;You can read more on &lt;a href=&quot;https://developers.cloudflare.com/rules/url-forwarding/&quot;&gt;Cloudflare’s full documentation on redirects&lt;/a&gt; and let me know if I have missed anything important out!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Wed, 08 Oct 2025 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2025-10-08-creating-cloudflare-redirects/</guid>
    </item>
    <item>
      <title>Apple OSX Messages full stops emoticon bug</title>
      <link>https://www.simoncox.com/short-articles/2025-06-15-apple-osx-messages-bug/</link>
      <description>&lt;p&gt;I came across an odd bug in Apple OSX Messages and reported it to Apple a few months ago, but I am sure they have had other liquidy things to focus on at the moment.&lt;/p&gt;
&lt;p&gt;I use Messages on my Mac OSX desktop quite a bit as I find typing on the keyboard more convenient when I am working on the Mac. It is also a bit easier than the iPhone keys. I do use the occasional emoticon - mainly with family messages.&lt;/p&gt;
&lt;p&gt;To do a heart emoticon you can type &amp;lt;3 and the emoticon will appear in a tiny pop up and you can then tap the down arrow and Return/Enter key to paste it in the message.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;However, this does not work at any time after you have three full stops in the message.&lt;/strong&gt; After some testing I also discovered that other symbols that complete a sentence, such as a question or exclamation mark, or any combination of also cause prevent the emoticon from popping up.&lt;/p&gt;
&lt;p&gt;On iOS the emoticons are right there and very handy and typing the short cut keys for emoticons does not bring up the emoticon at all – doesn&#39;t need to – so this is confined to the OSX desktop Messages only.&lt;/p&gt;
&lt;p&gt;I do wonder if this will be fixed in the next version of OSX – 26 I believe it will be - the Liquid Glass effect look and feel. Only time will tell!&lt;/p&gt;
&lt;p&gt;Oh yes, and I do use em dashes a lot as it is not a tell tail for AI content but good English when one digresses – and I do that a fair bit away from the keyboard too.&lt;/p&gt;
</description>
      
      <pubDate>Sun, 15 Jun 2025 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2025-06-15-apple-osx-messages-bug/</guid>
    </item>
    <item>
      <title>Recovery from a Bing de-indexing</title>
      <link>https://www.simoncox.com/post/2025-04-07-recovery-from-a-bing-de-indexing/</link>
      <description>&lt;p&gt;This has been quite a journey and as professional Technical SEO, quite the challenge.&lt;/p&gt;
&lt;p&gt;I have been using Bing Webmaster Tools for many years, mostly as a confirmation tool when comparing issues with Google Search Console. As Bing tends to only provide 5% or less of organic search results it hasn&#39;t been that important to keep track of whats going on.&lt;/p&gt;
&lt;h2 id=&quot;why-bing-is-becoming-more-important&quot; tabindex=&quot;-1&quot;&gt;Why Bing is becoming more important&lt;/h2&gt;
&lt;p&gt;However with the introduction of Large Language Models (LLMs) and the Bing index being used to populate various AI tools, it has become more important that your site is being indexed by Bing. Bing is also used by some other search engines to complement their own databases DuckDuck go being one of these.&lt;/p&gt;
&lt;h2 id=&quot;something&#39;s-up&quot; tabindex=&quot;-1&quot;&gt;Something&#39;s up&lt;/h2&gt;
&lt;p&gt;In January 2025 I checked how my personal website was doing and there wasn&#39;t a great deal of impressions or clicks - which is fairly normal. I checked the home page in the URL inspection tool and realised there was a bit of an issue!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-01.png&quot; alt=&quot;Bing Webmaster tools URL Inspection for www.simoncox.com showing Discovered but not crawled.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The dreaded note: &amp;quot;The inspected url is known to bing but has some issues which are preventing indexation. We recommend you follow Bing Webmaster Guidelines to increase your chances of indexation.&amp;quot; This really is as much information Bing will give you about the error on your website that is preventing indexing. You are on your own finding out where the issue is.&lt;/p&gt;
&lt;p&gt;It should normally have a couple of green ticks stating that the page is &lt;strong&gt;Indexed successfully, URL can appear on Bing&lt;/strong&gt; and &lt;strong&gt;No SEO issue found&lt;/strong&gt; - that&#39;s where we need to be.&lt;/p&gt;
&lt;p&gt;I checked the Live Page tab:
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-02.png&quot; alt=&quot;Bing Webmaster tools URL Inspection - live url tab showing thet URL can be indexed by Bing&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Odd - the URL can be indexed by Bing.&lt;/p&gt;
&lt;h3 id=&quot;the-crawl-and-indexing-report&quot; tabindex=&quot;-1&quot;&gt;The Crawl and Indexing report&lt;/h3&gt;
&lt;p&gt;I checked the Crawl and indexing report which is in &lt;strong&gt;Search Performance&lt;/strong&gt; last position in the &lt;strong&gt;Filter by&lt;/strong&gt; drop down menu.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-04.png&quot; alt=&quot;Bing Webmaster tools Search Performance filtered by Crawl and Indexing showing a drop from 120 indexed pages to 0 in August 2024.&quot; /&gt;		
&lt;em&gt;oh dear me.&lt;/em&gt; At this point breathing excersises come in handy.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-05.png&quot; alt=&quot;Bing Webmaster tools Search Performance filtered by Crawl and Indexing showing there are 158 crawl errors&quot; /&gt;		
Sure there were some crawl errors but that didn&#39;t correlate with the drop in August 2024 from 120 pages index to zero in a few weeks.&lt;/p&gt;
&lt;h3 id=&quot;site-check&quot; tabindex=&quot;-1&quot;&gt;Site check&lt;/h3&gt;
&lt;p&gt;So I did a site check in Bing Search: and sure enough there were no results in the Search Engine Results Page (SERP). None of my sites pages were in the index at all - disaster!
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-07.png&quot; alt=&quot;Bing Search using the site: parameter for site:simoncox.com showing that there were no results.&quot; /&gt;&lt;/p&gt;
&lt;h3 id=&quot;site-scans&quot; tabindex=&quot;-1&quot;&gt;Site scans&lt;/h3&gt;
&lt;p&gt;Bing Webmaster tools allows you to run and keep, up top 5 separate Site Scans that are useful for troubleshooting.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-03a.png&quot; alt=&quot;Bing Webmaster tools Site scan tool showing the results of a completed scan. There are 5 http 500-599 errors.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Five http 500 errors was concerning.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-03b.png&quot; alt=&quot;Bing Webmaster tools Site scan tool digging into the results of the completed scan errors does not provide any usefull information at all.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The information on what actual errors were occurring and which URLs just sin&#39;t provided. None of the crawls I ran, using &lt;a href=&quot;https://sitebulb.com/&quot;&gt;Sitebulb&lt;/a&gt; or &lt;a href=&quot;https://www.screamingfrog.co.uk/seo-spider/&quot;&gt;Screaming Frog&lt;/a&gt;, were giving me any errors at all so I could only put this down to Bing crawler errors at the time of running. Five URLs with server errors would not course the whole site to be de-indexed though, would they?&lt;/p&gt;
&lt;h3 id=&quot;manually-adding-pages-to-the-index&quot; tabindex=&quot;-1&quot;&gt;Manually adding pages to the index&lt;/h3&gt;
&lt;p&gt;I began trying to resolve this by manually adding the pages using the &lt;strong&gt;URL Inspection&lt;/strong&gt; and &lt;strong&gt;Requesting indexing&lt;/strong&gt;. This should normally work, and is good practice when you publish a new page.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-08.png&quot; alt=&quot;Bing Webmaster tools URL inspection tool showing the graph with a small list at the end.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I did this for 37 pages and then left it for a week or so and then checked to see if they had been indexed. No they had not.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-09.png&quot; alt=&quot;Bing Search using the site: parameter for site:simoncox.com showing that there were still no results.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In the &lt;strong&gt;IndexNow&lt;/strong&gt; section in indexing Insights I was able to find some details.
It appeared the issue was Content Quality.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-11.png&quot; alt=&quot;Bing Webmaster tools IndexNow tool Indexing Insights - needs attention section. Issue Content Quality.&quot; /&gt;
And yes I did read the Bing Webmaster  and no they were no help as they were as ambiguous as you would expect, as I knew they would be. They have to cover a huge amount of potential situations without giving too much away - because search engines change aspects of how they work a lot.&lt;/p&gt;
&lt;h3 id=&quot;content-quality&quot; tabindex=&quot;-1&quot;&gt;Content quality&lt;/h3&gt;
&lt;p&gt;Content quality is always a worry though. There isn&#39;t any AI written content on the site - you can tell that by my deplorable spelling mistakes.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-12.png&quot; alt=&quot;Bing Webmaster tools IndexNow tool Indexing Insights deep dive. Issue Content Quality - does not give you any clues just says needs attention.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;A while back I published a short, &lt;a href=&quot;https://www.simoncox.com/short-articles/2024-07-13-the-cobbles-of-mousehole/&quot;&gt;Cobbles of Mousehole&lt;/a&gt;, a few days before the start of the decline in the indexed pages. It contained several paragraphs lifted from online news articles and I may have been auto penalised for plagiarism, but if you read the piece it is a review of those articles. So I considered that I might have fallen foul of the Guidelines and replaced the live text with screenshots. I believed that my content was squeaky clean at that point.&lt;/p&gt;
&lt;h3 id=&quot;not-the-first-to-have-been-de-indexed&quot; tabindex=&quot;-1&quot;&gt;Not the first to have been de-indexed&lt;/h3&gt;
&lt;p&gt;So I had a look around the web and found that a lot of peoples websites had been de-indexed by Bing - this wasn&#39;t a niche issue that I had. Fortunately there was plenty of advice to hand on how to get your site re-indexed. The one that I found to be most helpful at this stage was
&lt;a href=&quot;https://www.wpspeedfix.com/wiki/de-indexed-bing-search/&quot;&gt;Deindexed in Bing?&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To summarise the tips for a quick for for Bing De-indexed sites:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Confirm whether you have a Bing indexation problem&lt;/li&gt;
&lt;li&gt;Have a working XML sitemap file&lt;/li&gt;
&lt;li&gt;Check your robots.txt for weird issues&lt;/li&gt;
&lt;li&gt;Make sure your site 404s correctly&lt;/li&gt;
&lt;li&gt;Setup a Bing Webmaster Tools account&lt;/li&gt;
&lt;li&gt;Log a ticket with Bing support&lt;/li&gt;
&lt;li&gt;Check your Uptime + other technical SEO elements&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;my-results-from-that-checklist%3A&quot; tabindex=&quot;-1&quot;&gt;My Results from that checklist:&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Yes I do have an issue - no pages are showing in Bing search.&lt;/li&gt;
&lt;li&gt;XML file works fine. &lt;a href=&quot;https://seotesting.com/xml-sitemap-validator/&quot;&gt;Tested with SEO Testing XML Sitemap Validator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Robots.txt validates in Bing webmaster tools.&lt;/li&gt;
&lt;li&gt;Seems to be ok - I got the correct responses in testing&lt;/li&gt;
&lt;li&gt;Already done.&lt;/li&gt;
&lt;li&gt;Not going to do that if I can help it.&lt;/li&gt;
&lt;li&gt;Uptime should be ok - Netlify is a CDN… Speed test all ok.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When checking the 404 page I &lt;a href=&quot;https://securityheaders.com/&quot;&gt;checked the headers&lt;/a&gt; and noticed there were three missing headers but on comparing with some other sites that I knew were not de-indexed there was no difference.&lt;/p&gt;
&lt;h3 id=&quot;sitemaps&quot; tabindex=&quot;-1&quot;&gt;Sitemaps&lt;/h3&gt;
&lt;p&gt;I deleted an old sitemap entry and resubmitted the main sitemap and also added the rss feed in the Submit Sitemap section.&lt;/p&gt;
&lt;h3 id=&quot;blocking-ai-crawlers&quot; tabindex=&quot;-1&quot;&gt;Blocking AI crawlers&lt;/h3&gt;
&lt;p&gt;At this time I was blocking all known AI crawlers using the &lt;a href=&quot;https://github.com/ai-robots-txt/ai.robots.txt&quot;&gt;ai.robots.txt list&lt;/a&gt; was this the problem. I knew Bing were testing Co-pilot with a view to adding it to search, and now has been launched, and did wonder if by blocking AI crawlers If might be running fowl of some terms and conditions that I had not found.&lt;/p&gt;
&lt;p&gt;I took those out of my robots.txt file, deployed and left it a week. No change.&lt;/p&gt;
&lt;p&gt;At that point I thought nearly everything else has been ruled out. So it time to raise a Ticket with Bing.&lt;/p&gt;
&lt;h2 id=&quot;bing-help-ticket&quot; tabindex=&quot;-1&quot;&gt;Bing Help ticket&lt;/h2&gt;
&lt;p&gt;So I did &lt;a href=&quot;https://www.bing.com/webmasters/support&quot;&gt;raise a ticket with Webmasters Support&lt;/a&gt;. and explained what I had done and waited for their response.&lt;/p&gt;
&lt;h3 id=&quot;bing-support-replied&quot; tabindex=&quot;-1&quot;&gt;Bing support replied&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;&amp;quot;After further review, it appears that your site https://www.simoncox.com/ did not meet the standards set by Bing the last time it was crawled. Testing: https://www.simoncox.com/post/2024-05-28-log-store-build/ Bing URL Inspection states: The inspected URL is known to Bing but has some issues which are preventing indexation. We recommend you follow Bing Webmaster Guidelines to increase your chances of indexation.&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I wasn&#39;t sure that their response was that helpful.&lt;/p&gt;
&lt;h3 id=&quot;more-changes-and-a-switch-in-hosting&quot; tabindex=&quot;-1&quot;&gt;More changes and a switch in hosting&lt;/h3&gt;
&lt;p&gt;I made some more subtle changes to the site and ran the Bing webmaster site scan several times to eliminate all issues. I was able to identify a 500 error while doing this so ended up switching the site from Netlify to Cloudflare hosting. This didn&#39;t take too long and I now have the site deploying to both so with a switch of the DNS, &lt;a href=&quot;https://hover.com/WG2SF9B2&quot;&gt;managed through hover.com&lt;/a&gt;, I can flick between them if needed.&lt;/p&gt;
&lt;p&gt;After the hosting migration the Bing Site scan gave me no errors.&lt;/p&gt;
&lt;h3 id=&quot;redirect-issues-with-cloudflare&quot; tabindex=&quot;-1&quot;&gt;Redirect issues with Cloudflare&lt;/h3&gt;
&lt;p&gt;Having moved to Cloudflare I checked a few things and some redirects were not working. What is good is that the _redirect files works on both Netlify and Cloudflare, even the splats. Cloudflare state that you can have 2000 static and 100 dynamic redirects on the free plan - but anything after about 100 static didn’t work for me. So I had to work them into splats to get below the threshold.&lt;/p&gt;
&lt;p&gt;With all that done I waited a week and again raised a support request.
This time I got a really quick reply:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;“After further review, it appears that your site https://www.simoncox.com/ did not meet the standards set by Bing the last time it was crawled.”&lt;/em&gt; ...&lt;/p&gt;
&lt;h2 id=&quot;indexnow&quot; tabindex=&quot;-1&quot;&gt;IndexNow&lt;/h2&gt;
&lt;p&gt;One feature that Bing has is IndexNow which allows a webmaster to get pages indexed almost instantaneously and shared with other Search Engines using the IndexNow system. Delightfully Cloudflare can do this for you automatically in their &lt;strong&gt;Crawler Hints&lt;/strong&gt; - just switch it on.&lt;/p&gt;
&lt;p&gt;Having moved the site to Cloudflare I can make use of their IndexNow feature!
Had to shift theDNS to Cloudflare as well so that I could turn on Crawler Hints to get the IndexNow feature. Then had to turn on Custom domain in Cloudflare pages and reactivate the site as I think it got turned off when I switched the DNS.&lt;/p&gt;
&lt;p&gt;In no time at all I had 839 URLs submitted to the index.&lt;/p&gt;
&lt;p&gt;What happened next was a surprise! There was a massive rise in errors - of course there would be as the pages were getting indexed but this got me thinking.&lt;/p&gt;
&lt;h2 id=&quot;html-validation&quot; tabindex=&quot;-1&quot;&gt;HTML validation&lt;/h2&gt;
&lt;p&gt;I checked the site on the W3C Nu HTML checker tool and I had the Fathom Analytics script inserted after the closing body tag and before the closing html tag. Years and years ago this was ok. Google thinks its ok - well it wasn&#39;t de-indexing the site so I presume it forgave me and got on with the job in hand.&lt;/p&gt;
&lt;p&gt;Apparently that was a change in HTML 4.01 (1999) and I had forgotten. I looked back through my deployment sand I had switched the Fathom script from the head to the base of the html just before the site was de-indexed. Coincidence? Had I found the cause?&lt;/p&gt;
&lt;p&gt;I moved the Fathom code inside the body tag, ensured the html validated and then resubmitted all the page urls using the URL submission tool.&lt;/p&gt;
&lt;h2 id=&quot;finally-success-and-pages-started-to-get-indexed&quot; tabindex=&quot;-1&quot;&gt;Finally success and pages started to get indexed&lt;/h2&gt;
&lt;p&gt;I kept a check on progress and suddenly the number of pages crawled started going up daily.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-24.png&quot; alt=&quot;Bing Webmaster tools Indexed pages graph showing a lift in February from zero to around 70 and continuing to climb&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-site-started-appearing-in-the-serps-again!&quot; tabindex=&quot;-1&quot;&gt;The site started appearing in the SERPs again!&lt;/h2&gt;
&lt;p&gt;Here we go, good content for people to read and enjoy back in the SERPs where they belong.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-25.png&quot; alt=&quot;Bing SERP page for URL:simoncox.com showing the home opage listed and five sections as sublistings with descriptions of each!&quot; /&gt;&lt;/p&gt;
&lt;p&gt;interesting differences between the layouts depending on your search terms!
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-26.png&quot; alt=&quot;Bing SERP page for site:simoncox.com URL:simoncox.com which is similar to the last image with five sub section titles bit no descriptions but does have a longer meta description and shows the favicon&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;conclusion&quot; tabindex=&quot;-1&quot;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;It is a bit of an odd one this. For years we have been bowing our heads to Google and its ways. Google have constantly stated that they really do not care if your web page is valid or not. &lt;em&gt;(Though it really does matter if you break the head with a body tag.)&lt;/em&gt; This is probably for the best as there are many web pages out there that don&#39;t validate but still provide the user with a good experience. Bing however is a little more fussy and I applaud it for that. I like pages to be written with valid html as it helps other developers sort your code out when they need to and for people learning html to understand  how it works.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-32.png&quot; alt=&quot;Bing Webmaster tools showing 6 months performance with clicks and impressions coming in - whereas before there was nothing.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I let my standards slip though and suffered for it (well 5% less people visiting wasn&#39;t really suffering but my fragile ego was complaining).&lt;/p&gt;
&lt;p&gt;And I was done. Or at least I thought I was...&lt;/p&gt;
&lt;h2 id=&quot;the-aftermath-of-the-bing-de-indexing&quot; tabindex=&quot;-1&quot;&gt;The aftermath of the Bing de-indexing&lt;/h2&gt;
&lt;p&gt;When I started writing this article a search on Bing with the site operator for my site was providing a full list of the pages. As of today &lt;a href=&quot;https://www.bing.com/search?q=site%3ahttps%3a%2f%2fwww.simoncox.com&quot;&gt;there is nothing showing again&lt;/a&gt; - yet the webmaster tools is showing impressions and clicks as well as the pages being in the index. Google has some of my content ranking really well but since the initial euphoria of the pages appearing in the Bing SERP again I think the new site honeymoon period may be over as nothing is cutting the mustard for Bing.&lt;/p&gt;
&lt;p&gt;Again I think I know what may have done it this time and have made a change and booked a test in for next week. I will update this article if I have fixed it again.&lt;/p&gt;
&lt;h2 id=&quot;i-am-simon-cox.-i-really-am.&quot; tabindex=&quot;-1&quot;&gt;I am Simon Cox. I really am.&lt;/h2&gt;
&lt;p&gt;In looking at the SERPs today I though that the new Copilot might shed some light on whats indexed on the site. I asked it to tell me about simoncox.com and it clearly mentioned Technical SEO but links to a different Simon Cox - who happens to be a Microsoft Regional Director... Am I being blacklisted now? A conspiracy tin foil hat has been ordered.  Back to the keyboard.&lt;/p&gt;
&lt;h2 id=&quot;update-30th-july-2025&quot; tabindex=&quot;-1&quot;&gt;Update 30th July 2025&lt;/h2&gt;
&lt;p&gt;The site is indexed according to Bing Webmaster tools but not showing in the SERPs.
It did come back in the SERPs for a couple of weeks in March, after I added IndexNow, and then vanished again in April. The Bing Webmaster team have escalated my support request and I have been waiting since.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-33.png&quot; alt=&quot;Bing Webmaster tools showing 16 months with the green indexed pages showing that the site started being indexed again from Feb 2024 and has 114 pages in the index as at end July 2025.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-34.png&quot; alt=&quot;Bing Webmaster tools showing 16 months performance with clicks and impressions coming in - flurry of activity in March and then from April barley anything.&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;update-19th-november-2025&quot; tabindex=&quot;-1&quot;&gt;Update 19th November 2025&lt;/h2&gt;
&lt;p&gt;Am I finally back in Bing&#39;s good books?&lt;/p&gt;
&lt;p&gt;I have spent an extraordinary amount of time trying fixes to the site, rebuilding some posts and even renaming a whole section in case the URL segment I was using caused issues with a reviewer, AI or human.&lt;/p&gt;
&lt;h3 id=&quot;what-moved-the-needle---what-was-causing-bing-to-de-index-my-site%3F&quot; tabindex=&quot;-1&quot;&gt;What moved the needle - what was causing Bing to de-index my site?&lt;/h3&gt;
&lt;p&gt;No idea. All I was told is that the site had been reviewed and would be back in the SERP in a week or two as it got recrawled. Actually was a lot faster than that because, I assume, I am using Index Now in Cloudflare.&lt;/p&gt;
&lt;p&gt;You can see that in February to March and then from April to November there is barely any impressions. In the first week of November the impressions start up again as the site is released back into the index.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-35.png&quot; alt=&quot;Bing Webmaster tools showing 12 months performance with impressions coming in. FGeb to March and then April to November impressions flatline until a fgew days into November when it recovers. &quot; /&gt;.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/2025-04-07-recovery-from-a-bing-de-indexing-00.jpg" type="image" />
      <pubDate>Mon, 07 Apr 2025 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2025-04-07-recovery-from-a-bing-de-indexing/</guid>
    </item>
    <item>
      <title>Creating a blogroll page from Mastodon bookmarks</title>
      <link>https://www.simoncox.com/post/2025-04-04-creating-a-blogroll-page-from-mastodon-bookmarks/</link>
      <description>&lt;h2 id=&quot;why-did-i-want-a-bookmarks-page%3F&quot; tabindex=&quot;-1&quot;&gt;Why did I want a bookmarks page?&lt;/h2&gt;
&lt;p&gt;A thing that has been on &lt;a href=&quot;https://www.simoncox.com/ideas/&quot;&gt;my ideas list&lt;/a&gt; for quite some time is to create a links type page from the Toots I bookmark on Mastodon. The mastodon bookmarks are really handy for items that I want to go back to, to read more or as a prompt to get me to do something. Having them actually on my website makes it more like a blogroll of old and &lt;a href=&quot;https://www.simoncox.com/bookmarks/&quot;&gt;here is my bookmarks page&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;mastodon-api&quot; tabindex=&quot;-1&quot;&gt;Mastodon API&lt;/h2&gt;
&lt;p&gt;Mastodon has an API that you can pull many interesting things out of and this was what got me thinking about this idea in the first place. It has been on the ideas list for a few years because I can&#39;t really write Javascript. I can look through it and make some good assumptions to whats happening but coding this is still a dark art to me. The &lt;a href=&quot;https://docs.joinmastodon.org/methods/bookmarks/&quot;&gt;Mastodon API docs&lt;/a&gt; are available to peruse and I had a glance at one point.&lt;/p&gt;
&lt;h2 id=&quot;down-the-rabbit-hole-of-code-i-go&quot; tabindex=&quot;-1&quot;&gt;Down the rabbit hole of code I go&lt;/h2&gt;
&lt;p&gt;So I turned to AI. Of course I did, and if you think less of me for it then that&#39;s just fine with me and no doubt you will give me some grief on Mastodon. Off you toddle.&lt;/p&gt;
&lt;p&gt;Meanwhile for those of you that are still interested I went through a fair bit of prompting and trial and error to get this working in the first place and then how I wanted it to work. It wasn&#39;t 5 mins time of ChatGPT and there it was. No, it was a week of spare moments pulling out hair, trying to understand things and then trying again. In the end I got there and I did learn a lot from it.&lt;/p&gt;
&lt;p&gt;With the Mastodon API you can pull out 40 bookmarks in one go - you can pull out more but then you have to call the API again asking for pagination and I have not had time to work out how to do that properly yet. I may not ever bother as 40 takes me back quite a while as I don&#39;t bookmark that often, though I might do more of it now!&lt;/p&gt;
&lt;h3 id=&quot;the-environment-file&quot; tabindex=&quot;-1&quot;&gt;The environment file&lt;/h3&gt;
&lt;p&gt;First I had to set up a .env file with my Instance and Access token at root level in my 11ty folder so that the script to make the authenticated call. In this file I added the following two lines (I have not filled in the instance or token in this example!):
&lt;code&gt;MASTODON_INSTANCE=https://your.instance MASTODON_ACCESS_TOKEN=your_access_token&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;My instance being the Mastodon server I am on. The Mastodon Access Token I needed to create by going to my Mastodon Preferences &amp;gt; Development to create New application. I give the Application a name and then at the top of the page I found my access token - it&#39;s a long string. Next I choose the Scope - read:bookmarks is all that I needed for this and then I saved the application down at the bottom with the Save Changes button.&lt;/p&gt;
&lt;p&gt;I added those two values to my .env file.&lt;/p&gt;
&lt;h3 id=&quot;the-bookmarks-script&quot; tabindex=&quot;-1&quot;&gt;The bookmarks Script&lt;/h3&gt;
&lt;p&gt;Next I created a bookmarks.js file in my _data folder and this is my current script:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// Load environment variables from the .env file
require(&amp;quot;dotenv&amp;quot;).config();

// Import EleventyFetch for fetching remote data and caching it
const EleventyFetch = require(&amp;quot;@11ty/eleventy-fetch&amp;quot;);

// Get Mastodon instance URL and access token from environment variables
const MASTODON_INSTANCE = process.env.MASTODON_INSTANCE;
const MASTODON_ACCESS_TOKEN = process.env.MASTODON_ACCESS_TOKEN;

// Helper function to check if an image URL is valid (it will try to fetch only the header)
async function checkImageExists(url) {
  try {
    // Send a HEAD request to check if the image exists without downloading it
    const response = await fetch(url, { method: &amp;quot;HEAD&amp;quot; });
    return response.ok; // If the response status is 2xx, the image exists
  } catch (error) {
    // If there&#39;s an error (network issue, or image doesn&#39;t exist), return false
    return false;
  }
}

// Helper function to extract the &#39;next&#39; page URL from the Link header (used for pagination)
function getNextPage(linkHeader) {
  // If the link header is missing, there&#39;s no next page
  if (!linkHeader) return null;

  // Regular expression to extract the &#39;next&#39; link from the pagination header
  const match = linkHeader.match(/&amp;lt;([^&amp;gt;]+)&amp;gt;;&#92;s*rel=&amp;quot;next&amp;quot;/);
  return match ? match[1] : null; // Return the next page URL or null if not found
}

// Main function to fetch and process Mastodon bookmarks
module.exports = async function () {
  // Check if the required environment variables are set, otherwise log an error
  if (!MASTODON_INSTANCE || !MASTODON_ACCESS_TOKEN) {
    console.error(&amp;quot;Missing Mastodon credentials in .env file&amp;quot;);
    return []; // Return an empty array if credentials are missing
  }

  // Construct the URL to fetch bookmarks from Mastodon API
  const url = `${MASTODON_INSTANCE}/api/v1/bookmarks?limit=40`; // Fetch up to 40 bookmarks
  // Add the authorization header with the Mastodon access token
  const headers = { Authorization: `Bearer ${MASTODON_ACCESS_TOKEN}` };

  try {
    // Use EleventyFetch to fetch the bookmarks with caching for 12 hours
    const data = await EleventyFetch(url, {
      duration: &amp;quot;12h&amp;quot;,  // Cache the result for 12 hours
      type: &amp;quot;json&amp;quot;,     // Expect JSON data from the API
      fetchOptions: { headers } // Include the headers (with the access token)
    });

    // Process the fetched data (map over each bookmark and handle the media)
    return await Promise.all(
      data.map(async bookmark =&amp;gt; {
        // Check for images in the media_attachments array and validate them
        const images = await Promise.all(
          bookmark.media_attachments
            .filter(attachment =&amp;gt; attachment.type === &amp;quot;image&amp;quot;) // Filter only image attachments
            .map(async attachment =&amp;gt; {
              // For each image, check if it exists by using the checkImageExists function
              if (await checkImageExists(attachment.url)) {
                return attachment.url; // Return the image URL if valid
              }
              return null; // Return null if the image doesn&#39;t exist
            })
        );

        // Return a simplified structure for each bookmark with the relevant data
        return {
          id: bookmark.id,  // Bookmark ID
          content: bookmark.content,  // Bookmark content (text)
          url: bookmark.url,  // URL of the bookmarked post
          created_at: bookmark.created_at,  // Timestamp when the bookmark was created
          account: {
            username: bookmark.account.username,  // Account username
            url: bookmark.account.url,  // Account URL
            avatar: bookmark.account.avatar  // Account avatar URL
          },
          images: images.filter(img =&amp;gt; img !== null) // Remove null image entries
        };
      })
    );
  } catch (error) {
    // If there was an error fetching data, log it and return an empty array
    console.error(&amp;quot;Failed to fetch Mastodon bookmarks:&amp;quot;, error);
    return [];
  }
};
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;page-code&quot; tabindex=&quot;-1&quot;&gt;Page code&lt;/h2&gt;
&lt;p&gt;To display the output I set up the following. I have the styles inline at the moment as I am still mucking around with it so they may well end up in the site css.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{% for bookmark in bookmarks %}
&amp;lt;section style=&amp;quot;border: 1px solid #ccc; padding: 10px; margin: 20px auto; border-radius: 20px;max-width:360px;overflow-wrap:anywhere;&amp;quot;&amp;gt;
	&amp;lt;img style=&amp;quot;width:40px;margin:0&amp;quot; src=&amp;quot;{{ bookmark.account.avatar }}&amp;quot; alt=&amp;quot;{{ bookmark.account.username }}&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot;&amp;gt;
	&amp;lt;p&amp;gt;from {{ bookmark.account.username }}&amp;lt;/p&amp;gt;
	&amp;lt;p&amp;gt;{{ bookmark.content | safe }}&amp;lt;/p&amp;gt;
	{% if bookmark.images.length &amp;gt; 0 %}
	&amp;lt;section class=&amp;quot;images&amp;quot;&amp;gt;
		{% for image in bookmark.images %}
		&amp;lt;img src=&amp;quot;{{ image }}&amp;quot; alt=&amp;quot;Mastodon image&amp;quot; /&amp;gt;
		{% endfor %}
	&amp;lt;/section&amp;gt;
	{% endif %}
	&amp;lt;small&amp;gt;&amp;lt;a href=&amp;quot;{{ bookmark.url }}&amp;quot;&amp;gt;Link to the the Toot&amp;lt;/a&amp;gt; – Saved on {{ bookmark.created_at }}&amp;lt;/small&amp;gt;
&amp;lt;/section&amp;gt;
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;process-of-adding-the-bookmarks&quot; tabindex=&quot;-1&quot;&gt;Process of adding the bookmarks&lt;/h2&gt;
&lt;p&gt;I did not want this process to be client side as it would have taken too long to load the page and there was a bigger risk of exposing my token. So I have this setup to build out the page when I run my build command locally. the html page gets build and the images added from cache to the img folder. That is then submitted to Github and deployed to the server.&lt;/p&gt;
&lt;p&gt;The disadvantage with this is that I need to go through a build process to get the latest 40 bookmarks onto the page. I am always tinkering with this site though so that&#39;s not a problem for me!&lt;/p&gt;
&lt;h2 id=&quot;what-next%3F&quot; tabindex=&quot;-1&quot;&gt;What next?&lt;/h2&gt;
&lt;p&gt;Hopefully some others will find this useful and create something similar if not a lot better and I await for you to post on Mastodon so that I can bookmark them!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/2025-04-04-creating-a-blogroll-page-from-mastodon-bookmarks.webp" type="image" />
      <pubDate>Fri, 04 Apr 2025 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2025-04-04-creating-a-blogroll-page-from-mastodon-bookmarks/</guid>
    </item>
    <item>
      <title>Marketing URLs - when and how to use them</title>
      <link>https://www.simoncox.com/post/2025-02-07-marketing-urls/</link>
      <description>&lt;p&gt;Many years ago when I was working for a global financial services organisation I came up with a strategy which I called Marketing URLs. I developed this as a workaround for the obligatory CMS paths we were forced to use in the server set up. It was less than optimal but in those days usability had not been considered.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-02-07-marketing-urls.png&quot; alt=&quot;Top down view of a Laptop surrounded by cups pens graphs charts and other paraphernalia.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This came to mind today because &lt;a href=&quot;https://www.coywolf.news/jon-henshaw/&quot;&gt;Jon Henshaw&lt;/a&gt; posted on &lt;a href=&quot;https://coywolf.social/@coywolf/113960446216200664&quot;&gt;Mastodon&lt;/a&gt; that Bitly has changed its policy and is introducing interstitial ads into millions of shortened URLs. Jon followed up with an &lt;a href=&quot;https://www.coywolf.news/social/bitly-adds-interstitial-ads-to-shortened-urls-unlocking-new-revenue-stream/&quot;&gt;excellent post on Bitly&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;Now, when you click a Bitly link, you will see an ad before reaching the destination site. How this will work with ad-blocking software remains unclear, and its impact on a site&#39;s inbound link SEO is yet to be determined. It could be detrimental depending on how Bitly implement it.&lt;/p&gt;
&lt;h2 id=&quot;are-url-shorteners-good-for-seo%3F&quot; tabindex=&quot;-1&quot;&gt;Are URL Shorteners good for SEO?&lt;/h2&gt;
&lt;p&gt;There are many articles stating that url shortening services help your SEO. This is based on ease of use of remembering a shortened url but most links are clicked on so it does not matter how long they are. I really don&#39;t believe that URL shorteners help with SEO at all - marketing perhaps. Building brand is a better use of your time&lt;/p&gt;
&lt;p&gt;The Marketing URL strategy would help with a lot of these situations, but not all, of course.&lt;/p&gt;
&lt;h2 id=&quot;marketing-urls---what-are-they%3F&quot; tabindex=&quot;-1&quot;&gt;Marketing URLs - what are they?&lt;/h2&gt;
&lt;p&gt;Most websites use directory structures that can include technical directories caused by the way the Content Management System works. You don&#39;t see these so often anymore but there are still plenty about.&lt;/p&gt;
&lt;h3 id=&quot;example&quot; tabindex=&quot;-1&quot;&gt;Example&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;www.example.com/1/widgets/&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;/1/&lt;/strong&gt; isn&#39;t helping the user - just the system.&lt;/p&gt;
&lt;h3 id=&quot;a-marketing-url-for-this-would-be&quot; tabindex=&quot;-1&quot;&gt;A Marketing URL for this would be&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;www.example.com/widgets/&lt;/strong&gt;
This then 301 redirects to &lt;strong&gt;www.example.com/1/widgets/&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On my own site I could have a marketing url for this article:
&lt;strong&gt;&lt;a href=&quot;https://www.simoncox.com/post/2019-01-02-using-google-data-studio-to-review-your-http-to-https-migration/&quot;&gt;https://www.simoncox.com/post/2019-01-02-using-google-data-studio-to-review-your-http-to-https-migration/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;my-marketing-url-would-be&quot; tabindex=&quot;-1&quot;&gt;My marketing url would be&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://www.simoncox.com/migration&quot;&gt;https://www.simoncox.com/migration&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Go on try it!&lt;/p&gt;
&lt;p&gt;This is much more memorable than a bit.ly link, reinforces your brand and you have complete control over it.&lt;/p&gt;
&lt;h2 id=&quot;how-to-create-marketing-urls&quot; tabindex=&quot;-1&quot;&gt;How to create Marketing URLs&lt;/h2&gt;
&lt;p&gt;The first aspect you need to consider is control. One entity needs to be in charge of the Marketing URLs be it a Marketing, IT or, if there any left, a Webmaster.&lt;/p&gt;
&lt;p&gt;I used a simple spread sheet that included Marketing URL, destination URL, Requestor, Date implemented.&lt;/p&gt;
&lt;p&gt;If it was for a campaign then I would also have a Completion date field and if this was set then the redirect would be a 302, temporary redirect. These did not happen often.&lt;/p&gt;
&lt;p&gt;How that is then implemented on your site does depend on the CMS you are using. For this site I am using 11ty so have a hand built redirects file which takes me a few seconds to alter, build and deploy.  When I first created marketing URLs I would have to raise a change request and IT department would set up the redirect for me. It was not available in the CMS we used back then!&lt;/p&gt;
&lt;h2 id=&quot;my-current-recommendation-for-bitly-links&quot; tabindex=&quot;-1&quot;&gt;My current recommendation for Bitly links&lt;/h2&gt;
&lt;p&gt;For now I recommend you audit your website and incoming links for Bitly links and consider if you want to continue to use them.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/2025-02-07-marketing-urls-1200x630.jpg" type="image" />
      <pubDate>Fri, 07 Feb 2025 16:50:51 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2025-02-07-marketing-urls/</guid>
    </item>
    <item>
      <title>The 2025 blog question challenge answers</title>
      <link>https://www.simoncox.com/post/2025-01-20-the-2025-blog-question-challenge-answers/</link>
      <description>&lt;p loading=&quot;eager&quot;&gt;I was tagged by &lt;a href=&quot;https://bobmonsour.com/blog/blog-questions-challenge/&quot;&gt;Bob Monsour&lt;/a&gt; to answer the challenge. I accepted. The challenge was started here &lt;a href=&quot;https://blog.avas.space/bear-blog-challenge/&quot;&gt;Ava&#39;s Bear Blog Challenge&lt;/a&gt;&lt;/p&gt;
&lt;p loading=&quot;eager&quot;&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2025-01-20-the-2025-blog-question-challenge-answers.jpg&quot; alt=&quot;Man sitting at laptop with head in hands and sunlight streaming down on him&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;why-did-you-start-blogging-in-the-first-place%3F&quot; tabindex=&quot;-1&quot;&gt;Why Did You Start Blogging In The First Place?&lt;/h2&gt;
&lt;p&gt;In those heady early days of the web we built sites for the fun of it - there were not that many people out there able to see our sites anyway. I read a few other peoples blogs about web design and development, so started writing up my own experiments and findings. In those days it was the main way of finding out new techniques and solutions - there was a growing community of blogs doing this. They are mostly gone now as other avenues of communication have evolved over the years.&lt;/p&gt;
&lt;h2 id=&quot;what-platform-are-you-using-the-manage-your-blog%2C-and-why-do-you-use-it%3F&quot; tabindex=&quot;-1&quot;&gt;What Platform Are You Using The Manage Your Blog, And Why Do You Use It?&lt;/h2&gt;
&lt;p&gt;My site is built using &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;11ty&lt;/a&gt;, version control on Github and it is deployed to Netlify. I have really enjoyed building with 11ty and have switched most of the small sites I run for myself, friends and clients to 11ty for the ease of set up and use. As they final site is flat file html is it fast and a lot less vulnerable to issues and malicious activity. 11ty has been a game changer for me and the community using it reminds me a lot of the early days of the web - it is fun!&lt;/p&gt;
&lt;h2 id=&quot;have-you-blogged-on-other-platforms-before%3F&quot; tabindex=&quot;-1&quot;&gt;Have You Blogged On Other Platforms Before?&lt;/h2&gt;
&lt;p&gt;Oh gosh yes - and apart from one period I have hosted my own content on servers that I am in control (to an extent) of. I would never blog on a platform like Medium as I don&#39;t own it - anything could happen to my content.&lt;/p&gt;
&lt;p&gt;I started in the late 90&#39;s with flat file sites, hand coded then using Page Mill, Go Live (before Adobe bought it) and  Macromedia Dreamweaver (before Adobe bought it) to build my site.&lt;/p&gt;
&lt;p&gt;For some years it ran on MovableType. They then got funding, which killed the community so I switched to PMachine. That soon became &lt;a href=&quot;https://expressionengine.com/&quot;&gt;ExpressionEngine&lt;/a&gt;, which I still use today for one project.&lt;/p&gt;
&lt;p&gt;Then &lt;a href=&quot;https://craftcms.com/&quot;&gt;Craft CMS&lt;/a&gt; was developed by users of ExpressionEngine that wanted it to do more so they built their own system from scratch and it was very, very good.&lt;/p&gt;
&lt;p&gt;A few years later I decided I did not want to use a database for the content any more (had some issues, please don&#39;t ask). So I tried the excellent &lt;a href=&quot;https://getkirby.com/&quot;&gt;Kirby CMS&lt;/a&gt; out for a couple of years and all was great.&lt;/p&gt;
&lt;p&gt;After lockdown  I switched to using Wix for my site as I had become a member of their initial SEO Advisory Board. I meant I could fully understand the Wix system and help drive its development both from an SEO point of view and as a user.&lt;/p&gt;
&lt;p&gt;After that appointment finished I was looking for a flat file solution and finally found &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;11ty&lt;/a&gt;. I rebuilt the site from scratch and it has been running on 11ty since 2023.&lt;/p&gt;
&lt;h2 id=&quot;how-do-you-write-your-posts%3F&quot; tabindex=&quot;-1&quot;&gt;How Do You Write Your Posts?&lt;/h2&gt;
&lt;p&gt;These days I tend to write my longer articles in Hemingway Editor as the first part of this process. This is bashing out thoughts and is usually a big bundle that needs thinking through and then editing. I try to leave it a day or so before editing an article so I have fresh eyes on the piece. It is amazing how terrible my spelling and punctuation is on first drafts! The text then gets copied into 11ty, styled, with links and images added before publishing. I write from my perspective and I write as if I am chatting to you over a pint.&lt;/p&gt;
&lt;h2 id=&quot;when-do-you-feel-most-inspired-to-write%3F&quot; tabindex=&quot;-1&quot;&gt;When Do You Feel Most Inspired To Write?&lt;/h2&gt;
&lt;p&gt;I&#39;m not a prolific writer and can&#39;t turn inspiration on like a tap. It is usually after I have achieved something and this is especially so with my railway modelling. The short posts on the site are of the moment, when I want to document something that I think might be important for me to recall in the future. They are for me more than anyone else. I have had situations where I am looking something up on a search engine and find that I have written a short post about it some years ago!&lt;/p&gt;
&lt;h2 id=&quot;do-you-normally-publish-immediately-after-writing%2C-or-do-you-let-it-simmer%3F&quot; tabindex=&quot;-1&quot;&gt;Do You Normally Publish Immediately After Writing, Or Do You Let It Simmer?&lt;/h2&gt;
&lt;p&gt;For the Short posts its bang and they are live. For the main articles though I always let it simmer even after the initial burst of enthusiasm and not just for the editing. I do jot down a  lot of ideas for posts that  - some could be months.&lt;/p&gt;
&lt;h2 id=&quot;what%E2%80%99s-your-favourite-post-on-your-blog%3F&quot; tabindex=&quot;-1&quot;&gt;What’s Your Favourite Post On Your Blog?&lt;/h2&gt;
&lt;p&gt;Probably the &lt;a href=&quot;https://www.simoncox.com/post/2024-05-28-log-store-build/&quot;&gt;log store build&lt;/a&gt; as it is getting a fair bit of traffic at the moment (I don&#39;t monetise it). I am rather happy that it is now outranking serious brands, such as Stihl, for &amp;quot;Log store design&amp;quot; in the UK Google SERPs! Means I still know what I am doing.  Also it has been a favourite project of mine for 2024 outside my railway modelling.&lt;/p&gt;
&lt;h2 id=&quot;any-future-plans-for-the-blog%3F&quot; tabindex=&quot;-1&quot;&gt;Any Future Plans For the Blog?&lt;/h2&gt;
&lt;p&gt;I&#39;m always tinkering with it but have no long term plans. Short term I do need to go through the images and sort them out now that 11ty Image 3 has been released and I don&#39;t need to use 11ty shortcodes any more. I also promised myself a fresh design so have been learning some new, to me, css techniques that have been developed in the past few years.&lt;/p&gt;
&lt;h2 id=&quot;who-will-participate-next%3F&quot; tabindex=&quot;-1&quot;&gt;Who Will Participate Next?&lt;/h2&gt;
&lt;p&gt;I officially tagged &lt;a href=&quot;https://sethgoldstein.me/blog-question-challenge-seth-goldstein/&quot;&gt;Seth Goldstein&lt;/a&gt; and &lt;a href=&quot;https://preetigupta.me/blog/2025-blog-challenge/&quot;&gt;Preeti Gupta&lt;/a&gt; to answer the challenge.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/2025-01-20-the-2025-blog-question-challenge-answers.jpg" type="image" />
      <pubDate>Mon, 20 Jan 2025 14:49:58 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2025-01-20-the-2025-blog-question-challenge-answers/</guid>
    </item>
    <item>
      <title>Newspaper style layout for my content</title>
      <link>https://www.simoncox.com/short-articles/2024-09-14-newspaper-style-layout-for-my-content/</link>
      <description>&lt;p&gt;I read a &lt;a href=&quot;https://rrier.fr/@pc/statuses/01J7HCPPS8C3MDYJM353A1PCXX&quot;&gt;short post on Mastodon&lt;/a&gt; from Pierre Carrier saying that his blog had a &lt;a href=&quot;https://nothing.pcarrier.com/news&quot;&gt;newspaper mode&lt;/a&gt; - and it looks great! Pierre has his site on &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;11ty&lt;/a&gt;, as my site currently is, so I thought I would have a quick go at building a newspaper version of my content - the &lt;a href=&quot;https://www.simoncox.com/news/&quot;&gt;Simon Cox Evening News&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;First off I didn&#39;t want to change any of the code for my site and this would be on one page only - not a toggle between site designs. 11ty automatically builds collections to gather content into groups so with testing I picked my Shorts collection of posts and built a small piece of html to reiterate over each story - that pulls in the heading, link and content etc.&lt;/p&gt;
&lt;p&gt;This gave me a long page of content. What I wanted to do was have columns of content. CSS grid sprang to mind but of course it segments articles into blocks with spaces in the rows, so that would not work. A masonary type approach might work - but that runs in rows. So I went back to an old favourite that, in my opinion, does not get used enough on the web - columns. This is really old CSS and for various reasons designers appear not to like it - control of the flow being one of them.&lt;/p&gt;
&lt;p&gt;The design and html for the page is standalone - it does not uses any of the CSS or templates from the rest of the site.&lt;/p&gt;
&lt;p&gt;I had some issues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Initially I set media breakpoints for the number of columns to give a responsive layout depending on viewport size. Pierre rightly asked why I had not set the column widths and he was spot on - that was a much better approach.&lt;/li&gt;
&lt;li&gt;Image widths had to be set to width of 100% to fill the column correctly but some were smaller than the columns widths so Max-width 100% was used.&lt;/li&gt;
&lt;li&gt;I was getting a lot of white space to the right meaning there was a lot of horizontal scrolling which was not great. I eventually tracked this down to the pre tag, that I was wrapping code in, needing white-space: pre-wrap; in the css.&lt;/li&gt;
&lt;li&gt;I had used the Shorts collection to test and swapped that to my posts collection to do a second test. What I really wanted to do was both and I thought I would have to set up a new filter in  11ty to do that bet remembered I have already done this for the rss feed – so I was able to use the feed collection! 11ty does make this kind of thing easy!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once I had the layout sorted I added some enhancements.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The images and links were in colour and I wanted an old newspaper feel. I added filter:grayscale(1) brightness(80%) contrast(150%); mix-blend-mode: hard-light; to the container making everything monochrome without touching the source content.&lt;/li&gt;
&lt;li&gt;background - a seamless crumpled paper image.&lt;/li&gt;
&lt;li&gt;post titles were set in Playfair Bold and the kerning tightened.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Things to do:
I was hoping to add some filters to make the images look like halftones but after a lot of experimentation it has eluded me. There are some lovely online codepens and &lt;a href=&quot;https://leanrada.com/notes/pure-css-halftone/&quot;&gt;blog posts on halftones&lt;/a&gt; for this but I could not get them to work without changing the posts underlying code. I may come back to this in the future.&lt;/p&gt;
&lt;p&gt;As &lt;a href=&quot;https://s3th.me/@pch/113133004239742917&quot;&gt;Seth Goldstein said It&#39;s overwhelming&lt;/a&gt; but he is a recovering journalist.&lt;/p&gt;
&lt;p&gt;Anyway - here it is - the &lt;a href=&quot;https://www.simoncox.com/news/&quot;&gt;Simon Cox Evening News&lt;/a&gt;.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2024-09-14-newspaper-style-layout-for-my-content-1.png&quot; alt=&quot;Simon Cox Evening News screenshot showing the newspaper style layout over 9 columns on a wide screen&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;update&quot; tabindex=&quot;-1&quot;&gt;Update&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;15 Sept 2024&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I have added a couple of extra pages that filter the Articles and Short articles so it is a little bit easier to read. Not sure this will have a huge amount of traffic as it is more of an excercise! I am, of course, monitoring what happens from an SEO aspect - always testing!&lt;/p&gt;
</description>
      
      <pubDate>Sat, 14 Sep 2024 10:40:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2024-09-14-newspaper-style-layout-for-my-content/</guid>
    </item>
    <item>
      <title>The cobbles of Mousehole</title>
      <link>https://www.simoncox.com/short-articles/2024-07-13-the-cobbles-of-mousehole/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2024-07-13-the-cobbles-of-mousehole-1.png&quot; alt=&quot;Cornish village with cobbled streets and sandy beaches hailed as the UK&#39;s loveliest&quot; /&gt;&lt;/p&gt;
&lt;p&gt;That&#39;s odd I though - does Mousehole actually have cobbled streets? As lovely as it is with &lt;a href=&quot;https://en.wikipedia.org/wiki/Stargazy_pie&quot;&gt;Stargazy pie&lt;/a&gt;, traditionally eaten on &lt;a href=&quot;https://en.wikipedia.org/wiki/Tom_Bawcock%27s_Eve&quot;&gt;Tom Bawcock&#39;s Eve&lt;/a&gt;, and the last person to speak Cornish as their first language to live there, &lt;a href=&quot;https://www.cornwalls.co.uk/history/people/dolly_pentreath.htm&quot;&gt;Dolly Pentreath&lt;/a&gt;, but I&#39;m not sure it is known for its cobbled streets. Mousehole no longer has cobbled streets.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/the-cobbles-of-mousehole-actuallly-clovellly.png&quot; alt=&quot;Cobbled street of Clovelly&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I do know the beautiful tourist trap of Clovelly has the iconic cobbled pathways through the village down to their harbour - but that&#39;s not even in Cornwall, it is in North Devon.&lt;/p&gt;
&lt;p&gt;So whats going on? Why would a Cornish website - CornwallLive - tell untruths?&lt;/p&gt;
&lt;p&gt;Well it was not CornwallLive that actually first published this story (11 July 2024), it appears to be the Daily Express.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2024-07-13-the-cobbles-of-mousehole-2.png&quot; alt=&quot;Picturesque village with cobbled streets and sandy beach that&#39;s the &#39;loveliest in Britain says the Express headline by Laura McKenna 5th July 2024 &quot; /&gt;&lt;/p&gt;
&lt;p&gt;Hmmm, that&#39;s an oddly familiar headline and name. When you compare the two stories it seems all Jeff has done is run Lauras text through chat GPT to change it just enough to stop any duplication algo&#39;s picking it up.&lt;/p&gt;
&lt;h2 id=&quot;laura&#39;s-3rd-paragraph%3A&quot; tabindex=&quot;-1&quot;&gt;Laura&#39;s 3rd paragraph:&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2024-07-13-the-cobbles-of-mousehole-3.png&quot; alt=&quot;Charming cobbled streets lined with traditional stone cottages greet visitors as they wander through a labyrinth of art galleries, gift shops and eateries before settling down on the waterfront benches to watch the tide come and go. The former pilchard port - pronounced &amp;quot;Mowzel,&amp;quot; not &amp;quot;mouse hole&amp;quot; - also boasts a pebble beach and a small, unexpectedly sandy beach in the harbour with crystal clear waters.&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;jeff&#39;s-3rd-paragraph&quot; tabindex=&quot;-1&quot;&gt;Jeff&#39;s 3rd Paragraph&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2024-07-13-the-cobbles-of-mousehole-4.png&quot; alt=&quot;Visitors are welcomed by delightful cobbled streets lined with traditional stone cottages as they meander through a maze of art galleries, gift shops and eateries before settling down on the waterfront benches to watch the ebb and flow of the tide. The former pilchard port - pronounced &amp;quot;Mowzel,&amp;quot; not &amp;quot;mouse hole&amp;quot; - also features a pebble beach and a small, surprisingly sandy beach in the harbour with crystal clear waters.&quot; /&gt;&lt;/p&gt;
&lt;h3 id=&quot;oh-wait---jeff-also-writes-for-devonlive&quot; tabindex=&quot;-1&quot;&gt;Oh wait - Jeff also writes for DevonLive&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2024-07-13-the-cobbles-of-mousehole-5.png&quot; alt=&quot;The West Country village with cobbled streets and sandy beaches that is &#39;straight out of a postcard&#39;&amp;quot;*** 13th July 2024 By Jeff Reines &amp;amp; Laura Mckenna&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This really looks like the cobbled streets aspect was made up to get traffic to the sites so they can sell advertising - and there is a lot on all those sites. The argument is that local news sites need advertising to be able to operate but stories like this are just rehashed and wrong - there is no local news left on local news sites – it&#39;s just all click bait.&lt;/p&gt;
&lt;p&gt;It is exactly this type of reporting that has killed off local newspapers and why your high street has the same shops as my high street and any other high street. Always follow the money.&lt;/p&gt;
</description>
      
      <pubDate>Sat, 13 Jul 2024 17:50:14 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2024-07-13-the-cobbles-of-mousehole/</guid>
    </item>
    <item>
      <title>Tracking 404 broken links with Fathom Analytics</title>
      <link>https://www.simoncox.com/short-articles/2024-02-11-tracking-broken-links-with-fathom/</link>
      <description>&lt;p&gt;I switched all my small projects over to Fathom Analytics in 2023 for various reasons but there was one page on my site where I kept the Google Analytics code - the 404 page.&lt;/p&gt;
&lt;p&gt;I did this so that I could pull the data into a Data Studio dashboard to provide me with errant URLs being visited on my site.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2024-02-11-tracking-broken-links-with-fathom-looker-studio.png&quot; alt=&quot;Simon&#39;s 404 URL table in Data Studio&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The above image shows a classic example of a URL that didn&#39;t exist on my site. Not sure how someone got this wrong but they have missed one letter, &#39;e&#39; out of the URL thus breaking it! They have put:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/post/2010-02-04-th-perfect-angle-to-staple-paper/
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;when the actual page is at:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/post/2010-02-04-the-perfect-angle-to-staple-paper/
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And it had nine visits (probably the same person wondering why the link was going to my 404 page - so they may have fixed it.)&lt;/p&gt;
&lt;p&gt;So the report is super useful to see what is going on under the hood.&lt;/p&gt;
&lt;h2 id=&quot;why-do-i-want-to-see-what-is-happening-on-my-404-page%3F&quot; tabindex=&quot;-1&quot;&gt;Why do I want to see what is happening on my 404 page?&lt;/h2&gt;
&lt;p&gt;Well, broken URLs in my site can usually be found quite easily by running a crawler across the site and fixing anything that breaks but there is the odd occasion where someone linking to my site uses an old URL or creates a URL with a typo in it - essentially they have created a broken link to my site and I don&#39;t know who has done that and I can&#39;t ask them to fix it.&lt;/p&gt;
&lt;p&gt;With the old URLs I have redirects in place to catch them but for new broken URLs I don&#39;t know they exist unless I can track the referrer. So that&#39;s what I have been doing.&lt;/p&gt;
&lt;h2 id=&quot;set-up-the-redirects&quot; tabindex=&quot;-1&quot;&gt;Set up the Redirects&lt;/h2&gt;
&lt;p&gt;When I get a new broken link I can add a line to my redirects file to redirect that to the appropriate page if one exists. If it is not obvious where to send the traffic then I still let is resolve to the 404 page.&lt;/p&gt;
&lt;h2 id=&quot;creating-this-report-in-fathom-analytics&quot; tabindex=&quot;-1&quot;&gt;Creating this report in Fathom Analytics&lt;/h2&gt;
&lt;p&gt;I thought I should be able to create a similar report using Fathom Analytics so read the &lt;a href=&quot;https://usefathom.com/docs/features/events&quot;&gt;Creating and using events documentation&lt;/a&gt; and it looked like I could set an event up and track them there.&lt;/p&gt;
&lt;p&gt;This code looked good so I tried it:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script&amp;gt;
window.addEventListener(&#39;load&#39;, (event) =&amp;gt; {
  fathom.trackEvent(&#39;checkout completed&#39;);
});
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;All I needed to do was change the checkout completed to 404. It worked but of course only told me that there was a 404 event. I needed more data from the script - I needed the URL. Javasripty people will be well ahead of me now and using the word &#39;just&#39; a lot but despite using the &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;fabulous 11ty&lt;/a&gt; for this site I really can&#39;t cope with much more than a sprinkle of javascript.&lt;/p&gt;
&lt;h2 id=&quot;fathom-to-the-rescue&quot; tabindex=&quot;-1&quot;&gt;Fathom to the rescue&lt;/h2&gt;
&lt;p&gt;So I contacted Fathom Analytics, and told them what I was trying to do. The wonderful Paul Jarvis came back with the code I needed and even tested it out before sending it to me!&lt;/p&gt;
&lt;p&gt;Here is the code I have ended up using - courtesy of Paul.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script&amp;gt;
document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
    var path = window.location.pathname;
    fathom.trackEvent(&#39;404: &#39; + path);
  });
&amp;lt;/script&amp;gt;	
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;On testing, I now get the following report in my Fathom Dashboard:
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2024-02-11-tracking-broken-links-with-fathom-fathom-dashboard.png&quot; alt=&quot;Simon&#39;s 404 URL table in Fathom Analytics Dashboard&quot; /&gt;&lt;/p&gt;
&lt;p&gt;That allows me to spot 404 URL errors and set up new redirects for them!&lt;/p&gt;
&lt;h2 id=&quot;fathom-analytics&quot; tabindex=&quot;-1&quot;&gt;Fathom Analytics&lt;/h2&gt;
&lt;p&gt;Thank you Paul Jarvis for your help on this.
If you are interested in &lt;a href=&quot;https://usefathom.com/ref/ILRGSP&quot;&gt;Fathom Analytics, this is my affiliate linky&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;update&quot; tabindex=&quot;-1&quot;&gt;Update&lt;/h2&gt;
&lt;p&gt;Paul has already added &lt;a href=&quot;https://usefathom.com/docs/events/404-page-tracking#track-404-error-pages&quot;&gt;this technique to the Fathom documentation&lt;/a&gt;!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Sun, 11 Feb 2024 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2024-02-11-tracking-broken-links-with-fathom/</guid>
    </item>
    <item>
      <title>Build your own 11ty starter</title>
      <link>https://www.simoncox.com/post/2023-08-05-build-your-own-11ty-starter/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2023-08-05-build-your-own-11ty-starter-01.jpg&quot; alt=&quot;Billboard with 11ty starter code on it.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Recently late one evening when I should have been going to sleep, I had an idea. I spent the next 30 minutes building and launching a website from scratch. OK, it&#39;s not a brilliant site but the fact I can spin a site up quickly got me thinking. Can I do this even quicker? And yes I can!&lt;/p&gt;
&lt;h2 id=&quot;the-move-to-eleventy&quot; tabindex=&quot;-1&quot;&gt;The move to Eleventy&lt;/h2&gt;
&lt;p&gt;I have moved a lot of my projects over to eleventy (also know as 11ty), a static site generator. I wanted something simple that generated flat file html, the fastest type and original type of website. I&#39;m not a fan of javascript but that&#39;s exactly what 11ty is behind the scenes - but the output has no javascript! Fantastic!&lt;/p&gt;
&lt;p&gt;Eleventy does a lot - I mean a huge amount and you can use it in a huge number of ways. I&#39;m not a React code bunny – would not know where to start –  but I know my html and css and that&#39;s all I really need to build a website.  If you know javascript then there is a lot more you can do with 11ty than I can.&lt;/p&gt;
&lt;p&gt;I have learnt a huge amount building sites in 11ty in the last 18 months but the key moment that got me started was this video from &lt;a href=&quot;https://youtu.be/4wD00RT6d-g&quot;&gt;Kevin Powell.&lt;/a&gt;. Well worth a watch if you are just starting with 11ty&lt;/p&gt;
&lt;p&gt;I keep notes as I build so that I can repeat the steps I need to begin a site build. Now I have taken that a step further and built a starter pack for myself as a template in Github so I can spin up a new populated repository in a few moments.&lt;/p&gt;
&lt;h2 id=&quot;build-your-own-11ty-starter-pack&quot; tabindex=&quot;-1&quot;&gt;Build your own 11ty Starter Pack&lt;/h2&gt;
&lt;p&gt;Create a new repository for your starter pack on Github and assign that to a folder on your workspace.&lt;/p&gt;
&lt;p&gt;Set up the folder structure you want to work with and include the files you need.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2023-08-05-build-your-own-11ty-starter-02.png&quot; alt=&quot;Folder structure for 11ty starter pack.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I have not included any content structures in my starter pack, such as blog posts, as each project is going to be different. This structure gives me a flying start.&lt;/p&gt;
&lt;p&gt;I have included the following - you might want to consider some of these for yours:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;robots.txt&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;redirects (for &lt;a href=&quot;https://docs.netlify.com/routing/redirects/&quot;&gt;Netlify.&lt;/a&gt; or &lt;a href=&quot;https://developers.cloudflare.com/pages/platform/redirects/&quot;&gt;Cloudflare.&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;a 404 page&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;xml sitemap (&lt;a href=&quot;https://www.belter.io/eleventy-sitemap/&quot;&gt;from Duncan McDougall&#39;s article.&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Assets folder&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;11ty includes for the html template and the css&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;11ty data (helpers and site meta config)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Add any extensions you commonly use in the .eleventy.js config file. In my case I like to use the 11ty clean-css plugin on most sites. I use (handwritten and minimal) included in the head of the page rather than as a seperate file for page load speed.&lt;/p&gt;
&lt;p&gt;I also include all the Pass throughs I tend to use on a regular basis for the files I want 11ty to passthrough to the output directory.&lt;/p&gt;
&lt;h2 id=&quot;github-template&quot; tabindex=&quot;-1&quot;&gt;Github Template&lt;/h2&gt;
&lt;p&gt;When you are ready with everything change your Github repo to a template repo - in settings for the repo.&lt;/p&gt;
&lt;p&gt;This changes the repo&#39;s green button from Clone to Template and allows you to create a new repository based on the files structure.&lt;/p&gt;
&lt;p&gt;Here is my &lt;a href=&quot;https://github.com/simoncox/11ty-Simons-starter-pack&quot;&gt;11ty starter pack.&lt;/a&gt; for you to have look at, or even use it for your own project.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://seocommunity.social/@simoncox&quot;&gt;Let me know how you get on.&lt;/a&gt; or if this can be improved in any way.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hat tip to &lt;a href=&quot;https://www.bobmonsour.com/&quot;&gt;Bob Monsour.&lt;/a&gt; for proof reading this one!&lt;/em&gt;&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/2023-08-05-build-your-own-11ty-starter-01.jpg" type="image" />
      <pubDate>Sat, 05 Aug 2023 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2023-08-05-build-your-own-11ty-starter/</guid>
    </item>
    <item>
      <title>How I set up lastmod date in my 11ty xml sitemap</title>
      <link>https://www.simoncox.com/post/2023-07-06-lastmod-in-xml-sitemap-for-11ty/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2023-07-06-lastmod-in-xml-sitemap-for-11ty.webp&quot; alt=&quot;Compass on an old map.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;google&#39;s-new-policy-has-meant-changes-to-the-xml-sitemap&quot; tabindex=&quot;-1&quot;&gt;Google&#39;s new policy has meant changes to the xml sitemap&lt;/h2&gt;
&lt;p&gt;Google have recently got a little more particular about the last modified date in your xml sitemap following their decision to drop the ability to &lt;a href=&quot;https://developers.google.com/search/blog/2023/06/sitemaps-lastmod-ping&quot;&gt;ping updates to thier endpoint.&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the post they make mention of the &lt;strong&gt;lastmod&lt;/strong&gt; element and its need to be accurate. Many content management systems just output the date of the last time the file changed which is misleading and will mean that Google will ignore updates if it finds this is constantly happening on a site.&lt;/p&gt;
&lt;p&gt;So I wanted to ensure I had a process to ensure I could manually update the lastmod in the sitemap as there is no programmatic way to determine what Google considers to constitute a page change!&lt;/p&gt;
&lt;p&gt;In my 11ty set up I have used the original published date as part of the url which means that I can easily pull that date into the xml sitemap. If I wanted to make a change to that article I needed a way to update the lastmod in the xml sitemap without changing the page url.&lt;/p&gt;
&lt;p&gt;I did this by adding a field in my posts front matter and I called it dateUpdated.&lt;/p&gt;
&lt;h3 id=&quot;here-is-my-11ty-post-front-matter%3A&quot; tabindex=&quot;-1&quot;&gt;Here is my 11ty post front matter:&lt;/h3&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;title:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;description:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;image:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;imageAlt:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tags:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;topic:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sitemapIgnore:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dateUpdated:&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;If I make a significant update to the page content I can add the date updated in the front matter.&lt;/p&gt;
&lt;p&gt;My xml sitemap template is now coded with an if else statement to pull in the updated lastmod date in place of the published date used for lastmod.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2023-07-06-lastmod-in-xml-sitemap-for-11ty-template-code.webp&quot; alt=&quot;xml sitemap template.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The original code for creating the &lt;a href=&quot;https://11ty.recipes/recipes/add-a-sitemap/&quot;&gt;xml sitemap came from 11ty Recipes.&lt;/a&gt; and you can copy the original code from there.&lt;/p&gt;
&lt;p&gt;In lastmod I have pulled in the DateUpdated data and used .toISOString() to get it in the correct required format and it the dateUpdated field is empty then it uses the page.date from the url - which is the original published date.&lt;/p&gt;
&lt;p&gt;And that is it - a fully automated xml sitemap with the ability to manually edit it when articles significantly change.&lt;/p&gt;
&lt;h3 id=&quot;sitemap-ignore&quot; tabindex=&quot;-1&quot;&gt;Sitemap ignore&lt;/h3&gt;
&lt;p&gt;I also have a &lt;a href=&quot;https://www.simoncox.com/short-articles/2023-02-06-remove-404-file-from-sitemap-xml-in-11ty/&quot;&gt;sitemapIgnore switch.&lt;/a&gt;. If I do not want a page to be in the sitemap I can set sitemapIgnore: True and it skips creating the url entry for the page.&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;Comments&lt;/h2&gt;
&lt;p&gt;If you have any suggestions or questions then please message me on &lt;a href=&quot;https://seocommunity.social/@simoncox&quot;&gt;Mastodon.&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;update-2026-02-08&quot; tabindex=&quot;-1&quot;&gt;Update 2026-02-08&lt;/h2&gt;
&lt;p&gt;I have since removed the changefreq as it is never used by anyone!&lt;/p&gt;
&lt;p&gt;Here is the latest sitemap.njk code:
(and I have now improved the logic to prevent inclusion of draft and files not wanted in the sitemap.)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
permalink: /sitemap.xml
eleventyExcludeFromCollections: true
# To remove a page from the sitemap add this into frontmatter– sitemapIgnore: true
---
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;urlset xmlns=&amp;quot;http://www.sitemaps.org/schemas/sitemap/0.9&amp;quot;&amp;gt;
{%- for page in collections.all %}
	{%- if page.data.sitemapIgnore !== true and not page.data.draft %}
	&amp;lt;url&amp;gt;
		&amp;lt;loc&amp;gt;{{ site.url }}{{ page.url | url }}&amp;lt;/loc&amp;gt;
		&amp;lt;lastmod&amp;gt;{{ (page.data.dateUpdated or page.date).toISOString().split(&#39;T&#39;)[0] }}&amp;lt;/lastmod&amp;gt;
	&amp;lt;/url&amp;gt;
	{%- endif %}
{%- endfor %}
&amp;lt;/urlset&amp;gt;

&lt;/code&gt;&lt;/pre&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/2023-07-06-lastmod-in-xml-sitemap-for-11ty.webp" type="image" />
      <pubDate>Thu, 06 Jul 2023 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2023-07-06-lastmod-in-xml-sitemap-for-11ty/</guid>
    </item>
    <item>
      <title>Netlify prerender cache</title>
      <link>https://www.simoncox.com/short-articles/2023-06-04-netlify-prerender-cache/</link>
      <description>&lt;p&gt;In February 2023 I discovered I had an issue with crawling a site after some changes. I like to fix things to make websites work properly so often go through several itterations of the code fixing things. &lt;br /&gt;
&lt;br /&gt;
The same issue cropped up again in June 2023 so I thought I had better post a Short about it to remind myself rather than just moan about it on &lt;a href=&quot;https://seocommunity.social/@simoncox/110485857165579500&quot;&gt;Mastodon&lt;/a&gt;! When running a crawler, such as &lt;a href=&quot;https://sitebulb.com/&quot;&gt;Sitebulb&lt;/a&gt;, Screaming Frog or &lt;a href=&quot;https://secure.2checkout.com/affiliate.php?ACCOUNT=LINKASSI&amp;amp;AFFILIATE=XXX&amp;amp;PATH=https%3A%2F%2Fwww.link-assistant.com%2Fsale.html%3FAFFILIATE%3DXXX&quot;&gt;SEO PowerSuite&lt;/a&gt;, against a site on Netlify you could hit the prerender cache. The same happens when you test a page in Google Search Console but the real Google crawler is ok. To get the real results either wait 48 hours and crawl or change the crawler User Agent to something else, such as Safari, and rerun the crawl.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/screamingfrog-creenshot-of-chached-issues-2023-06-04-at-13.27.29.png&quot; alt=&quot;screenshot of Screaming Frog results showing 3 301 issues with a site after these issues had been fixed and deployed. Netlify is caching the pages and the crawls are given the old cached version.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;There is a very good explanation of what&#39;s happening on the &lt;a href=&quot;https://answers.netlify.com/t/support-guide-understanding-and-debugging-prerendering/150&quot;&gt;Netlify support pages&lt;/a&gt;.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Sun, 04 Jun 2023 13:14:13 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2023-06-04-netlify-prerender-cache/</guid>
    </item>
    <item>
      <title>Cloudflare Pages error with 11ty build</title>
      <link>https://www.simoncox.com/short-articles/2023-05-15-cloudflare-pages-error-with-11ty-build/</link>
      <description>&lt;p&gt;I have a couple of 11ty built sites that are auto deployed out to Cloudflare Pages. I normally prefer Netlify for the hosting but I do like to keep some eggs in other baskets.&lt;/p&gt;
&lt;p&gt;I updated a site yesterday and it kept failing the deploy to Cloudflare with the error stating that Node had to be at least version 14. I checked my local Node version and it was 19.3.0. So I changed my gitignore to allow the node files to be in the deploy in the hope that this would enable Cloudflare to build out the pages  correctly.(Then I had issues with Git Authentication - another post another day on this perhaps but I had to restart my Mac to get the Auth to work.) That did not work.&lt;/p&gt;
&lt;p&gt;Turns out you have to set the Environment Variables for Node to work. This seems a bit of a faf and must be new in Cloudflare since March - the last time I deployed this site. Not sure why they have complicated things.&lt;/p&gt;
&lt;p&gt;Navigate to Pages &amp;gt; site &amp;gt; Settings &amp;gt; Environment Variables and set up a new variable named NODE_VERSION and I put the version I am using in there.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/cloudflare-enviroment-variable-node-version.png&quot; alt=&quot;Cloudflare Pages dialogue - Enviroment Variable - Node Version 19.3.0&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And the next deployment worked!&lt;/p&gt;
&lt;h2 id=&quot;update-2024-09-29&quot; tabindex=&quot;-1&quot;&gt;Update 2024-09-29&lt;/h2&gt;
&lt;p&gt;On reflection this may have only happened when Cloudflare increased their minimum version of Node. Even though I was using 19.3.0 Cloudflare appears not to be detecting the version you have used, even though that is in the package.json, and relies on you setting it in the Environment Variables. This certainly does allow easy customisation but could be automated.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Mon, 15 May 2023 10:05:13 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2023-05-15-cloudflare-pages-error-with-11ty-build/</guid>
    </item>
    <item>
      <title>Interaction to Next Paint, the new Core Web Vital</title>
      <link>https://www.simoncox.com/short-articles/2023-05-10-interaction-to-next-paint-the-new-core-web-vital/</link>
      <description>&lt;h2 id=&quot;what-is-inp%3F&quot; tabindex=&quot;-1&quot;&gt;What is INP?&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;INP&lt;/strong&gt; means &lt;strong&gt;Interaction to Next Paint&lt;/strong&gt; and will be part of the &lt;strong&gt;Core Web Vitals&lt;/strong&gt; measurements from March 2024.&lt;/p&gt;
&lt;h2 id=&quot;will-inp-affect-my-rankings%3F&quot; tabindex=&quot;-1&quot;&gt;Will INP affect my rankings?&lt;/h2&gt;
&lt;p&gt;Probably not in most cases but it could be the tipping point between your page and another page being ranked higher in the Search Engine Results Pages so it should be considered as part of the sites usability.&lt;/p&gt;
&lt;h2 id=&quot;where-can-i-learn-more-about-inp%3F&quot; tabindex=&quot;-1&quot;&gt;Where can I learn more about INP?&lt;/h2&gt;
&lt;p&gt;You can learn more about Interaction to Next Paint from &lt;a href=&quot;https://web.dev/inp-cwv/&quot;&gt;Google&#39;s web.dev site&lt;/a&gt;.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Wed, 10 May 2023 22:40:22 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2023-05-10-interaction-to-next-paint-the-new-core-web-vital/</guid>
    </item>
    <item>
      <title>Alternative to Google Analytics</title>
      <link>https://www.simoncox.com/short-articles/2023-05-10-alternative-to-google-analytics/</link>
      <description>&lt;h2 id=&quot;is-there-a-viable-alternative-to-google-analytics%3F&quot; tabindex=&quot;-1&quot;&gt;Is there a viable alternative to Google Analytics?&lt;/h2&gt;
&lt;p&gt;Yes, &lt;a href=&quot;https://usefathom.com/ref/ILRGSP&quot;&gt;Fathom Analytics&lt;/a&gt; is a more than capable alternative to Google Analytics and is from a small independent team in Canada.&lt;/p&gt;
&lt;p&gt;Like most people who build websites I have been using Google Analytics for many years. The change to GA4 this year though is significant. Having used GA4 for over a year I can attest that it is OK - difficult to understand to begin with but that&#39;s because it uses a different data model that the outgoing Universal Google Analytics. GA4 is very customisable, which is great, and I have been able to put together several dashboards for SEO related data. However there is one big issue looming on the horizon.&lt;/p&gt;
&lt;h2 id=&quot;how-far-back-can-i-look-at-my-google-analytics-data%3F&quot; tabindex=&quot;-1&quot;&gt;How far back can I look at my Google Analytics data?&lt;/h2&gt;
&lt;p&gt;16 months is all you will be able to review making seasonal comparisons much more difficult. Google Universal Analytics will sunset on July 1st 2023 and currently the data will be available for 12 months and then it gets deleted, forever.&lt;/p&gt;
&lt;p&gt;Seasonal comparisons are important but we have not really had a normal year since 2019 8so only being able to compare traffic data from last year doesn&#39;t hold any comfort for me.&lt;/p&gt;
&lt;p&gt;I had heard about Fathom Analytics some years ago and liked the idea but it is not free like Google Analytics but it is inexpensive. The big factor for me though is that they have just launched the ability to pull your data from Google Analytics into Fathom.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/fathom-analytics-importing-fom-ga.png&quot; alt=&quot;Screenshot of Fathom Analytics importing my data from Google Analytics&quot; title=&quot;Importing my data from Google Analytics into Fathom Analytics&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This left me with a data gap though as I had switched my Analytics from GA Universal to GA4 in February but I was able to then import my GA4 data  from February to today using the date feature! So I have combined all the available data and ported into Fathom!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Wed, 10 May 2023 12:22:48 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2023-05-10-alternative-to-google-analytics/</guid>
    </item>
    <item>
      <title>html neck tag</title>
      <link>https://www.simoncox.com/short-articles/2023-05-09-html-neck-tag/</link>
      <description>&lt;h2 id=&quot;do-we-need-a-neck-tag-in-html%3F&quot; tabindex=&quot;-1&quot;&gt;Do we need a neck tag in html?&lt;/h2&gt;
&lt;p&gt;The neck tag doesn&#39;t exists in html but if it did I have a use case for it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://seocommunity.social/@dwsmart&quot;&gt;Dave Smart&lt;/a&gt; made a suggestion on Mastodon:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;head&amp;gt;, &amp;lt;body&amp;gt; but no &amp;lt;neck&amp;gt;? 
Where do I put the &amp;lt;meta name=&amp;quot;trachea&amp;quot; &amp;gt; tag. 

Madness.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I thought about this for a while and realised that there is a use case. Sometimes scripts in a head tag can break the head. If you have an advertising tag, your advertising team might inadvertently add a tag, such as iframe, that is only mean to be used in the body - and the way Google, and other crawlers, interpret the head mean that they stop reading head tags as soon as they come across a body tag. The assumption is that perhaps the body tag was missed and that is fair as the only tag that is actually required to be used in html is the title tag.  This means that any head tags after the script are ignored. The best practice is to put all scripts last in the head but if we had a neck tag they could go in there.&lt;/p&gt;
&lt;p&gt;Just a thought.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Tue, 09 May 2023 09:30:27 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2023-05-09-html-neck-tag/</guid>
    </item>
    <item>
      <title>AI making some astonishing leaps</title>
      <link>https://www.simoncox.com/short-articles/2023-03-23-ai-making-some-astonishing-leaps/</link>
      <description>&lt;p&gt;T﻿he AI revolution really began in 2022 for the common person but 2023 is the year where it really took off. Whilst everyone is trying to get the most out of ChatGPT, already on v4 Google Released its own text prompt AI yesterday called Bard and it is fast. I was able to pull in information from live URLs unlike ChatGPT which has a LLM that is at least 2 years old.&lt;/p&gt;
&lt;p&gt;I﻿t is, however, the Ai image space that has interested me the most and Midjourney v5 was released last week with a significant jump in quality to the point where it can be difficult to tell the creations are not real photos.&lt;/p&gt;
&lt;p&gt;Whilst I say AI, it is not true Artificial Intelligence but we are getting closer to that.&lt;/p&gt;
&lt;p&gt;T﻿he image below I generated using Midjourney – wasn&#39;t quite what I wanted even after several attempts but it is photographic and he has the right number of fingers! However if you look at the laptop there is no keyboard...&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/simoncox_looking_in_at_an_older_blond_haired_man_with_a_lond_bl_ac2eb0ec-ca77-44c2-8356-c0e46b1f2529.webp&quot; alt=&quot;Man with beard sitting at a cafe table to keep out of the rain. Cars and shops can be seen outside of the the window he is sitting next to.&quot; /&gt;&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Thu, 23 Mar 2023 08:30:26 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2023-03-23-ai-making-some-astonishing-leaps/</guid>
    </item>
    <item>
      <title>Webmentions</title>
      <link>https://www.simoncox.com/short-articles/2023-02-05-webmentions/</link>
      <description>&lt;p&gt;I﻿ have tried to add &lt;a href=&quot;https://en.wikipedia.org/wiki/Webmention&quot;&gt;Webmentions&lt;/a&gt; to the site having read &lt;a href=&quot;https://en.wikipedia.org/wiki/Webmention&quot;&gt;Max Böck&#39;s post&lt;/a&gt; on this and then &lt;a href=&quot;https://daily-dev-tips.com/posts/implementing-webmentions-on-a-11ty-blog/&quot;&gt;Chris Bongers post&lt;/a&gt; - both very helpful and bewildering at the same time! Have found my natural limit again having got so far with 11ty!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Sun, 05 Feb 2023 10:55:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2023-02-05-webmentions/</guid>
    </item>
    <item>
      <title>Netlify CMS</title>
      <link>https://www.simoncox.com/short-articles/2023-02-04-netlify-cms/</link>
      <description>&lt;p&gt;No issues with coding the pages up as and when I need but if I am on the go somewhere making changes to the site will have to wait - except that I have now installed the Netlify CMS! It&#39;s very lightweight for a CMS and is based on the 11ty Collections so static page changes are a little more difficult but posts are ok - such as this one.&lt;/p&gt;
&lt;h2 id=&quot;update%3A&quot; tabindex=&quot;-1&quot;&gt;Update:&lt;/h2&gt;
&lt;p&gt;Netlify CMS was rebranded to Decap CMS and is now run Independently by a Netlify partner agency.
&lt;a href=&quot;https://decapcms.org/&quot;&gt;More info on Decap CMS&lt;/a&gt;.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Sat, 04 Feb 2023 16:58:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2023-02-04-netlify-cms/</guid>
    </item>
    <item>
      <title>11ty inline minified css</title>
      <link>https://www.simoncox.com/short-articles/2023-02-03-11ty-inline-minified-css/</link>
      <description>&lt;p&gt;Minifying css for 11ty sites is quick and simple. &lt;a href=&quot;https://v0-7-1.11ty.dev/docs/quicktips/inline-css/&quot;&gt;Quick Tip #001—Inline minified CSS&lt;/a&gt; Using the CleanCSS plugin and moving the css file to _includes and then pulling the code into one line in the base.njk head.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Fri, 03 Feb 2023 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2023-02-03-11ty-inline-minified-css/</guid>
    </item>
    <item>
      <title>Website re-platform and a light redesign for 2023</title>
      <link>https://www.simoncox.com/post/2023-02-03-website-replatform/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2023-02-03-website-replatform.webp&quot; alt=&quot;Man sitting at a desk coding a website with multiple screens.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This website has been rebuilt many times since it was first put together in 1995 and it will probably go through more iterations in the future. Part of my enjoyment of the web is creating and optimising websites and I am always keen to learn more and try out different things.&lt;/p&gt;
&lt;h2 id=&quot;wix-website-builder&quot; tabindex=&quot;-1&quot;&gt;Wix website builder&lt;/h2&gt;
&lt;p&gt;The site had been hosted on Wix for a few years as part of my involvement on the Wix SEO Board. This allowed me to really dig into the platforms capabilities,  discuss it and feed back many suggestions to the Wix teams. Wix had a pretty bad reputation for all things SEO pre pandemic but with some very clever hiring, and a lot of hard work, they have turned the platform around and I can recommend it to anyone -now – especially those of you who don&#39;t have time to tinker under the hood like I do and need a lot of functionality.&lt;/p&gt;
&lt;p&gt;That said, I felt it was time to move my personal site on. I still have client sites on Wix and am still good friends with the Wix SEO teams.&lt;/p&gt;
&lt;h2 id=&quot;things-that-go-around&quot; tabindex=&quot;-1&quot;&gt;Things that go around&lt;/h2&gt;
&lt;p&gt;Back in the early days of the web there was no choice but to hand code a website and it was all just html files and images simply served. Over the past 28 years things have become considerably more complex. Page sizes have been bloated as broadband rolls out across (some of) the world. Then Google decided that speed of delivery of a page was a factor we had to think about and I applaud that. It has meant that a careful look at site code and a need to develop a slimmer, quicker set of code to deliver a website to someones browser. So some simpler techniques have come back into fashion.  Client side javascript can really slow down a users experience of a page so server side scripts are now preferred. And likewise why build your page on the fly when requested by a browser, as I had done for years with php based CMS&#39;s. Now the smart thing to do is deliver flat precompiled html from the server.&lt;/p&gt;
&lt;h2 id=&quot;static-site-generators&quot; tabindex=&quot;-1&quot;&gt;Static site generators&lt;/h2&gt;
&lt;p&gt;That does make building the site a little more tricky though as you really want to share bits of common code between pages. SSGs (Static Site Generators) do exactly this and provide flat file html output that you can then push to your hosting.&lt;/p&gt;
&lt;p&gt;I had been looking at flat file site generators for some years - all needed Command Line set up which I was not comfortable with. I ran the site on &lt;a href=&quot;https://getkirby.com/&quot;&gt;Kirby CMS.&lt;/a&gt; (a great CMS) up to the point of moving it to Wix and had hoped to revert back to Kirby but use it to &lt;a href=&quot;https://plugins.getkirby.com/d4l/static-site-generator&quot;&gt;create an flat site - you can actually do that.&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;However, I came across &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy.&lt;/a&gt; early in 2022 and it ticked a lot of boxes for me. I realised some of its potential (I&#39;m still learning new things about it all the time!) and even though it uses NPM and Terminal commands to set up, I dove in. I found several very helpful tutorials on how to set up a site in 11ty, &lt;a href=&quot;https://youtu.be/4wD00RT6d-g&quot;&gt;this video on turning static html/css into a blog being the one I kept going back to.&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I have been using Visual Studio Code (Microsoft – you hero&#39;s! ) for some years and it has a built in terminal and Git making my process all in one place. Easy to use.&lt;/p&gt;
&lt;h2 id=&quot;a-change-in-css-techniques&quot; tabindex=&quot;-1&quot;&gt;A change in CSS techniques&lt;/h2&gt;
&lt;p&gt;I was using style sheets before the web - in print programmes so when CSS launched I was onboard with it immediately and have been a big fan since. However it has come a long long way since those early days I whilst I had been using grid successfully on some sites I knew there was a better way.&lt;/p&gt;
&lt;h3 id=&quot;css-layout&quot; tabindex=&quot;-1&quot;&gt;CSS Layout&lt;/h3&gt;
&lt;p&gt;I have used &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout.&lt;/a&gt; from &lt;a href=&quot;https://heydonworks.com/&quot;&gt;Heydon Pickering.&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://bell.bz/&quot;&gt;Andy Bell.&lt;/a&gt;. This is set of very well thought out techniques for CSS layouts. This isn&#39;t a framework but a methodology so you need to think through what your layout is and how you can build that out. I&#39;d been looking at this for a few years and not really had a chance to try it out so now was the time to give it a go and am very glad I did!&lt;/p&gt;
&lt;p&gt;The layout of my site is roughly what it has been for many years but the code underneath is much smaller an better thought out. It&#39;s not perfect - but I&#39;m not a CSS Master Craftsman. It is however light and functional.&lt;/p&gt;
&lt;h3 id=&quot;fonts&quot; tabindex=&quot;-1&quot;&gt;Fonts&lt;/h3&gt;
&lt;p&gt;Typography has always fascinated me since I was a child and I have been making fonts for computers since the late 1970&#39;s. I couldn&#39;t afford &lt;a href=&quot;https://en.wikipedia.org/wiki/Letraset&quot;&gt;Letraset rub down type.&lt;/a&gt; sheets back then but was able to get a free Letraset Catalogue that had all their typefaces with all characters so I was able to copy them by hand. Sometimes I wish I&#39;d made a career out of typography, or model making, but it never happened. So I made a fairly big decision early on to utilise system fonts. This is the first site I have built for many years that does not have any fonts to download. This does mean the site looks different on different platforms but who is to know!!! The css uses your system fonts to display and that means a much faster site! And, importantly, I am really happy with the way the site looks!&lt;/p&gt;
&lt;h2 id=&quot;11ty-plugins&quot; tabindex=&quot;-1&quot;&gt;11ty plugins&lt;/h2&gt;
&lt;p&gt;Whilst I&#39;m not a fan of plug ins, because of the issues around dependencies and the vulnerabilities that WordPress tends to face, the plug ins for Netlify I am using so far are really just extensions of the core modules and I am a bit more comfortable with them. Of course they are not on the final site so not exposed to any shenanigans! Here are the one&#39;s I have used so far.&lt;/p&gt;
&lt;h3 id=&quot;minimise-css&quot; tabindex=&quot;-1&quot;&gt;Minimise CSS&lt;/h3&gt;
&lt;p&gt;Last week I realised there was a plug in for 11ty that allows you to minify the css. You put your css file in the _includes folder, and 11ty runs the minification on build and adds the minified css as a single line in the head. For smaller sites I am loading a minified line of css in the head of each page but for bigger sites it would make sense to build a minimised css file and link to it in the normal way. For this site it is fast, one less download, and very manageable.&lt;/p&gt;
&lt;h3 id=&quot;date-time&quot; tabindex=&quot;-1&quot;&gt;Date time&lt;/h3&gt;
&lt;p&gt;Small plug in to format date and times, using Luxon, on the blog pages.&lt;/p&gt;
&lt;h3 id=&quot;rss-feed&quot; tabindex=&quot;-1&quot;&gt;RSS feed&lt;/h3&gt;
&lt;p&gt;More on this a little later.&lt;/p&gt;
&lt;h2 id=&quot;finishing-touches-on-the-site-build&quot; tabindex=&quot;-1&quot;&gt;Finishing touches on the site build&lt;/h2&gt;
&lt;p&gt;The finishing touches took almost as long as the rest of the build and include:&lt;/p&gt;
&lt;h3 id=&quot;lighthouse-optimisations&quot; tabindex=&quot;-1&quot;&gt;Lighthouse optimisations&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Performance - 100% – this is mainly down to being a flat file html site and deciding not to use any fonts!&lt;/li&gt;
&lt;li&gt;Accessibility - 100% – had a few issues to fix - the usual touch areas around links were to small, and I have fat fingers so should know better.&lt;/li&gt;
&lt;li&gt;Best Practices - 100% – Again I had a few issues to deal with here but surprisingly few - images being part of that but they are always trouble.&lt;/li&gt;
&lt;li&gt;SEO - 100% – As I write this the site isn&#39;t actually launched and the SEO score is 97% and that is because the robots.txt file has blocked any indexing while it is only accessible on the Netlify dev URL. I really don&#39;t want the search engines indexing the pages until I move the domain over. I did quickly test without the block and got 100% on the SEO test so I know it&#39;s only that to deal with.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;structured-data&quot; tabindex=&quot;-1&quot;&gt;Structured data&lt;/h3&gt;
&lt;p&gt;I have included structured data to help the search engines understand the content. This was easy as an json script in the articles template with the content pulled from the article front matter. The other pages that have structured data are the home page and the About page – nothing else on the site really needs any.&lt;/p&gt;
&lt;h3 id=&quot;xml-sitemap&quot; tabindex=&quot;-1&quot;&gt;xml Sitemap&lt;/h3&gt;
&lt;p&gt;For completeness I added a sitemap.njk file and used &lt;a href=&quot;https://www.belter.io/eleventy-sitemap/&quot;&gt;Duncan McDougall&#39;s very handy post with code.&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt; Nice and quick - auto updates when the site is built = thats all I need. Added a link in robots txt to the sitemap file for completeness but it is in the normal place for one.&lt;/p&gt;
&lt;h3 id=&quot;rss-feed-1&quot; tabindex=&quot;-1&quot;&gt;RSS feed&lt;/h3&gt;
&lt;p&gt;There is a lovely 11ty plug in that does all the heavy lifting - you just need to point it to the collection you want to feed and set up the feed.njk file and it outputs a very serviceable feed.xml file. That is unless you put an &#39;s&#39; on the end of your collection name and don&#39;t realise for several hours while wondering why it&#39;s not working. I did give up at one point and put collections. All - but that really does produce a mess - don&#39;t do that. But aren&#39;t people going to set up something that uses your feed to auto populate their bot sites and beat me in the rankings for my own content? Never happened yet but I do have people reading my feed.&lt;/p&gt;
&lt;h2 id=&quot;hosting&quot; tabindex=&quot;-1&quot;&gt;Hosting&lt;/h2&gt;
&lt;p&gt;One of the attractions of an SSG is that there are a couple of very good hosting solutions available. &lt;a href=&quot;https://pages.cloudflare.com/&quot;&gt;Cloudflare Pages.&lt;/a&gt; and &lt;a href=&quot;https://www.netlify.com/&quot;&gt;Netlify.&lt;/a&gt;. I&#39;m using both and the key factor for me is the automated deployment from Github. I can push to git and this triggers deployment to the live server and in 30 seconds or so the changes are live. The first time you do this its almost magical! Of course both services are known for their CDN&#39;s so everything is fast. For small sites the cost is free - another massive incentive!&lt;/p&gt;
&lt;h2 id=&quot;what-did-i-learn%3F&quot; tabindex=&quot;-1&quot;&gt;What did I learn?&lt;/h2&gt;
&lt;p&gt;I have a really fast flat file site. I don&#39;t yet have a CMS to be able to update it quickly but thats ok for me as I have several tools that I can write in and then output to markdown. There are a lot of solutions for this that I am looking into. Netlify has a simple CMS - took a bit of setting up but I am using it on one site. I am a lot happier using Terminal, NPM and even javascript than I thought I would ever be and I have learnt a whole lot doing this.&lt;/p&gt;
&lt;p&gt;So far I am loving building in 11ty and have converted quite a few sites over to it. It cannot replace everything but for sites of a certain size and sets of requirements it&#39;s really doing it for me this year!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/2023-02-03-website-replatform-2.webp&quot; alt=&quot;Midjourney generated image of someone not unlike me a bit at a desk with keyboard an multiple screens coding something up.&quot; /&gt;&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/2023-02-03-website-replatform.webp" type="image" />
      <pubDate>Fri, 03 Feb 2023 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2023-02-03-website-replatform/</guid>
    </item>
    <item>
      <title>How to get your Wix website verified on Mastodon</title>
      <link>https://www.simoncox.com/post/2022-11-08-how-to-get-your-wix-website-verified-on-mastodon/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/how-to-get-your-wix-website-verified-on-mastodon.webp&quot; alt=&quot;Screenshot of my Mastodon profile with my website verified.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;steps-to-verify-your-website-on-your-mastodon-profile&quot; tabindex=&quot;-1&quot;&gt;Steps to verify your website on your Mastodon profile&lt;/h2&gt;
&lt;p&gt;Winters coming (Nothern hemisphere) and it&#39;s time to migrate. There is a large outbreak of avian birdflu around at the moment and in short people are looking toward other platforms to provide them with a Twitter experience. Luckily for me the SEO community, whom I very much enjoy the company of, has set up a new home on Mastodon. Most have not left Twitter yet, I have been there since 2007 and am reluctant to go but will not be posting there as much any more.&lt;/p&gt;
&lt;p&gt;Mastodon is a lot like Twitter but not the same so it&#39;s all new and takes a bit to get used to, much as Twitter did in the beginning for all of us. One of the features is that you can add up to four links to other websites such as your own. And when you add a link to your own site you can get it verified to prove to others who you are.&lt;/p&gt;
&lt;p&gt;The Mastodon instructions are simple enough - add this code into your site:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;https://your.mastodon.server/@you&amp;quot;&amp;gt;Mastodon&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;so mine is&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;https://seocommunity.social/@simoncox&amp;quot;&amp;gt;Mastodon&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;You can find it in your profile settings:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/how-to-get-your-wix-website-verified-on-mastodon-1.webp&quot; alt=&quot;Mastodon edit profile page showing website verification panel and instructions.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Mastodon edit profile page showing website verification panel and instructions&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Like any closed system Wix is not perfect and while you can add quite a few different &#39;rel&#39; instructions to links in the pages, such as nofollow and noopener (good for security), there is no rel=&amp;quot;me&amp;quot; yet. I say yet - date is 8th Nov 2022 and they may well have added this before I have hit publish as a few of the top Wix people are already on Mastodon!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/how-to-get-your-wix-website-verified-on-mastodon-2.webp&quot; alt=&quot;Wix advanced SEO link options.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Wix advanced SEO link options&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;So I tried to add the code using an embedded HTML element. I often turn to this for elements not available.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/how-to-get-your-wix-website-verified-on-mastodon-3.webp&quot; alt=&quot;Wix html element.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Wix html element&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It needs styling but it&#39;s on the page.&lt;/p&gt;
&lt;p&gt;However, that does not work and will not verify as the way this is loaded at run time means that it is not in the source code and Mastodon cannot find it. I believe it is loaded via the DOM. Javascript will destroy the world.&lt;/p&gt;
&lt;h2 id=&quot;this-is-how-to-get-your-wix-site-verified-on-mastodon&quot; tabindex=&quot;-1&quot;&gt;This is how to get your Wix site verified on Mastodon&lt;/h2&gt;
&lt;p&gt;Hang on I thought - is there another way - and yes there is. On my home page setting, I went to SEO and then Advanced and added an extra tag.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/how-to-get-your-wix-website-verified-on-mastodon-4.webp&quot; alt=&quot;Wix page settings options showing additional tags added.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Wix page settings options showing additional tags added&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;To do this use the Add New Tag function.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/how-to-get-your-wix-website-verified-on-mastodon-5.webp&quot; alt=&quot;Adding a new meta tag in Wix.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Adding a new meta tag in Wix&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As this is in the head the code will need to be a link tag:
&lt;code&gt;&amp;lt;link rel=&amp;quot;me&amp;quot; href=&amp;quot;https://seocommunity.social/@simoncox&amp;quot;/&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Change yours to your server and name.
Publish your site.&lt;/p&gt;
&lt;p&gt;You may need go back and remove, save and then re add your website link in your Mastodon profile and there may be a delay as I had seen this week with others trying to get verified..&lt;/p&gt;
&lt;h3 id=&quot;%26-voila!&quot; tabindex=&quot;-1&quot;&gt;&amp;amp; voila!&lt;/h3&gt;
&lt;p&gt;You get the green tick on your website link&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/how-to-get-your-wix-website-verified-on-mastodon-6.webp&quot; alt=&quot;Mastodon with my website verified.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Mastodon with my website verified&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Underwhelmed?&lt;/strong&gt; Yes of course you are! This is no Twitter verification but that in itself has gone down the drain and at least with this people will trust who you are a bit more, unlike on Twitter as that only costs &lt;strong&gt;$8&lt;/strong&gt; - this cost me hours.&lt;/p&gt;
&lt;h2 id=&quot;summary-tl%3Adr&quot; tabindex=&quot;-1&quot;&gt;Summary TL:DR&lt;/h2&gt;
&lt;p&gt;Edit and bung this in your website&#39;s head tag. If you are on Wix then read this whole page.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;link rel=&amp;quot;me&amp;quot; href=&amp;quot;https://your.mastodon.server/@you&amp;quot;/&amp;gt;&lt;/code&gt;&lt;br /&gt;
and live a happier life.&lt;/p&gt;
&lt;p&gt;You can find me on &lt;a href=&quot;https://seocommunity.social/@simoncox&quot;&gt;Mastodon.&lt;/a&gt;.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/how-to-get-your-wix-website-verified-on-mastodon.webp" type="image" />
      <pubDate>Tue, 08 Nov 2022 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2022-11-08-how-to-get-your-wix-website-verified-on-mastodon/</guid>
    </item>
    <item>
      <title>How to find insecure pages in your site before Google start penalising</title>
      <link>https://www.simoncox.com/post/2018-02-10-how-to-find-insecure-pages-in-your-site-before-google-start-penalising-them/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/find-insecure-pages-on-your-website.jpg&quot; alt=&quot;Screaming Frog Insecure Content Report.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;embrace-the-security-push&quot; tabindex=&quot;-1&quot;&gt;Embrace the security push&lt;/h2&gt;
&lt;p&gt;With the announcement that &lt;a href=&quot;https://security.googleblog.com/2018/02/a-secure-web-is-here-to-stay.html&quot;&gt;Google will be highlighting all non-secure sites.&lt;/a&gt;, https, from July 2018 website owners need to think about how their sites are being delivered to the public. For those not yet aware there are two protocols for web pages — http and https — HyperText Transfer Protocol and HyperText Transfer Protocol Secure. The Secure version needs a certificate that provides a level of security for the user to prove that the site they are visiting is encrypting the data between the site and the user’s browser — which in theory is safer than not encrypting it — I will not go into the deep dark depths of that now. What you do need to know is that secure sites are already in the majority after a big push by Google over the past few years to get the digital community to embrace security more. https is slower than http but there are now SEO advantages that outweigh the speed disadvantage.&lt;/p&gt;
&lt;p&gt;The keen eyed of you will notice as at this point in time (February 2018) this simon​cox​.com is not actually running on a secure server- other sites have taken precedence but I will be moving it to a new server as part of whats been a very long set of &lt;a href=&quot;https://my.wesh.uk/aff.php?aff=120&quot;&gt;migrations to the fabulous WESH UK hosting.&lt;/a&gt; where I will be enjoying automated SSL certification! Once a site has been moved over to https you need to check every internal link to ensure that they are also https. Often image paths are not relative (start with a / or ../ ) but contain the full URL, such as:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http://example.com/images/image.jpg&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;A full site audit needs to be undertaken to catch all the URLs that were not migrated. It is possible that those URLs are being redirected to the https URL but that adds a redirect into the journey and will slightly compromise the worth of the internal link — better to link directly.&lt;/p&gt;
&lt;p&gt;I recommend you download the &lt;a href=&quot;https://www.screamingfrog.co.uk/seo-spider/&quot;&gt;Screaming Frog SEO spider tool.&lt;/a&gt; to run the audit on your site. It is free for 500 URLs so anything bigger you will need to pay or you could hire someone to do that for you — I am available to do this kind of &lt;a href=&quot;https://coxand.co.uk/&quot;&gt;SEO audit at coxand​.co​.uk.&lt;/a&gt; of course!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;With Screaming Frog run a crawl against your website.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Once finished go to the Protocol tab and then you can filter by http to show the un-secure URLs on your site.&lt;/p&gt;
&lt;p&gt;Or you can use the Internal tab and click on the Address column header to sort it. You should then be able to review all URLs and easily spot anything that is not https. If you have a shed load of URLs then you can use the filter on the top right — just add http:// to that and it will filter the list to show you all non secure internal URLs found.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;List them and fix them!&lt;/strong&gt;&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/find-insecure-pages-on-your-website.jpg" type="image" />
      <pubDate>Sat, 10 Feb 2018 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2018-02-10-how-to-find-insecure-pages-in-your-site-before-google-start-penalising-them/</guid>
    </item>
    <item>
      <title>How I add canonicals into Perch CMS sites</title>
      <link>https://www.simoncox.com/post/2017-11-29-how-i-add-canonicals-into-perch-cms-sites/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/perch-canonicals-670x170.jpg&quot; alt=&quot;Perch CMS Canonicals.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;canonicals-can-trip-up-your-sites-seo&quot; tabindex=&quot;-1&quot;&gt;Canonicals can trip up your sites SEO&lt;/h2&gt;
&lt;p&gt;Originally conceived for situations where articles were duplicated they would reference the original. Google tends to choose the oldest version of a page that it can find (but not the only method it uses) and any other pages with the same or very similar content are considered duplicates and will not do a well on the Search Engine Results Pages - SERPs and we want our pages to do well there for the traffic.&lt;/p&gt;
&lt;p&gt;In most content management systems, developers tend to take the quick option and reference the URL the page is on. To an extent, this works very well but duplicate pages can occur by accident / non-design. For example, if you are using Perch and you decide to prettify your URLs by removing the .php you will have set up .htaccess rules to remove them. But did you decide your URLs should end in a / or not? Search Engines index URLs with and without the / as different pages — hence you can suffer from duplication.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;http://​www​.exam​ple​.com/​i​n​d​e​x.php&lt;/li&gt;
&lt;li&gt;http://​www​.exam​ple​.com/​index&lt;/li&gt;
&lt;li&gt;http://​www​.exam​ple​.com/&lt;/li&gt;
&lt;li&gt;http://​www​.exam​ple​.com&lt;/li&gt;
&lt;li&gt;http://​exam​ple​.com/​i​n​d​e​x.php&lt;/li&gt;
&lt;li&gt;http://​exam​ple​.com/​index&lt;/li&gt;
&lt;li&gt;http://​exam​ple​.com/&lt;/li&gt;
&lt;li&gt;http://​exam​ple​.com&lt;/li&gt;
&lt;li&gt;https://​www​.exam​ple​.com/​i​n​d​e​x.php&lt;/li&gt;
&lt;li&gt;https://​www​.exam​ple​.com/​index&lt;/li&gt;
&lt;li&gt;https://​www​.exam​ple​.com/&lt;/li&gt;
&lt;li&gt;https://​www​.exam​ple​.com&lt;/li&gt;
&lt;li&gt;https://​exam​ple​.com/​i​n​d​e​x.php&lt;/li&gt;
&lt;li&gt;https://​exam​ple​.com/​index&lt;/li&gt;
&lt;li&gt;https://​exam​ple​.com/&lt;/li&gt;
&lt;li&gt;https://​exam​ple​.com&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All the above are essentially the same page of content — a home page and the search engines have to work out which one is the original. They are getting much better at this but that’s not a reason to help them understand your website.&lt;/p&gt;
&lt;p&gt;All the above are essentially the same page of content — a home page and the search engines have to work out which one is the original. They are getting much better at this but that’s not a reason to help them understand your website.&lt;/p&gt;
&lt;p&gt;For subpages, canonicals are more critical as the search engines are less likely to be tolerant and often they will find your site through links to a subpage rather than down through the home page. Having the canonical automatically generated means that any URLs that resolve that you actually do not want on the site will include the incorrect canonical. If you remove the .php from the URLs, as I tend to do, then you may have situations where Perch is outputting links with the .php — the canonical would then include the .php and cause duplicate content issues. Footer menus are an example of where this may happen.&lt;/p&gt;
&lt;p&gt;I like to manually add the Canonical so that I know I am in control but this can lead to issues if an editor mistypes the URL so the technique I use grabs the list of pages from within Perch as a dropdown list for the editor to choose from.&lt;/p&gt;
&lt;h3 id=&quot;perch-field-type-%E2%80%94-pagelist&quot; tabindex=&quot;-1&quot;&gt;Perch field type — Pagelist&lt;/h3&gt;
&lt;p&gt;You will need to add the Perch field type into /​perch/​addons/​fieldtypes/​— drop the folder and its php file in there and you are good to go.&lt;/p&gt;
&lt;p&gt;The Perch 2 field type Page list is available from the Perch CMS site. At the time of writing, there is no Perch 3 version but the archived Perch 2 version seems to work ok.&lt;/p&gt;
&lt;h3 id=&quot;perch-template-code&quot; tabindex=&quot;-1&quot;&gt;Perch template code&lt;/h3&gt;
&lt;p&gt;The following code goes into perch/templates/pages/attributes/seo.html&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;link rel=&amp;quot;canonical&amp;quot; href=&amp;quot;&amp;lt;perch:pages id=&amp;quot;domain&amp;quot; /&amp;gt;&amp;lt;perch:pages id=&amp;quot;canonical&amp;quot; type=&amp;quot;pagelist&amp;quot; output=&amp;quot;pageurl&amp;quot; replace=&amp;quot;.php|,/index|&amp;quot; label=&amp;quot;Canonical page&amp;quot; help=&amp;quot;Please select the page you wish to have as the canonical URL for this page (normaly just choose this page)&amp;quot; required=&amp;quot;true&amp;quot; /&amp;gt;&amp;quot;&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;replace=”.php|” removes the .php from the URL.&lt;br /&gt;
type=“pagelist” provides the list of pages on your site&lt;/p&gt;
&lt;p&gt;On each page in the CMS appears a drop-down box with the pages you have on your site. The editor can select from this list thus avoiding manual errors — though they could choose the wrong page so that’s worth checking!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/perch-canonicals-input2.png&quot; alt=&quot;example of dropdown list used in the Perch content management system.&quot; /&gt;
&lt;em&gt;Example of dropdown list used in the Perch content management system&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The output code in the head:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;https://example.com/my-new-page&amp;quot;&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;and-there-is-more...&quot; tabindex=&quot;-1&quot;&gt;And there is more...&lt;/h2&gt;
&lt;h3 id=&quot;pagination&quot; tabindex=&quot;-1&quot;&gt;Pagination&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.cvwdesign.co.uk/&quot;&gt;Clive Walker.&lt;/a&gt; asked me how do I deal with pagination. Generally, I don’t as I pagination is the work of the devil and advertisers. There are so many sites who make you click through a series of pages to read an article — this is just to sell advertising, not to make it easy for you to read as usually the whole article could easily go on one page and you would scroll down to read it.&lt;/p&gt;
&lt;p&gt;There is, however, a situation where pagination is very useful — lists of article entries, categories, topics and tags. In these situations, it is recommended that there is a view all page and that the paginated pages are canonicalised to that, but with huge lists, a view all page is impractical — will take days to load etc. and then the paginated pages can be self-canonicalised. If you want to know more then head over to &lt;a href=&quot;https://www.deepcrawl.com/blog/best-practice/pagination-for-seo-as-easy-as-1-or-2-or-3/&quot;&gt;Deep Crawl’s information on canonicalisation and pagination.&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;18-december-2017-update-for-home-page&quot; tabindex=&quot;-1&quot;&gt;18 December 2017 Update for home page&lt;/h3&gt;
&lt;p&gt;I have also updated the perch code I used as there was an issue. The home page was outputting ‘/​index’ so I have added that into the replace statement as it was canonicalising the home page to a URL that didn’t exist — and that is a bad thing! Apologies to anyone who had used the code prior to today.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/perch-canonicals-670x170.jpg" type="image" />
      <pubDate>Wed, 29 Nov 2017 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2017-11-29-how-i-add-canonicals-into-perch-cms-sites/</guid>
    </item>
    <item>
      <title>Fix Apple Mail ’Unable to Verify Account Name or Password’ Error</title>
      <link>https://www.simoncox.com/post/2017-10-05-how-to-solve-the-apple-mail-unable-to-verify-account-name-or-password-issue/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/apple-mail-password-issue-resolution-0prime.jpg&quot; alt=&quot;Unable to verify account name or password message in Apple mail.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Have you been unable to verify account name or password, or changed your keychain password and had issues with Apple mail and services such as Linkedin, Google, Flickr, Vimeo? I have had this situation and I was able to solve it with a fix that will save you time.&lt;/p&gt;
&lt;h2 id=&quot;quickly-fix-the-apple-mail-%E2%80%9Dunable-to-verify-account-name-or-password%E2%80%9D-issue&quot; tabindex=&quot;-1&quot;&gt;Quickly fix the Apple mail ”unable to verify account name or password” issue&lt;/h2&gt;
&lt;p&gt;Reenter your password in the blank field and then &lt;strong&gt;press the tab button&lt;/strong&gt; &lt;em&gt;to move the focus out of the password field&lt;/em&gt; — the system will then check the account and password and if you have the correct password it will validate. Read on for more details&lt;/p&gt;
&lt;h2 id=&quot;changed-your-keychain-password-recently%3F-it-may-have-wiped-your-passwords-in-internet-accounts&quot; tabindex=&quot;-1&quot;&gt;Changed your keychain password recently? It may have wiped your passwords in Internet accounts&lt;/h2&gt;
&lt;p&gt;Recently I upgraded to High Sierra — the Apple OSX released in August 2017 and all appeared to go well with the upgrade — it certainly looks fresh. During the install a new security check came up — apparently, you cannot have the same password for your Mac log-in and your iCloud log-in. I was not expecting this so didn’t have my 1Password available on my iPhone to help generate a new one so I muddled through and thought I would change that again later. When I opened Apple Mail all my email accounts failed to connect — all were asking for the password. I have quite a few email accounts for different side projects and luckily I have the password all stored in 1password. However, none of the passwords would verify. I checked online webmail for a couple and the password worked just great so it wasn’t that.&lt;/p&gt;
&lt;p&gt;I got onto Apples very responsive and helpful help desk, who in turn asked me to do safe restarts and other things but nothing would change so they asked me to reinstall High Sierra. Several hours later (rural broadband…) I had the Mac back up and running and all seemed to be ok. I was able to get emails and life was back to happy.&lt;/p&gt;
&lt;p&gt;That was until I shut down the Mac a few days later. On rebooting it I was back to square one when the OSX asked me to reenter my password for Google services — I immediately checked Mail and sure enough none of the accounts were connecting — same ​‘&lt;strong&gt;Unable to verify account name or password&lt;/strong&gt;’ issue yet again.&lt;/p&gt;
&lt;p&gt;This time I was not going to reinstall the OSX — I’d had this issue years ago and had solved it then but could not remember what I did — just remembered it was simple but not obvious. After a lot of trial and error, I found the solution and am writing it up as much for myself as for anyone else who runs into the same issue. here you go:&lt;/p&gt;
&lt;h2 id=&quot;process-to-recover-your-osx-mac-mail-and-internet-accounts-from-the-%E2%80%8B%E2%80%98unable-to-verify-account-name-or-password%E2%80%99-issue.&quot; tabindex=&quot;-1&quot;&gt;Process to recover your OSX Mac Mail and Internet Accounts from the ​‘Unable to verify account name or password’ issue.&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Open your email account in system preferences&lt;/li&gt;
&lt;li&gt;Choose the email account to verify&lt;/li&gt;
&lt;li&gt;Note that your password field is blank&lt;/li&gt;
&lt;li&gt;Fill in the password&lt;/li&gt;
&lt;li&gt;Press Tab to move to the next field (Important!)&lt;/li&gt;
&lt;li&gt;Enjoy your email life&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;details-on-how-to-fix-osx-when-you-are-unable-to-verify-account-name-or-password&quot; tabindex=&quot;-1&quot;&gt;Details on how to fix OSX when you are unable to verify account name or password&lt;/h2&gt;
&lt;p&gt;Let’s go through the process in more detail. It took me a while to sort this out but it is in fact very simple.&lt;/p&gt;
&lt;h3 id=&quot;open-system-preferences-and-then-internet-accounts.&quot; tabindex=&quot;-1&quot;&gt;Open System Preferences and then Internet accounts.&lt;/h3&gt;
&lt;p&gt;You will have a list of your email accounts and other internet services on the left.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/apple-mail-password-issue-resolution-1.jpg&quot; alt=&quot; Apple OSX System Preferences screenshot with an arrow to where the Internet Accounts is.&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;for-account-where-you-have-your-own-server%3A&quot; tabindex=&quot;-1&quot;&gt;For account where you have your own server:&lt;/h2&gt;
&lt;p&gt;Click on your account and a few seconds later you get the popup asking for your password.&lt;/p&gt;
&lt;p&gt;Press cancel here as nothing you enter will validate.&lt;/p&gt;
&lt;p&gt;Once you have cancelled you will see the Mail account details:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/apple-mail-password-issue-resolution-2.jpg&quot; alt=&quot;Apple OSX System Preferences - Internet Accounts screenshot with arrow the example email account in list of accounts.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Please note the password field is blank — enter your account’s password here and then &lt;strong&gt;press the tab button&lt;/strong&gt; &lt;em&gt;to move the focus out of the password field&lt;/em&gt; — the system will then check the account and password and if you have the correct password it will validate.&lt;/p&gt;
&lt;p&gt;Do the same for each email account.&lt;/p&gt;
&lt;p&gt;Easier than reinstalling OSX…&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/apple-mail-password-issue-resolution-3.jpg&quot; alt=&quot;Apple OSX internet accounts screenshot showing an account chosen  and an arrow pointing to the password field as mentioned in this post.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;For accounts like Google mail, Facebook, Linkedin etc I deleted the account and created a new one.&lt;/p&gt;
&lt;h3 id=&quot;summary&quot; tabindex=&quot;-1&quot;&gt;Summary&lt;/h3&gt;
&lt;p&gt;So it looks like the keychain is used to validate your password — and because I had changed my login password, all the passwords stored for those accounts had been deleted. This is a very frustrating bug in OSX and I would have expected better from Apple but it may be an edge case that rarely happens and other factors may be at play with keychain keeping us secure.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;and-there-is-more...&quot; tabindex=&quot;-1&quot;&gt;And there is more...&lt;/h2&gt;
&lt;p&gt;From the amount of traffic and comments I have been having this might not be such a niche issue! Come on Apple!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;13th February 2019 Update&lt;/strong&gt;&lt;br /&gt;
Just had a comment from PaddyC stating that he found another solution as mine was not working for him — this may help others! Thank you Paddy!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But, in the Mac Mail &amp;gt; Preferences &amp;gt; Accounts dialogue window, I found that there was no password in the Outgoing Mail Server section of both accounts (click on desired account then on Server Settings). Simply putting the password in here and clicking the save button got everything working properly again.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/apple-mail-password-issue-resolution-0prime.jpg" type="image" />
      <pubDate>Thu, 05 Oct 2017 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2017-10-05-how-to-solve-the-apple-mail-unable-to-verify-account-name-or-password-issue/</guid>
    </item>
    <item>
      <title>Using a CDN to help migrate your sites hosting</title>
      <link>https://www.simoncox.com/post/2016-09-18-using-a-cdn-to-help-migrate-your-sites-hosting/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/using-a-cdn-coach-and-horses.jpg&quot; alt=&quot;Coach and Horses at the Edenbridge and Oxted Show.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;without-having-that-dns-propagation-wait&quot; tabindex=&quot;-1&quot;&gt;without having that DNS propagation wait&lt;/h2&gt;
&lt;p&gt;As part of an upgrade to a site we wanted to add a blog to provide news and updates. The site was flat filed so putting it onto Perch was the obvious way to go — there were plenty of other benefits as well. I wanted to make the transition from the sites US hosting, where it had been for some years, to &lt;a href=&quot;http://my.wesh.uk/aff.php?aff=120&quot;&gt;WESH — a UK based host.&lt;/a&gt;. I had developed the site locally and was ready to upload it to the new hosting but I wanted to avoid the DNS propagation dance which always annoys me.&lt;/p&gt;
&lt;p&gt;This site was already set up on the &lt;a href=&quot;https://cloudflare.com/&quot;&gt;cloud​flare​.com, a Content Delivery Network.&lt;/a&gt;. The domain name then resolves to Cloudflare’s platform and caches your site allowing for faster delivery.&lt;/p&gt;
&lt;p&gt;The new site was then uploaded (old school FTP) and the mysql file installed on the new host using the IP address.&lt;/p&gt;
&lt;p&gt;I checked through the site using a chrome plug in — Virtual Hosts — that allows you to do a local DNS change. I mapped the sites domain to the new IP address and then could test using the domain name. It has a little red light to remind you that it is on — don’t forget to turn off later!&lt;/p&gt;
&lt;p&gt;I then logged into Cloudflare and changed the type A settings for the domain to the new IP address. On this site I only have the website going through Cloudflare’s services. FTP, Mail and other stuff is DNS only and avoids the CDN services.&lt;/p&gt;
&lt;p&gt;The delivery of the new pages is instant as there is no DNS propagation needed as we have not changed name servers. But there is one more step to smooth things along. I go to Caching in Cloudflare and use the Purge cache process. The ​‘Purge Individual Files’ button is a drop down and you can choose Purge Everything. The refreshes the CDN with the files from the uploaded site. This step isn’t necessary if you have moved everything over from the old host. In this case I had rebuilt the site onto Perch so it was a new site and I needed to purge the cache. You could leave the cache priming to the first visitors but I like to give a quick visit to the main pages. This triggers Cloudflare’s caching so following visitors can enjoy the fast pages.&lt;/p&gt;
&lt;p&gt;I did not change the IP address for the mail services as I will need to talk the client through that. At the moment mail services are still managed through the old servers. Updating email settings is usually the most time consuming part of the whole process. In this case I can send a file so it reconfigures her email settings automatically. Once done I leave it a few weeks then close the hosting service down.&lt;/p&gt;
&lt;p&gt;And that is it. While others are refreshing waiting for the DNS to propagate I am off for a cuppa.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/using-a-cdn-coach-and-horses.jpg" type="image" />
      <pubDate>Sun, 18 Sep 2016 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2016-09-18-using-a-cdn-to-help-migrate-your-sites-hosting/</guid>
    </item>
    <item>
      <title>EU cookie consent law largely ignored</title>
      <link>https://www.simoncox.com/post/2012-05-28-eu-cookie-consent-law-largely-ignored/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/eucookieconsentlaw.webp&quot; alt=&quot;EU Cookie Consent law banner showing cookie consent banners from various UK organisation websites.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;most-uk-organisations-have-ignored-the-eu-directive-on-cookies&quot; tabindex=&quot;-1&quot;&gt;Most UK organisations have ignored the EU directive on cookies&lt;/h2&gt;
&lt;p&gt;The EU Cookie Consent law has been making a lot of waves in the web industry since it was first announced. The UK was given an extended period to implement the law and this has been overseen by the &lt;a href=&quot;https://ico.org.uk/&quot;&gt;Information Commissioner’s Office.&lt;/a&gt; — ​“the UK’s independent authority set up to uphold information rights in the public interest, promoting openness by public bodies and data privacy for individuals” — know as the ICO.&lt;/p&gt;
&lt;p&gt;The ICO published a list of organisations that it has written to, spread across a wide spectrum of operations, and in many cases has been working with to get feedback on the approach to the cookie law issue. This resulted in an 11th hour change to the law on the 24th May 2012 much to the outrage of those companies that have spent a lot of time and effort getting compliant in time.&lt;/p&gt;
&lt;p&gt;I reviewed that list of organisations expecting to see the majority of sites in compliance with the new law — especially since the ICO had highlighted these and had been in contact. These were my findings:&lt;/p&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;2&quot; style=&quot;margin: 0 0 3rem 0&quot;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan=&quot;4&quot;&gt;&lt;span class=&quot;caps&quot;&gt;UK&lt;/span&gt; top organ&amp;#xAD;i&amp;#xAD;sa&amp;#xAD;tions cook&amp;#xAD;ie review&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tfoot&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot;&gt;&amp;#xA9; Simon&amp;#xA0;Cox&lt;/td&gt;
&lt;/tr&gt;&lt;/tfoot&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Organ&amp;#xAD;i&amp;#xAD;sa&amp;#xAD;tion&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt; reviewed&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Opt in/&amp;#x200B;out?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cook&amp;#xAD;ies&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Acu&amp;#xAD;men Pro&amp;#xAD;fes&amp;#xAD;sion&amp;#xAD;al Intel&amp;#xAD;li&amp;#xAD;gence Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.thestudentroom.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.thes&amp;#x200B;tu&amp;#x200B;den&amp;#x200B;t&amp;#x200B;room&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;4&lt;/span&gt;&lt;/td&gt; 
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ama&amp;#x200B;zon&amp;#x200B;.co&amp;#x200B;.uk Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.amazon.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.ama&amp;#x200B;zon&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;caps&quot;&gt;AOL&lt;/span&gt; (&lt;span class=&quot;caps&quot;&gt;UK&lt;/span&gt;) Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.aol.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.aol&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;11&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Apple (&lt;span class=&quot;caps&quot;&gt;UK&lt;/span&gt;) Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.apple.com/uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.apple&amp;#x200B;.com/uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Argos Lim&amp;#xAD;it&amp;#xAD;ed&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.argos.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.argos&amp;#x200B;.co&amp;#x200B;.uk&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Asso&amp;#xAD;ci&amp;#xAD;at&amp;#xAD;ed News&amp;#xAD;pa&amp;#xAD;pers Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.dmgt.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.asso&amp;#x200B;ci&amp;#x200B;at&amp;#x200B;ed&amp;#x200B;news&amp;#x200B;pa&amp;#x200B;pers&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Auto&amp;#xAD;mo&amp;#xAD;bile Asso&amp;#xAD;ci&amp;#xAD;a&amp;#xAD;tion Devel&amp;#xAD;op&amp;#xAD;ments Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.theaa.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.theaa&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Bar&amp;#xAD;clays Bank&amp;#xA0;&lt;span class=&quot;caps&quot;&gt;PLC&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.barclays.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.bar&amp;#x200B;clays&amp;#x200B;.co&amp;#x200B;.uk&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;caps&quot;&gt;BBC&lt;/span&gt; News&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.bbc.co.uk/news&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.bbc&amp;#x200B;.co&amp;#x200B;.uk/&amp;#x200B;news/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;caps&quot;&gt;BBC&lt;/span&gt; Radio&amp;#xA0;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.bbc.co.uk/radio1&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.bbc&amp;#x200B;.co&amp;#x200B;.uk/&amp;#x200B;r&amp;#x200B;a&amp;#x200B;dio&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;6&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;caps&quot;&gt;BBC&lt;/span&gt; Sports&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.bbc.co.uk/sport&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.bbc&amp;#x200B;.co&amp;#x200B;.uk/&amp;#x200B;s&amp;#x200B;p&amp;#x200B;o&amp;#x200B;rt/&lt;span class=&quot;numbers&quot;&gt;0&lt;/span&gt;/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;6&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Belfast City Council&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.belfastcity.gov.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.belfastc&amp;#x200B;i&amp;#x200B;ty&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Bet&amp;#xAD;fair Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.betfair.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.bet&amp;#x200B;fair&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;11&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Boots &lt;span class=&quot;caps&quot;&gt;UK&lt;/span&gt; Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.boots.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.boots&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;11&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;British Air&amp;#xAD;ways&amp;#xA0;&lt;span class=&quot;caps&quot;&gt;PLC&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.britishairways.com/travel/home/public/en_gb&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.britishair&amp;#x200B;ways&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;18&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;British Broad&amp;#xAD;cast&amp;#xAD;ing Corporation&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.bbc.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.bbc&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;7&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;British Sky Broad&amp;#xAD;cast&amp;#xAD;ing Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.sky.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.sky&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Chan&amp;#xAD;nel Four Tele&amp;#xAD;vi&amp;#xAD;sion Corporation&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.channel4.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.chan&amp;#x200B;nel&lt;span class=&quot;numbers&quot;&gt;4&lt;/span&gt;&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Depart&amp;#xAD;ment For Transport&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.gov.uk/government/organisations/department-for-transport&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.dft&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Deputy Com&amp;#xAD;pa&amp;#xAD;ny Secretary&lt;/td&gt;
&lt;td&gt;?&lt;/td&gt;
&lt;td&gt;?&lt;/td&gt;
&lt;td&gt;?&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Der&amp;#xAD;ry City Council&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.derrystrabane.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.der&amp;#x200B;ryc&amp;#x200B;i&amp;#x200B;ty&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Direct Line Insur&amp;#xAD;ance&amp;#xA0;Plc&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.directline.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.direct&amp;#x200B;line&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Domino&amp;#x2019;s Piz&amp;#xAD;za Group Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://corporate.dominos.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.domi&amp;#x200B;nos&amp;#x200B;.uk&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dum&amp;#xAD;fries and Gal&amp;#xAD;loway Council&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.dumgal.gov.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.dum&amp;#x200B;gal&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;easy&amp;#xAD;Jet Air&amp;#xAD;line Com&amp;#xAD;pa&amp;#xAD;ny Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.easyjet.com/en/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.easy&amp;#x200B;jet&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;21&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ebay (&lt;span class=&quot;caps&quot;&gt;UK&lt;/span&gt;) Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.ebay.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.ebay&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Every&amp;#xAD;thing Every&amp;#xAD;where Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://ee.co.uk/&quot;&gt;http://&amp;#x200B;every&amp;#x200B;thingev&amp;#x200B;ery&amp;#x200B;where&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Face&amp;#xAD;book &lt;span class=&quot;caps&quot;&gt;UK&lt;/span&gt;&amp;#xA0;Ltd&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.facebook.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.face&amp;#x200B;book&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Giv&amp;#x200B;ing&amp;#x200B;.com Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.justgiving.com/&quot;&gt;http://&amp;#x200B;giv&amp;#x200B;ing&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Google &lt;span class=&quot;caps&quot;&gt;UK&lt;/span&gt; Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.google.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.google&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;6&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Group Reg&amp;#xAD;u&amp;#xAD;la&amp;#xAD;to&amp;#xAD;ry Relations&lt;/td&gt;
&lt;td&gt;?&lt;/td&gt;
&lt;td&gt;?&lt;/td&gt;
&lt;td&gt;?&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Hall&amp;#xAD;mark Cards&amp;#xA0;&lt;span class=&quot;caps&quot;&gt;PLC&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.hallmark.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.hall&amp;#x200B;mark&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;6&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Hay&amp;#xAD;mar&amp;#xAD;ket Media Group&amp;#xA0;Ltd&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.haymarket.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.hay&amp;#x200B;mar&amp;#x200B;ket&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;caps&quot;&gt;HSBC&lt;/span&gt; Bank&amp;#xA0;&lt;span class=&quot;caps&quot;&gt;PLC&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.hsbc.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.hsbc&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;caps&quot;&gt;IPC&lt;/span&gt; Media Ltd (&lt;span class=&quot;caps&quot;&gt;NME&lt;/span&gt;)&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.ti-media.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.ipc&amp;#x200B;me&amp;#x200B;dia&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Jamie Oliv&amp;#xAD;er Enter&amp;#xAD;pris&amp;#xAD;es Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.jamieoliver.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.jamieo&amp;#x200B;liv&amp;#x200B;er&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;6&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Jet&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&amp;#x200B;.com Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.jet2.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.jet&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;14&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John Lewis&amp;#xA0;&lt;span class=&quot;caps&quot;&gt;PC&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.johnlewis.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.john&amp;#x200B;lewis&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lloyds &lt;span class=&quot;caps&quot;&gt;TSB&lt;/span&gt; Bank&amp;#xA0;&lt;span class=&quot;caps&quot;&gt;PLC&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.lloydsbank.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.lloyd&amp;#x200B;stsb&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Merthyr Tyd&amp;#xAD;fil Coun&amp;#xAD;ty Bor&amp;#xAD;ough Council&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.merthyr.gov.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.merthyr&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Met Office&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.metoffice.gov.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.metof&amp;#x200B;fice&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Micro&amp;#xAD;court Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.jacquielawson.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.jacquielaw&amp;#x200B;son&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;10&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Microsoft Lim&amp;#xAD;it&amp;#xAD;ed&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.microsoft.com/en-gb/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.microsoft&amp;#x200B;.com/&amp;#x200B;e&amp;#x200B;n&amp;#x200B;-&amp;#x200B;g&amp;#x200B;b&amp;#x200B;/&amp;#x200B;d&amp;#x200B;e&amp;#x200B;f&amp;#x200B;a&amp;#x200B;u&amp;#x200B;l&amp;#x200B;t&amp;#x200B;.aspx&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Mind Can&amp;#xAD;dy Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://mindcandy.com/&quot;&gt;http://&amp;#x200B;mind&amp;#x200B;can&amp;#x200B;dy&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Mon&amp;#x200B;ey&amp;#x200B;su&amp;#x200B;per&amp;#x200B;mar&amp;#x200B;ket&amp;#x200B;.com&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.moneysupermarket.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.mon&amp;#x200B;ey&amp;#x200B;su&amp;#x200B;per&amp;#x200B;mar&amp;#x200B;ket&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MyMaths Lim&amp;#xAD;it&amp;#xAD;ed&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.mymaths.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.mymaths&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Nation&amp;#xAD;al Assem&amp;#xAD;bly for&amp;#xA0;Wales&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://www.assembly.wales/en/Pages/Home.aspx&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.assem&amp;#x200B;bly&amp;#x200B;wales&amp;#x200B;.org/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Nation&amp;#xAD;al Lottery&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.national-lottery.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.nation&amp;#x200B;al&amp;#x200B;-lot&amp;#x200B;tery&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;9&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Nation&amp;#xAD;al West&amp;#xAD;min&amp;#xAD;ster Bank&amp;#xA0;&lt;span class=&quot;caps&quot;&gt;PLC&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://personal.natwest.com/personal.html&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.natwest&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;6&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Net&amp;#xAD;work Rail Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.networkrail.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.net&amp;#x200B;workrail&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Next Group&amp;#xA0;&lt;span class=&quot;caps&quot;&gt;PLC&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.nextplc.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.nextplc&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;caps&quot;&gt;NHS&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.nhs.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.nhs&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;caps&quot;&gt;NHS&lt;/span&gt; Choic&amp;#xAD;es&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.nhs.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.nhs&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;North&amp;#xAD;ern Ire&amp;#xAD;land Assembly&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://www.niassembly.gov.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.niassem&amp;#x200B;bly&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Pub&amp;#xAD;lic Ser&amp;#xAD;vice Ombuds&amp;#xAD;man&amp;#xA0;Wales&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.ombudsman.wales/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.ombuds&amp;#x200B;man&amp;#x200B;-wales&amp;#x200B;.org&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Qype Lim&amp;#xAD;it&amp;#xAD;ed&lt;/td&gt;
&lt;td&gt;http://&amp;#x200B;www&amp;#x200B;.qype&amp;#x200B;.co&amp;#x200B;.uk/&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;19&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Right&amp;#xAD;move Group Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.rightmove.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.right&amp;#x200B;move&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Roy&amp;#xAD;al Soci&amp;#xAD;ety For The Pro&amp;#xAD;tec&amp;#xAD;tion of&amp;#xA0;Birds&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.rspb.org.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.rspb&amp;#x200B;.org&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;14&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sains&amp;#xAD;burys Super&amp;#xAD;mar&amp;#xAD;ket Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.sainsburys.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.sains&amp;#x200B;burys&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;10&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Scot&amp;#xAD;tish Government&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www2.gov.scot/&quot;&gt;http://&amp;#x200B;home&amp;#x200B;.scot&amp;#x200B;land&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Scot&amp;#xAD;tish Parliament&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.parliament.scot/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.scot&amp;#x200B;tish&amp;#x200B;.par&amp;#x200B;lia&amp;#x200B;ment&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Scot&amp;#xAD;tish Pub&amp;#xAD;lic Ser&amp;#xAD;vices Ombudsman&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.spso.org.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.spso&amp;#x200B;.org&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Tesco Stores Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.tesco.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.tesco&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;6&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;tfl&amp;#x200B;.gov&amp;#x200B;.uk&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://tfl.gov.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.tfl&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;The Cab&amp;#xAD;i&amp;#xAD;net Office&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.gov.uk/government/organisations/cabinet-office&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.cab&amp;#x200B;i&amp;#x200B;netof&amp;#x200B;fice&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;The Nation&amp;#xAD;al&amp;#xA0;Trust&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.nationaltrust.org.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.nation&amp;#x200B;al&amp;#x200B;trust&amp;#x200B;.org&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;10&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;The Office Of The Ombuds&amp;#xAD;man For&amp;#xA0;&lt;span class=&quot;caps&quot;&gt;NI&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://nipso.org.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.ni&amp;#x200B;-ombuds&amp;#x200B;man&amp;#x200B;.org&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Trad&amp;#xAD;er Pub&amp;#xAD;lish&amp;#xAD;ing&amp;#xA0;Ltd&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.autotrader.co.uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.auto&amp;#x200B;trad&amp;#x200B;er&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;25&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;caps&quot;&gt;TSL&lt;/span&gt; Edu&amp;#xAD;ca&amp;#xAD;tion Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.tes.com/tesglobal&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.tsle&amp;#x200B;d&amp;#x200B;u&amp;#x200B;ca&amp;#x200B;tion&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Turn&amp;#xAD;er Broad&amp;#xAD;cast&amp;#xAD;ing Sys&amp;#xAD;tem Europe Ltd&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.warnermediagroup.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.turn&amp;#x200B;er&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Vir&amp;#xAD;gin Media Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.virginmedia.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.vir&amp;#x200B;gin&amp;#x200B;media&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;18&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Weight&amp;#xAD;watch&amp;#xAD;ers&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.weightwatchers.com/uk/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.weight&amp;#x200B;watch&amp;#x200B;ers&amp;#x200B;.co&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Welsh Gov&amp;#xAD;ern&amp;#xAD;ment&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://gov.wales/&quot;&gt;http://&amp;#x200B;wales&amp;#x200B;.gov&amp;#x200B;.uk/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;William Hill (Book&amp;#xAD;mak&amp;#xAD;ers)&amp;#xA0;Ltd&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.williamhill.com/&quot;&gt;http://&amp;#x200B;www&amp;#x200B;.williamhill&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Yahoo &lt;span class=&quot;caps&quot;&gt;UK&lt;/span&gt; Limited&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://uk.yahoo.com/&quot;&gt;http://&amp;#x200B;uk&amp;#x200B;.yahoo&amp;#x200B;.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;span class=&quot;numbers&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;  
&lt;p&gt;Of the 75 organisations listed by the ICO 13 had implemented a cookie consent function, 60 had done nothing (and may not need to) and 2 I could not fathom who the ICO had written to so could not find a website to test.&lt;/p&gt;
&lt;p&gt;This is despite good &lt;a href=&quot;https://www.thedrum.com/opinion/2012/05/25/top-tips-complying-cookie-law&quot;&gt;advice and tips on Cookie Consent law implementation.&lt;/a&gt; being readily available around the web. One UK agency, Silktide, have even created a &lt;a href=&quot;https://cookieconsent.osano.com/&quot;&gt;Cookie Consent kit.&lt;/a&gt; that takes 5 minutes to update a site to make it compliant. For the bigger companies though this kind of change is a challenge and the court costs and fines may well be less than the cost of implementation.&lt;/p&gt;
&lt;p&gt;If you want to read more about the Cookie Consent law I suggest you start your journey at the &lt;a href=&quot;https://ico.org.uk/&quot;&gt;ICO.&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;To do this test I used the Ghostery Chrome plug-in to show the cookies but in some cases it did not detect any so on further investigation with the Web Developer plug in I was able to see the cookies set by the website. It’s not perfect but its a good indication of the state of compliance with this law.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note that simon​cox​.com is not on the ICO list and therefore I have not been directly consulted by the ICO and since none of the EU websites have bothered to comply (seriously!) I will wait to see what the best practice is — or for a change in the law.&lt;/em&gt;&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/eucookieconsentlaw.webp" type="image" />
      <pubDate>Mon, 28 May 2012 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2012-05-28-eu-cookie-consent-law-largely-ignored/</guid>
    </item>
    <item>
      <title>Uploading images outside of Perch CMS default resource directory</title>
      <link>https://www.simoncox.com/short-articles/2012-05-11-uploading-images-outside-of-perch-cms-default-resource-directory/</link>
      <description>&lt;p&gt;I have been building a site using the fabulous Perch CMS but discovered that the default upload path for images is inside the perch directory which caused my a bit of concern. Most Perch based sites I have looked at have been happy to use this but to be extra safe I like to change the name of the Perch directory which is easy to do in the config.php file.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;define(‘PERCH_LOGINPATH’, ‘/admin’);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;However any uploaded files go into the resources directory which is actually inside the Perch directory - thus revealing what you have renamed it. That wasn’t really how I wanted it so I contacted the Perch chaps - very helpful - to see if I could set a path for the uploads outside of the Perch directory.&lt;/p&gt;
&lt;p&gt;What they suggested was changing two of the line in the Perch config.php file to include the full path to the directory file and the directory from the root of the site:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;define(‘PERCH_RESFILEPATH’, PERCH_PATH . DIRECTORY_SEPARATOR . ‘/Volumes/Drobo/www.mysite,com/
development/20120508/assets/img/content’);

define(‘PERCH_RESPATH’, PERCH_LOGINPATH . ‘/assets/img/content’); 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I set this all up as instructed but was getting errors in the control panel - Perch was appending the perch directory - /admin in my example above - on the beginning of the URL for the upload directory giving a path of /admin/assets/img/content- not what was wanted at all!&lt;/p&gt;
&lt;p&gt;So I raised the issue with the Perch team again and they gave me some (apparently) undocumented advice to change the two file path lines in config.php to:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;define(‘PERCH_RESFILEPATH’, ‘/Volumes/Drobo/www.mysite,com/
development/20120508/assets/img/content’);

define(‘PERCH_RESPATH’, ‘/assets/img/content’);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and that worked a treat!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Fri, 11 May 2012 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2012-05-11-uploading-images-outside-of-perch-cms-default-resource-directory/</guid>
    </item>
    <item>
      <title>ExpressionEngine custom log-in page</title>
      <link>https://www.simoncox.com/short-articles/2011-10-12-expressionengine-custom-log-in-page/</link>
      <description>&lt;p&gt;Just read a great article at 40horse.com on creating a custom ExpressionEngine2 Login Screen so decided to have a quick update to my own login screen. It is slightly frivolous as only I will ever see it hopefully but every little bit helps.&lt;/p&gt;
&lt;p&gt;I edited the login.css found inside the main themes folder /default/css themes/&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;body {
background-color: #ffffff;
font-family: &amp;quot;Helvetica Neue&amp;quot;, Arial, Helvetica, Geneva, sans-serif;
text-align: center;
font-size: 12px;
color: #ecf1f3;
margin: 0;
padding: 0;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Changed the main image:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#content {
text-align: left;
padding: 260px 20px 5px 20px;
margin: 20px auto 0 auto;
width: 440px;
background: url(&#39;/images/illustration.png&#39;) no-repeat center top;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Changed the submit button colour:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;input.submit {
background: #91cb0a;
padding: 7px 16px 9px 16px;
color: #fff;
font-weight: bold;
border: 0;
width: auto;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And added some shape to the form element.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;form {
background:#333333;
padding: 10px;
border-radius: 20px;
border-top: 1px solid #999999;
moz-border-radius: 20px;
webkit-border-radius: 32px;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Simple, quick and easy way to add a bit of pizazz to a site. I have known about editing the login screen for a long time but was one of those things I had never tried so thanks to Josh Hopkins for the prompt!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/ee-login-screen-customisation.png&quot; alt=&quot;Customised ExpressionEngine log-in screen&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;update-october-2025&quot; tabindex=&quot;-1&quot;&gt;Update October 2025&lt;/h2&gt;
&lt;p&gt;I did switch away from ExpressionEngine for this site – though io still use it for others and highly recommend it. I have a tendency to try out different systems on my own site and have used four different ones to date since ExpressionEngine.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Wed, 12 Oct 2011 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2011-10-12-expressionengine-custom-log-in-page/</guid>
    </item>
    <item>
      <title>EEUK11 report from the 2011 ExpressionEngine conference in Manchester</title>
      <link>https://www.simoncox.com/post/2011-08-27-eeuk11-report/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/eeuk11-report-1032x.jpg&quot; alt=&quot;On the train on the way to EEUK11 by - Thu, August 25, 2011. Updating the EEUK11 Tweets From page using my ipad and bluetooth keyboard.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-first-uk-expressionengine-conference&quot; tabindex=&quot;-1&quot;&gt;The first UK ExpressionEngine conference&lt;/h2&gt;
&lt;p&gt;I first considered going to the EEUK11 conference when it came up in a discussion at one of our LondonEErs meetup sessions. I had seen a few tweets about the possibility of a UK conference following the superb EECI event in Leiden in 2010 run by Robert Eerhart but I honestly didn’t think it would amount to much. I am very pleased to have been proved wrong on that first assumption as the EEUK event was fabulous. I bought my ticket, booked a hotel and after checking the prices for travel realised that a first-class advanced booking seat on Virgin trains was only a few pounds more so went for that as well. As it was I got to use the Virgin Lounge at Euston and Manchester Picadilly including their WiFi and power. On the train, I also had free WiFi, power at my seat, a sandwich, biscuits, plenty of tea and a refreshing beer. That all set me up in the right frame of mind when I arrived at Manchester where by chance I met @MarmaladeToday who was staying at the same hotel so we wandered into the centre of Manchester.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/eeuk11-report-on-train.jpg&quot; alt=&quot;On the train on the way to EEUK11 by - Thu, August 25, 2011: Updating the EEUK11 &#39;Tweets From&#39; page using my ipad and bluetooth keyboard.&quot; /&gt;
&lt;em&gt;On the train on the way to EEUK11 by - Thu, August 25, 2011: Updating the EEUK11 &#39;Tweets From&#39; page using my ipad and bluetooth keyboard&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I have never been to Manchester before and the Victorian industrial visage they opened up before me was a delight. Street names such as Whitworth (key mover in industrial revolution standards — and hence a forefather of modern web standards — kind of) resonated with me. I felt comfortable despite the recent riots (though I was travelling up from Croydon). The hotel was good — nearby to the venue and in the middle of Manchester. As we walked into reception there was Robert Eerhart relaxed on a couch tweeting away waiting for the others in the hotel.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/eeuk11-report-robert-eerhart.jpg&quot; alt=&quot;@RobertEerhart by - Thu, August 25, 2011: Twittering before EEUK11.&quot; /&gt;
&lt;em&gt;@RobertEerhart by - Thu, August 25, 2011: Twittering before EEUK11&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;After checking in we popped out for a swift beverage in the Waterhouse (&lt;a href=&quot;https://neverspoons.app/&quot;&gt;Wetherspoons.&lt;/a&gt;) up the road where we were joined by the delightful ​‘nut bag’ known as Mrsflinger, and John Henry. then we set off for the night’s venue — Dukes 69. This appeared to be a set of old warehouses surrounded by canals. It was a lovely venue but was packed with Manchester nightlife — I&#39;m not sure I agree with 6-month-old babies being in a noisy wine bar even if their mums do want a night out. Despite that we had a good time — pizza was consumed along with White Witch beer. The speakers decided they would go back to the hotel at about half nine as they had all had ideas to further enhance slides — mainly jokes at the expense of each other, so I tagged along as I fancied an early night. We met several groups of EE’rs on their way down to the bar and pointed them to where the remaining contingent were located.&lt;/p&gt;
&lt;p&gt;After a good night’s sleep and hearty breakfast, I arrived at the venue which is absolutely awesome. Manchester Town hall is a gothic masterpiece and well worth a visit if you ever pass by Albert square. Badges were collected, goodie bags picked up — with a We are Hippo sponsored T-shirt, pen and Pixel and Tonic coaster in an EEUK11 bag. Tea and coffee were waiting in the anti-room with many old and new friends to chat to. It is always great meeting up with people you follow on Twitter — though I am always a little awkward at first! Then we moved into the main room for the conference. I regret not having taken my camera as the conference room had a gothic fireplace with minstrels gallery above it. Ian kicked off the show with a big thanks to the sponsors and I will repeat them here as they all deserve some link love:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pixelandtonic.com/&quot;&gt;Pixel and Tonic.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.solspace.com/&quot;&gt;Solspace.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Made by Hippo&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://brandnewbox.co.uk/&quot;&gt;Brand New Box.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://electricputty.co.uk/&quot;&gt;Better Workflow.&lt;/a&gt; (Electric Putty)&lt;/li&gt;
&lt;li&gt;and of course, &lt;a href=&quot;http://www.designkarma.co.uk/&quot;&gt;DesignKarma.&lt;/a&gt; who put the show on.&lt;br /&gt;
Here are my fuddled notes of the conference:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So first up and opening the conference:&lt;/p&gt;
&lt;h3 id=&quot;joel-bradbury%3A-101-ways-to-skin-a-cat&quot; tabindex=&quot;-1&quot;&gt;Joel Bradbury: 101 ways to skin a cat&lt;/h3&gt;
&lt;p&gt;There is a tendency to learn ExpressionEngine by diving — usually in due to time scales /​deadlines / enthusiasm / ADS or not wanting to read the manual.&lt;/p&gt;
&lt;p&gt;Anecdotes of really badly built site using PHP to do base EE functions — done by someone with good PHP skills but had not read the EE manual.&lt;/p&gt;
&lt;p&gt;Suggestion by Joel is that we need conventions to build sites which we do for HTML and content but perhaps neglect the build part.&lt;/p&gt;
&lt;p&gt;Joel mentioned the dry style templates garnered from the &lt;a href=&quot;https://johndwells.com/blog/homegrown-plugin-to-create-template-partials-for-expressionengine.html&quot;&gt;John Wells blog post on template ​“partials”.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Variables&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;put some structure into variable names&lt;/li&gt;
&lt;li&gt;news_​body&lt;/li&gt;
&lt;li&gt;blog_​body&lt;/li&gt;
&lt;li&gt;page_​body&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Strict style&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;{cf_​news_​body_​en}&lt;/li&gt;
&lt;li&gt;type marker, channel marker, field name, language marker&lt;/li&gt;
&lt;li&gt;only real flexibility is the field name&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;strict prefix examples&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cf_​custom variable&lt;/li&gt;
&lt;li&gt;sn_​snippet&lt;/li&gt;
&lt;li&gt;gv_​global variable etc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All in all an excellent talk and got everyone thinking about how they name elements in their builds&lt;/p&gt;
&lt;h3 id=&quot;leslie-flinger%3A-freelancing-as-an-ee-developer%3A-tools-of-success&quot; tabindex=&quot;-1&quot;&gt;Leslie Flinger: Freelancing as an EE Developer: Tools of Success&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;175 pro members&lt;/li&gt;
&lt;li&gt;598 directoree listings&lt;/li&gt;
&lt;li&gt;1,000 sites at showee&lt;/li&gt;
&lt;li&gt;20,000 members at the ee forums&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The EE community is really good at helping each other&lt;/p&gt;
&lt;p&gt;How people are making EE work in their business&lt;br /&gt;
Most EE agencies &amp;lt; 5 people &amp;lt;20 sites per year&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1 top business software — freshbooks&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mac Freelance — Flinger preferred&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2 Budget and scope&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;phone, face, Skype and always email follow up, always.&lt;/li&gt;
&lt;li&gt;Contract and scope sent&lt;/li&gt;
&lt;li&gt;Final approval&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3 begin work&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ways to cost&lt;/li&gt;
&lt;li&gt;per template&lt;/li&gt;
&lt;li&gt;per hour — estimate and Flinger preferred — time tracker shows you how long you take&lt;/li&gt;
&lt;li&gt;per task&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4 typical hours estimated&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CSS and 5 template html build = 15 hours&lt;/li&gt;
&lt;li&gt;EE back end set up (channels fields etc) 20 hours&lt;/li&gt;
&lt;li&gt;template integration 8 hours&lt;/li&gt;
&lt;li&gt;content — 10 hours&lt;/li&gt;
&lt;li&gt;Browser testing — 3 hours&lt;/li&gt;
&lt;li&gt;John Henry adds a shopping list to the quote for extras — new channel, new firm etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;5 contracts&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;depends on a detailed proposal to act as the legal agreement.&lt;/li&gt;
&lt;li&gt;always ensures written approval via email before beginning work.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;6 tools for production&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7 when is it done&lt;/strong&gt;&lt;br /&gt;
Snag lists&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;use the scope provided&lt;/li&gt;
&lt;li&gt;Offer a stage /​phase 2&lt;/li&gt;
&lt;li&gt;Shopping list&lt;/li&gt;
&lt;li&gt;written confirmation that you are complete&lt;/li&gt;
&lt;li&gt;provide a number of revisions on the agreement&lt;/li&gt;
&lt;li&gt;offer a maintenance package/​retainer&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Final advice&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;find a niche&lt;/li&gt;
&lt;li&gt;don’t start a project without a deposit — freelancers — not agencies because of short term relationship (normally)&lt;/li&gt;
&lt;li&gt;communicate with clients often&lt;/li&gt;
&lt;li&gt;Invoice often&lt;/li&gt;
&lt;li&gt;learn to say no&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Great talk as ever by MrsFlinger — she knows her stuff.&lt;/p&gt;
&lt;h3 id=&quot;john-henry-donovan%3A-faceted-navigation-for-expression-engine&quot; tabindex=&quot;-1&quot;&gt;John Henry Donovan: Faceted navigation for expression engine&lt;/h3&gt;
&lt;p&gt;John Henry talked about an unusual aspect of ExpressionEngine builds that I don’t think many of us have had experience with — or have needed to understand so his talk about multifaceted ways of navigating content was very interesting.&lt;/p&gt;
&lt;p&gt;Users searching for an item — all facets of that item are a potential entry to the item.&lt;/p&gt;
&lt;p&gt;Not aparametric search (users specify search terms)&lt;br /&gt;
amazon is a good example of faceted.&lt;br /&gt;
categories, author, published dates etc.&lt;br /&gt;
&lt;a href=&quot;http://well-formed-data.net/archives/category/experiments&quot;&gt;well​-formed​-data​.net/​e​x​p​e​r​i​m​ents/.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;use when you have good meta data, when content naturally forms facets, when users understand facets, when you have large amounts of content.&lt;/p&gt;
&lt;p&gt;duplicate content is a big issue — crawl depth is important and shows only single URL for each item piece of content.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cruft free URLS&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;template-group/template/URL=title&lt;/li&gt;
&lt;li&gt;/template-group/URL/title is preferred -&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;mentioned switch — &lt;a href=&quot;http://eeinsider.com/articles/simpler-expressionengine-urls-with-a-simple-template.html&quot;&gt;new article on EE insider last night.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://accounts.solspace.com/expressionengine/legacy/super-search/results/&quot;&gt;Solspace Super Search.&lt;/a&gt; a very complex way of doing search.&lt;/p&gt;
&lt;p&gt;Complex talk by John Henry and I don’t think I understood some of it completely!&lt;/p&gt;
&lt;p&gt;Then we had a superb buffet lunch in the anti-room all laid on in the ticket price and a good chat about what the talks that morning. Electric Putty gave a demo showing their yet to be released ExpressionEngine add-on — Better Workflow. I have already seen a couple of early demos of this at LondonEErs and this is the extension that I think will potentially take EE into the corporate realm. Authorization and workflows are a big must have for any CMS that wants to be used by corporate’s or even SME’s where they need structured approval loops in their work procedures. Ian then produced a toy bingo machine to call out some numbers for prize winners — each of the 82 delegates had a chance of winning one of the 67 prizes (think I may have been one of the unlucky few!).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/eeuk11-report-3.jpg&quot; alt=&quot;EEUK11 Bingo! by - Fri, August 26, 2011: Ian draws some prize winners for Better Workflow.&quot; /&gt;
&lt;em&gt;EEUK11 Bingo! by - Fri, August 26, 2011: Ian draws some prize winners for Better Workflow&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/eeuk11-report-4.jpg&quot; alt=&quot;More Bingo! by - Fri, August 26, 2011: And more prize winners drawn using the latest up to date bingo machine.&quot; /&gt;
&lt;em&gt;More Bingo! by - Fri, August 26, 2011: And more prize winners drawn using the latest up to date bingo machine&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Then back to our seats for the afternoon’s talks:&lt;/p&gt;
&lt;h3 id=&quot;stephen-lewis%3A-commercial-add-%E2%80%93-on-development-for-clients&quot; tabindex=&quot;-1&quot;&gt;Stephen Lewis: Commercial Add – on Development for Clients&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Profitable Add on development&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;do an environmental check list&lt;/li&gt;
&lt;li&gt;Apache or IIS&lt;/li&gt;
&lt;li&gt;PHP versions&lt;/li&gt;
&lt;li&gt;Mysql version&lt;/li&gt;
&lt;li&gt;EE version etc&lt;/li&gt;
&lt;li&gt;3rd party add ons&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Add ons requirement check list&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MSM&lt;/li&gt;
&lt;li&gt;external events&lt;/li&gt;
&lt;li&gt;admin reqs&lt;/li&gt;
&lt;li&gt;resorting reqs&lt;/li&gt;
&lt;li&gt;data export&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Client competency list&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the client know EE from a hole in the ground?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Write the documentation first — rather than a tech-driven spec.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;describe how to use the add-on&lt;/li&gt;
&lt;li&gt;exposes missing requirements&lt;/li&gt;
&lt;li&gt;Done when it works as documented.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Build an Add-on builder&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pkg​.io: ok but very generic and needs tweaking&lt;/li&gt;
&lt;li&gt;custom templates and scripts: difficult to manage&lt;/li&gt;
&lt;li&gt;Custom Add-on builder: Custom fit hits the ground running but more upfront effort.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Addonis add-on builder (his programme)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sets up all the base files you need for an EE plug in — can be loaded up into EE as an extension and all set up ready to go — then you just need to build the plugin inside it!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/eeuk11-report-5.jpg&quot; alt=&quot;@monooso by - Fri, August 26, 2011: Stephen Lewis giving his sophisticated talk about making more money in less time.&quot; /&gt;
&lt;em&gt;@monooso by - Fri, August 26, 2011: Stephen Lewis giving his sophisticated talk about making more money in less time.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I don’t build commercial addons but I might need some building for me in the future so this was interesting stuff as its obviously really easy and quick to build add-ons so they should be dirt cheap.&lt;/p&gt;
&lt;h3 id=&quot;lodwijk-schutte%3A-parse-order-pro&quot; tabindex=&quot;-1&quot;&gt;Lodwijk Schutte: Parse Order Pro&lt;/h3&gt;
&lt;p&gt;expression engines parse order PDF — quite famous apparently.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parse Order&lt;/strong&gt;&lt;br /&gt;
Takes document and basically find and replaces markers and values (variables, tags, data)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Early v late parsing&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Input before tags&lt;/li&gt;
&lt;li&gt;output after tags&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Variables&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Global — parsed early (Snippets, config variables and segment variables)&lt;/li&gt;
&lt;li&gt;-Parsed late (user-defined global, standard global variables))&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Regional variables&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Parsed easily&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Local Variables&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Passed during tags&lt;/li&gt;
&lt;li&gt;more complex&lt;/li&gt;
&lt;li&gt;variable parameters&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Conditionals&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;types&lt;/li&gt;
&lt;li&gt;simple (only work with early pass variables, one per and, without if:else&lt;/li&gt;
&lt;li&gt;advanced (anything not in simple — parsed after the tags) Most conditionals are advanced.&lt;/li&gt;
&lt;li&gt;special (parsed during and by the tags)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tag types&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;module or plugin&lt;/li&gt;
&lt;li&gt;single or pair&lt;br /&gt;
example — he has recently rediscovered preloads.&lt;br /&gt;
{preload_replace:pre_title=“By Category”}&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Low is one of the mad EE Dutchmen, lives on a barge and drinks pear cider (it wasn’t Perry) that smells of cough drops. He really knows his stuff about the parse order of EE templates. It’s something I have only ever had issues with once on an EE site and I think I avoid these issues by designing the content in ways that I know will work in the first place — most devs don’t get that option.&lt;/p&gt;
&lt;h3 id=&quot;carl-crawley%3A-structuring-your-eecms-build-%E2%80%94-creating-your-optimal-build&quot; tabindex=&quot;-1&quot;&gt;Carl Crawley: Structuring your EEcms build — Creating your optimal build&lt;/h3&gt;
&lt;p&gt;Carl showed us a slowed down video of a shell script that updated an EE site in less than a minute. I think a lot of people want that!&lt;/p&gt;
&lt;p&gt;build this — zip it up and keep it safe&lt;br /&gt;
&lt;strong&gt;elements:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Images&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JS&lt;/li&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;templates&lt;/li&gt;
&lt;li&gt;uploads&lt;/li&gt;
&lt;li&gt;otter elements (snippets etc)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;All go into his assets folder&lt;/strong&gt;&lt;br /&gt;
They move the dbase and config out of the core system to version control it and edit.&lt;br /&gt;
Create new config files that have 1 line of PHP pointing to the config file in Assets.&lt;/p&gt;
&lt;p&gt;remove unwanted add-ons — everything non-essential.&lt;br /&gt;
set security and press — user tracking etc&lt;br /&gt;
define your default Snippets and Vars&lt;br /&gt;
set your upload folders&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;docs, files, images, videos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Version control — they only version control the assets folder — hence the config is on there. System files don’t need it.&lt;/p&gt;
&lt;p&gt;Absolutely no add ons on a standard build! dealt with on a per build basis.&lt;/p&gt;
&lt;p&gt;.net article Optimise your EE site&lt;br /&gt;
Joel’s tool/​plug in — Graphite — the graphy thing for seeing what takes time in page rendering.&lt;/p&gt;
&lt;p&gt;upgrading EE and SHELL.&lt;br /&gt;
A shell script.&lt;/p&gt;
&lt;p&gt;on upgrading Carl uploads new directories with _​version number after it — so themes_​222 then runs the script and the folders get renamed leaving back up folders of the old ones.&lt;br /&gt;
A script will be available on Git.&lt;/p&gt;
&lt;p&gt;need to execute shell scripts — engine hosting doesn’t do this.&lt;/p&gt;
&lt;p&gt;This was Carl’s first ever Conference speech and he was rather nervous beforehand but came good on the day. Carl, I applaud your efforts! Not sure I truly have the bottle to do it myself due to the nativity incident when I was 10…&lt;/p&gt;
&lt;h3 id=&quot;garrett-winder%3B-going-mobile&quot; tabindex=&quot;-1&quot;&gt;Garrett Winder; Going Mobile&lt;/h3&gt;
&lt;p&gt;Huge surges currently in Mobile web usage PayPal changed their predictions twice this year&lt;/p&gt;
&lt;p&gt;Problem is that users are increasingly using mobile devices to visit websites.&lt;br /&gt;
need to rethink the way we build websites&lt;/p&gt;
&lt;p&gt;dedicated or responsive design?&lt;/p&gt;
&lt;p&gt;dedicated; pros — user given option to browse either. more control of resources. not same front end. cons — 2 (or more) websites — more time to manage, duplicate content.&lt;/p&gt;
&lt;p&gt;I didn’t really take enough notes on this. Garret is from Texas and recently joined Erskine Design — this was a good talk about EE and responsive design which is big on everybody’s agendas at the moment. I have recently read that the majority of mobile internet access is actually at home so making your site only show certain content based upon location (i.e. if you were a restaurant your mobile site might only show the menu) might not be a very good idea! I had a long and good chat with Garret about this at the after party.&lt;/p&gt;
&lt;p&gt;Strangely there was not one Englishman speaking. Two Americans, Three Welsh and a Dutchman — that’s how we roll in EE.&lt;/p&gt;
&lt;h3 id=&quot;after&quot; tabindex=&quot;-1&quot;&gt;After&lt;/h3&gt;
&lt;p&gt;Then we went off To Sam’s Chop House for the evening’s party — more EE talk. One thing that ExpressionEngine has that is so special is its community. Those words have been bandied about a lot over the past few years but it is true. Years ago I watched the Movable type community dissolve into thin air after the $20m funding and direction change and that’s what brought me into the warm grasp of ExpressionEngine. It is events like these that really cement the community together and although originally we did have official representation from Ellis Labs in the shape of Mrs Flinger, and no disrespect to John Henry, but it would have been good to see the CEO there as Europe is an important Market. I suspect they are concentrating on EECI11 in New York, but all the same, we had the same complaint last year in Leiden. However, the evening in Manchester was great fun. Friendships were made and cemented, one or two deals were done, beers were consumed and everybody had fun. Some may be a little too much. I bailed out early (for me) at about 01:30 but there were tweets going on till about 03:00. Splendid!&lt;/p&gt;
&lt;p&gt;Hopefully, this event will happen again. Ian did this basically by himself, with some help from his lovely wife Ali, and I suspect he will need a bit more support next time and I am sure there are plenty willing to help if he asks. Next year should see EECI back in Leiden and perhaps a UK event every other year would not be too onerous. I hope to be at the next one and if you use ExpressionEngine I hope to see you there as well.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;and-there-is-more...&quot; tabindex=&quot;-1&quot;&gt;And there is more...&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://designkarma.co.uk/blog/eeuk11-is-a-wrap&quot;&gt;Ian Ebden of Design Karma.&lt;/a&gt; has published his report on the event — always good to read about these from the organiser’s view!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.flickr.com/groups/eeuk11/&quot;&gt;The Flickr stream for the event:.&lt;/a&gt; &lt;a href=&quot;https://www.flickr.com/groups/eeuk11/&quot;&gt;https://www.flickr.com/groups/eeuk11/.&lt;/a&gt;&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/eeuk11-report-1032x.jpg" type="image" />
      <pubDate>Sat, 27 Aug 2011 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2011-08-27-eeuk11-report/</guid>
    </item>
    <item>
      <title>Assets for ExpressionEngine</title>
      <link>https://www.simoncox.com/post/2011-07-03-assets-for-expressionengine/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/assets-for-expression-engine-1032x.jpg&quot; alt=&quot;Assets for Expression Engine.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;installing-pixel-%26-tonics-new-assets-add-on&quot; tabindex=&quot;-1&quot;&gt;Installing Pixel &amp;amp; Tonics new Assets add-on&lt;/h2&gt;
&lt;p&gt;This week &lt;a href=&quot;https://pixelandtonic.com/&quot;&gt;Pixel &amp;amp; Tonic have released Assets.&lt;/a&gt;, a new file management add-on for ExpressionEngine. This is an area of content management that has been lacking in the past but has been improving with EE2 — but Assets takes file management to a new level.&lt;/p&gt;
&lt;p&gt;The extension installs as most do — files going into the third party folders in the system folder and the themes folder and then a quick click on the install link in the Add-ons control panel and it’s installed.&lt;/p&gt;
&lt;p&gt;In the left panel of the add-on interface, you can see the folder structure — right-clicking on a folder allows you to add subfolders with a popup that allows you to name the subfolder. Assets can be dragged between folders and importantly, if your code is using the Assets tags and parameters rather than direct urls, then the paths will change automatically in your templates allowing you to reorganise your assets quickly and easily!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/assets-for-expression-engine-interface.png&quot; alt=&quot;Assets add on showing pop up panel with image details including date, alt text and caption.&quot; /&gt;
&lt;em&gt;Assets add on showing pop up panel with image details including date, alt text and caption&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I thought I would add an image gallery to the article pages on this website. First I added an Asset entry field into my articles fieldset and named it ​‘pagegallery’. Next, I added the HTML (in Coda and using Mountee because I love the combination!). The code sits within the ​‘exp:channel:entries’ tags and I set up a description list as I wanted to add captions to each image.&lt;/p&gt;
&lt;h3 id=&quot;this-is-the-code&quot; tabindex=&quot;-1&quot;&gt;This is the code&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;{if pagegallery} &amp;lt;h3&amp;gt;Gallery&amp;lt;/h3&amp;gt; &amp;lt;dl class=&amp;quot;pagegallery&amp;quot;&amp;gt; {pagegallery} &amp;lt;dt&amp;gt;&amp;lt;img src=&amp;quot;{url}&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;{alt_text}&amp;quot; /&amp;gt;&amp;lt;/dt&amp;gt; &amp;lt;dd&amp;gt;{title} by {author} - {date format=&amp;quot;%D, %F %d, %Y&amp;quot;}: {location} {caption}&amp;lt;dd&amp;gt; {/pagegallery} &amp;lt;/dl&amp;gt; {/if}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The ​‘if’ statement means that the code is used only if the pagegallery has some content. The {pagegallery} tag is the one named in the field set and will loop until all entries are completed. The Assets variables are used to provide the caption content and are pulled out of the image meta data.&lt;/p&gt;
&lt;p&gt;I could have made this more complex with a thumbnail gallery or carousel to show the images, but for now, I am content with this and examples can be seen below and on the &lt;a href=&quot;https://www.simoncox.com/post/2011-06-19-vintage-tractors/&quot;&gt;Vintage Tractors article.&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/assets-for-expression-engine-gallery.png&quot; alt=&quot;Assets add on showing 4 pictures of tractors in the assets panel.&quot; /&gt;
&lt;em&gt;Assets add on showing 4 pictures of tractors in the assets panel&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Assets will, I predict, quickly make it into the default set up add-on lists that ExpressionEngine developers use — it’s awesome!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;and-there-is-more...&quot; tabindex=&quot;-1&quot;&gt;And there is more...&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;4th July 2017&lt;/strong&gt; &lt;br /&gt;
Small update to the look and feel of the gallery piece — added dark background to pop out the images. Meant to do that yesterday but time defeated me!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;January 2018&lt;/strong&gt;&lt;br /&gt;
Some time back Pixel and Tonic decided to focus solely on Craft CMS and so &lt;a href=&quot;https://eeharbor.com/assets&quot;&gt;EE Harbour has taken on Assets for Expression Engine.&lt;/a&gt;.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/assets-for-expression-engine-1032x.jpg" type="image" />
      <pubDate>Sun, 03 Jul 2011 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2011-07-03-assets-for-expressionengine/</guid>
    </item>
    <item>
      <title>Responsive web design</title>
      <link>https://www.simoncox.com/post/2011-05-31-responsive-web-design/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/responsive-web-design-1032x.jpg&quot; alt=&quot;yellow and red peppers in a pile.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;this-site-now-uses-responsive-web-design---go-on%2C-resize-you-browser!&quot; tabindex=&quot;-1&quot;&gt;This site now uses responsive web design - go on, resize you browser!&lt;/h2&gt;
&lt;p&gt;Until you look at a website on several different platforms you may have no idea that it is using responsive webdesign. However you will know pretty quickly if it doesn’t — if your on a small screen and you have to zoom or scroll horizontally then it’s not responsive.&lt;/p&gt;
&lt;p&gt;The creation of the 960 grid was a great leap forward for mass web design, allowing designers to utilise traditional grid structures for easy page layout, but with the emergence of smart phones and tablets website needs changed quickly and &lt;a href=&quot;http://960.gs/&quot;&gt;960​.gs.&lt;/a&gt; wasn’t flexible enough — although a flexible version has since emerged. Standardisation is what lifts a cottage piece work into industrial strength production and we are going through the early stages of the digital revolution in much the same way that the Georgians and Victorians went through in the Industrial Revolution. There is still a place for the individually crafted website but our industry is moving toward mass production — that’s not a bad thing. Have a look at the sites now using 960​.gs — and you will see its not the leading edge web designers but the big multi nationals. Standardisation rules!&lt;/p&gt;
&lt;p&gt;The idea that your website should look the same on all browsers was been shot down a long time ago and the same has existed a long time for platforms but previously most sites that have catered for mobile have used platform detect methods to deliver different CSS layouts. That’s not ideal especially as today we are seeing an emergence of a huge range of screen sizes because of all the iPad killer tablets coming out. Despite desktop screen getting huge these days we actually now have to cater for a bigger range of window sizes then ever before and we also need to double that number because most mobile devices now orientate the screen to the way the user is holding it. Therefore we really do need a standard design grid and ways of working that are truly flexible.&lt;/p&gt;
&lt;p&gt;For the simon​cox​.com version 6.4 website I have used the &lt;a href=&quot;http://www.getskeleton.com/&quot;&gt;Skeleton grid.&lt;/a&gt; for my responsive design — though truth be told there is a lot to do design wise of this skeletal look and feel! Hat tip to &lt;a href=&quot;http://mrqwest.co.uk/&quot;&gt;MrQwest.&lt;/a&gt; for finding Skeleton. It may not be what I am using in 12 months time but it has the level of complexity that I needed to make the transition.&lt;/p&gt;
&lt;p&gt;On resizing your browser (I am supposing you are on a desktop/​laptop) you will notice that the site goes through several sizing transitions. It snaps to predefined minimum and maximum column sizes retaining a semblance of the proportional grid layout. Order of content in the html is vital as when you get to the smallest size, to accommodate mobiles, the order really shows — there is one column with content blocks vertically following each other.&lt;/p&gt;
&lt;p&gt;Twisting the orientation around on the iPad you might not even notice that the grid has changed due to the way that Skeleton changes the layout according to the available viewport/​window size. This is all relatively straight forward but one item that is going to royally burger up your responsive layout is images. Normally images are a set height and width as they are rasterised images based on pixels. Enlarge them too much and the pixels show — not nice — shrink them too much and you are wasting bandwidth — you could make the image much smaller than what you need it for. This poses a bit of a problem. I turned to &lt;a href=&quot;http://unstoppablerobotninja.com/entry/fluid-images/&quot;&gt;Ethan Marcotte’s Fluid Images article.&lt;/a&gt; (hat tip to the &lt;a href=&quot;http://clagnut.com/sandbox/imagetest3&quot;&gt;Mr Rutter.&lt;/a&gt;) for the answer and all seems well.&lt;/p&gt;
&lt;p&gt;As ever the design you see today probably isn’t quite the one that was live when I wrote this piece which is why I have started numbering them. Version 6.4 is a rough guess at the many versions of this site since 1996. I constantly tweak the design, layout and back end when I really should be writing articles worth reading!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/responsive-web-design-iphone-screens.png&quot; alt=&quot;Responsive Web Design iphone screen shot of simon​cox​.com.&quot; eleventy:ignore=&quot;&quot; /&gt;
&lt;em&gt;Responsive Web Design iphone screen shot of simon​cox​.com&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;updates%E2%80%A6&quot; tabindex=&quot;-1&quot;&gt;Updates…&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;8th June 2011&lt;/strong&gt; and &lt;a href=&quot;https://www.abookapart.com/products/responsive-web-design&quot;&gt;Eathan Marcotte’s Responsive Web Design.&lt;/a&gt; has been &lt;a href=&quot;https://www.abookapart.com/&quot;&gt;published by A Book Apart.&lt;/a&gt;. Whilst most of what he has written is not new to me I think I will be using this book as a reference point for a few years to come — it’s superb, very well written and marks a sea change point in approaches to designing and building websites. There is a great article, part of the book, on &lt;a href=&quot;http://www.alistapart.com/articles/fluid-images/&quot;&gt;A List Apart — Fluid Images.&lt;/a&gt; and I encourage anyone thinking of building a new website to read this and then the book (which incidentally I have been reading on my iPhone, iPad and iMac as an eBook).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;9th June 2011&lt;/strong&gt; I have finished reading Responsive Web Design and the big take away is design for the small screen first and then add on additional content and layout as the screen sizes go up. Very interesting read and a wholly new approach to web site design. OK reasonably new approach as some folk have been expounding on mobile first for quite some time but I suspect that most of us think of mobile versions of websites, this method uses the same site and content for all devices though it is complex and I would like to see some emerging best practices that don’t rely on putting html code in JavaScript to display to those with JavaScript — it works really well in the fact that it degrades well for those without JavaScript but is clunky way to implement. I am thinking on how to deliver more content based on media type with ExpressionEngine as it would be better to keep the alternative html in separate template files pulled into the JavaScript. Anyone with any ideas on this comment or tweet me please!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;20th June 2011&lt;/strong&gt; I changed the intro text as Simon Collison’s website is in fact an Adaptive design, not a Responsive design — though it’s a subtle but important difference&lt;/p&gt;
&lt;hr /&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/responsive-web-design-1032x.jpg" type="image" />
      <pubDate>Tue, 31 May 2011 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2011-05-31-responsive-web-design/</guid>
    </item>
    <item>
      <title>Preventing deep linking</title>
      <link>https://www.simoncox.com/short-articles/2010-11-09-preventing-deep-linking/</link>
      <description>&lt;p&gt;There really is no reason to prevent links into your website other than to appease Compliance and Legal teams who are covering all options. Some sites have gone down due to high traffic loads when they have been listed on Boing Boing or Slashdot (not mine - not yet anyway) and that could be the reason why IT teams have got into flusters and the legal teams have tried to apply impossible T&amp;amp;Cs. I’m not talking content theft linking here - linking to images on your site or scraping content.&lt;/p&gt;
&lt;h2 id=&quot;w3c-recommendations-for-deep-linking&quot; tabindex=&quot;-1&quot;&gt;W3C recommendations for deep linking&lt;/h2&gt;
&lt;p&gt;According to the W3C Technical Architecture Group,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“any attempt to forbid the practice of deep linking is based on a misunderstanding of the technology, and threatens to undermine the functioning of the Web as a whole”.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That’s pretty serious - but no compliance/legal team is going to listen to that when their job is potentially on the line.&lt;/p&gt;
&lt;p&gt;Couple of good resources that got me writing this short:
&lt;a href=&quot;https://web.archive.org/web/20120308110848/http://www.stateofsearch.com/insane-world-%E2%80%9Cno-linking-policy%E2%80%9D-%E2%80%93-happened-internet/&quot;&gt;The insane world of “No linking Policy” – what happened to the interNET?&lt;/a&gt;
and from Sir Tim &lt;a href=&quot;https://www.w3.org/DesignIssues/LinkMyths.html&quot;&gt;Links and Law: Myths&lt;/a&gt;&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Tue, 09 Nov 2010 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2010-11-09-preventing-deep-linking/</guid>
    </item>
    <item>
      <title>WebFonts</title>
      <link>https://www.simoncox.com/post/2010-07-28-webfonts/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/webfonts.jpg&quot; alt=&quot;Webfonts.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;whats-going-on-at-the-moment&quot; tabindex=&quot;-1&quot;&gt;Whats going on at the moment&lt;/h2&gt;
&lt;p&gt;Typography has long fascinated me — I’m not a great practitioner but am a lover of the art and to me typography is one of the foundations of great visual communicative design. So my move away from print in the mid to late 1990’s to the evolving web, whilst very exciting did make me reluctantly lower my expectations on quality of design for the web. We have always been restricted to just a few commonly available platform fonts which are all fairly pedestrian. Now however with html 5 finally gathering speed and, possibly most importantly, IE9 about to be delivered (I know — but it could tip things couldn’t it — IE still has the big pie slice),&lt;/p&gt;
&lt;h2 id=&quot;i-made-my-own-font&quot; tabindex=&quot;-1&quot;&gt;I made my own font&lt;/h2&gt;
&lt;p&gt;So I recently got an iPad — which is great — and this week I spotted a font creation programme. I had a copy of Fontographer back in the mid 90’s and created a few partial fonts for my own use so I had a good idea what this was going to involve. I purchased iFontMaker from the App store for the reasonable amount of around £4 and within seconds was able to begin to create my own font. iFontMaker allows you to set up a ghost font as the example t trace over and within 30 mins I had produced a simple Comic Sans type font including upper and lower case, numerical and several other glyphs. I then uploaded the ttf file from the ipad to the 2ttf​.com website where I was able to download it and install on my Mac!&lt;/p&gt;
&lt;h2 id=&quot;adding-the-font-to-my-website&quot; tabindex=&quot;-1&quot;&gt;Adding the font to my website&lt;/h2&gt;
&lt;p&gt;Next I uploaded the ttf file to FontSquirrel and created a whole font kit which I downloaded and installed into my website, creating live typeface of my own creation in about 40 minutes.&lt;/p&gt;
&lt;p&gt;Useful (to me at least) Webfont links of some sites in this space at the moment.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/webfonts-coxy1font_onsite.png&quot; alt=&quot;Screen show of a part of simoncox.com using my hand drawn font.&quot; eleventy:ignore=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Fantastic — but perhaps not quite as easy to set up as the Google API offering or for that matter more commercial options like Typekit.&lt;/p&gt;
&lt;h2 id=&quot;other-font-resources&quot; tabindex=&quot;-1&quot;&gt;Other font resources&lt;/h2&gt;
&lt;p&gt;I have include some links to further reading about Webfonts.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://2ttf.com/&quot;&gt;iPad font making software iFontMaker.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://2ttf.com/V5syf8vs&quot;&gt;Coxy1font as used here and made with iFontMaker by me.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fontsquirrel.com/tools/webfont-generator&quot;&gt;Font Squirrel — used to make font kits.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.google.com/apis/webfonts/&quot;&gt;Google webfonts.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://typekit.com/&quot;&gt;Typekit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cufon.shoqolate.com/generate/&quot;&gt;Cufon.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/2010/WD-WOFF-20100727/&quot;&gt;W3C draft WOFF.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.archive.org/web/20140702062835/http://typeface.neocracy.org/&quot;&gt;Typeface.js from typeface.neocracy.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://paulirish.com/2010/font-face-gotchas/&quot;&gt;Paul Irish recent webfont gotchas list.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.archive.org/web/20211202171252/http://nicewebtype.com/&quot;&gt;How to use web fonts from nicewebtype.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;and-there-is-more%E2%80%A6&quot; tabindex=&quot;-1&quot;&gt;And there is more…&lt;/h2&gt;
&lt;p&gt;Incidentally the W3C has published its first working Draft for WOFF setting a stake in the ground for us — &lt;a href=&quot;https://www.w3.org/TR/WOFF/&quot;&gt;WOFF File Format 1.0.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;17th August 2010&lt;/strong&gt;&lt;br /&gt;
Last night I attended the August London Web Standards meeting where Richard Rutter, (@clagnut) from Clearleft , gave an inspirational talk about the future of web typography — and its very exciting to typo nerd like me — ok I appreciate gorgeous type more than I can practice it (does that make me a typographical pundit?). There are loads of CSS3 controls being ratified that allow a massive amount of control over typography.&lt;/p&gt;
&lt;p&gt;The font size adjust property looked incredibly useful but difficult to work out quickly (I have yet to try). But it was the font stretch property that was most exciting — though if this will ever be properly implemented we will see. this allows the designer to specify adjustments to a font to get its variations: normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded — and these have to be available of course.&lt;/p&gt;
&lt;p&gt;The one real question I have is do the current crop of web designers have the skill sets to use them? Possibly not. Certainly the younger ones with no print design background will have very limited understanding and instruction on typography — not their fault as the web has been sadly lacking in this area so they have not needed to learn. The older ones of us who cut our teeth on print design do have those skill sets — can’t keep on old dog down!&lt;/p&gt;
&lt;p&gt;One very interesting comment last night was that in future designers could be designing for print using a web browser — create your design in html with CSS and then print to a pdf for sending off to the printers! Web based fonts may be a lot cheaper so we may see web based page layout tools making an appearance.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;21st August 2010&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;https://web.archive.org/web/20110101045614/http://www.webtype.com/&quot;&gt;Webtype&lt;/a&gt; has now opened up as the latest online service.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/webfonts.jpg" type="image" />
      <pubDate>Wed, 28 Jul 2010 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2010-07-28-webfonts/</guid>
    </item>
    <item>
      <title>Nibbler</title>
      <link>https://www.simoncox.com/post/2010-02-09-nibbler/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/nibbler-1032x.jpg&quot; alt=&quot;nibbler website report screenshot.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;online-testing-tool-that-checks-out-how-your-website-measures-up&quot; tabindex=&quot;-1&quot;&gt;Online testing tool that checks out how your website measures up&lt;/h2&gt;
&lt;p&gt;I have been evangelising web standards for quite a few years now and tools that help you test your work are very appreciated and make the tasks a lot easier. For pure code there is the W3C testing suite that tells you where your code is invalid and gives good hints on what to change — though I can imagine it could be frustrating for people relatively new to html. W3C also do CSS and feed validators. However by far my favourite testing tool is currently Nibbler from Silktide. Several years ago Silktide released a cut down on-line version of its commercial service called Sitescore but they were very quickly overwhelmed with people testing out sites and there real emphasis had to go back to the commercial tool and the free service was demised. Sitescore has now morphed into SiteRay and version 4 is on the way. Somehow they have managed to do a small side project of another cut down version of their testing suite — this time they have named it Nibbler.&lt;/p&gt;
&lt;p&gt;Nibbler tests a website across a large range of automated tests. Automated means that they are not perfect but will take you most of the way there which is a very good start and more than most even think about.&lt;/p&gt;
&lt;p&gt;You just put the URL into the test field and press the test button and a minute or two later you have the score.&lt;br /&gt;
As of the 9th of February 2010 this site, simon​cox​.com, is scoring 7.9 out of 10 — and that’s pretty good — veer​le​.duoh​.com, alistapart​.com and www​.w3​.org all have the same score so I am in good company. www​.silk​tide​.com is only 0.1 points ahead and they are the experts.&lt;/p&gt;
&lt;p&gt;Nibbler runs the following tests:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trustworthiness&lt;/li&gt;
&lt;li&gt;Social media&lt;/li&gt;
&lt;li&gt;Popularity&lt;/li&gt;
&lt;li&gt;Incoming links&lt;/li&gt;
&lt;li&gt;URL format&lt;/li&gt;
&lt;li&gt;Images&lt;/li&gt;
&lt;li&gt;Inoffensive content&lt;/li&gt;
&lt;li&gt;Analytics&lt;/li&gt;
&lt;li&gt;Alternative text&lt;/li&gt;
&lt;li&gt;Titles&lt;/li&gt;
&lt;li&gt;Headings&lt;/li&gt;
&lt;li&gt;Links&lt;/li&gt;
&lt;li&gt;Meta tags&lt;/li&gt;
&lt;li&gt;Printability&lt;/li&gt;
&lt;li&gt;Feeds&lt;/li&gt;
&lt;li&gt;W3C compliance&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;and the report will give you some good clues on what’s wrong and how to fix. I will point out that this is currently in alpha but I have raised a couple of issues with them on Get Satisfaction and they have responded very quickly. For example yesterday on one site was doing very badly for feeds so I rebuilt the feed and added the meta tags so that it could be found. The report said that although it had found the feed it had not been updated for over a month — I had 10 new items in the feed for the last 8 days so something was wrong. Andy from Silktide spotted that I had used the Dublin Core date stamp which was perfectly valid but Nibbler was not detecting it so he fixed it same day — splendid.&lt;/p&gt;
&lt;p&gt;I am sure a lot of people will get frustrated with the initial scores from Nibbler but with a bit of patience and understanding what’s going on you can really improve your website. Not everyone will agree with some of the tests Nibbler uses but if every site was tested against this or similar tools then the web would be a much better place.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://nibbler.insites.com/&quot;&gt;Nibbler can be found at nibbler.insites.com.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: I have no affiliation with Silktide but in my day job I do use the full blown version of SiteRay to test the websites I work on. Nibbler I use for my personal websites.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;and-there-is-more...&quot; tabindex=&quot;-1&quot;&gt;And there is more...&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;19 August 2010&lt;/strong&gt;&lt;br /&gt;
I have just tidied up some of the html on the site — now fully validates and the site is getting a Nibbler score of 9.2 — very pleased with that and I find the site at no. 54 on the &lt;a href=&quot;http://nibbler.silktide.com/leaderboards/sites&quot;&gt;Top 100 on the Nibbler top 100 chart.&lt;/a&gt; — sure it won’t stay there for long but its an achievement!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;23 August 2010&lt;/strong&gt;&lt;br /&gt;
I have made a few more minor adjustments to the site and its now up to a 9.4 rating putting the site 7th on the Nibbler top 100 at the moment!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/nibber_position.jpg&quot; alt=&quot;simoncox.com in 7th position on the leaderboard!.&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/nibbler-1032x.jpg" type="image" />
      <pubDate>Tue, 09 Feb 2010 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2010-02-09-nibbler/</guid>
    </item>
    <item>
      <title>New look for 2010</title>
      <link>https://www.simoncox.com/post/2010-01-26-new-look-for-2010/</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://www.simoncox.com/assets/img/content/new-look-for-2010.jpg&quot; alt=&quot;New look for 2010.&quot; loading=&quot;eager&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;new-year-heralds-new-design-and-some-long-overdue-focus-back-on-this-website&quot; tabindex=&quot;-1&quot;&gt;New year heralds new design and some long overdue focus back on this website&lt;/h2&gt;
&lt;p&gt;I have now updated simon​cox​.com and have moved the site to EE which I have been using since 2006 for other sites but had kept using the MT content management system for this website. I had been waiting for ExpressionEngine (EE) version 2 to launch before making the foray — although EE1 would have been very suitable but I wanted to test out EE2 on something not mission critical! The new look and feel is a great design but not mine. I expect I will end up modifying a lot until I am happy — well this site has always been my test bed anyway! I am not sure what to replace the cup of tea with at the moment and am hoping for a bit of inspiration to burst forth.&lt;/p&gt;
&lt;p&gt;Right now though all the old content is missing — just waiting for EE2’s import facility to be completed and then I can pull in the old site’s content and spend a lot of hours sorting through the rubbish and distilling it into some hopefully still readable content. Integration with my images that are sitting over on Flickr is also a priority and I will put together a gallery as I have quite a lot of images to show you.&lt;/p&gt;
&lt;p&gt;Comments will be back at some point so I can expect the inevitable abuse from my chums and of course the model railway section will be getting a much-needed boost. This was one of the most visited parts of the old site and one of my main hobbies now.&lt;/p&gt;
&lt;hr /&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content//assets/img/content/new-look-for-2010.jpg" type="image" />
      <pubDate>Tue, 26 Jan 2010 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/post/2010-01-26-new-look-for-2010/</guid>
    </item>
    <item>
      <title>Content stealing</title>
      <link>https://www.simoncox.com/short-articles/2006-06-14-content-stealing/</link>
      <description>&lt;p&gt;Is someone stealing your content? You probably don&#39;t know. I just read a piece over on &lt;a href=&quot;https://web.archive.org/web/20070331105803/http://www.learningmovabletype.com/a/001560is_someone_stealing_your_content/&quot;&gt;Learning Movable Type&lt;/a&gt; that sparked this post off.&lt;/p&gt;
&lt;p&gt;If you publish RSS feeds then I expect someone will have used those feeds to fill their auto generated site to build ad revenue. So how can you check? I use &lt;a href=&quot;https://www.copyscape.com/&quot;&gt;Copyscapes&lt;/a&gt; offering thought there may be others out there. You can input URLs from your site into their engine and it gives you a list of sites that have plagiarised your content. If you don&#39;t use RSS feeds then you probably will be alright - unless someone really has cut and pasted you words.&lt;/p&gt;
&lt;p&gt;As I said if you do use RSS then you are bound to have found that the ad hustlers have generated something somewhere and its annoying - why? Because search engines penalise your site if you have duplicate content. I may well stop doing an RSS feed in the next version of this site - MT3.3 has just been released so I might have a look at the designs I have been bouncing around over this year.
(lest see if someone plagiarises this post!)&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Wed, 14 Jun 2006 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2006-06-14-content-stealing/</guid>
    </item>
    <item>
      <title>Dashes vs Underscores</title>
      <link>https://www.simoncox.com/short-articles/2006-06-01-dashes-vs-underscores/</link>
      <description>&lt;p&gt;Dashes vs Underscores is an ongoing debate about whether it is better to use a dash, or hyphen, in file name or to use an underscore instead. Over the past few years I have always used the underscore both at work and in home projects. This was for two reasons - the first being that underscores make the file name easier to read and secondly it means that I can use hyphenated words correctly in file names.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;p&gt;my_day_out_with_co-pilot_paula.jpg&lt;/p&gt;
&lt;p&gt;my-day-out-with-co-pilot-paula.jpg&lt;/p&gt;
&lt;p&gt;I think that the first is far more readable than the second from a grammatical sense it is correct.
However there seems to be a great deal of talk in the SEO communities, and especially from Matt Cutts of Google, that hyphens, dashes are better than underscores in file names hence the Dashes vs Underscores debate.&lt;/p&gt;
&lt;p&gt;Matts argument is that Google reads underscores as part of the word and that the dash is seen as a separator. This would mean that “co-pilot” is read and co and pilot by Google and co_pilot is read as a single word “co-pilot”. Hang on though this is back to front - the wrong way around! This would mean that all my hyphenated words in file names should have underscores to allow Google to correctly read them.&lt;/p&gt;
&lt;p&gt;Hence the best file name for the jpeg file above should thefore be:
&lt;strong&gt;my-day-out-with-co_pilot-paula.jpg&lt;/strong&gt;
which is just semantically silly.&lt;/p&gt;
&lt;p&gt;The reasoning given &lt;a href=&quot;https://www.webmasterworld.com/google/33993-2-10.htm&quot;&gt;found in a post on webmasterworld&lt;/a&gt; behind this is that it was to allow techies like us to search for HTTP_USER_AGENT and not have to sort through millions of results containing “HTTP”, “user”, and “agent.” But why would they not use quotes to get the correct term?&lt;/p&gt;
&lt;p&gt;So I did some searching on this term in Google and these are my results:&lt;/p&gt;
&lt;p&gt;Dashes vs Underscores searches on Google
Search term	– Number of results&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;HTTP_USER_AGENT	– 1,440,000&lt;/li&gt;
&lt;li&gt;HTTP-USER-AGENT	– 3,240,000&lt;/li&gt;
&lt;li&gt;&amp;quot;HTTP-USER-AGENT&amp;quot;	– 3,220,000&lt;/li&gt;
&lt;li&gt;HTTP USER AGENT	– 138,000,000&lt;/li&gt;
&lt;li&gt;&amp;quot;HTTP USER AGENT&amp;quot;	– 3,220,000&lt;/li&gt;
&lt;li&gt;co_pilot	– 1,230&lt;/li&gt;
&lt;li&gt;co-pilot	– 7,740,000&lt;/li&gt;
&lt;li&gt;&amp;quot;co-pilot&amp;quot;	– 4,070,000&lt;/li&gt;
&lt;li&gt;co pilot	– 95,200,000&lt;/li&gt;
&lt;li&gt;&amp;quot;co pilot&amp;quot;	– 4,070,000&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Interesting reading I think. With the first search term HTTP USER AGENT numbers 4 has the most results as it is just the three words but 3 and 5 are the same suggesting that Matt Cutts(and reiterated again recently) is correct in saying that hyphens are seen as spaces. 8 and 10 would also confirm that this is a fact but if the hyphen is the same as a space then 7 would be the same as 9. So adding the dash without the parenthesis does do something.&lt;/p&gt;
&lt;p&gt;So am I going to change all my file names to use a dash? No. Like &lt;a href=&quot;https://12pointdesign.com/advice/dashes_vs_underscores.asp&quot;&gt;Shawn Hall&lt;/a&gt; I have had very favourable results using underscores and especially from Google. What Matt Cutts is saying might be technically correct but grammatically it is the wrong solution. Other search engines will resolve this correctly and perhaps Google will soon follow.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Thu, 01 Jun 2006 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2006-06-01-dashes-vs-underscores/</guid>
    </item>
    <item>
      <title>Javascript SymWinOpen function pain</title>
      <link>https://www.simoncox.com/short-articles/2005-12-23-javascript-symwinopen-function-pain/</link>
      <description>&lt;p&gt;This one really bugged me. I was trying to validate some code I had uploaded to a staging area on a site and it would not validate back on my PC running CSE HTML Validate because something somewhere was inserting extra bits of javascript, SymWinOpen, and I could not work out what was happening. I was getting the same added script in Firefox, IE and CSE HTML Validator (and this extra code was stopping my pages from validating) until I opened the same page up in Safari on my Mac and it didn&#39;t have the extra code...&lt;/p&gt;
&lt;p&gt;I eventually found that it was Norton Anti Virus &#39;adjusting&#39; the pages for me as they came in on my PC. I probably should be grateful that its doing its job but you can turn it off:&lt;/p&gt;
&lt;p&gt;This is the code:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;function SymError()
{
return true;
}

window.onerror = SymError;

var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
return (new Object());
}

window.open = SymWinOpen;

//
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;followed by:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;var SymRealOnLoad;
var SymRealOnUnload;

function SymOnUnload()
{
window.open = SymWinOpen;
if(SymRealOnUnload != null)
SymRealOnUnload();
}

function SymOnLoad()
{
if(SymRealOnLoad != null)
SymRealOnLoad();
window.open = SymRealWinOpen;
SymRealOnUnload = window.onunload;
window.onunload = SymOnUnload;
}

SymRealOnLoad = window.onload;
window.onload = SymOnLoad;

//
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hopefully this will prevent hair loss as people try to figure out where this extra code is coming from!&lt;/p&gt;
&lt;h2 id=&quot;update!&quot; tabindex=&quot;-1&quot;&gt;Update!&lt;/h2&gt;
&lt;p&gt;Just discovered that the link I had to the Symantec page with information no longer resolves.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Fri, 23 Dec 2005 24:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2005-12-23-javascript-symwinopen-function-pain/</guid>
    </item>
    <item>
      <title>Peter Cochrane&#39;s Uncommon Sense - Web Realities</title>
      <link>https://www.simoncox.com/short-articles/2003-05-08-peter-cochranes-uncommon-sense-web-realities/</link>
      <description>&lt;p&gt;Article on how internet usage is actually following traditional industrial revolution models of growth.&lt;/p&gt;
&lt;p&gt;Originally published on silicon.com and &lt;a href=&quot;https://web.archive.org/web/20030728001905/http://cochrane.org.uk/opinion/papers/silicon/2003/01-05-2003.htm&quot;&gt;Peter Cochrane&#39;s personal site&lt;/a&gt; - both no longer available so I have posted it here.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;peter-cochrane&#39;s-uncommon-sense%3A-web-realities&quot; tabindex=&quot;-1&quot;&gt;Peter Cochrane&#39;s Uncommon Sense: Web Realities&lt;/h2&gt;
&lt;h3 id=&quot;who-does-what-online%2C-and-why%3F&quot; tabindex=&quot;-1&quot;&gt;Who does what online, and why?&lt;/h3&gt;
&lt;p&gt;The commercial internet has only been visible since 1995 and mobile phones didn&#39;t appear until 1989. In just a decade the PC, internet and mobile phone have become accepted and dominant business tools and modes of communication. With the benefit of hindsight, and real data on the Internet and its contribution to society, all the past media debates, arguments and objections now seem quaint and a total waste of time. They also mirror previous debates re typewriters, telegrams, recorded music, radio and TV.&lt;/p&gt;
&lt;p&gt;Recent studies show a surge in online sales and the abandonment of security fears regarding the use of credit cards, and a realisation that the internet is one of the safest forms of financial communication. It has also been discovered that the internet is dominated by educated and professional people with a higher than average disposable income and not a bunch of nerds in bedrooms and workshops. Men and women seem to spend almost the same amount of time on the internet, but women focus on academic pursuits and their jobs, while men look to entertainment, commerce, games, music, purchasing and banking.&lt;/p&gt;
&lt;p&gt;Surprisingly the internet is not dominated by the young, the age distribution is actually bimodal with a suck-out of around about 35 to 40 years. Young and old seem to be on the web in roughly equal numbers and the middle group tend to be disadvantaged by work and the need to earn to support both!&lt;/p&gt;
&lt;p&gt;The internet veterans predominately gain access for news, trading and stocks, and have a work focus; while the newcomers tend to focus on hobbies, music and entertainment. It appears that the majority of the non-internet population want to get online and feel that they are being left behind.&lt;/p&gt;
&lt;p&gt;In complete contrast to the fears of many, those who use the internet actually read more books and newspapers, listen to more music and radio, make most phone calls. And children exposed to PCs from the age of three upwards appear to gain about 20 IQ points by the time they are 15. In short they become smarter and not dumber as the pundits predicted. Engaging in computer games seems to engender a higher level of strategic thinking and adaptability, perhaps even making children more compatible with a world that is fundamentally chaotic.&lt;/p&gt;
&lt;p&gt;In the USA less than 40 per cent of all homes have a computer, in much of Europe it is even higher, and across most of the Western world 60 per cent of peoples have access to computers and the Internet at their workplace.&lt;/p&gt;
&lt;p&gt;One big surprise emerges from the online population is that they are most likely to see pornography and security as non-issues, and less than three per cent of the online population express any concern. Parents on the other hand feel that they have to police their children&#39;s PC and TV time, and specifically, the subject matter. But the children don&#39;t agree and get to do and see what they want anyway by bypassing their parents and their wishes.&lt;/p&gt;
&lt;p&gt;Over 80 per cent believe that they spend about the right amount of time online, and have not given up any of their non-screen activities such as sport, socialising and hobbies. They consider that their lives have become more productive because they have gained from the computer and even more from the abandonment of TV. And internet users are far more optimistic about the advantages of IT technology than non-users.&lt;/p&gt;
&lt;p&gt;Those people not yet online record scores that are more or less an inversion of all of the above, and those that have declared no interest in the internet (around 16 per cent) say they would never buy a computer or go online at any price. Overall it seems that 84 per cent of those online have email accounts and over 40 per cent check their email more than once a day. Most have an 80 per cent satisfaction level with the internet, the speed of access remains the key dissatisfaction parameter and the lack of broadband connectivity a major problem.&lt;/p&gt;
&lt;p&gt;There now seems to be a new (positive) breed of anecdote contributing to the internet growth. Looking back we can trace a similar progress with the steam engine, automobile, telephone, radio and TV. I can remember TV debates about the bad influence of television programmes depicting nudity, violence, pop music, and the use of unacceptable language. Today it all seems so tame and society doesn&#39;t seem to be any the worse for it. Perhaps what we are learning is that freedom actually works.&lt;/p&gt;
&lt;p&gt;Out of all of this seems to come a single useful constant - 10 years. Over our recent technological progress during and since the industrial revolution, it always seems to take about 10 years for society to accept the new. Cheque books, credit cards, standing orders, direct debit, internet payments, computers in the home, mobile phones, digital cameras, VHS, CD, DVD et al all took about 10 years to be accepted and established. But at every transition point the luddite lobby has always mounted an energetic campaign to stop progress. Typewriters will see people unable to use a pen, television will turn everybody into zombies, computers will wreck education, pornography on VHS will corrupt the population etc. Of course there is a grain of truth in all of the objections, but the upside always proves to be far greater than the down.&lt;/p&gt;
&lt;p&gt;The reality, and great success of the internet is that having transformed the way we do business it has become invisible in less than a decade. It is everywhere, accepted, the business and society norm, and proving highly beneficial. Only a few luddites remain to be convinced, but they are now in the minority and fast becoming insignificant. Perhaps the useless and pointless debates will rapidly go away too!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This column dictated to tape while travelling between Cambridge and Ipswich on the A14, typed by my PA on her Apple notebook, dispatched to me via broadband from her home, picked up by me on the Ipswich to London Intercity train via my GSM phone and G4 laptop, edited as soon as I had finished breakfast, and dispatched to silicon.com via the same path from the same train.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;update-2nd-january-2026&quot; tabindex=&quot;-1&quot;&gt;Update 2nd January 2026&lt;/h2&gt;
&lt;p&gt;I find this fascinating when re-reading - Ai is now going through these same thought processes. Again and again we go through the same stages with anything new and have done for time immemorial.&lt;/p&gt;
&lt;p&gt;“The farther backward you can look, the farther forward you are likely to see.”&lt;br /&gt;
— Winston S. Churchill&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://petercochrane.com/&quot;&gt;Peter Cochrane&#39;s current personal site&lt;/a&gt;.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Thu, 08 May 2003 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2003-05-08-peter-cochranes-uncommon-sense-web-realities/</guid>
    </item>
    <item>
      <title>Microsoft plans toilets with Web access</title>
      <link>https://www.simoncox.com/short-articles/2003-05-07-microsoft-plans-toilets-with-web-access/</link>
      <description>&lt;p&gt;&amp;quot;Now on the way: &amp;quot;Surfing on the loo&amp;quot; with Internet access at portable toilets.&lt;/p&gt;
&lt;p&gt;The iLoo being developed by the MSN division of Microsoft Corp. in Britain is a standard portable toilet -- a &amp;quot;loo&amp;quot; to the English -- with a wireless keyboard and extending, height-adjustable plasma screen in front of the seat.&lt;/p&gt;
&lt;p&gt;There would also be a &amp;quot;Hotmail station&amp;quot; with waterproof keyboard and plasma screen on the outside for those waiting in line.&lt;/p&gt;
&lt;p&gt;MSN officials say they&#39;re negotiating for the manufacture of toilet paper imprinted with Web addresses that users may not have tried. &amp;quot; Salon.com&lt;/p&gt;
&lt;p&gt;They could try some Microsoft urls then! I love this story - especially as I have been known to surf whilst having a number 2 at home - thanks to our WiFi - very upsetting for friends when they are on Messenger and realise I&#39;m in the small room!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;from Salon.com Technology | Microsoft plans toilets with Web access - (no archived page)&lt;/em&gt;&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Wed, 07 May 2003 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2003-05-07-microsoft-plans-toilets-with-web-access/</guid>
    </item>
    <item>
      <title>wma189</title>
      <link>https://www.simoncox.com/short-articles/2003-05-06-wma189/</link>
      <description>&lt;p&gt;I had a great deal of people reaching this site having followed a search for &lt;strong&gt;wma189&lt;/strong&gt;. The reason they landed here was that I have a page of e-mail addresses that have spammed me and this has been indexed by the search engines.&lt;/p&gt;
&lt;p&gt;I can only assume from the amount of visitors that lots of people are getting fed up with getting unsolicited e-mail from &lt;a href=&quot;https://web.archive.org/web/20030502120434/http://www.wma189.com/&quot;&gt;wma189.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;What amazed me was when you put wma189 into Google the only result is this site.&lt;/p&gt;
&lt;p&gt;Fortunately there are laws surfacing to reduce the amount of spam on the internet, reports say that over 40% of all internet traffic is span e-mail. Virginian laws are about to get tougher and as they are the access point for AOL and other services this should cut down a lot of the spam. But where will it all go - my guess is mobile phones as I am starting to get unsolicited calls and sms text messages now - and that&#39;s even more of a pain…&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Tue, 06 May 2003 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2003-05-06-wma189/</guid>
    </item>
    <item>
      <title>Boogle</title>
      <link>https://www.simoncox.com/short-articles/2003-04-23-boogle/</link>
      <description>&lt;p&gt;Very disappointed today to open Google UK to find no St George&#39;s Day banner. Google excelled themselves last year with a special banner and we must not forget that St George is the patron Saint of many places - not just England - Barcelona, Russia, and others - let me know!&lt;/p&gt;
&lt;p&gt;Google have a logo already so why have they not used it today - I suspect the St Patrick&#39;s day logo has been used every year since they started specialty logos. England apparently is not allowed to celebrate our Patron Saints. St George&#39;s day its seems to be regarded as xenophobic and racist - the same with flying the cross of St George&#39;s flag - England&#39;s flag. Why am I not allowed to have pride in my country? Why in London does the Mayor spend a fortune on St Patrick&#39;s day festival and not a jot for the 23rd April?&lt;/p&gt;
&lt;h2 id=&quot;update&quot; tabindex=&quot;-1&quot;&gt;Update&lt;/h2&gt;
&lt;p&gt;On reflection in 2025 this post made me sound like a bit like a flag waver - I&#39;m not, and I&#39;m not going to let my national flag mean anything other then help and support for all people.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Wed, 23 Apr 2003 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2003-04-23-boogle/</guid>
    </item>
    <item>
      <title>Web site undergoing more changes</title>
      <link>https://www.simoncox.com/short-articles/2003-04-20-web-site-undergoing-more-changes/</link>
      <description>&lt;p&gt;If you have followed a search link to this site you will have noticed a lack of consistency in the styles used. That is because I am moving the cms over to &lt;a href=&quot;https://web.archive.org/web/20040326114324/http://www.moveabletype.org/&quot;&gt;Moveable Type&lt;/a&gt; and have yet to do the housekeeping to convert all the old pages plus a few stand alone pages need building and the css needs properly structuring, organising and finishing off.&lt;/p&gt;
&lt;p&gt;It feels like moving house - things need throwing out but I am not 100% sure yet which bits I actually need!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Sun, 20 Apr 2003 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2003-04-20-web-site-undergoing-more-changes/</guid>
    </item>
    <item>
      <title>Movable Type moves to Simoncox.com!</title>
      <link>https://www.simoncox.com/short-articles/2003-04-16-movable-type-moves-to-simoncox.com!/</link>
      <description>&lt;p&gt;I have installed MoveableType personal Publishing System onto the site as the current Content Management System has gone into a development hiatus. I would rather go with a system built by professionals, nominated for a 2003 Webby Award and has some amazing features!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Wed, 16 Apr 2003 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2003-04-16-movable-type-moves-to-simoncox.com!/</guid>
    </item>
    <item>
      <title>New look new server</title>
      <link>https://www.simoncox.com/short-articles/2002-03-09-new-look-server/</link>
      <description>&lt;p&gt;I have got my act together at last and started shifting content to a dedicated web space. Previously it has been kept in three different locations.&lt;/p&gt;
&lt;p&gt;If the look is familiar then you are working on a certain lizardy project - thing is this version IS css and has a cms system behind it. Please dont ask how long it took and how much it&#39;s cost. You won&#39;t like it!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Tue, 09 Jul 2002 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2002-03-09-new-look-server/</guid>
    </item>
    <item>
      <title>Upgrade to The Gallery</title>
      <link>https://www.simoncox.com/short-articles/2002-05-17-upgrade-to-the-gallery/</link>
      <description>&lt;p&gt;I have upgraded the Gallery software and started to change its appearance to match the rest of the site. Enhancements include a slide show facility within each album so you can site back and enjoy the show!&lt;/p&gt;
&lt;h2 id=&quot;update&quot; tabindex=&quot;-1&quot;&gt;Update&lt;/h2&gt;
&lt;p&gt;Sadly I had to remove the gallery in 2010 due to some technical issues at the time and have not rebuilt it. &lt;a href=&quot;https://www.flickr.com/photos/simonmcox/&quot;&gt;I do have some images that you can view in my Flickr account&lt;/a&gt;.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Fri, 17 May 2002 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2002-05-17-upgrade-to-the-gallery/</guid>
    </item>
    <item>
      <title>Accessibility links with css</title>
      <link>https://www.simoncox.com/short-articles/2002-05-14-accessibility-links-with-css/</link>
      <description>&lt;p&gt;Lots of sites use short catchy &#39;action&#39; terms to entice people into further sections of thier sites. The dreaded &#39;click here&#39; is the all time classic but &#39;more&#39;, &#39;read more&#39; and other variations also abound.&lt;/p&gt;
&lt;p&gt;The alternative is to highlight the actual text that the link comes from - though it is not always clear that there is a link there or that you should follow a link for more info.&lt;/p&gt;
&lt;p&gt;It is even worse for screen reader software when confronted by a list of links all saying &#39;click here&#39; without any explanation of what&#39;s on the end of the link.&lt;/p&gt;
&lt;p&gt;I have developed, following a suggestion from my work colleague Celia (who got miffed because I didn&#39;t mention her in the first draft of this piece! :P ), a simple technique that I hope will allow more usability and accessibility.&lt;/p&gt;
&lt;p&gt;The following code visually highlights the word &#39;more&#39; in the sentence but actually all of it is the link, which is apparent when you mouse over it. Screen readers, such as Jaws, pick the whole link up.&lt;/p&gt;
&lt;p&gt;The style&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;a { color: #000000; text-decoration: none}
a:hover { color: #FF0000; text-decoration: underline}
.highlight { color: #FF0000; text-decoration: underline}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The html&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;a href=&amp;quot;#&amp;quot; title=&amp;quot;Read more about accessibility&amp;quot;&amp;gt;Read &amp;lt;span class=&amp;quot;highlight&amp;quot;&amp;gt;more&amp;lt;/span&amp;gt; about accessibility&amp;lt;/a&amp;gt;.
&lt;/code&gt;&lt;/pre&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Tue, 14 May 2002 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2002-05-14-accessibility-links-with-css/</guid>
    </item>
    <item>
      <title>Mac Classic OS windows with css!</title>
      <link>https://www.simoncox.com/short-articles/2002-05-13-mac-classic-os-windows-with-css!/</link>
      <description>&lt;p&gt;A couple of Mac sites have complicated tables forming Mac like windows for showing stories. I wanted to try and do this in css alone and reduce the number of graphics as well.&lt;/p&gt;
&lt;p&gt;The css is as follows:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#box1 {
border: 1px #000000 solid;
}

#box2 {
border: 1px solid;
border-color: #fffffe #999999 #999999 #fffffe;
}

#box3 {
border: 1px #cccccc solid;
background: url(box3_full_background.gif) no-repeat #cccccc;
color: #000000;
text-align: center;
}

#box5 {
border: 1px solid;
border-color: #999999 #fffffe #fffffe #999999;
}

#box6 {
border: 1px #000000 solid;
color: #000000;
background: #fffffe;
padding-top: 5px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;
font-weight: normal;
text-align: left;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;style&gt;
	#box1 {border: 1px #000000 solid;}
	#box2 {border: 1px solid;border-color: #fffffe #999999 #999999 #fffffe;}
	#box3 {border: 1px #cccccc solid;background: url(box3_full_background.gif) no-repeat #cccccc;color: #000000;text-align: center;}
	#box5 {border: 1px solid;border-color: #999999 #fffffe #fffffe #999999;}
	#box6 {border: 1px #000000 solid;color: #000000;background: #fffffe;padding-top: 5px;padding-right: 5px;padding-bottom: 5px;padding-left: 5px;font-weight: normal;text-align: left;}
&lt;/style&gt;
&lt;section id=&quot;box1&quot;&gt;
	&lt;section id=&quot;box2&quot;&gt;
		&lt;section id=&quot;box3&quot;&gt;&lt;span class=&quot;boxheading&quot;&gt;Mac OS 6-9&lt;/span&gt;
				&lt;section id=&quot;box5&quot;&gt;
					&lt;section id=&quot;box6&quot;&gt; 
						&lt;p&gt;Five boxes inside each other. Viola. I might have a go at OSX and windows next.&lt;/p&gt;
					&lt;/section&gt;
				&lt;/section&gt;
		&lt;/section&gt;
	&lt;/section&gt;
&lt;/section&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Mon, 13 May 2002 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2002-05-13-mac-classic-os-windows-with-css!/</guid>
    </item>
    <item>
      <title>It&#39;s a start with CSS</title>
      <link>https://www.simoncox.com/short-articles/2002-05-11-its-a-start/</link>
      <description>&lt;p&gt;Over the past few years I have become more and more engrossed with Cascading Style Sheets and the benefits they offer to the web. This year I have stepped up that interest with an eventual aim of changing all the sites that I run over to css. My mantra now is that the only time I use tables in my code is when I need to display a table of content!&lt;/p&gt;
&lt;p&gt;This does mean that the layouts are going to get simpler and while I am at it I intend to make the sites fully accessible and make them Bobby and 508 complient. No small task.&lt;/p&gt;
&lt;p&gt;As part of this secion of the site I will be including little snippets of real life css code that I have used, strategy for css and cms driven sites and anything else that is relevant. Links to useful css and accessabilty sites will appear in the menu.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Sat, 11 May 2002 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2002-05-11-its-a-start/</guid>
    </item>
    <item>
      <title>CSS rollovers - no javascript!</title>
      <link>https://www.simoncox.com/short-articles/2002-05-11-css-rollovers-no-javascript/</link>
      <description>&lt;p&gt;I have seen a couple of examples of css roll over buttons on the web but they changed a simple square block of colour and I wanted something more stylish - more like what you do with graphical javascript rollovers.
I decide the way to do it was to use an image as the background and change it in the style for a:hover and a:visited.&lt;/p&gt;
&lt;p&gt;First of all I made 4 graphics. The first was a 15px square transparent gif and the other three were coloured buttons also 15px square.
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/css-rollovers-no-javascript-transparent_15.gif&quot; alt=&quot;15px transparent square&quot; eleventy:ignore=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/css-rollovers-no-javascript-orangeround_15.gif&quot; alt=&quot;15px orange round square&quot; eleventy:ignore=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/css-rollovers-no-javascript-greenround_15.gif&quot; alt=&quot;15px green round square&quot; eleventy:ignore=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.simoncox.com/assets/img/content/css-rollovers-no-javascript-greenroundtick_15.gif&quot; alt=&quot;15px green round with tick square&quot; eleventy:ignore=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I then coded a link and included the transparent_15.gif before the links text:
This is a link to another page.&lt;/p&gt;
&lt;p&gt;This is the link to the demo page&lt;/p&gt;
&lt;p&gt;Notice I have added both a title tag for the link and an alt tag for the image to help with Accessibility.&lt;/p&gt;
&lt;p&gt;Then I added the css:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;a { background-image: url(orangeround_15.gif); background-repeat: no-repeat; background-position: 0px 3px; color: #000000; text-decoration: underline}  

a:hover { background-image: url(greenround_15.gif); background-repeat: 

no-repeat; background-position: 0px 3px; color: #000000} body { font-family: Arial, Helvetica, sans-serif; font-size: 12px}  

p { padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px} a:visited { background-image: url(greenroundtick_15.gif);   

background-repeat: no-repeat; background-position: 0px 3px; color: #000000 }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The orange button appears as the link style background and the transparent gif ensures the text is moved to the right the correct amount. When you mouse over the link the a:hover style comes into play which changes the background to the green button. When you have visited the link and come back the a:visited style shows the green button with tick as a background. You could also add images for a:active if you wished. You could do this without the transparent gif by adding 15px left padding but we can use this technique for links in the middle of a paragraph of text.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Sat, 11 May 2002 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2002-05-11-css-rollovers-no-javascript/</guid>
    </item>
    <item>
      <title>New look site!</title>
      <link>https://www.simoncox.com/short-articles/2002-05-03-new-look-site/</link>
      <description>&lt;p&gt;The up side of being unwell is that I have spent this week delving into CSS. What a minefeild! I have used CSS for a longtime now but never for the page layout. The home page now uses my first public stab at it.&lt;/p&gt;
&lt;p&gt;I still have to break the home page down into php elements so that the rest of the site can be rebuilt quickly. I may even run parts of the shared code within the CMS so that I can do remote code changes to the whole site quickly... Hmm.&lt;/p&gt;
&lt;p&gt;And I have had a brilliant idea about style sheets and a local random varient to drive them - more later! (What?)&lt;/p&gt;
&lt;p&gt;I just realised that there is a bug with IE5Mac. Poo. Have to work on that later - only me that looks at the site on a Mac anyway.&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Fri, 03 May 2002 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2002-05-03-new-look-site/</guid>
    </item>
    <item>
      <title>Microsoft - Hotmail pain...</title>
      <link>https://www.simoncox.com/short-articles/2002-05-03-microsoft-hotmail-pain/</link>
      <description>&lt;p&gt;Just checked my hotmail account - which I only have so that I can use MSN Messenger because certain friends use it rather than ICQ.&lt;/p&gt;
&lt;p&gt;MSN are now expiring unused hotmail accounts after 30 days. What a pain! They claim its to save disk space. Hmmm. More likley to ensure that the e-mail addresses they are selling to third parties are good ones - thereby bringing in more income. I have had loads of spam in my hotmail account and yet have never used the address anywhere...&lt;/p&gt;
&lt;blockquote&gt;
&lt;h2 id=&quot;msn-hotmail-account-expiration-policy&quot; tabindex=&quot;-1&quot;&gt;MSN Hotmail account expiration policy&lt;/h2&gt;
&lt;p&gt;Please be sure to sign in to your MSN Hotmail account every 30 days. If you don&#39;t, your account will become inactive, and:
You will lose all e-mails and attachments in your Inbox and other folders
All of your incoming e-mail will be rejected
You will lose all contacts in your Address Book&lt;/p&gt;
&lt;p&gt;Unfortunately, this information cannot be recovered.* As a valued Hotmail member, we want to make sure you know that subscribing to MSN Extra Storage exempts you from this account expiration policy. It&#39;s the smartest way to prevent the loss of all the important information in your MSN Hotmail account.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Fri, 03 May 2002 01:00:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2002-05-03-microsoft-hotmail-pain/</guid>
    </item>
    <item>
      <title>The latest webcam images</title>
      <link>https://www.simoncox.com/short-articles/2000-07-09-the-latest-webc/</link>
      <description>&lt;p&gt;OK Big changes to this page in July 2007! We now have a timelapse webcam picture for you.&lt;/p&gt;
&lt;p&gt;This is achieved by loading up the last 50 images onto the server and then showing you a flash slide show of them in reverse sequence. I have used the Monoslideshow flash system to create the slide show and I can highly recommend it as the xml is easy to put together and the possible customisation is extensive - so important on the web to day to make sure every site looks different!&lt;/p&gt;
</description>
      
      <enclosure url="https://www.simoncox.com/assets/img/content/itsjustashort.webp" type="image" />
      <pubDate>Sun, 09 Jul 2000 10:01:00 GMT</pubDate>
      <dc:creator>Simon Cox</dc:creator>
      <guid>https://www.simoncox.com/short-articles/2000-07-09-the-latest-webc/</guid>
    </item>
  </channel>
</rss>