Website Optimization Measures, Part VIII
Published on August 8, 2017 (⻠September 20, 2023), filed under Development (RSS feed for all categories).
Eight years. Eight years has it been since the last episode of this series, âWebsite Optimization Measures.â In October of 2009, I last talked about more or less random things I did on my own websites, back then covering unquoted attribute values, the q
element, custom feed styling, work/life balance, andâGoogle Friend Connect. When was the last time we even heard about GFC.
-
Moving to HTTPS. You can tell by last Decemberâs tweet that this is a change long executedâa change to switch to SSL on all my websites. This has also been a very important change, notably because, to quote the EFF, standard HTTP makes us âvulnerable to eavesdropping and content hijacking.â And it was an easy change, too, thanks to the Letâs Encrypt effort and seamless integration by many providers. (I use ALL-INKL in Germany and DreamHost in the United States. Iâm happy with both. Still.)
-
Upgrading PHP. Involuntarily. Configured on PHP auto-update in DreamHost but with somewhat fixed settings with ALL-INKL I was forced to manually update to at least PHP 5.6. A no-brainer for pretty much all of my websitesâexcept for one, this one, meiert.com. The reason dates back to a mistake made in 2007 (did I explain in my site meta post?), yet I wonât go into details here. Suffice it to say, Iâve made sure all sites work on PHP 7.0/7.1 and to put that one exception on a better defined upgrade pathâto finally address the effects of that decade-old bad decision of mine.
-
Removing all favicon references. I mean that old
link
element of anicon
type. Many browsers have automatically checked for a favicon.ico in the site root for many, many years; for many years now all of them do (the most popular browsers, that is). Favicon references are not needed anymore, so thereâs one more thing to leave out in our HTML. -
Aligning attribute order. After finding something like this on UITest.comâ
<link rel=alternate type=application/rss+xml href=/en/index.xml title="New Tools (RSS)">
âI was shocked đ I found the order not to make sense.
@rel
first, yes. But@type
next? No;@href
seemed next important. Then@type
. Last@title
.<link rel=alternate href=/en/index.xml type=application/rss+xml title="New Tools (RSS)">
This meant an order I made sure to follow in all projects. Yet, it also represents an overall interesting issue: Does attribute order matter? Should we standardize it? How? And I feel like this would open yet another Pandoraâs box of standardization.
-
Improving website responsiveness, through smarter use of breakpoints. Actually a tricky matter: The fewer breakpoints, the better (also to keep CSS DRY)âbut as many breakpoints as necessary. I found that on meiert.com and uitest.com, additional breakpoints could help make the experience a little better. Done. (Side note: Iâm a fan of limiting line length for readability purposesâand not a fan of blowing up font sizes. As such I still limit the width of the sites Iâm designing.)
-
Removing dates from URLs. Now this is something I used to be skeptical about, but after getting the suspicion that people may not even visit posts on this site when labeled with a long past date, even though I regularly review all writings, and then in order to keep URLs cleaner and shorter, I decided to take the post date out of blog URLs. You see what I mean with this postâs path:
/en/blog/optimization-measures-8/
. -
Pulling through on removing analytics code from all sites. I had spoken about removing analytics code when itâs not used. I had Google Analytics running on this site for a long while after. But as it only slowed everything down, and as the few looks at the data I took were of little value (to meâI know analytics to be invaluable, even critical, for other sites), I removed it here as well.
-
Evaluating script execution order (and making better use of
@defer
). Confession: I would have sworn that@defer
was not part of XHTML(and you know why that DOCTYPE is still used on meiert.com). But@defer
isâ@async
isnât. And so I reviewed the use of all scripts on all of my sites to optimize performance through both attributes, where possible(again, except for not using.@async
on meiert.com because of its DOCTYPE)
Speaking of swearing, I could have also sworn Iâve done a lot more on my sites latelyâas you probably did on yours, too. But these things stood out, and I found them to justify reviving the series:
This is a part of an open article series. Check out some of the other posts!
About Me
Iâm Jens (long: Jens Oliver Meiert), and Iâm a frontend engineering leader and tech author/publisher. Iâve worked as a technical lead for companies like Google and as an engineering manager for companies like Miro, Iâm a contributor to several web standards, and I write and review books for OâReilly and Frontend Dogma.
I love trying things, not only in web development (and engineering management), but also in other areas like philosophy. Here on meiert.com I share some of my experiences and views. (Please be critical, interpret charitably, and give feedback.)
Read More
Maybe of interest to you, too:
- Next: Living Websites, Living Books
- Previous: On Adventure
- More under Development
- More from 2017
- Most popular posts
Looking for a way to comment? Comments have been disabled, unfortunately.
Get a good look at web development? Try WebGlossary.infoâand The Web Development Glossary 3K. With explanations and definitions for thousands of terms of web development, web design, and related fields, building on Wikipedia as well as MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.