{"id":4251398,"date":"2019-04-25T13:05:33","date_gmt":"2019-04-25T13:05:33","guid":{"rendered":"https:\/\/www.deptagency.com\/insight\/in-search-of-the-best-cache-busting-query-string\/"},"modified":"2019-04-25T13:05:33","modified_gmt":"2019-04-25T13:05:33","slug":"in-search-of-the-best-cache-busting-query-string","status":"publish","type":"article","link":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/","title":{"rendered":"In search of the best cache busting query string"},"content":{"rendered":"<div class=\"block-article-post-header js-block-article-post-header block-article-post-header__theme--onyxGrey\">\n\t<button\tclass=\"cta-button block-article-post-header__back-button cta-button__color--white cta-button__style--back\" aria-label=\"Back\" >\n\t<svg width='41' height='41' viewBox='0 0 41 41' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><circle cx='20.5' cy='20.5' r='19.5' transform='rotate(-90 20.5 20.5)' stroke='var(--dept-button-icon-outline-color)' stroke-width='1.3' stroke-miterlimit='10' fill='none'\/><circle class='icon-backplate' cx='20.5' cy='20.5' r='19.5' transform='rotate(-90 20.5 20.5)' fill='var(--dept-button-icon-backplate-color)' fill-opacity='1'\/><path class='icon-center' d='M21.174 30 11 20.674l10.174-9.326m-9.326 9.328H30.5' stroke='var(--dept-button-icon-color)' stroke-width='1.3' stroke-miterlimit='10' fill='none'\/><\/svg>\n\t\t\t<span>\n\t\t\tBack to all articles\t\t<\/span>\n\t\n<\/button><h1\t\tclass=\"typography block-article-post-header__title typography__color--white typography__size--h1 typography__align--left\"\n\t\t\t>\n\t\tIn search of the best cache busting query string\t<\/h1><div\n\t\tclass=\"image-wrap block-article-post-header__image-wrap\"\n\t\tdata-align=\"center center\"\n\t\t\t>\n\n\t\t\t<picture\n\t\tclass=\"image__picture\"\n\t\t\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t<img\n\t\t\t\tsrc=\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/03\/January_Office_Image37-e1556119663270-1200x750-c.jpg\"\n\t\t\t\tclass=\"image block-article-post-header__image\"\n\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\/>\n\t\t<\/picture>\n\t\n\t<\/div><div class=\"author block-article-post-header__author\" data-animation=\"slide-fade\">\n\t\t\t<img\n\t\t\tclass=\"author__portrait\"\n\t\t\tsrc=\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/08\/Jim-S-1680-150x150.jpg\"\n\t\t\talt=\"James Simm\"\n\t\t\/>\n\t\n\t<div class=\"author__text\">\n\t\tJames Simm\t\t<br \/>\n\t\tHead of Engineering\n\t\t\t<\/div>\n<\/div>\n\t<div class=\"block-article-post-header__meta\">\n\t\t\t\t\t\t\t<div class=\"block-article-post-header__meta-date\">\n\t\t\t\t<div class=\"block-article-post-header__date-description\">\n\t\t\t\t\tDate\t\t\t\t<\/div>\n\t\t\t\t<div class=\"block-article-post-header__published-date\">\n\t\t\t\t\t25 April 2019\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t<\/div>\n<\/div>\n\n<div class=\"block-title-and-content js-block-title-and-content block-title-and-content__theme--white\">\n\t<div class=\"block-title-and-content__layout\">\n\t\t\n\t\t\t\t\t<div class=\"block-title-and-content__content\">\n\t\t\t\t\n<h2\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--h6 typography__align--left\"\n\t\t\t>\n\t\tIf you aren\u2019t already, you should be cache busting your scripts and styles, and what better way to do that by making the URL unique, clearing both the browser cache and any CDNs that are configured correctly. A good explanation of this can be found\u00a0<a href=\"https:\/\/stackoverflow.com\/questions\/9692665\/cache-busting-via-params\">here<\/a>.\t<\/h2>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tBut if we were to take this a step further and automate it, what would this look like, and what are our options?\t<\/p>\n\n<h2\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--h6 typography__align--left\"\n\t\t\t>\n\t\tBusting the cache based on version\t<\/h2>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tIf you\u2019re doing any kind of serious project, you\u2019re going to want some kind of automated versioning. We tend to use\u00a0<a href=\"https:\/\/gitversion.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitVersion<\/a>\u00a0for most of our projects here, which while it has a few foibles that can need ironing out depending on your continuous integration pipeline, I\u2019d still recommend it as the defacto standard for generating out version numbers automatically.\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tOnce you have a version number, it\u2019s a case of reading that version number from somewhere and stamping that into a variable, then outputting your files based on that variable. Here\u2019s a quick example:\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tpublic static string\u00a0SiteVersion(this\u00a0HtmlHelper\u00a0helper)<br>{<br>return typeof(HTMLExtensions).Assembly.GetName().Version.ToString();<br>}\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tThen in your Razor or wherever you want to use it, you can just call it like this:\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\t&lt;script\u00a0src=&#8221;\/_scripts\/cool-website.js?v=@Html.AppVersion()&#8221;><br>&lt;\/script>\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tThis just gets you the version out of your assembly. This does require your build pipeline to be stamping the build onto your DLLs but apart from that it\u2019s a pretty neat solution to the problem. It\u2019s not my favourite though, for reasons i\u2019ll go into below.\t<\/p>\n\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\n\t<div class=\"block-title-and-content__social-links\">\n\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"copy\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Copy page link\"\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tdata-tooltip=\"true\"\n\t\t\t\t\tdata-tooltip-text=\"Link copied to clipboard.\"\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg' width='22' height='22' viewBox='0 0 22 22'><path d='M6.832 15.167l8.333-8.333M9.332 6.001l2.787-2.787a4.715 4.715 0 016.666 0v0a4.715 4.715 0 010 6.667L16 12.668M5.999 9.334l-2.787 2.787a4.715 4.715 0 000 6.666v0a4.715 4.715 0 006.667 0l2.787-2.786' stroke='currentColor' stroke-width='2'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"facebook\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Facebook\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg width='14' height='22' viewBox='0 0 14 22' fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg'><path d='M4.032 22L4 12H0V8h4V5.5C4 1.789 6.298 0 9.61 0c1.585 0 2.948.118 3.345.17v3.88H10.66c-1.8 0-2.15.856-2.15 2.112V8h5.241l-2 4H8.51v10H4.032z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/api.whatsapp.com\/send?text=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"whatsapp\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Whatsapp\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg xmlns='http: \/\/www.w3.org\/2000\/svg' width='25' height='24' viewBox='0 0 25 24'><path d='M.805 24l1.687-6.163a11.869 11.869 0 01-1.588-5.945C.907 5.335 6.244 0 12.801 0c3.182.001 6.17 1.24 8.415 3.488a11.819 11.819 0 013.481 8.413c-.002 6.558-5.34 11.893-11.896 11.893h-.005c-1.99-.001-3.947-.5-5.685-1.448L.805 24zm6.598-3.807l.361.214a9.874 9.874 0 005.033 1.378h.004c5.45 0 9.885-4.434 9.888-9.885a9.824 9.824 0 00-2.894-6.993 9.823 9.823 0 00-6.99-2.898c-5.454 0-9.89 4.434-9.892 9.884a9.86 9.86 0 001.512 5.26l.235.374-.999 3.648 3.742-.982z' fill='currentColor'\/><path d='M9.825 6.921c-.24-.58-.486-.501-.668-.51-.174-.009-.372-.01-.57-.01-.198 0-.52.074-.793.371-.272.298-1.04 1.017-1.04 2.48 0 1.462 1.065 2.875 1.214 3.073.148.199 2.096 3.2 5.078 4.487.709.306 1.262.49 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.759-.72 2.007-1.413.247-.694.247-1.29.173-1.413-.074-.124-.272-.199-.57-.347-.297-.149-1.758-.868-2.03-.967-.273-.1-.471-.149-.67.149-.198.297-.767.966-.94 1.165-.174.198-.348.223-.645.074-.297-.149-1.255-.462-2.39-1.475-.884-.788-1.48-1.76-1.654-2.058-.173-.298-.018-.459.13-.607.134-.133.298-.347.446-.52.149-.174.199-.298.298-.496.099-.198.05-.372-.025-.52-.074-.15-.669-1.612-.917-2.207z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F&#038;text=In%20search%20of%20the%20best%20cache%20busting%20query%20string\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"twitter\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Twitter\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg width='25' height='20' viewBox='0 0 25 20' fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg'><path d='M24.75 2.3c-.9.4-1.8.7-2.8.8 1-.6 1.8-1.6 2.2-2.7-1 .6-2 1-3.1 1.2-.9-1-2.2-1.6-3.6-1.6-2.7 0-4.9 2.2-4.9 4.9 0 .4 0 .8.1 1.1-4.2-.2-7.8-2.2-10.2-5.2-.5.8-.7 1.6-.7 2.5 0 1.7.9 3.2 2.2 4.1-.8 0-1.6-.2-2.2-.6v.1c0 2.4 1.7 4.4 3.9 4.8-.4.1-.8.2-1.3.2-.3 0-.6 0-.9-.1.6 2 2.4 3.4 4.6 3.4-1.7 1.3-3.8 2.1-6.1 2.1-.4 0-.8 0-1.2-.1 2.2 1.4 4.8 2.2 7.5 2.2 9.1 0 14-7.5 14-14v-.6c1-.7 1.8-1.6 2.5-2.5z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"linkedin\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Linkedin\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg width='19' height='18' viewBox='0 0 19 18' fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg'><path d='M1.15 17.3h3.6V5.8h-3.6v11.5zM.75 2.1c0 1.2 1 2.1 2.1 2.1 1.2 0 2.1-.9 2.1-2.1 0-1.2-1-2.1-2.1-2.1-1.2 0-2.1 1-2.1 2.1zM14.45 17.3h3.6v-6.2c0-3.1-.7-5.5-4.3-5.5-1.8 0-2.9.9-3.4 1.8V5.8h-3.4v11.5h3.6v-5.7c0-1.5.2-2.9 2.1-2.9 1.8 0 1.8 1.7 1.8 3v5.6z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t<\/div>\n<\/div>\n\n<div\n\t\tclass=\"image-wrap block-image__image-wrap\"\n\t\tdata-align=\"center center\"\n\t\t\t>\n\n\t\t\t<picture\n\t\tclass=\"image__picture\"\n\t\t\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t<img\n\t\t\t\tsrc=\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/06\/Untitled-1-1.png\"\n\t\t\t\tclass=\"image block-image__image\"\n\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\/>\n\t\t<\/picture>\n\t\n\t<\/div>\n\n<div class=\"block-title-and-content js-block-title-and-content block-title-and-content__theme--white\">\n\t<div class=\"block-title-and-content__layout\">\n\t\t\n\t\t\t\t\t<div class=\"block-title-and-content__content\">\n\t\t\t\t\n<h2\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--h6 typography__align--left\"\n\t\t\t>\n\t\tBusting the cache based on file modified date\t<\/h2>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tThis one is pretty similar to busting based on version but doesn\u2019t rely on you having versioning setup and generally has a lot less maintenance. However, it\u2019s not as accurate as version based cache busting, or my preferred approach.\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tOn top of that, if you have multiple content delivery servers, the timestamps could be different on each of them, which would mean browsers and CDNs would cache multiple versions of the same file.\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tWith that said it\u2019s very easy to get working, and if you have a very small project it might be a good bet for a quick way of doing it.\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tA good example is\u00a0<a href=\"https:\/\/stackoverflow.com\/questions\/4560693\/getting-the-last-modified-date-of-an-assembly-in-the-gac\" target=\"_blank\" rel=\"noreferrer noopener\">this stack overflow post.<\/a>\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tAlthough there are a few problems with it on larger projects.\t<\/p>\n\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\n\t<div class=\"block-title-and-content__social-links\">\n\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"copy\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Copy page link\"\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tdata-tooltip=\"true\"\n\t\t\t\t\tdata-tooltip-text=\"Link copied to clipboard.\"\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg' width='22' height='22' viewBox='0 0 22 22'><path d='M6.832 15.167l8.333-8.333M9.332 6.001l2.787-2.787a4.715 4.715 0 016.666 0v0a4.715 4.715 0 010 6.667L16 12.668M5.999 9.334l-2.787 2.787a4.715 4.715 0 000 6.666v0a4.715 4.715 0 006.667 0l2.787-2.786' stroke='currentColor' stroke-width='2'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"facebook\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Facebook\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg width='14' height='22' viewBox='0 0 14 22' fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg'><path d='M4.032 22L4 12H0V8h4V5.5C4 1.789 6.298 0 9.61 0c1.585 0 2.948.118 3.345.17v3.88H10.66c-1.8 0-2.15.856-2.15 2.112V8h5.241l-2 4H8.51v10H4.032z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/api.whatsapp.com\/send?text=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"whatsapp\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Whatsapp\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg xmlns='http: \/\/www.w3.org\/2000\/svg' width='25' height='24' viewBox='0 0 25 24'><path d='M.805 24l1.687-6.163a11.869 11.869 0 01-1.588-5.945C.907 5.335 6.244 0 12.801 0c3.182.001 6.17 1.24 8.415 3.488a11.819 11.819 0 013.481 8.413c-.002 6.558-5.34 11.893-11.896 11.893h-.005c-1.99-.001-3.947-.5-5.685-1.448L.805 24zm6.598-3.807l.361.214a9.874 9.874 0 005.033 1.378h.004c5.45 0 9.885-4.434 9.888-9.885a9.824 9.824 0 00-2.894-6.993 9.823 9.823 0 00-6.99-2.898c-5.454 0-9.89 4.434-9.892 9.884a9.86 9.86 0 001.512 5.26l.235.374-.999 3.648 3.742-.982z' fill='currentColor'\/><path d='M9.825 6.921c-.24-.58-.486-.501-.668-.51-.174-.009-.372-.01-.57-.01-.198 0-.52.074-.793.371-.272.298-1.04 1.017-1.04 2.48 0 1.462 1.065 2.875 1.214 3.073.148.199 2.096 3.2 5.078 4.487.709.306 1.262.49 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.759-.72 2.007-1.413.247-.694.247-1.29.173-1.413-.074-.124-.272-.199-.57-.347-.297-.149-1.758-.868-2.03-.967-.273-.1-.471-.149-.67.149-.198.297-.767.966-.94 1.165-.174.198-.348.223-.645.074-.297-.149-1.255-.462-2.39-1.475-.884-.788-1.48-1.76-1.654-2.058-.173-.298-.018-.459.13-.607.134-.133.298-.347.446-.52.149-.174.199-.298.298-.496.099-.198.05-.372-.025-.52-.074-.15-.669-1.612-.917-2.207z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F&#038;text=In%20search%20of%20the%20best%20cache%20busting%20query%20string\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"twitter\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Twitter\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg width='25' height='20' viewBox='0 0 25 20' fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg'><path d='M24.75 2.3c-.9.4-1.8.7-2.8.8 1-.6 1.8-1.6 2.2-2.7-1 .6-2 1-3.1 1.2-.9-1-2.2-1.6-3.6-1.6-2.7 0-4.9 2.2-4.9 4.9 0 .4 0 .8.1 1.1-4.2-.2-7.8-2.2-10.2-5.2-.5.8-.7 1.6-.7 2.5 0 1.7.9 3.2 2.2 4.1-.8 0-1.6-.2-2.2-.6v.1c0 2.4 1.7 4.4 3.9 4.8-.4.1-.8.2-1.3.2-.3 0-.6 0-.9-.1.6 2 2.4 3.4 4.6 3.4-1.7 1.3-3.8 2.1-6.1 2.1-.4 0-.8 0-1.2-.1 2.2 1.4 4.8 2.2 7.5 2.2 9.1 0 14-7.5 14-14v-.6c1-.7 1.8-1.6 2.5-2.5z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"linkedin\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Linkedin\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg width='19' height='18' viewBox='0 0 19 18' fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg'><path d='M1.15 17.3h3.6V5.8h-3.6v11.5zM.75 2.1c0 1.2 1 2.1 2.1 2.1 1.2 0 2.1-.9 2.1-2.1 0-1.2-1-2.1-2.1-2.1-1.2 0-2.1 1-2.1 2.1zM14.45 17.3h3.6v-6.2c0-3.1-.7-5.5-4.3-5.5-1.8 0-2.9.9-3.4 1.8V5.8h-3.4v11.5h3.6v-5.7c0-1.5.2-2.9 2.1-2.9 1.8 0 1.8 1.7 1.8 3v5.6z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t<\/div>\n<\/div>\n\n<div\n\t\tclass=\"image-wrap block-image__image-wrap\"\n\t\tdata-align=\"center center\"\n\t\t\t>\n\n\t\t\t<picture\n\t\tclass=\"image__picture\"\n\t\t\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t<img\n\t\t\t\tsrc=\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/06\/Untitled-2.png\"\n\t\t\t\tclass=\"image block-image__image\"\n\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\/>\n\t\t<\/picture>\n\t\n\t<\/div>\n\n<div class=\"block-title-and-content js-block-title-and-content block-title-and-content__theme--white\">\n\t<div class=\"block-title-and-content__layout\">\n\t\t\n\t\t\t\t\t<div class=\"block-title-and-content__content\">\n\t\t\t\t\n<h2\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--h6 typography__align--left\"\n\t\t\t>\n\t\tBusting the cache based on git hash\t<\/h2>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tThis is my preferred approach, as your git hash should refer directly to the code itself, so there\u2019s no chance of a collision between versions, and it aligns with repeatable builds, which is something I really like.\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tThe only real downside to this one is that it\u2019s a bit more computationally expensive than the others, so you likely want to cache it or use a singleton to generate it.\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tHere\u2019s the example, it uses\u00a0<a href=\"https:\/\/github.com\/MarkPflug\/MSBuildGitHash\" target=\"_blank\" rel=\"noreferrer noopener\">MSBuildGitHash<\/a>\u00a0which needs a small modification to your csproj so it can stamp the DLL with your git hash. After that you just need the following code to get the version out:\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tpublic static string\u00a0VersionHash(this\u00a0HtmlHelper\u00a0helper)<br>{<br>var\u00a0assembly\u00a0= typeof(TheCurrentClassYou&#8217;reCallingFrom).Assembly;<br>var\u00a0attributes\u00a0=\u00a0assembly.GetCustomAttributes&lt;AssemblyMetadataAttribute>();<br>var\u00a0hash\u00a0=\u00a0attributes.FirstOrDefault(a\u00a0=>\u00a0a.Key\u00a0==\u00a0&#8220;GitHash&#8221;)?.Value;<br>return\u00a0hash?.Replace(&#8220;-dirty&#8221;, string.Empty);<br>}\t<\/p>\n\n<p\t\tclass=\"typography block-typography__typography typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tJust replace the classname before the .Assembly call with your classname and you should be good to go.\t<\/p>\n\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\n\t<div class=\"block-title-and-content__social-links\">\n\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"copy\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Copy page link\"\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tdata-tooltip=\"true\"\n\t\t\t\t\tdata-tooltip-text=\"Link copied to clipboard.\"\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg' width='22' height='22' viewBox='0 0 22 22'><path d='M6.832 15.167l8.333-8.333M9.332 6.001l2.787-2.787a4.715 4.715 0 016.666 0v0a4.715 4.715 0 010 6.667L16 12.668M5.999 9.334l-2.787 2.787a4.715 4.715 0 000 6.666v0a4.715 4.715 0 006.667 0l2.787-2.786' stroke='currentColor' stroke-width='2'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"facebook\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Facebook\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg width='14' height='22' viewBox='0 0 14 22' fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg'><path d='M4.032 22L4 12H0V8h4V5.5C4 1.789 6.298 0 9.61 0c1.585 0 2.948.118 3.345.17v3.88H10.66c-1.8 0-2.15.856-2.15 2.112V8h5.241l-2 4H8.51v10H4.032z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/api.whatsapp.com\/send?text=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"whatsapp\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Whatsapp\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg xmlns='http: \/\/www.w3.org\/2000\/svg' width='25' height='24' viewBox='0 0 25 24'><path d='M.805 24l1.687-6.163a11.869 11.869 0 01-1.588-5.945C.907 5.335 6.244 0 12.801 0c3.182.001 6.17 1.24 8.415 3.488a11.819 11.819 0 013.481 8.413c-.002 6.558-5.34 11.893-11.896 11.893h-.005c-1.99-.001-3.947-.5-5.685-1.448L.805 24zm6.598-3.807l.361.214a9.874 9.874 0 005.033 1.378h.004c5.45 0 9.885-4.434 9.888-9.885a9.824 9.824 0 00-2.894-6.993 9.823 9.823 0 00-6.99-2.898c-5.454 0-9.89 4.434-9.892 9.884a9.86 9.86 0 001.512 5.26l.235.374-.999 3.648 3.742-.982z' fill='currentColor'\/><path d='M9.825 6.921c-.24-.58-.486-.501-.668-.51-.174-.009-.372-.01-.57-.01-.198 0-.52.074-.793.371-.272.298-1.04 1.017-1.04 2.48 0 1.462 1.065 2.875 1.214 3.073.148.199 2.096 3.2 5.078 4.487.709.306 1.262.49 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.759-.72 2.007-1.413.247-.694.247-1.29.173-1.413-.074-.124-.272-.199-.57-.347-.297-.149-1.758-.868-2.03-.967-.273-.1-.471-.149-.67.149-.198.297-.767.966-.94 1.165-.174.198-.348.223-.645.074-.297-.149-1.255-.462-2.39-1.475-.884-.788-1.48-1.76-1.654-2.058-.173-.298-.018-.459.13-.607.134-.133.298-.347.446-.52.149-.174.199-.298.298-.496.099-.198.05-.372-.025-.52-.074-.15-.669-1.612-.917-2.207z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F&#038;text=In%20search%20of%20the%20best%20cache%20busting%20query%20string\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"twitter\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Twitter\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg width='25' height='20' viewBox='0 0 25 20' fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg'><path d='M24.75 2.3c-.9.4-1.8.7-2.8.8 1-.6 1.8-1.6 2.2-2.7-1 .6-2 1-3.1 1.2-.9-1-2.2-1.6-3.6-1.6-2.7 0-4.9 2.2-4.9 4.9 0 .4 0 .8.1 1.1-4.2-.2-7.8-2.2-10.2-5.2-.5.8-.7 1.6-.7 2.5 0 1.7.9 3.2 2.2 4.1-.8 0-1.6-.2-2.2-.6v.1c0 2.4 1.7 4.4 3.9 4.8-.4.1-.8.2-1.3.2-.3 0-.6 0-.9-.1.6 2 2.4 3.4 4.6 3.4-1.7 1.3-3.8 2.1-6.1 2.1-.4 0-.8 0-1.2-.1 2.2 1.4 4.8 2.2 7.5 2.2 9.1 0 14-7.5 14-14v-.6c1-.7 1.8-1.6 2.5-2.5z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t\t\t<a\n\t\t\t\thref=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fwww.deptagency.com%2Fen-uki%2Finsight%2Fin-search-of-the-best-cache-busting-query-string%2F\"\n\t\t\t\tdata-share-url=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"\n\t\t\t\tdata-share-title=\"In search of the best cache busting query string\"\n\t\t\t\tdata-share-type=\"linkedin\"\n\t\t\t\tclass=\"block-title-and-content__social-links-item js-social-link\"\n\t\t\t\taria-label=\"Share to Linkedin\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<svg width='19' height='18' viewBox='0 0 19 18' fill='none' xmlns='http: \/\/www.w3.org\/2000\/svg'><path d='M1.15 17.3h3.6V5.8h-3.6v11.5zM.75 2.1c0 1.2 1 2.1 2.1 2.1 1.2 0 2.1-.9 2.1-2.1 0-1.2-1-2.1-2.1-2.1-1.2 0-2.1 1-2.1 2.1zM14.45 17.3h3.6v-6.2c0-3.1-.7-5.5-4.3-5.5-1.8 0-2.9.9-3.4 1.8V5.8h-3.4v11.5h3.6v-5.7c0-1.5.2-2.9 2.1-2.9 1.8 0 1.8 1.7 1.8 3v5.6z' fill='currentColor'\/><\/svg>\t\t\t<\/a>\n\t\t\t\t<\/div>\n<\/div>\n\n<div\n\t\tclass=\"image-wrap block-image__image-wrap\"\n\t\tdata-align=\"center center\"\n\t\t\t>\n\n\t\t\t<picture\n\t\tclass=\"image__picture\"\n\t\t\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t<img\n\t\t\t\tsrc=\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/06\/Untitled-3.png\"\n\t\t\t\tclass=\"image block-image__image\"\n\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\/>\n\t\t<\/picture>\n\t\n\t<\/div>\n\n<div class=\"block-highlighted-item-listing\">\n\t<h2\t\tclass=\"typography block-highlighted-item-listing__title typography__color--onyxGrey typography__size--regular-body typography__align--left\"\n\t\t\t>\n\t\tMore Insights?\t<\/h2><a\tclass=\"cta-button block-highlighted-item-listing__cta-button cta-button__color--onyxGrey cta-button__style--regular\" href=\"https:\/\/www.deptagency.com\/en-uki\/all-insights\/\" >\n\t\n\t\t\t<span>\n\t\t\tView all Insights\t\t<\/span>\n\t\n<\/a>\n\t<div class=\"block-highlighted-item-listing__cards\">\n\t\t<a\tclass=\"universal-item-card universal-item-card__type--article universal-item-card--has-link-decoration\"\n\tdata-theme=\"white\"\n\t\t\thref=\"https:\/\/www.deptagency.com\/en-uki\/insight\/dept-brings-growth-invention-to-the-webby-shortlists\/\"\n\t\t\t\ttitle=\"DEPT\u00ae brings growth invention to the Webby shortlists\"\n\t\t>\n\t\t\t<div class=\"universal-item-card__backplate universal-item-card__backplate--with-image\"><\/div>\n\t\n\t<div\n\t\tclass=\"image-wrap universal-item-card__image-wrap\"\n\t\tdata-align=\"center center\"\n\t\t\t>\n\n\t\t\t<picture\n\t\tclass=\"image__picture\"\n\t\t\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t<img\n\t\t\t\tsrc=\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2026\/03\/webbys-2026-dept.webp\"\n\t\t\t\tclass=\"image universal-item-card__image\"\n\n\t\t\t\t\t\t\t\talt=\"DEPT\u00ae brings growth invention to the Webby shortlists\"\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\/>\n\t\t<\/picture>\n\t\n\t<\/div><p\t\tclass=\"typography universal-item-card__meta typography__color--darkGrey typography__size--eyebrow-lc typography__align--left\"\n\t\t\t>\n\t\tNEWS&emsp;\u2022&emsp;Marjan Straathof\t<\/p><h3\t\tclass=\"typography universal-item-card__title typography__color--onyxGrey typography__size--h6 typography__align--left\"\n\t\t\t>\n\t\t<span>DEPT\u00ae brings growth invention to the Webby shortlists<\/span>\t<\/h3><button\tclass=\"cta-button universal-item-card__btn cta-button__color--onyxGrey cta-button__style--regular has-parent-hover\" >\n\t\n\t\t\t<span>\n\t\t\tRead Article\t\t<\/span>\n\t\n<\/button>\n\t\n\t<\/a><a\tclass=\"universal-item-card universal-item-card__type--article universal-item-card--has-link-decoration\"\n\tdata-theme=\"white\"\n\t\t\thref=\"https:\/\/www.deptagency.com\/en-uki\/insight\/retail-consumers-still-want-value-but-also-proof-deals-and-vibes\/\"\n\t\t\t\ttitle=\"Retail consumers still want value, but also proof, deals, and vibes\u00a0\"\n\t\t>\n\t\t\t<div class=\"universal-item-card__backplate universal-item-card__backplate--with-image\"><\/div>\n\t\n\t<div\n\t\tclass=\"image-wrap universal-item-card__image-wrap\"\n\t\tdata-align=\"center center\"\n\t\t\t>\n\n\t\t\t<picture\n\t\tclass=\"image__picture\"\n\t\t\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t<img\n\t\t\t\tsrc=\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2026\/03\/Everyday-Retail-Inisght-1920x1080-1.webp\"\n\t\t\t\tclass=\"image universal-item-card__image\"\n\n\t\t\t\t\t\t\t\talt=\"Retail consumers still want value, but also proof, deals, and vibes\u00a0\"\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\/>\n\t\t<\/picture>\n\t\n\t<\/div><p\t\tclass=\"typography universal-item-card__meta typography__color--darkGrey typography__size--eyebrow-lc typography__align--left\"\n\t\t\t>\n\t\tAI&emsp;\u2022&emsp;Ben Culpin\t<\/p><h3\t\tclass=\"typography universal-item-card__title typography__color--onyxGrey typography__size--h6 typography__align--left\"\n\t\t\t>\n\t\t<span>Retail consumers still want value, but also proof, deals, and vibes\u00a0<\/span>\t<\/h3><button\tclass=\"cta-button universal-item-card__btn cta-button__color--onyxGrey cta-button__style--regular has-parent-hover\" >\n\t\n\t\t\t<span>\n\t\t\tRead Article\t\t<\/span>\n\t\n<\/button>\n\t\n\t<\/a><a\tclass=\"universal-item-card universal-item-card__type--article universal-item-card--has-link-decoration\"\n\tdata-theme=\"white\"\n\t\t\thref=\"https:\/\/www.deptagency.com\/en-uki\/insight\/ineos-automotive-appoints-dept-as-integrated-agency-of-record\/\"\n\t\t\t\ttitle=\"INEOS Automotive appoints DEPT\u00ae as integrated agency of record\"\n\t\t>\n\t\t\t<div class=\"universal-item-card__backplate universal-item-card__backplate--with-image\"><\/div>\n\t\n\t<div\n\t\tclass=\"image-wrap universal-item-card__image-wrap\"\n\t\tdata-align=\"center center\"\n\t\t\t>\n\n\t\t\t<picture\n\t\tclass=\"image__picture\"\n\t\t\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t<img\n\t\t\t\tsrc=\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2026\/03\/DEPTxINEOS_Logo_1920x1080.png\"\n\t\t\t\tclass=\"image universal-item-card__image\"\n\n\t\t\t\t\t\t\t\talt=\"INEOS Automotive appoints DEPT\u00ae as integrated agency of record\"\n\t\t\t\t\n\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\/>\n\t\t<\/picture>\n\t\n\t<\/div><p\t\tclass=\"typography universal-item-card__meta typography__color--darkGrey typography__size--eyebrow-lc typography__align--left\"\n\t\t\t>\n\t\tBRAND &AMP; MEDIA&emsp;\u2022&emsp;Alexandra Moorhouse\t<\/p><h3\t\tclass=\"typography universal-item-card__title typography__color--onyxGrey typography__size--h6 typography__align--left\"\n\t\t\t>\n\t\t<span>INEOS Automotive appoints DEPT\u00ae as integrated agency of record<\/span>\t<\/h3><button\tclass=\"cta-button universal-item-card__btn cta-button__color--onyxGrey cta-button__style--regular has-parent-hover\" >\n\t\n\t\t\t<span>\n\t\t\tRead Article\t\t<\/span>\n\t\n<\/button>\n\t\n\t<\/a>\t<\/div>\n<\/div>\n\n<div class=\"block-get-in-touch js-block-get-in-touch\">\n\t<div class=\"block-get-in-touch__column block-get-in-touch__column--left block-get-in-touch__column--richBlack\">\n\t\t<h2 class=\"heading heading__color--white heading__size--xl heading__align--left block-get-in-touch__heading\">\n\t\t\tQuestions?\t<\/h2>\t<\/div>\n\n\t<div class=\"block-get-in-touch__column block-get-in-touch__column--right block-get-in-touch__column--white\">\n\t<div\n\t\tclass=\"image-wrap block-get-in-touch__image-wrap\"\n\t\tdata-align=\"top center\"\n\t\t\t>\n\n\t\t\t<div style=\"background-image:url(https:\/\/www.deptagency.com\/wp-content\/uploads\/2023\/05\/jonathan-whiteside-svp.jpg)\" class=\"image image--bg block-get-in-touch__image\" ><\/div>\n\t\n\t<\/div>\t\t\t<div class=\"block-get-in-touch__specialist\">\n\t\t\t\t<p class=\"heading heading__color--richBlack heading__size--xxs heading__align--left block-get-in-touch__subtitle\">\n\t\t\tGlobal EVP Technology\t<\/p><h3 class=\"heading heading__color--richBlack heading__size--m heading__align--left block-get-in-touch__person-title\">\n\t\t\tJonathan Whiteside\t<\/h3>\t\t\t<\/div>\n\t\t\n\t\t<button\tclass=\"cta-bar block-get-in-touch__cta-bar js-cta-bar\"\n\tid=\"block-get-in-touch-6a422f1d4203d0245fd1342bbbf2ce8a\"\n\ttitle=\"Get in touch\"\n\taria-label=\"\"\n\t\t>\n\t<div class=\"cta-bar__container cta-bar__container--size--default\">\n\t\t<div class=\"cta-bar__content\">\n\t\t\t<span class=\"cta-bar__label\">\n\t\t\t\tGet in touch\t\t\t<\/span>\n\t\t\t<i class=\"icon icon icon__color--white icon__size--small icon__arrow-right-circle cta-bar__icon cta-bar__icon\">\n\t<svg width='24' height='24' fill='none' viewBox='0 0 24 24' xmlns='http:\/\/www.w3.org\/2000\/svg'><g class='symbol'><path d='M11.5215 17.2609L17.2607 12L11.5215 6.73912' stroke='currentColor' stroke-width='1.5' stroke-miterlimit='10'\/><path d='M16.7827 12L6.26099 12' stroke='currentColor' stroke-width='1.5' stroke-miterlimit='10'\/><circle cx='12' cy='12' r='11' stroke='currentColor' stroke-width='1.5' stroke-miterlimit='10'\/><\/g><path class='symbol-hover' fill-rule='evenodd' clip-rule='evenodd' d='M23 12C23 5.92487 18.0751 0.999999 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12ZM17.7674 11.4471L12.0283 6.18627L11.0147 7.292L15.3326 11.25L6.26099 11.25L6.26099 12.75L15.3326 12.75L11.0147 16.708L12.0283 17.8137L17.7675 12.5529L18.3706 12L17.7674 11.4471Z' fill='currentColor'\/><\/svg><\/i>\t\t<\/div>\n\t<\/div>\n<\/button>\t<\/div>\n<\/div>\n\n<div\n\tclass=\"flyout-drawer js-flyout-drawer flyout-drawer__position--right\"\n\tdata-trigger=\"#block-get-in-touch-6a422f1d4203d0245fd1342bbbf2ce8a\"\n\tdata-instant-open=\"false\"\n>\n\t<div class=\"flyout-drawer__left-mobile-backplate\"><\/div>\n\t<div class=\"flyout-drawer__left-backplate\"><\/div>\n\n\t\t<div class=\"flyout-drawer__left\"><\/div>\n\n\t<button\tclass=\"cta-button flyout-drawer__close cta-button__color--white cta-button__style--text-and-icon js-drawer-close has-flipped-icon\" aria-label=\"Close\" >\n\t<svg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><circle cx='10.5' cy='10.5' r='9.5' transform='rotate(-90 10.5 10.5)' stroke='var(--dept-button-icon-outline-color)' stroke-width='1.3' stroke-miterlimit='10' fill='none'\/><circle class='icon-backplate' cx='10.5' cy='10.5' r='9.5' transform='rotate(-90 10.5 10.5)' fill='var(--dept-button-icon-backplate-color)' fill-opacity='1'\/><path class='icon-center' d='m14 7-7 7m0-7 7 7' stroke='var(--dept-button-icon-color)' stroke-width='1.5' fill='none'\/><\/svg>\n\t\t\t<span>\n\t\t\tClose\t\t<\/span>\n\t\n<\/button>\n\t<div class=\"flyout-drawer__right\">\n\t\t<div class=\"pardot-forms block-get-in-touch__pardot-forms js-pardot-forms\">\n\t\t<iframe\n\t\tdata-initial-src=\"https:\/\/www2.deptagency.com\/l\/321011\/2018-03-28\/9l32nf\"\n\t\tclass=\"pardot-forms__embed block-get-in-touch__embed js-pardot-forms-embed\"\n\t\ttype=\"text\/html\"\n\t><\/iframe>\n\t<div class=\"loader pardot-forms__loader loader__color--hanPurple js-pardot-forms-loader\">\n\t<div class=\"loader__first\"><\/div>\n\t<div class=\"loader__second\"><\/div>\n<\/div><\/div>\t<\/div>\n\n\t<button\tclass=\"cta-button flyout-drawer__back cta-button__color--onyxGrey cta-button__style--text-and-icon js-drawer-back has-small-icon\" aria-label=\"Back\" >\n\t<svg width='41' height='41' viewBox='0 0 41 41' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><circle cx='20.5' cy='20.5' r='19.5' transform='rotate(-90 20.5 20.5)' stroke='var(--dept-button-icon-outline-color)' stroke-width='1.3' stroke-miterlimit='10' fill='none'\/><circle class='icon-backplate' cx='20.5' cy='20.5' r='19.5' transform='rotate(-90 20.5 20.5)' fill='var(--dept-button-icon-backplate-color)' fill-opacity='1'\/><path class='icon-center' d='M21.174 30 11 20.674l10.174-9.326m-9.326 9.328H30.5' stroke='var(--dept-button-icon-color)' stroke-width='1.3' stroke-miterlimit='10' fill='none'\/><\/svg>\n\t\t\t<span>\n\t\t\tBack\t\t<\/span>\n\t\n<\/button><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":40,"featured_media":4251399,"template":"","meta":{"_acf_changed":false,"es_utils_meta_schema":"","member_job_title":"","member_linkedin_url":"","dept_alt_featured_image":[],"dept_algolia_noindex":false,"dept_algolia_featured":false,"footnotes":""},"insight-topics":[42364],"person":[1265],"class_list":["post-4251398","article","type-article","status-publish","has-post-thumbnail","hentry"],"acf":{"dept_is_3q_page":false,"dept_insight_featured":true,"dept_current_cpt_partner":null},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>In search of the best cache busting query string - DEPT\u00ae<\/title>\n<meta name=\"description\" content=\"You should be cache busting your scripts and styles, and what better way to do that by making the URL unique, clearing both the browser cache and any CDNs.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"In search of the best cache busting query string - DEPT\u00ae\" \/>\n<meta property=\"og:description\" content=\"You should be cache busting your scripts and styles, and what better way to do that by making the URL unique, clearing both the browser cache and any CDNs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\" \/>\n<meta property=\"og:site_name\" content=\"DEPT\u00ae\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/03\/January_Office_Image37-e1556119663270-1200x750-c.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1013\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\",\"url\":\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\",\"name\":\"In search of the best cache busting query string - DEPT\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/03\/January_Office_Image37-e1556119663270-1200x750-c.jpg\",\"datePublished\":\"2019-04-25T13:05:33+00:00\",\"description\":\"You should be cache busting your scripts and styles, and what better way to do that by making the URL unique, clearing both the browser cache and any CDNs.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#breadcrumb\"},\"inLanguage\":\"en-UKI\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-UKI\",\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#primaryimage\",\"url\":\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/03\/January_Office_Image37-e1556119663270-1200x750-c.jpg\",\"contentUrl\":\"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/03\/January_Office_Image37-e1556119663270-1200x750-c.jpg\",\"width\":1013,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.deptagency.com\/en-uki\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"In search of the best cache busting query string\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/#website\",\"url\":\"https:\/\/www.deptagency.com\/en-uki\/\",\"name\":\"DEPT\u00ae\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.deptagency.com\/en-uki\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-UKI\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/#\/schema\/person\/4ec5aa93ed3610c610b5cf5224773b16\",\"name\":\"Alexandra Moorhouse\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-UKI\",\"@id\":\"https:\/\/www.deptagency.com\/en-uki\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e8ce4f04a43020c00db84d54b1c54ed8dba8b0de0b959126c45106f23e6ecb9a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e8ce4f04a43020c00db84d54b1c54ed8dba8b0de0b959126c45106f23e6ecb9a?s=96&d=mm&r=g\",\"caption\":\"Alexandra Moorhouse\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"In search of the best cache busting query string - DEPT\u00ae","description":"You should be cache busting your scripts and styles, and what better way to do that by making the URL unique, clearing both the browser cache and any CDNs.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/","og_locale":"en_US","og_type":"article","og_title":"In search of the best cache busting query string - DEPT\u00ae","og_description":"You should be cache busting your scripts and styles, and what better way to do that by making the URL unique, clearing both the browser cache and any CDNs.","og_url":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/","og_site_name":"DEPT\u00ae","og_image":[{"width":1013,"height":675,"url":"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/03\/January_Office_Image37-e1556119663270-1200x750-c.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/","url":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/","name":"In search of the best cache busting query string - DEPT\u00ae","isPartOf":{"@id":"https:\/\/www.deptagency.com\/en-uki\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#primaryimage"},"image":{"@id":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#primaryimage"},"thumbnailUrl":"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/03\/January_Office_Image37-e1556119663270-1200x750-c.jpg","datePublished":"2019-04-25T13:05:33+00:00","description":"You should be cache busting your scripts and styles, and what better way to do that by making the URL unique, clearing both the browser cache and any CDNs.","breadcrumb":{"@id":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#breadcrumb"},"inLanguage":"en-UKI","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/"]}]},{"@type":"ImageObject","inLanguage":"en-UKI","@id":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#primaryimage","url":"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/03\/January_Office_Image37-e1556119663270-1200x750-c.jpg","contentUrl":"https:\/\/www.deptagency.com\/wp-content\/uploads\/2021\/03\/January_Office_Image37-e1556119663270-1200x750-c.jpg","width":1013,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/www.deptagency.com\/en-uki\/insight\/in-search-of-the-best-cache-busting-query-string\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.deptagency.com\/en-uki\/"},{"@type":"ListItem","position":2,"name":"In search of the best cache busting query string"}]},{"@type":"WebSite","@id":"https:\/\/www.deptagency.com\/en-uki\/#website","url":"https:\/\/www.deptagency.com\/en-uki\/","name":"DEPT\u00ae","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.deptagency.com\/en-uki\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-UKI"},{"@type":"Person","@id":"https:\/\/www.deptagency.com\/en-uki\/#\/schema\/person\/4ec5aa93ed3610c610b5cf5224773b16","name":"Alexandra Moorhouse","image":{"@type":"ImageObject","inLanguage":"en-UKI","@id":"https:\/\/www.deptagency.com\/en-uki\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e8ce4f04a43020c00db84d54b1c54ed8dba8b0de0b959126c45106f23e6ecb9a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e8ce4f04a43020c00db84d54b1c54ed8dba8b0de0b959126c45106f23e6ecb9a?s=96&d=mm&r=g","caption":"Alexandra Moorhouse"}}]}},"_links":{"self":[{"href":"https:\/\/www.deptagency.com\/en-uki\/wp-json\/wp\/v2\/insight\/4251398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.deptagency.com\/en-uki\/wp-json\/wp\/v2\/insight"}],"about":[{"href":"https:\/\/www.deptagency.com\/en-uki\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/www.deptagency.com\/en-uki\/wp-json\/wp\/v2\/users\/40"}],"version-history":[{"count":0,"href":"https:\/\/www.deptagency.com\/en-uki\/wp-json\/wp\/v2\/insight\/4251398\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.deptagency.com\/en-uki\/wp-json\/wp\/v2\/media\/4251399"}],"wp:attachment":[{"href":"https:\/\/www.deptagency.com\/en-uki\/wp-json\/wp\/v2\/media?parent=4251398"}],"wp:term":[{"taxonomy":"insight-topic","embeddable":true,"href":"https:\/\/www.deptagency.com\/en-uki\/wp-json\/wp\/v2\/insight-topics?post=4251398"},{"taxonomy":"person","embeddable":true,"href":"https:\/\/www.deptagency.com\/en-uki\/wp-json\/wp\/v2\/person?post=4251398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}