CSS relative colour values are now widely supported. In this article, pioneering author and web designer [Andy Clarke](https://stuffandnonsense.co.uk/) shares practical techniques for using them to theme and animate SVG graphics.
How to shape your career path for 2026, with decision trees for designers and a UX skills self-assessment matrix. The only limits for tomorrow are the doubts we have today. Brought to you by Smart Interface Design Patterns, a **friendly video course on UX** and design patterns by Vitaly.
[Penpot](https://penpot.app/?utm_source=SmashingMagazine&utm_medium=Article&utm_campaign=MCPserver) is experimenting with MCP (Model Context Protocol) servers, which could lead to designers and developers being able to perform tasks in Penpot using AI that’s able to understand and interact with Penpot design files. Daniel Schwarz explains how [Penpot MCP](https://github.com/penpot/penpot-mcp) servers work, what they could mean for creating and managing designs in Penpot, and what you can do to help shape their development.
Most developers spend their days fixing bugs, shipping features, and jumping into the next sprint without even thinking about it. After a while, you begin to ask yourself, “Is this still what I want to be doing?” This article looks at how you can move into a new direction in your career without starting from scratch, and how the skills you already use, like problem-solving, communication, and empathy, can open new doors.
Whether 2026 has already begun as you’re reading this or you’re still waiting for the big countdown to start, how about some new wallpapers to get your desktop ready for the new year? We’ve got you covered.
The developer community hasn’t wasted any time kicking off 2026 with some really great articles, demos, and insights. Firefox 147 and Chrome 144 also shipped, and while they’re not jam-packed with features, the releases are still pretty exciting for what’s normally a slow time of year, so without further ado, here’s what’s important from the last couple of weeks (or should I say the first couple of weeks, of 2026?)… What’s !important #3: Popover Context Menus, @scope, New Web Platform Features, and More originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
Super cool new CodePen feature alert! You've probably seen a bunch of "interactive" demos that let you changed values on the fly from a UI panel embedded directly in the demo. Playing With CodePen slideVars originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
Lee Meyer recently spoke at Web Directions Summit 2025. This is his experience, not only speaking at the event, but experiencing the event through the lens of anxiety and imposter syndrome. Postcard From Web Directions Dev Summit, 2025 originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
Have you ever struggled to style an element while it's being dragged? Sunkanmi explains some ways it could become easier in the future. Future CSS: :drag (and Maybe ::dragged-image?) originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
2026 is almost upon us. I know we’re all itching to see the clock strike midnight (cue The Final Countdown by Europe), but not without recapping the best CSS-related things that happened over the last two weeks! What’s !important #2: Conditional View Transitions, CSS/SVG Text Effects, the Best of CSS Bluesky, and More originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
In today's episode of Whiteboard Friday, Moz SEO expert Tom Capper walks you through cannibalization: what it is, how to identify it, and how to fix it.
Let's take an in-depth look at Moz.com title tags that were re-written by Google, including three case studies where we managed to fix bad rewrites.
See how, through several little tweaks to their conversion strategy, the team at Chromatix attracted a higher tier of customers, more inquiries, plus over $780,000 worth of new sales opportunities.
Miriam helps you get started in Google My Business Products with this illustrated tutorial, walking you through how to add your most important products and services.
In SEO, there are three main “bosses” with different needs: your business, your searchers, and your search engines. How do you answer to all of them?
The world of ecommerce continues to grow year by year. As consumers want to purchase items from the comfort of their own home and have them delivered in a timely manner, the opportunities in ecommerce are ever-expanding. The expectation for a good user experience is now higher than ever. Customer want to know they can trust the website they are buying from, they want to access the website fast, and they want a great offer.All of these things come into play when discussing the conversion rate of any ecommerce store. As an ecommerce store owner, your ultimate goal is to convert as many visitors as possible into paying customers. However, this can be a challenging task, especially in today's competitive ecommerce landscape. The good news is that there are proven strategies you can implement to improve your ecommerce conversion rate and boost your sales. In this article, we will explore ten of these strategies.Ecommerce conversion rate benchmarksFirst off, we'll start with some benchmarks. Conversion rates will vary based on industry, location, and device used. According to Monetate, the following conversion rate results were gathered for Q3 of 2021 until Q3 of 2022.As we can see, the UK has an average conversion rate that is significantly higher than the US, at 3.7 compared to 2.3%. The global conversion rate for Q3 of 2022 was 2.5% down from 2.6% in Q2.As mentioned above, the device used to access an ecommerce store also has an effect on the conversion rate. Below we see that traditional devices like a desktop have the highest conversion rate at 3.1%. Tablets come in at a close second with 2.8% and smartphones have a 2.2% conversion rate respectively.The lower conversion rate on mobile could be due to a variety of reasons:Screen size: The smaller screen size of mobile phones can make it more challenging for visitors to browse and view products. This can result in a less engaging user experience, leading to lower conversion rates.Navigation: The navigation of a mobile website can be different from that of a desktop or tablet website. Visitors may have difficulty finding what they are looking for, leading to frustration and a higher likelihood of abandonment.Checkout process: The checkout process on a mobile website may not be as optimized as that of a desktop or tablet website, making it more difficult for visitors to complete their purchase.Security concerns: Visitors may have concerns about the security of making a purchase on a mobile device, especially if they are using public Wi-Fi or are unsure of the security of the mobile website.Technical issues: Technical issues such as slow loading times or errors may be more prevalent on mobile websites, leading to a less positive user experience and lower conversion rates.To address these challenges and improve mobile conversion rates, it's essential to optimize your website for mobile devices. This can involve using responsive design to ensure that your website is optimized for different screen sizes, simplifying navigation, and streamlining the checkout process. Additionally, it's essential to prioritize website security and ensure that technical issues are addressed promptly to provide the best possible user experience on mobile devices.10 ways to optimize your ecommerce conversion rateBelow we've outlined 10 methods you should implement to increase your ecommerce conversion rate. Go through each suggestion and work on implementing it into your store if you haven't already. These methods have been proven time and time again to increase conversion rates and give your customers a better experience overall so that they will keep coming back.1. Optimize your website designThe first impression your website gives to visitors is critical in determining whether they will stay on your site or leave immediately. A poorly designed website can significantly impact your conversion rate. Your website design should be visually appealing, easy to navigate, and user-friendly.One of the critical elements of your website design is the layout. Ensure that your website is organized and has a clear hierarchy of information. Your navigation menu should be easy to use and intuitive. The layout should be responsive and work well on all devices, including desktops, tablets, and mobile phones.Another important design element is the color scheme. Colors can affect emotions and influence buying decisions. Choose colors that are in line with your brand and that appeal to your target audience. For instance, if you're selling products for kids, you might want to use bright and cheerful colors.2. Optimize your product pagesYour product pages are where visitors will decide whether to purchase your products or not. Therefore, it's essential to optimize your product pages for maximum conversion. Here are some tips:Write clear and concise product descriptions: Your product descriptions should be easy to read, informative, and highlight the benefits of your products.Include customer reviews and ratings: Customer reviews and ratings provide social proof and can increase trust in your brand.Display pricing clearly: Visitors should be able to see the price of your products clearly without having to search for them.3. Better product imagesProduct images play a major role in both building trust as well as branding. Nowadays, all ecommerce operators need to ensure that their images are high quality and optimized. Peep Laja, Founder of ConversionXL, is sure:Using quality images in your blog posts makes you sell more of your stuff.When taking product photos, ensure you're using a high quality camera so that your images can be zoomed in on while a potential buyer is browsing your website.Having high quality images on your site can however slow down the performance of your site overall as the image size grows. Therefore, taking advantage of things like smart image compression and converting your images to a newer format such as WebP are great ways to optimize image size while at the same time ensuring the quality of your images doesn't degrade.4. Create an attractive offerThe next conversion optimization tip is to creative an attractive offer. Consumer like to feel as though they're getting a great deal on something and as an ecommerce store owner its your responsibility to create an offer that your buyers will love. Here are a few common offers you can use:On sale (e.g. 15% off)Free shippingBuy 1 get 1Free, just pay shippingFree bonus included with every purchaseScarcity tactics can also be employed if you're running a promotion for a limited time or you only have a certain amount of stock available for a specific item. For example, you can say things like:Only X left in stockSale ends in X DaysDue to low stock, there is a limit of X per customerBig ecommerce brands like Etsy use similar tactics to let their customers know when other people are buying a particular item or when the stock is running out on a particular product. Here are a couple of examples from Etsy's website:Limited quantities availableProduct added to customer carts5. Simplify the checkout processThe checkout process is one of the critical stages in the ecommerce conversion funnel. A complicated and time-consuming checkout process can lead to cart abandonment and reduce your conversion rate. Here are some tips to simplify the checkout process:Use a progress indicator: A progress indicator shows visitors how far they are in the checkout process and gives them an idea of how much more time it will take to complete the purchase.Offer guest checkout: Not all visitors will want to create an account to make a purchase. Offer a guest checkout option to make the process faster and more convenient.Allow multiple payment options: Offer multiple payment options, including credit cards, PayPal, and other online payment systems, to cater to different preferences.Reduce the number of form fields: The more form fields a visitor has to fill, the more likely they are to abandon the checkout process. Reduce the number of form fields to the bare minimum required to complete the purchase.6. Implement live chat supportLive chat support can be a powerful tool in boosting your ecommerce conversion rate. It allows visitors to ask questions and get immediate answers, which can help to remove any doubts they may have about making a purchase. Live chat support can also help to improve customer satisfaction and loyalty.When implementing live chat support, ensure that it's easily accessible and visible on your website. Train your support agents to be friendly, helpful, and knowledgeable about your products and services.7. Improve site speedHaving fast site speed is imperative. Online users are becoming less and less patient meaning you as an ecommerce store owner need to implement methods for reducing latency and speeding up your website. There are many ways to speed up a slow website. We've written a comprehensive guide which gives 18 tips for website performance optimization.One thing any ecommerce store owner can do to instantly improve their global page speed is to implement a CDN. With a CDN, you can offload your static assets such as product images, videos, GIFs, CSS files, and much more to the CDN's edge servers. Then, when someone makes a request for one of your store's webpages they will be delivered content from the CDN's nearest edge server instead of your origin server. This reduces latency and speeds up your website.We've also written multiple articles on ways to speed up your website if you're using certain CMS platforms. Check them out below:Speed up DrupalSpeed up JoomlaSpeed up MagentoSpeed up PrestaShopSpeed up WordPress8. Optimize for mobileInitially, desktop computers were the primary means of accessing the Internet, with mobile devices being a secondary option. However, with the rise of smartphones and tablets, mobile Internet usage has surpassed desktop usage, and it continues to grow.According to a report by Statcounter, mobile devices accounted for approximately 59% of global internet traffic in 2023, with desktops accounting for approximately 39%. This represents a significant shift in the way people access the Internet and interact with online content.Source: ComscoreThe increased use of mobile devices for Internet browsing and online shopping has led to a shift in website design and optimization. Websites must now be designed to be responsive and optimized for mobile devices, to provide an optimal user experience on smaller screens. This includes simplified navigation, mobile-friendly content, and streamlined checkout processes.As many visitors to your ecommerce store will be using a mobile device, it's essential that your site is responsive and optimized for mobile just as well as it is for desktop. Google's PageSpeed Insights tool is a great way to check your speed score for both mobile and desktop devices.It will also give you suggestions on areas that can be improved for both mobile and desktop visitors. To learn more about what other site speed test tools are available, check out our complete guide on the top 15 free speed test tools.9. Use videos/GIFsImages are great to show a product however depending on the type of product you're selling it may also be beneficial to use videos and of GIFs to display your product. If you're selling a product that solves a problem than you are most likely going to benefit by having a video on your product page which shows how the product works. This allows the customer to visualize how the product does what you say it does. Otherwise, the consumer needs to visualize the functionality of the product themselves which isn't as persuasive.You can also use videos for products which don't solve a problem per-se (i.e. a clothing brand). In this case, you could have a video which displays the lifestyle of the product and the feeling you want to portray to your potential customer. Videos will hit home much harder with your website visitors and although they take more time and effort to produce, they do pay off.However, similar to images, it's important to your videos/GIFs remain optimized. Videos are one of the biggest contributors to web page size growth and although they are very valuable, can be detrimental to page speed if used improperly. That's why we've written articles on how to optimize the delivery of both your videos and GIFs so that you can implement both of them into your product pages without suffering the consequences of poor page speed.10. Implement abandon cart emails and retargetingOne of the best ways to increase conversion rates with people who are familiar with your site however haven't made a purchase yet is through abandoned cart emails and retargeting. Abandoned cart emails are fairly straightforward. Basically you can use a service like MailChimp or Klaviyo to automatically send emails to users who abandoned their cart. These emails can be spaced out throughout the day or across several days to remind your potential customers that they left something in their cart. A great way to bring customers back is to offer them a coupon code in the email so that they can get an even better deal if they complete their purchase.A typical abandoned cart email sequence is usually 3-4 emails long. Any more could cause the visitor to get annoyed and any less could be a missed opportunity.Additionally, you can retarget people who have visited your site if you're using paid advertising like Google AdWords or Facebook Ads. These advertising platforms allow you to define who you want to send retargeting ads to based on their browsing events and then show them ads that will entice the visitor to come back. Similar to abandon cart emails, retargeting ads typically include a discount code of some sort to further entice the visitor to come back.SummaryEcommerce is an ever-changing landscape and to keep up with the fast pace, store owners must be quick to implement best practices and be innovative so that their store doesn't fall behind the competition. Improving your ecommerce conversion rate requires a strategic approach that focuses on optimizing various elements of your website and ecommerce funnel.By implementing the ten strategies discussed in this article, you can increase your conversion rate, boost your sales, and improve customer satisfaction and loyalty. Remember to continuously test and optimize your website and ecommerce funnel to ensure that you're providing the best possible experience to your visitors and customers.
As a website owner, you want your website to be fast, efficient, and accessible to as many users as possible. One of the best ways to achieve this is by using HTTP caching headers. These headers tell web browsers and other HTTP clients how to cache and serve content from your website.This article highlights important information on HTTP caching headers and associated CDN behavior. In case you are looking for in-depth information on the role of HTTP cache headers in the modern web, here's everything you need to know.How caching worksWhen a browser requests a file from a server, the server responds with the file and some cache headers. The browser then caches the file based on these headers. The next time the browser requests the same file, it checks its cache to see if it already has a copy. If it does, and the file hasn't expired, the browser serves the cached version of the file. If the file has expired or if the browser has been told not to cache it, the browser requests a fresh copy of the file from the server.Caching works differently depending on the type of cache being used. There are two main types of caches: browser caches and CDN caches.Browser cachesBrowser caches are local caches that are used by web browsers to store copies of files. When a browser requests a file, it first checks its local cache to see if it already has a copy. If it does, and the file hasn't expired, the browser serves the cached version of the file. If the file has expired, or if the browser has been told not to cache it, the browser requests a fresh copy of the file from the server.CDN cachesCDN caches are distributed caches that are used by Content Delivery Networks (CDNs) to store copies of files. When a browser requests a file from a website that is using a CDN, the request is sent to the CDN instead of the origin server. If the CDN has a cached copy of the file, it serves it directly to the browser. This can greatly reduce the amount of time and resources needed to load the file, as the request doesn't need to travel all the way to the origin server.CDN caches can be configured in a number of different ways, depending on the needs of the website. Some CDNs use a "pull" model, where the CDN only caches files when they are requested by a browser. Other CDNs use a "push" model, where the origin server sends files to the CDN proactively before they are requested by a browser.What are HTTP cache headers?HTTP cache headers are instructions that web servers send to web browsers, telling them how to cache and serve content. These headers are sent with every HTTP request and response. They can be used to control how frequently a browser caches a file, how long the cache should keep the file, and what should be done when the file is expired.HTTP cache headers are important because they help reduce the amount of time and resources needed to load a web page. By caching content, a browser can serve it more quickly without having to request it from the server every time a user visits the page. This can improve website performance, reduce server load, and improve the overall user experience.Types of HTTP cache headersCaches work with content mainly through freshness and validation. A fresh representation is available instantly from a cache while a validated representation rarely sends the entire representation again if it hasn't changed. In cases where there is no validator present (e.g. ETag or Last-Modified header), and a lack of explicit freshness info, it will usually (but not always) be considered uncacheable. Let's shift our focus to the kind of headers you should be concerned about.1. Cache-ControlEvery resource can define its own caching policy via the Cache-Control HTTP header. Cache-Control directives control who caches the response, under what conditions and for how long.Requests that don't need server communication are considered the best requests: local copies of the responses allow the elimination of network latency as well as data charges resulting from data transfers. The HTTP specification enables the server to send several different Cache-Control directives which control how and for how long individual responses are cached by browsers among other intermediate caches such as a CDN.Cache-Control: private, max-age=0, no-cacheThese settings are referred to as response directives. They are as follows:public vs privateA response that is marked public can be cached even in cases where it is associated with an HTTP authentication or the HTTP response status code is not cacheable normally. In most cases, a response marked public isn't necessary, since explicit caching information (e.g. max-age) shows that a response is cacheable anyway.On the contrary, a response marked private can be cached (by the browser) but such responses are typically intended for single users hence they aren't cacheable by intermediate caches (e.g. HTML pages with private user info can be cached by a user's browser but not by a CDN).no-cache and no-storeno-cache shows that returned responses can't be used for subsequent requests to the same URL before checking if server responses have changed. If a proper ETag (validation token) is present as a result, no-cache incurs a roundtrip in an effort to validate cached responses. Caches can however eliminate downloads if the resources haven't changed. In other words, web browsers might cache the assets but they have to check on every request if the assets have changed (304 response if nothing has changed).On the contrary, no-store is simpler. This is the case because it disallows browsers and all intermediate caches from storing any versions of returned responses, such as responses containing private/personal information or banking data. Every time users request this asset, requests are sent to the server. The assets are downloaded every time.max-ageThe max-age directive states the maximum amount of time in seconds that fetched responses are allowed to be used again (from the time when a request is made). For instance, max-age=90 indicates that an asset can be reused (remains in the browser cache) for the next 90 seconds.s-maxageThe "s-" stands for shared as in shared cache. This directive is explicitly for CDNs among other intermediary caches. This directive overrides the max-age directive and expires header field when present. KeyCDN also obeys this directive.must-revalidateThe must-revalidate directive is used to tell a cache that it must first revalidate an asset with the origin after it becomes stale. The asset must not be delivered to the client without doing an end-to-end revalidation. In short, stale assets must first be verified and expired assets should not be used.proxy-revalidateThe proxy-revalidate directive is the same as the must-revalidate directive, however, it only applies to shared caches such as proxies. It is useful in the event that a proxy services many users that need to be authenticated one by one. A response to an authenticated request can be stored in the user's cache without needing to revalidate it each time as they are known and have already been authenticated. However, proxy-revalidate allows proxies to still revalidate for new users that have not been authenticated yet.no-transformThe no-transform directive tells any intermediary such as a proxy or cache server to not make any modifications whatsoever to the original asset. The Content-Encoding, Content-Range, and Content-Type headers must remain unchanged. This can occur if a non-transparent proxy decides to make modifications to assets in order to save space. However, this can cause serious problems in the event that the asset must remain identical to the original entity-body although it must also pass through the proxy.According to Google, the Cache-Control header is all that's needed in terms of specifying caching policies. Other methods are available, which we'll go over in this article, however, are not required for optimal performance.The Cache-Control header is defined as part of HTTP/1.1 specifications and supersedes previous headers (e.g. Expires) used to specify response caching policies. Cache-Control is supported by all modern browsers so that's all we need.2. PragmaThe old Pragma header accomplishes many things most of them characterized by newer implementations. We are however most concerned with the Pragma: no-cache directive which is interpreted by newer implementations as Cache-Control: no-cache. You don't need to be concerned about this directive because it's a request header that will be ignored by KeyCDN's edge servers. It is however important to be aware of the directive for the overall understanding. Going forward, there won't be new HTTP directives defined for Pragma.3. ExpiresA couple of years back, this was the main way of specifying when assets expire. Expires is simply a basic date-time stamp. It's fairly useful for old user agents which still roam unchartered territories. It is, however, important to note that Cache-Control headers, max-age and s-maxage still take precedence on most modern systems. It's however good practice to set matching values here for the sake of compatibility. It's also important to ensure you format the date properly or it might be considered as expired.Expires: Sun, 03 May 2015 23:02:37 GMTTo avoid breaking the specification, avoid setting the date value to more than a year.4. ValidatorsETagThis type of validation token (the standard in HTTP/1.1):Is communicated via the ETag HTTP header (by the server).Enables efficient resource updates where no data is transfered if the resource doesn't change.The following example will illustrate this. 90 seconds after the initial fetch of an asset, initiates the browser a new request (the exact same asset). The browser looks up the local cache and finds the previously cached response but cannot use it because it's expired. This is the point where the browser requests the full content from the server. The problem with it this is that if the resource hasn't changed, there is absolutely no reason for downloading the same asset that is already in the CDN cache.Validation tokens are solving this problem. The edge server creates and returns arbitrary tokens, that are stored in the ETag header field, which are typically a hash or other fingerprints of content of existing files. Clients don't need to know how the tokens are generated but need to send them to the server on subsequent requests. If the tokens are the same then resources haven't changed thus downloads can be skipped.The web browser provides the ETag token automatically within the If-None-Match HTTP request header. The server then checks tokens against current assets in the cache. A 304 Not Modified response will tell the browser if an asset in the cache hasn't been changed and therefore allowing a renewal for another 90 seconds. It's important to note that these assets don't need to be downloaded again which saves bandwidth and time.How do web developers benefit from efficient revalidation?Browsers do most (if not) all the work for web developers. For instance, they automatically detect if validation tokens have been previously specified and appending them to outgoing requests and updating cache timestamps as required based on responses from servers. Web developers are therefore left with one job only which is ensuring servers provide the required ETag tokens. KeyCDN's edge servers fully support the ETag header.Last-ModifiedThe Last-Modified header indicates the time a document last changed which is the most common validator. It can be seen as a legacy validator from the time of HTTP/1.0. When a cache stores an asset including a Last-Modified header, it can utilize it to query the server if that representation has changed over time (since it was last seen). This can be done using an If-Modified-Since request header field.An HTTP/1.1 origin server should send both, the ETag and the Last-Modified value. More details can be found in section 13.3.4 in the RFC2616.KeyCDN example response header:HTTP/1.1 200 OK Server: keycdn-engine Date: Mon, 27 Apr 2015 18:54:37 GMT Content-Type: text/css Content-Length: 44660 Connection: keep-alive Vary: Accept-Encoding **Last-Modified: Mon, 08 Dec 2014 19:23:51 GMT** **ETag: "5485fac7-ae74"** **Cache-Control: max-age=533280** **Expires: Sun, 03 May 2015 23:02:37 GMT** X-Cache: HIT X-Edge-Location: defr Access-Control-Allow-Origin: * Accept-Ranges: bytesYou can check your HTTP Cache Headers using KeyCDN's HTTP Header Checker tool.5. Extension Cache-Control directivesApart from the well-known Cache-Control directives outlined in the first section of this article, there also exists other directives which can be used as extensions to Cache-Control resulting in a better user experience for your visitors.immutableNo conditional revalidation will be triggered even if the user explicitly refreshes a page. The immutable directive tells the client that the response body will not change over time, therefore, there is no need to check for updates as long as it is unexpired.stale-while-revalidateThe stale-while-revalidate directive allows for a stale asset to be served while it is revalidated in the background.A stale-while-revalidate value is defined to tell the cache that it has a certain amount of time to validate the asset in the background while continuing to deliver the stale one. An example of this would look like the following:Cache-Control: max-age=2592000, stale-while-revalidate=86400Learn more about the stale-while-revalidate directive in our stale-while-revalidate and stale-if-error guide.stale-if-errorThe stale-if-error directive is very similar to the stale-while-revalidate directive in that it serves stale content when the max-age expires. However, the stale-if-error only returns stale content if the origin server returns an error code (e.g. 500, 502, 503, or 504) when the cache attempts to revalidate the asset.Therefore, instead of showing visitors an error page, stale content is delivered to them for a predefined period of time. During this time it is the goal that the error has been resolved and that the asset can be revalidated.Learn more about the stale-if-error directive in our stale-while-revalidate and stale-if-error guide.KeyCDN and HTTP cache headersAt KeyCDN, we understand the importance of HTTP cache headers and their role in optimizing website performance. KeyCDN allows you define your HTTP cache headers as you see fit. The ability to set the Expire and Max Expire values directly within the dashboard makes it very easy to configure things on the CDN side.Furthermore, if you rather have even more control over your HTTP cache headers you can disable the Ignore Cache Control feature in your Zone settings and have KeyCDN honor all of your cache headers from the origin. This is very useful in the event that you need to exclude a certain asset or group of assets from the CDN.TL;DRThe Cache-Control (in particular), along with the ETag header field are modern mechanisms to control freshness and validity of your assets. The other values are only used for backward compatibility.ConclusionHTTP cache headers are an important tool for improving website performance and reducing server load. By properly configuring cache headers, you can ensure that your files are cached and served efficiently, without sacrificing freshness or reliability. Remember to set appropriate cache control and expiration headers, consider using ETag headers, and test your headers to ensure that they are working correctly. By following these best practices, you can create a fast, reliable, and efficient website that delivers a great user experience.Do you have any thoughts on using HTTP cache headers? If so we would love to hear them below in the comments.
As a content delivery network (CDN) provider, we understand the importance of website security. One of the most popular content management systems (CMS) out there is WordPress, and unfortunately, it is also one of the most targeted platforms for cyber attacks. In this blog, we will be discussing the different security threats that WordPress websites face and how to fix them.WordPress is the most popular content management system (CMS) on the Internet today. There are around 810 million sites running on WordPress, and around half of those are hosted on the free WordPress.com site. The rest are hosted on private servers.There is a reason so many CMS-based sites use WP. WordPress is a smart and intuitive platform that nearly anyone can learn to use. There are numerous plugins and themes available to help website owners customize the look and features of a site. Plus, those who understand coding can easily customize their sites even further.However, WP is also susceptible to a few security threats. Hackers love to go in through the backdoor of your WP site and attempt to set up residence there. Fortunately, if you are aware of the most common security threats, then you can easily fix them and prevent hackers from taking over your site.Below are the top 7 WordPress security threats and how to fix them.1. Password hackingYou've probably noticed that most sites requiring a password now require you to create a strong password with capitals, lower case, numbers and special characters. The more complicated you can make the password (but still remember what it is), the less chance hackers have of breaking into your site.Understand that hackers often use bots and can try dozens of passwords in seconds. If your password is easy to crack, you can be certain they can and will crack your password. Creating a strong password includes tips such as:Not using the same password for everythingMaking the password at least 12 characters longMaking sure all your devices used to sign in are secure (two-factor authentication helps)2. SQL injectionsBecause WordPress runs on a database, it also uses PHP server side scripts. While this works well to deliver content quickly and create a WYSIWYG environment, it also makes your WP site open to URL insertions.SQL injection attacks occur when an attacker inserts malicious SQL code into a website's database. The malicious code can be used to access sensitive information or even take control of the website. SQL injection attacks can occur when websites use outdated software, poorly written code, or if user input is not validated properly.A few methods to help prevent SQL injections include:Update to the latest version of WordPress. Any versions below the most current may be vulnerable to SQL injections.Use a site such as WordPress Security Scan to find vulnerabilities in your site and then fix them. The basic scan is free and will identify common errors, but you can also upgrade to a premium scan to check for lesser-known vulnerabilities.Update to the latest version of PHP that your web hosting server allows. The more up to date the PHP, the less vulnerable your WordPress site will be to hacking.Update plugins. Many vulnerabilities are found in plugins and themes, so make sure you update to the latest version. Also, pay attention to the last time the creator updated the plugin or theme. If they no longer offer updates, switch to a different plugin that does.3. Database attacksBecause MySQL is the most common database used, it is also a target for hackers. When you use your server's one-click or easy install features, the default database prefix is wp_. Using this prefix means that the hacker knows the prefix of your database.If you are just setting up your WP site, it is simply a matter of changing the database prefix. However, if you already have an established WP site, you'll need to go in and make some changes to use a different prefix. You can change the prefix to your database fairly easily, though, by following these steps.Backup your database in case there is an issue when making changes. This allows you to easily restore the site if there is an error.Go to your root directory for your WordPress installation (you can use PHP or some servers allow access to files via the control panel) and open the wp-config.php file. Look for a line that reads: $table_prefix = 'wp_';Replace wp_ with wp_78398 (Use numbers of your choice and make them random. You can also use letters). Save and close the file.Open your database through phpMyAdmin or similar program. If your server uses cPanel, then look for the phpMyAdmin button.Click on the tab that says SQL and use the following query (see below). You also can simply change each prefix manually, but if you have a lot of tables this is time-consuming. Note that you need to change 78398 to the numbers or letters or combination of that you personally used.RENAME table `wp_commentmeta` TO `wp_78398_commentmeta`;RENAME table `wp_comments` TO `wp_78398_comments`;RENAME table `wp_links` TO `wp_78398_links`;RENAME table `wp_options` TO `wp_78398_options`;RENAME table `wp_postmeta` TO `wp_78398_postmeta`;RENAME table `wp_posts` TO `wp_78398_posts`;RENAME table `wp_terms` TO `wp_78398_terms`;RENAME table `wp_termmeta` TO `wp_78398_termmeta`;RENAME table `wp_term_relationships` TO `wp_78398_term_relationships`;RENAME table `wp_term_taxonomy` TO `wp_78398_term_taxonomy`;RENAME table `wp_usermeta` TO `wp_78398_usermeta`;RENAME table `wp_users` TO `wp_78398_users`;You now need to fix any options. Use this query and fix any lines that pop up by changing to the new prefix you've chosen:SELECT * FROM `wp_78398_options` WHERE `option_name` LIKE '%wp_%'Finally, search usermeta for wp_ prefixes. Use this query:SELECT * FROM `wp_78398_usermeta` WHERE `meta_key` LIKE '%wp_%'Remember that you need to plug in what numbers or letters you chose in place of 78398.Save the changes and check to make sure everything is working. You should create a second backup of the site with the new prefixes in place, but don't discard the original in case something breaks. It's always a good idea to keep a backup anytime you make any type of major change to your site.4. Brute force attacksA brute force attack is when an attacker uses automated tools to try to guess the correct username and password combination to gain access to a website. Hackers use dictionaries of commonly used passwords or try every possible combination of characters until they get the right one. Brute force attacks can cause a website to crash, allow attackers to steal sensitive information, or even take control of the website.Fortunately, this is a pretty easy security threat to stop.Install the plugin Limit Login Attempts Reloaded. This plugin not only stops someone from a brute force attack, which can also slow down your website and eat up bandwidth, but it will completely lock an IP out of your site for attempting too many passwords in a short amount of time.Install a security plugin. Many of today's security plugins come with a firewall that blocks anyone attempting suspicious activity on your site. One good one is All in One WordPress Security and another is Wordfence. However, there are a number of options, so choose the one that works best for you and is affordable.There are some more advanced tactics you can use, such as .htaccess password protection, but start with the plugins and if that doesn't stop the attacks you can get more in-depth with your protection levels. You can also change the default admin name to better protect your site.You can also change your username using the tutorial at Hostinger.5. Hijacking an open userIf multiple people work on your site, there is a security risk for each one. If the person logs in and then walks away from their computer, it is vulnerable to anyone in the vicinity. This could be a problem in a shared workspace, for example. If that person's computer gets hijacked, your site could be vulnerable as well.Install the Inactive Logout plugin.Choose the settings that make sense for your site. You can set the length of time the person is inactive before you log them out and even the message they receive when being logged out.6. Cross-site scripting (XSS)Cross-Site Scripting (XSS) attacks occur when an attacker injects malicious code into a website, which is then executed in a user's browser. The malicious code can be used to steal sensitive information or take control of the website. XSS attacks can occur when websites use outdated software, poorly written code, or if user input is not validated properly.To fix this issue, you should always use the latest version of WordPress and all plugins, and ensure that all code used on the website is properly written and validated. Additionally, you can use plugins like Anti-Malware Security and Brute-Force Firewall to scan your website for any vulnerabilities.7. DDoS AttacksA Distributed Denial of Service (DDoS) attack is when an attacker floods a website with traffic, causing it to crash or become unavailable. DDoS attacks can be carried out by using a network of infected computers, also known as a botnet. These botnets can be used to overwhelm a website with traffic, making it inaccessible to users.You can protect yourself from this type of attack by using CDN services like ours to mitigate DDoS attacks. We have a global network of servers that can absorb and distribute traffic, ensuring that your website remains online even during an attack. Additionally, website owners can use plugins like Wordfence Security to block malicious traffic and reduce the risk of DDoS attacks.Keeping your site secureNow that we have discussed the most common security threats to WordPress websites let's highlight the most important measures on how to fix them.Keep your WordPress website up to dateCurrently, almost 61% of WordPress users use the latest version. The statistics also show, for example, that over 3% (this corresponds to about 26,730,000 users!) use a version that has been outdated for about five years.As we mentioned earlier, one of the most common reasons for WordPress websites to be hacked is the use of outdated software.To prevent this, it is essential to keep your WordPress website and all plugins up to date. WordPress updates often contain security patches, and plugin updates often fix security vulnerabilities. By keeping everything up to date, you reduce the risk of your website being hacked.Use strong passwordsUsing strong passwords is essential to protect your WordPress website from brute force attacks. Strong passwords should be at least 12 characters long, and should include a combination of letters, numbers, and symbols. Avoid using easy-to-guess passwords like "password" or "123456". You can use password managers like LastPass or Dashlane to generate and store strong passwords.Install security pluginsThere are many security plugins available for WordPress that can help you protect your website from various types of attacks. Some of the most popular security plugins include Wordfence Security, iThemes Security, Sucuri Security, and Anti-Malware Security and Brute-Force Firewall. These plugins can scan your website for malware, block malicious traffic, and enforce strong passwords.Use a content delivery network (CDN)Using a CDN can help protect your WordPress website from DDoS attacks. The global network of servers can absorb and distribute traffic, ensuring that your website remains online even during an attack. Additionally, using a CDN can improve your website's performance, as it caches content and serves it from a server closer to the user.Backup your website regularlyBacking up your website regularly is essential in case of a security breach or other catastrophic event. If your website is hacked, you can restore it from a backup to minimize downtime. Most hosting providers offer backup services, but you can also use plugins like UpdraftPlus or BackupBuddy to back up your website to a cloud storage service like Google Drive or Dropbox.ConclusionWordPress websites are vulnerable to various types of security threats, including brute force attacks, SQL injection attacks, Hijacking, XSS attacks, Database attacks, and DDoS attacks. To protect your WordPress website, you should keep everything up to date, use strong passwords, install security plugins, use a CDN, and backup your website regularly.By following these best practices, you can reduce the risk of your website being hacked and ensure that your users' data remains secure. As a CDN provider, we are committed to helping you protect your website and provide a fast, secure, and reliable user experience.
If you are building a website or application and wondering whether to use icon fonts or SVGs, you have come to the right place. In this article, we will explore the pros and cons of each option and help you decide which one is the best fit for your project.Graphical icons are a crucial component of almost every website or app. Although icons are typically small in size by nature, selecting a format for your web icons is not a trivial decision. Aside from the standard image formats, web developers have two main options: SVGs or icon fonts. Which one should you use? Let's see how the two formats compare in terms of performance, flexibility, and accessibility.The evolution of web iconsWeb icons have come a long way since the early days of the internet. In the time before CSS, web icons had to be images. Because image files are large, web developers have always tried to find alternative methods to display small icons.In the early 2000s, icons were often simple, pixelated graphics that were used primarily for navigation and to indicate links. As web design evolved, so did the use and design of icons.One of the first major changes in the evolution of web icons was the introduction of icon fonts. Icon fonts were first introduced in 2010 and quickly gained popularity as a way to easily incorporate icons into web design. They offered a lightweight and scalable alternative to using images for icons.As web design continued to evolve, the use of SVGs (Scalable Vector Graphics) became more prevalent. SVGs allowed for more design flexibility and could be easily scaled without losing quality. This made them a popular choice for creating custom icons and graphics.The introduction of flat design in the mid-2010s also had a significant impact on the evolution of web icons. The flat design emphasized simplicity and minimalism, with a focus on using simple shapes and bold colors. This led to the widespread use of simple, minimalist icons that were easy to recognize and visually appealing.More recently, the trend towards using animated icons has become more prevalent. Animated icons can add an element of interactivity and engagement to web design, making them a popular choice for websites and applications.Another recent development in the evolution of web icons is the use of 3D graphics and isometric design. These styles add depth and dimension to icons, making them more visually interesting and engaging.What are icon fonts?Icon fonts are text files that can be modified using CSS. Consequently, they scale much better than raster images, so changing the size of an icon font doesn't degrade its visual quality. Changing the color or adding a shadow is just as simple as editing text. You can easily find free icon fonts to use on your website, or you can design your own. One downside of using icon fonts is that most font sets contain icons that you probably won't use, so they will just be taking up space.Like CSS sprites before them, icon fonts are starting to fall out of favor with developers. Properly displaying icon fonts often requires the browser to make additional requests to the server, which can lead to FOIT, or flash of invisible text, on icons while the font libraries are still loading. If the browser cannot interpret the fonts, then the user will just see empty characters. Since such scenarios are unacceptable for professional websites, more developers are now turning to SVGs.What are SVGs?SVGs (Scalable Vector Graphics) allow vector graphics to be displayed in the browser. SVGs are quickly becoming the new standard for web icons and animations. They not only offer superior scaling, but they often render more quickly and reliably than icon fonts. Since vector graphics are composed entirely of code, they don't have to be imported from large external files. They are also much smaller in size than your typical JPG or PNG as well as most icon font libraries.Making the most of your SVGs may necessitate overcoming a bit of a learning curve, but the rewards are well worth the effort.How SVGs workIt's possible to use SVGs like within a regular <img> element in your HTML utilizing the width and height attributes to adjust the dimensions. However, this method somewhat limits your ability to customize your SVGs.If you want the ability to further customize your SVG icons directly from within the HTML, you'll need to inline your SVG by simply pasting the code directly into your HTML document. Then, you can change the color or apply filters by targeting it with CSS. Here is what an example SVG icon looks like:<svg version="1.1" baseProfile="full" width="300" height="200" xmlns="http://www.w3.org/2000/svg"> <rect width="100%" height="100%" fill="#3686be" /> <circle cx="150" cy="100" r="80" fill="white" /> <text x="150" y="115" font-size="35" text-anchor="middle" fill="#3a3a3a">KeyCDN</text> </svg>The code above, inspired by Mozilla, displays a graphic like this in a browser:Although SVG code can seem intimidating at first glance, designing and controlling SVG icons is deceptively easy. In fact, you can just use a program like Adobe Illustrator to create your own vector graphics to use as icons. Just save them as SVG files, or you can generate the code within the Illustrator interface. You can also export drawings from Google Docs as SVG files.Are icon fonts still useful?Icon fonts are far from obsolete. While they are not always the most efficient nor the most reliable option, icon fonts are still relatively simple and easy to implement therefore many developers continue to use them. Depending on the number of icons used, It may not be worth the effort to switch out icon fonts for SVGs on your older projects; however, SVGs are the definitive way of the future, so you might as well get comfortable using them going forward.Comparing SVGs vs icon fontsTo help you decide which icon format to choose, let's see how the two options compare in various departments.Advantages of icon fontsIcon fonts have been around for a while and have been a popular choice for displaying icons on websites and applications. Here are some of their advantages:Easy to use: Icon fonts are easy to use and require minimal setup. All you need to do is include the font files in your project and use CSS to display the icons. You can even customize the icons using CSS, such as changing the color, size, and other properties.Lightweight: Icon fonts are lightweight and do not add much to your website's page load time. Since the icons are encoded as font glyphs, they are essentially text and do not require separate image files to be loaded.Widely supported: Icon fonts are widely supported by browsers and can be used on virtually any device or platform. They are also compatible with screen readers and other assistive technologies, making them accessible to users with disabilities.Disadvantages of icon fontsHowever, there are some drawbacks to using icon fonts:Limited customization: While icon fonts can be customized using CSS, they are limited in terms of design flexibility. You are limited to the predefined set of icons included in the font, and you cannot create your own custom icons.Quality issues: Some icon fonts may suffer from quality issues, such as jagged edges or pixelation, particularly at smaller sizes. This can be especially noticeable on high-resolution screens.Accessibility concerns: While icon fonts are generally accessible, there are some concerns around their use. Since they are encoded as font glyphs, screen readers may have difficulty identifying them as images, and users may not be able to access alternative text descriptions.Advantages of SVGsSVGs have become increasingly popular in recent years and are now a common choice for displaying icons on websites and applications. Here are some of their advantages:Design flexibility: SVGs offer more design flexibility than icon fonts, allowing you to create your own custom icons and graphics. You can also apply advanced effects and animations to SVGs using CSS or JavaScript.Scalability: SVGs are scalable and can be resized without losing quality. This makes them ideal for use on high-resolution screens or in responsive designs, where icons need to be resized depending on the device or screen size.Accessibility: SVGs are more accessible than icon fonts, as they can be easily identified by screen readers and other assistive technologies. You can also provide alternative text descriptions for SVGs, making them accessible to users with disabilities.Disadvantages of SVGsHowever, there are also some drawbacks to using SVGs:Complex setup: Setting up SVGs can be more complex than icon fonts, particularly if you are creating your own custom icons. You may need to use specialized software or tools to create and optimize your SVGs.Larger file sizes: SVGs can have larger file sizes than icon fonts, particularly if they include complex graphics or animations. This can impact your website's page load time and performance.Browser support: While SVGs are supported by most modern browsers, some older browsers may not support them fully. This can result in inconsistent rendering or display issues for some users.Which one should you use?So, which option should you choose? It ultimately depends on your project's specific requirements and constraints. Here are some key factors to consider when deciding between icon fonts and SVGs:1. SizeIf you choose to inline your SVGs in order to add styles, they can quickly increase in size, and the code can become quite cumbersome. It's also worth noting that inline SVG code doesn't get cached by the user's browser. External SVG files, on the other hand, can be cached. If you have a lot of icons on a single page, then icon fonts may provide a smoother user experience than inline SVGs. Of course, if you're using a premade icon font set, then you will probably be wasting resources on unused icons.The thing that's worth noting here is that 10 optimized SVG icons will likely be much smaller than an entire icon library. However, if you create your own custom icon library with only the icons you need, the icon library font will end up being smaller.2. PerformanceIcon fonts can be cached therefore making them load faster directly from the browser. However, the downside to this is that they create an additional HTTP request. On the other hand, if you're inlining SVG icons there are no additional HTTP requests needed, however these cannot be cached by the browser.You can however include your SVG files in an external file thus making them cacheable by the browser. Again, performance-wise the difference in speed will depend on how large your icon font/SVGs are. Try running performance tests with both to determine which one loads faster.3. FlexibilityBoth formats can be styled using CSS, but inline SVGs give you far more options such as glyphs strokes and multicolored icons. You can even have animated web icons.4. Browser supportWhichever format you choose for icons, you may have to perform some extra steps to make them compatible with older browsers. Since they've been around longer, icon fonts are more widely supported. Anyone using IE 6 or higher, which likely includes everyone, should be able to see your icon fonts. If you use SVGs, then you might want to include a JS polyfill to support those using IE 8 or lower.However, as most users have moved away from legacy browser versions, this shouldn't be much of a concern, regardless of whether you choose icon fonts or SVGs. The only lack of support in terms of SVG icons and modern browsers comes from IE, which doesn't properly scale SVG files (height and width attributes are recommended).5. ScalabilityAlthough both SVGs and icon fonts are vector-based, browsers interpret icon fonts as text, which means they are subject to anti-aliasing. Therefore, SVGs tend to look a little sharper than icon fonts.6. PositioningBecause icon fonts must be inserted via a pseudo element, positioning font icons can be tricky. You may have to consider the line-height, vertical-align, and letter-spacing among other factors to get the pseudo element and the actual glyph to match up perfectly. For SVGs, you just have to set the size.7. AccessibilityIf accessibility is a top priority for your project, SVGs may be the better choice. Unlike icon fonts, SVGs have built-in semantically-sensible elements, so you don't have to include any workarounds to make your fonts accessible to screen readers.SVG icon tools and resourcesMozilla's Developer Network has a very thorough SVG tutorial that explains how to stylize your icons with inline CSS. In addition to Adobe Illustrator, there are several tools to help you implement SVG icons. IcoMoon is an excellent resource for premade SVGs and font icons, and the IcoMoon app allows you to create your own. If you're looking for something open source, Inkscape is a free vector drawing program that exports SVG files. Tools like Convertio allow you to convert other image formats to SVG files.It's important to note that programs like Illustrator and Inkscape often embed extra information into exported SVG files that you don't need. Therefore, you should run your SVG icons through an optimization tool like SVGO or the SVG Minifier to trim them down before adding them to your website.Apart from the resources mentioned above, there are also a variety of icon websites out there which provide high quality vectors as either a paid or free service. Check out our complete icon library resources guide as well as our post on improving the speed of your glyphicons through using a glyphicon CDN.SummaryThere is still some debate in the community regarding whether or not icon fonts are better than SVGs or vice-versa. The truth is, what makes one or the other "better", in some cases, depends on the circumstance in which it is being used.However, more often than not, SVGs are the preferred method. They're much more scalable, offer a better user experience, and are supported by all major browsers. Even a few of the top web performance experts say that moving away from icon fonts in favor of SVGs is essential.Let us know your thoughts in the comments below. Are you using icon fonts, SVG icons, or a combination of both?
As a web developer, you must be always on the lookout for ways to improve the performance of your applications. With the increasing demand for faster and more efficient web applications, optimizing PHP performance has become a critical aspect of web development. In this blog, we will explore some of the best practices and tips for improving PHP performance for web applications. The best tool for improving PHP performance isn't any individual program; it's knowing which problems to look for and how to address them. This guide will cover everything you need to know to ensure that your PHP applications always run smoothly.A brief history of PHPPHP is a scripting language invented by Rasmus Lerdorf in 1995. Initially intended for the developer's personal use, "PHP" was originally an acronym for "Personal Home Page." Lerdorf initially developed PHP as a set of Common Gateway Interface (CGI) scripts for tracking visitors to his personal website. Over time, he added more features to the language, such as dynamic generation of HTML pages, and released it as an open-source project in 1995.In 1997, two developers, Andi Gutmans and Zeev Suraski, rewrote the core of PHP and transformed it into a more robust and efficient language. This new version of PHP, known as PHP 3, gained popularity quickly and became widely used for developing dynamic web pages.Since then, PHP has continued to evolve and improve, with the addition of new features such as improved object-oriented programming, better security features, and improved performance. Today, PHP is one of the most widely used server-side scripting languages, powering some of the biggest websites on the internet, including Facebook, Wikipedia, and WordPress.In recent years, PHP has also seen the introduction of new versions. In 2015, PHP 7.0 was released with updates including improvements to the Zend Engine and an overall reduction in memory use. At the time of writing this article, the newest available version is PHP 8.2, which was announced in December of 2022. The PHP Classes website contains extensive details about all of the changes made in PHP 8.2.What exactly is good PHP performance?Performance and speed are not necessarily synonymous. Achieving optimal performance is often a balancing act that requires trade-offs between speed, accuracy, and scalability. For example, while building a web application, you may have to decide between prioritizing speed by writing a script that loads everything into memory up front or prioritizing scalability with a script that loads data in chunks.Based on a representation from phplens, the image below depicts the theoretical trade-off between speed and scalability:The red line represents a script optimized for speed, and the blue line is a script that prioritizes scalability. When the number of simultaneous connections is low, the red line runs faster; however, as the number of users grows, the red line becomes slower. The blue line also slows down when traffic rises; however, the decline isn't as drastic, so the script tuned for speed actually becomes slower than the script tuned for scalability after a certain threshold.A real world analogy would be the comparison between a sprinter and a cross-country runner. Sprinters are much faster when running short races, but they tire out in longer competitions. Cross-country runners keep a slower but more consistent pace, which allows them to conserve energy and travel longer distances. The two athletes are better suited for different situations. Likewise, some scripts work better in different scenarios. Choosing the right one for your application will require careful consideration of your users. You may have to adjust scripts over time as your traffic increases.When to begin optimizing PHP codeExperienced programmers sometimes save the fine-tuning of code for the end of a project cycle. However, this is only advisable if you are certain of your PHP application's performance parameters. A more sensible approach is to conduct tests during the development process; otherwise, you may find yourself rewriting large chunks of code to make your application function properly.Before you start designing a PHP application, run benchmarks on your hardware and software to determine your performance parameters. This information can guide your coding by helping you weigh the risks and benefits of specific trade-offs. Be sure to use adequate test data, or else you could create code that doesn't scale.Tips for optimizing PHP scriptsWriting good code is the essential first step to creating PHP applications that are fast and stable. Following these best practices from the beginning will save time on troubleshooting later.1. Take advantage of native PHP functionsWherever possible, try to take advantage of PHP's native functions instead of writing your own functions to achieve the same outcome. Taking a little while to learn how to use PHP's native functions will not only help you write code faster, but will also make it more efficient.2. Use JSON instead of XMLSpeaking of which, native PHP functions such as json_encode() and json_decode() are incredibly fast, which is why using JSON is preferable to using XML. If you are committed to XML, be sure to parse it using regular expressions rather than DOM manipulation.3. Cash in on caching techniquesMemcache is particularly useful for reducing your database load while bytecode caching engines like OPcache are great for saving execution time when scripts get compiled.4. Cut out unnecessary calculationsWhen using the same value of a variable multiple times, calculate and assign the value at the beginning rather than performing calculations for every use.5. Use isset()Compared to count(), strlen(), and sizeof(), isset() is a faster and simpler way to determine if a value is greater than 0.6. Cut out unnecessary classesIf you don't intend on using classes or methods multiple times, then you don't really need them. If you must employ classes, be sure to use derived class methods as they are faster than methods in base classes.7. Turn off debugging notificationsAlerts that draw your attention to errors come in handy during the coding process, but they become just one more process that slows you down after launch. Disable such notifications before going live.8. Close database connectionsUnsetting variables and closing database connections in your code will save precious memory.9. Limit your database hitsMaking queries aggregate can reduce the number of hits to your database, which will make things run faster.10. Use the strongest str functionsWhile str_replace is faster than preg_replace, the strtr function is four times faster than str_replace.11. Stick with single quotesWhen possible, use single quotes rather than double quotes. Double quotes check for variables, which can drag down performance.12. Try three equal signsSince === only checks for a closed range, it is faster than using == for comparisons.Types of bottlenecks that affect PHP performanceTinkering with your scripts can certainly be beneficial. However, there are also issues that have nothing to do with code which can also hinder PHP performance. This is why developers need a thorough understanding of their server's subsystems to identify and address bottlenecks. Below are areas you should check if you're having performance issues.1. The networkOne obvious source of bottlenecks are networks. Depending on your current network's capacity, it may lack the power to handle the amount of data being transmitted.2. The CPUTransmitting plain HTML pages across a network doesn't drain your CPU, but PHP applications do. Depending on your requirements, you may at least a server with multiple processors to process your PHP code efficiently.3. Shared memoryA lack of shared memory can disrupt inter-process communication, which can lead to lagging performance.4. The filesystemYour filesystem can become fragmented over time. A file cache that uses RAM can speed up disk access so long as there is enough memory.5. Process managementMake sure your server isn't overburdened with unnecessary processes. Remove any unused networking protocols, antivirus scanners, mail servers and hardware drivers. Running PHP in multi-threaded mode can also result in better response times.6. Other serversIf your application depends on outside servers, a bottleneck on the other server can slow you down. There is not much you can do in such scenarios, but you can make alterations on your side to mitigate deficiencies on the other end.More tips for improving PHP performance1. Take advantage of OPcacheSince PHP is interpreted into executable code extemporaneously, programmers don't have to pause to compile code every time they make a small change. Unfortunately, recompiling identical code every time it runs on your website slows performance, which is why opcode cache, or OPCache is very useful.OPcache is an extension that saves compiled code into memory. Therefore, the next time the code executes, PHP will check timestamps and file sizes to determine if the source file has been altered. If it has not, the cached code will run.The image below shows the difference in execution time and memory usage between a PHP application running with no cache, OPcache, and eAccelerator (another PHP caching tool).Source: PrestaShop2. Identify database delaysAs discussed above, performance problems are not always caused by code. Most bottlenecks occur when your application must access resources. Since the data access layer of a PHP application can account for up to 90 percent of execution time, one of the first steps you should take is to look at all instances of database access in your codebase.Make sure slow SQL logs are turned on to help you identify and address slow SQL queries, and then query the queries to assess their efficiency. If you discover that too many queries are being made, or if you find that the same queries are being made several times during a single execution, you can make adjustments that boost your application's performance by cutting down on database access time.3. Clean up your filesystemSkim your filesystem for inefficiencies, and make sure the filesystem isn't being used for session storage. Most importantly, keep an eye out for code that can trigger a file stat such as file_exists(), filesize(), or filetime(). Leaving any of these functions in a loop can lead to performance issues.4. Carefully monitor your APIsMost web applications that depend upon external resources leverage remote APIs. Although remote APIs are out of your control, there are actions you can take to mitigate problems stemming from API performance. For example, you can cache API output or make API calls in the background. Establish reasonable timeouts for API requests and, if possible, be prepared to display output without an API response.5. Profile your PHPUsing OPcache and managing your external resources should be enough to make most applications run smoothly; however, if you find your needs increasing, it might be time to profile your PHP. A full PHP code profile can be time-consuming, but it can supply you with in-depth information about your application's performance. Thankfully, there are a handful of open source programs for profiling your PHP code such as Xdebug.The importance of monitoring PHP performanceYour web application may be running fine at one minute, but a sudden barrage of traffic can cause your application to crash if you're unprepared. Of course, making changes always requires time, effort and money, and it can be difficult to tell if the investment is worth it. The best way to make informed decisions is to continually collect data.PHP performance monitoring software like New Relic, Logtail, or PHP Server Monitor help you immediately measure the effects of any changes you make. Of course, knowing what to measure is equally important. Speed and memory usage are considered the best indicators of performance because they impact page load times, which are critical to web applications.While data collection is important, you should turn off your monitoring system when you don't need it because an influx of logs can slow things down. Of course, such logs give you valuable information about how to improve performance, so you should periodically monitor during peak traffic periods.The future of PHP performanceThe future of PHP performance looks promising. With each new version of PHP, the language continues to evolve and improve, making it faster, more efficient, and more secure. The PHP development community is constantly working to optimize the language and make it better suited to modern web development needs.In the future, we can expect to see continued improvements in performance, with a focus on making PHP even faster and more efficient. This could be achieved through the use of new technologies, such as Just-In-Time (JIT) compilation, and the implementation of new features and optimizations. Additionally, the PHP development community is also likely to continue to focus on improving the security of the language, to ensure that PHP-powered applications remain safe and secure.When building web applications, remember that what works today might not work next year. You may have to make adjustments to maintain consistent PHP performance. Focusing on the big picture during the entire development process is the best strategy for building PHP apps and websites that work for the masses.
In this article, we compare GTmetrix to Google's Lighthouse run on Chrome DevTools. The post GTmetrix vs Lighthouse (DevTools) appeared first on GTmetrix.
We discuss some web performance tool alternatives to GTmetrix, and how GTmetrix compares to them. The post GTmetrix Alternatives appeared first on GTmetrix.
In this article, we compare GTmetrix to Google’s PageSpeed Insights. The post GTmetrix vs PageSpeed Insights (PSI) appeared first on GTmetrix.
In this guide, we compare GTmetrix to WebPageTest, a similar web performance testing tool. The post GTmetrix vs WebPageTest appeared first on GTmetrix.
In this guide, we compare GTmetrix to DebugBear, a Lighthouse-based web performance testing tool. The post GTmetrix vs DebugBear appeared first on GTmetrix.
This is an event post. My individual talk page is here: Get your tickets while they last!
A look back at the 2025 highlights for the 11ty org and the Eleventy project! It was another huge year for 11ty. We shipped 177 releases (73% more than 2024) across the full 11ty/* suite. We closed 804 issues (15% more than 2024). We reduced core’s dependency count by 28% and weight by 22%. More folks are building with Eleventy than ever: our year-over-year npm downloads (for only core) are up by 51%!
Learn how to measure the performance of your React app and identify what's slowing it down.
How we discovered and fixed a lodash memoize memory leak that caused out of memory crashes in our Google Cloud Functions.
In my previous post I described how I set up sightread.org with no build process and modern JavaScript. The goal was raw ES modules, no transpilation, no bundling, just <script type="module"> and we're off. That worked great for a minute but I wanted just one more thing: long-lived immutable JS resources that can be cached […]
Learn how a strategic SEO content marketing plan and technical website migration helped a Colorado-based money lender generate 77% more website traffic.
Learn about all the latest Google algorithm updates and their effects on organic search performance with this comprehensive guide.
Attract and convert more customers at a lower acquisition cost with these local digital marketing strategies from Inflow.
We show you how we used E.A.T. SEO strategies to improve our eCommerce client’s site, leading to a 300% increase in organic revenue.
Was your website affected by the most recent Google update? Follow our step-by-step process to find out.
Would you believe it: Almost no one watches your video ads! Take your company employee hat off: Do you watch any other company’s video ads, if you have the choice to skip or swipe? Do you watch your company’s ads, if you have the choice to skip or swipe? The answer for you, me, our employee peers is likely no. Reason: Just as for our users… The ad’s in the way. When producing advertising, here’s the reality CMOs ignore: You are not competing against other ads. You are competing against the entire internet. All of it. If a human is actively watching your 60s ad on TV all the way to the end, the most likely reason is her phone’s battery is dead. Pause for reflection. This blog post was originally published as edition #489 of my newsletter TMAI Premium. Each week, I share strategic insights and actionable guidance on how to stay at the very bleeding edge of Marketing, Analytics, and AI-transformation. Sign up for TMAI Premium to accelerate your career trajectory. 100% of TMAI revenues are donated to charity. I am not advocating against video advertising. It is essential for effective and scalable brand marketing. I am advocating for ad creatives to embrace the decade-old reality of consumer behavior, media consumption, and attention fragmentation. I am for video advertising strategies that are built to recognize that attention is the most expensive currency on earth. To make the case for just how important this is… Here’s my synthesis of the data illustrating the average seconds of attention paid in each media channel, how much of that attention is with sound on (more effective!), and how much of your ad is watched all the way to the end… Video Ads: Attention Metrics [For a higher resolution image: Right mouse click > Open image in new tab.] Sobering, no? Big Insight: Active attention to an ad is contextual. And, brief. Increasingly: Just the first two seconds. Big Implication: A 60s TV ad is now, functionally, a 15-second ad with 45 seconds of background noise for most viewers. A 15s TikTok video ad is now, functionally, a 1s display ad view. Big Disappointment: Your Brand Marketing is largely delivering zero brand lift when measured with true test-control brand lift studies. If you are producing ads (“stories”) longer than 30 seconds – like the one- to five-minute sappy holiday creatives common this time of year – you are doing that purely for your own entertainment. Protect your career by not promising any business profits. The data above also explains why your TikTok / Reels / YT Shorts ad campaigns have almost never delivered brand lift with an above zero confidence interval – a massive waste of precious creative & Marketing budgets. [Note: TMAI Premium subscribers, carefully review TMAI #447: Confidence Intervals: A Brand Analytics MUST Have. Please email me if you do not have my awesome Excel model to compute your campaign’s real impact.] Why obsess about this? Effective Brand Marketing is the only way to grow Market Share over time. Video ads are a necessary tactic in that holy quest. Let’s embrace real consumer behavior, media consumption, and attention fragmentation. Shorter video ads. And, regardless of the ad length, front-loaded video ads with high-impact first two seconds. Wait, Wait, Wait… Loooong Ads Are Better! Like me, I’m confident you’ve heard a variation of this from your VP of Creative / Global Creative Director / CMO: Long creatives tell a better story, and people remember better stories. What does the data say? Data Fact One: Studies by Facebook’s Brand Lift team, Google/YT ABCDs find that shorter ads (6-15s) often drive equal or higher lifts in Ad Recall and Consideration than longer ads. (In part because they are less likely to be skipped or are unskippable.) Data Fact Two: Quantifying that… Research (Lumen/Teads) identifies that 15s ads drive 75-85% of the recall of a 30s ad – at half the media cost (Magna/IPG). Data Fact Three: If they hold attention throughout, longer ads (30s+) can drive higher emotional intensity and long-term brand affinity. Your VP, Director, CMO is right… Longer ads have additional value to offer! To deliver that special magic, long ad creatives have to solve three problems: 1. The long ad needs to be built to solve a different, long-term purpose. 2. If you just want to drive Unaided Brand Awareness, Consideration, or Purchase Intent, you can do so more efficiently with a shorter ad, while lowering resentment risk. The long ad creative needs to be super magnificently effective in the first 1-4 seconds. The creative has to be able to avoid the Skip / Swipe in skippable ad formats, and avoid the human looking away / going to the bathroom / looking down at their phone in the case of non-skippable formats. 3. The long ad creative needs to be supported by 3x – 6x additional media budget – when compared to the 15s ad media budget – to deliver the promised higher emotional intensity. Life Changing Insight: The modern battle for brand lift isn’t won by one long story; it is won by frequency of short, high-impact moments. No matter your ad length, if your ad is not seen x number of times over y weeks, it will not deliver impact. [Note: Premium subscribers deep dive and incorporate: TMAI #431: Impact of Ad Length on Campaign Cost.] It is difficult to meet these three magic-producing criteria, but it can be done. Use the ad length that is optimal for the business purpose you are solving for. Don’t use a jumbo jet to commute to Manhattan. Don’t try to cycle from NY to Chicago. Regardless of ad length/purpose, I’m confident you noticed that you really need to make the first two, three, seconds count. [Special Advice: The Ad Sales team at one particular ad platform aggressively champions the cause of looooooooooong ads. If you run into them, set all else aside and ask one question: How do we get distribution for the looooooooooong ads? If you get an affordable, scalable answer that spike and sustains, follow their advice.] An Ideal Video Ads Media Plan. Recognizing that effective Brand Marketing via video ads is not a one-size-fits-all, I want to sketch this starting point for your video ads strategy: Spark: 6s “Bumpers” / equivalent, will take a majority of your media budget (55-65%). They build frequency, recognition, and sustain your brand lift gains. Fuel: 15s / equivalent, will take nearly all of the rest of your media budget (25-35%). Ideally, sequenced with effective 6s ads so they would have gained interest to hear the rest of the story. Blaze: An occasional 30s (ideally non-skip) taking the remaining budget (5-8%), in big spike moments to support a specific brand feeling. Beacon: A rare, beautiful 60s film, not as an ad (0%), but organically seeded on social channels, shown in internal company meetings, submitted for industry awards. There can be small, occasional, variations. From my experience across industries and countries… For retail type companies, Spark takes up 70%. For B2B, Fuel can be up to 40%. For a revolutionary new product/company, Blaze temporarily can be 20%. Repetition: You will notice I’m consistently prioritizing frequency over length. Effective Brand Marketing is frequency-powered in an age where attention is the most expensive currency. Second repetition: Regardless of length, each type of video ad will have to start front-loaded, with a BANG. The first few seconds are critical to plant a memory, to generate interest in seeing rest of the story. Let’s learn how to do that. How to Be Creative: Zero 2 Interest in Two Seconds! Across all social video, users pay only 12 seconds of active ad attention for every hour(!!). Implication: Your share of voice is infinitesimal unless you disrupt their pattern. To do that, you have one to three seconds max. I’ll share data-identified effective creative tactics, for each channel. But first, there are five creative tactics that apply regardless of channel. Big 5 Universal Creative Effectiveness Truths. 1. Brand in 3. The brand must be recognizable within 3 seconds (logo, color, sonic signature, character). 2. Frame-One Impact. The first visual frame must tell a story or pose a question. (It is insanely difficult, that is what it takes to win.) 3. Sound as Lead, Not Support. Music, voice tone, and audio pacing drive emotional response faster than visual. 4. The “Why Now?” Answer the viewer’s unconscious question: “Why should I care about this right now?” (Reminder: Your ad’s competing against all the content on the internet.) 5. Creative Pre-Tested. The only way to win before you spend is to pre-test your creative – and ensure it passed in your ad’s media channel and your intended audience. For Concepts and high media weight Executions, use HMM Pro. For high volume, low media weight Executions, TikTok/Shorts/Reels, use HMM AI. These are super high standards for your creative teams to meet. In a world where you’ll get 12 seconds of ad attention per hour… Recommendations 1 – 5 above are mandatory. If you feel your video ads are falling short of the above truths: A. That explains why you can’t prove an iota of incremental impact from Brand Marketing on long-term Revenue. B. That should be a reason you pause your current video ad spend until your creative team/agency can deliver worthy creative. The Build Effective Creative Journey Continues. Every channel has its nuances. What works on TV rarely works on YouTube. What works on Reels often does not work for Facebook. Mobile video ads needs different Big Bang Two-Second start than if they are served on CTV. In TMAI #490 I’ve shared detailed best practices I’ve validated through testing and media tactics individually for Linear TV, CTV, YouTube Skippable, Facebook/Instagram Feed, TikTok/Reels/Shorts, and Snapchat. Lessons from approx. $10 bil in brand marketing spend analyzed. If you are a new TMAI Premium member, please email me if you can’t find edition 490 with detailed Part 2. If you are not, grab an annual Premium subscription here – the insights will transform your professional effectiveness! Bottom line. Our belief in the power of story is correct. Our canvas has changed. The 60-second spot is not dead, as illustrated above, it has a purpose in a Beacon strategy on free channels and for earning awards. The 60-second ad as interruption is dead. It does not perform as a media strategy. (Neither is there much inventory to buy. The platforms know it does not work!) Short-form creative is how we earn attention, and earn permission to tell our (slightly) longer, richer story. We are not abandoning our craft. Our quest remains legendary brand lift! The path we take to get there is new. Carpe diem. Avinash. PS: In the world of Chinese livestream sales, Zheng Xiang Xiang’s approach is super impressive. She sells 100 million Yuan ($19m) of products in a week. Don’t emulate it. Xiang Xiang operates within available attention. Appreciate that to become a better Marketer. The post 2 Seconds to Brand Impact: A Modern Video Ads Playbook appeared first on Occam's Razor by Avinash Kaushik.
With the slow and steady evolution from keyword searching to resolution questions typed into Answer Engines, you are going to lose traffic (and revenue) somewhere in the rage of -18% to -64% during the course of the next calendar year. Today, our challenge is three-fold: A. How can you identify the size of your loss? B. What can you do to recover some losses? C. What actions can you take to take advantage of this shift and grow revenues? Every smart company is building a forecasting model to estimate these three life-critical dimensions. Let me make that important exercise a little easier for you. My model will help you estimate your losses, identify opportunities to recover, and share actions, and by how much each can drive growth. You can use the model to have strategic conversations with your CEO, CFO, and help your CMO create a clear, prioritized, list of actions (including hiring new staff with relevant expertise). This blog post was originally published as edition #482 of my newsletter, TMAI Premium. Each week, the newsletter shares strategic frameworks and practical here’s how to stay at the very bleeding edge of CFO-proof Marketing and Analytics. Sign up for TMAI Premium to accelerate your career trajectory. The Librarian to Grad Assistant Search Transformation. Past: When the User asked a question, traditional Google was a librarian. It did not know answers, it pointed us to a section of the library – four plus ten blue links – and said the answer is highly likely to be in these books, good luck. As a business, our job: Be the most attractive, relevant, authoritative book on the shelf, and/or pay to put our book on the special display by the front door of the library. Present: When the User asks a question, the new Answer Engine is the ruthlessly efficient grad research assistant. It goes to the library. It reads the 14 relevant books from a billion books, synthesizes the information, writes a perfect one-page summary directly answering the question. Most businesses lose the clicks, one or two get the click now – and even that we might not get as the Answer Engine absorbs ecommerce, and as AEs become Agentic eliminating the human step altogether. ChatGPT, DeepSeek, Claude are examples of Answer Engines. AI Mode in Google, now out in 40 countries, is also an example of an Answer Engine experience. ChatGPT Agent, Rufus from Amazon are examples of AE experiences that get close to Agentic search – humans need only express a wish; the agent does everything else. Learning, shopping, homework, will never be the same again. My recent AEO newsletter series, six editions (!), covered the changes underway, the actions you need to take on your digital experience, your organic and paid strategies, new measurement to embrace, and how you can prepare to live in an Agentic “Search” world. If you’ve not read that almost mini-book, please do. It is critical to understand the nuance and detail of this conversation. [Note: If you are a new Annual Premium Subscriber, please email me. I’ll be happy to share the six-part series with you.] Here’s a picture I sketched for a recent keynote on AEO, outlining the transformation underway… And, the implications… The completed forecast model will cover items 1 through 5 in the picture above, which are raised from these three questions for every business: 1. How much traffic will we lose? (Organic & Paid) 2. Given the librarian shift, how much of this loss can we recover? (Not all.) 3. Can I take advantage of this shift and grow new traffic? (Yes.) Let’s answer. The Business Losses Are Here (And, Accelerating). The change in user behavior above (in blue) is driving a change in the user experience (in black). Ex: Answers take up most of the real estate, with the answer often reducing the need to go to a downstream site. Ex: Paid ads might come, but for now there are either no ads or few ads (below the fold). Both create losses. My expectation is that the losses will accelerate in 2026. Important note: Losses, Recover & Grow will have different answers for different companies. Ex: For many publishers (news, magazine, content), the loss in traffic is already large, and permanent. These entities will need a phoenix type rebirth. I am going to focus on normal businesses: Ecommerce-type entities, B2B & B2C where the earning of revenue is a short, medium, long-term objective. 1. Factors driving losses in SEO Traffic. Informational queries are at the highest risk. These are the what is, how to, and best of queries. They represent, what some people call, top of the funnel. AEs are designed to directly answer these. Commercial queries are close to the highest risk. These are the vs queries, comparisons. Lenovo ThinkPad Snapdragon vs. Asus Zenbook A14. These are very high value queries, AEs will not generate an on-the-fly custom comparison table and even tell you to buy the Zenbook (btw, I have one and it is spectacular!). Non-brand High-Intent Transactional queries are at moderate risk. These are the user typing “buy men’s waterproof hiking shoes for an Alaska trip.” The current UX is that the AE will provide a handful of recommendations, with a summary of why. The user will click fewer times, and your organic category page will be ineffective. Branded & Navigational queries are at low risk. These are “Kate Spade Black Friday Sale.” Or “Coach Tabby in loved leather.” The AE will deliver the traffic to you, as that is the intent of the human. In future iterations, there might be insertion of things like “site links,” which might be a small risk. [Bigger lesson: Brand Marketing has never been more critical!] So, what’s the potential loss through the year 2026 of no AEO action by your company? Let us assume you currently get 5,000,000 visits from Organic Search, and the Revenue Per Visit (Total Organic Revenue/Total Visits) is $2.5. Based on my research, conversations with the top LLMs, competitive intelligence tool builders, and my judgment, here’s the section of the model that proposes the potential losses due to SEO (as Users shift from old-school searching to resolution queries in AE experiences): From an anticipated Revenue of $12.5m, a potential loss of $4m is coming your way. [Note: Annual Premium Subscribers received a full working Excel forecasting model, with losses, recovery, grow included. If you’ve misplace it, or are a new Subscriber, please email me.] Your to-do is to go to your Digital Analytics tool and take your current Organic Search traffic and compute the size of your Informational, Commercial, Non-Brand Transactional, and Branded & Navigational. Then, update column 2 (% of Current Visits). The rest of the cells will update and you’ll see your real losses. My assessment of Potential Loss in each row is conservative, and for “strong brand ecommerce” type business. If your business is different, please invest in research and update that column. With so much changing all at the same time, it is difficult to predict user behavior shifts with 100% accuracy. Consider the loss estimates as the best educated markers. They could happen much faster, could take a little bit of time, but if you stretch over the year 2026, you will broadly be in this range. Hence… Time. For. Action! 4. Factors driving losses in PPC Traffic. The threat to Paid Search is different, and just as scary. It is defined by two words: Transformation, and displacement. Remember, for now, none of the LLMs have advertising as a business model (though, it is too lucrative to resist ads for monetization). That’s displacement. Google, with the largest Search business to protect, will surely have ads in AI Mode, but for now they will look different and seem to be below the fold. Bing is trying new ad formats in its version of AI Mode. This is Transformation. Translation: Fewer options for you to pay to get clicks. Let’s use the same categorization as SEO to reflect on risks. Informational queries represent the same high risk of loss. Setting aside the no ads and below the fold ads issues, the entire purpose of Answer Engines is to answer. Hence, budget spent on informational questions will likely be completely wasted. The User is likely to ignore the ad, and certainly not scroll for ads below the fold. Commercial queries hold a giant point of friction. Our paid ads for, say, “best shoes for hiking,” will compete with the Answer Engine’s AI-analyzed answer for… best hiking shoes! Unless by the grace of God your brand was the AI’s assessment of the right answer, your text ad will lose the fight for attention. Non-Brand High-Intent Transactional queries are likely the bulk of your current ad spend. Ex: buy waterproof hiking shoes for a trip to Alaska. The risk here is not elimination, rather it is format shift. Ex: Text ad slots with breadcrumbs are being replaced with one (or two) AI-powered carousels. The four ad slots were clearly visible; in a carousel format that might not be the case. AEs are likely to have new approaches to Ad Quality Score (tied to now their superior understanding of the user’s intent), this might make it harder for your ad to show up. Other as yet unpredictable ad “innovations.” Branded & Navigational queries, as with SEO, are likely to have a lower risk of reduction. (But, as with your brand keyword ads today, when you measure them today on the basis of Incrementality, using CLS, you will find that they have very low incrementality. So… You should not be buying ads today. Definitely not in Answer Engines either – it is in their vested interest for them to send a user with your brand intent to you. [Note: There is another threat to Navigational and Branded ads. Buying seems to be moving directly into the Answer Engines. This might mean more wins for your competition, and certainly fewer cross and up-sell opportunities for you (lower AOV). Both, not fun.] So, what’s the potential PPC loss through the year 2026 of no AEO action by your company? Assuming $7m annual Visits, with Value Per Visit of $2.5… Here’s my model to help direct your strategic choices: From an anticipated Revenue of $17.5m, a potential loss of $4.6m coming your way over the course of CY 2026. As with SEO forecast, update your Traffic and Value Per Visit numbers from your Google Analytics data. Cluster the keywords you are buying into Informational, Commercial, Non-Brand Transactional, and Branded & Navigational. Update the column titled “% Current Visits.” The rest of the cells will fill in. Compute your potential losses. Take both of these tables to your next CxO strategic conversation. Have a good group cry. Then, start a little Marshall project to kick off urgent action. A Humbling Realization. Recognizing that every company is unique, even similar ones, and hence predicted outcomes will vary… My assessment here of the potential Loss for each query cluster is conservative. Additionally, I’ve assumed that you do everything I’ve urged you to do in TMAI #469: AEO Exp & PPC, TMAI #470: AEO Content FTW. If you have not, the non-positive impact will be significantly higher. So, pelase do not delay understanding and the urgent need to influence your company culture. The Modeling Journey Continues. Good news: You can recover some of your losses! Excellent news: You can take bold action right now, earlier than your competitors, to grow your traffic and revenue in an Answer Engine world!! The grow possibilities are substantial for some industries. TMAI Premium editions #483 and #484, outlined specific Recovery and Growth actions, and anticipated positive percentage impact of each action. They would specifically apply to ecommerce-type entities, B2B & B2C where the earning of revenue is a short-, medium-, and long-term objective. Using the format above, the model offers the same for Paid Ads. If you are a new Premium member, you can email me for the complete forecasting model. Bottom line. Every user behavior transition brings adjustments that businesses have to make. This is one such moment, happens to be the once-in-a-generation kind. Even when so much is unknown, you now have a clear and helpful model to start to quantify the size of the impact. That gives you power to take control of your destiny. Get your team ready to recover, and even grow. Carpe diem. PS: As you execute all of my recommeded actions, you’ll have an intelligent program of Answer Engine Analytics (AEA) to measure success, identify new opportunities. Here’s a helpful sketch, by our friend Gemini, of my Big 5 recommendations: The post Loss Recovery Growth Model: Answer Engine Optimization (AEO) appeared first on Occam's Razor by Avinash Kaushik.
SEO served us well; it remains a revenue driving powerhouse today, and will do so for the near future. As humans shift FROM “keywording” for 10-blue links to do all the work themselves TO typing resolution questions to have the LLMs do nearly all the work… Answer Engine Optimization (AEO) becomes an exciting next step to ensure continued revenue growth. Answer Engine use is accelerating. They are doing all the work of influencing the human, helping make end point decisions. Result: Conversion Rates from AE visitors are massively higher! Seer Interactive: ChatGPT traffic converts at 16% vs. Google organic’s 1.8%. Link. Ahrefs: 0.5% of the traffic is from AI Search, it is responsible for 12% of signups. Link. SEMrush: AI visitors are 4.4× more valuable on average than Google organic. Link. These numbers are early blush, they will settle downwards. But, I anticipate AE Conversion Rates will be significantly higher than the avg ecommerce CR of 2% – these humans will be arriving pre-influenced. To take advantage of this delicious upside, you need to urgently allocate your Digital team’s focus to AEO to ensure Answer Engines recommend your Brand. To do that well, you’ll need to embrace Answer Engine Analytics. (AEA) This blog post was originally published as edition #473 of my newsletter, TMAI Premium. Each week, the newsletter shares strategic frameworks and practical here’s how to stay at the very bleeding edge of CFO-proof Marketing and Analytics. Sign up for TMAI Premium to accelerate your career trajectory. Answer Engine Analytics: Big Picture. To do AEA intelligently, you’ll need a new tool to identify where to focus and accelerate what to do. To do that without wasting time/money, it is critical to understand: 1. key higher order bits re how Answer Engines work, 2. four methodology questions to ask an AEA tool, 3. the Big 3 Success KPIs and 4. three helpful Diagnostic Metrics you need to leverage for deep insights. [TMAI Premium Subscribers: Please reflect on the comprehensive AEO playbook across TMAIs #468 through #473. For today, it is critical to reviw TMAI #472: Answer Engine Analytics: Methodologies & KPIs. If you can’t find it, or you are a new Subscriber, please email me.] With that clarity settled on your brain, it is time for insight-filled analysis! I’ll teach analysis via two tools I use: Evertune (paid solution, with depth, breadth) and Gumshoe (one free report available, a fascinating approach using AI-built personas). [Disclosure: I made a tiny, tiny, tiny angel investment in Evertune in Oct 2024.] I use a six-step process to power my Answer Engine analysis, to glean actionable insights. Regardless of the tool you use, I recommend this approach. First, critically assess the methodology powering the tool (lots of “magic beans” around), and the definitions of the KPIs (it is not unusual for two tools to have a Visibility Score metric, but measure entirely different things). Step 1. Analyze the Word Associations. Our objective is to identify clusters that are small that we want to be big. 😊 As we discussed in depth in Premium # 470: Bye SEO, Hello AEO, a ton of your earned influence in LLMs will come via a custom 1P & 3P Content Portfolio Strategy. The Word Association report is a good place to start as it shows the most common words, and their sentiment, when AI models describe your brand. [Note: Aided Awareness.] Evertune asks each model (DeepSeek, above) to generate reviews – repeatedly to capture a wide range of responses, realizing these models are probabilistic and not deterministic (see TMAI #472). The frequency with which a word appears is its Association Score (0 to 100 scale), how positively and negatively the word is used is the Sentiment Score (-100 to +100). Each Answer Engine understands you differently. Compare above report for DeepSeek with below for Gemini. If the large green words are the ones you consider most important for your Brand, celebrate. If they are not, you have a perception problem to fix. I would rather the large green words in Gemini were the ones in DeepSeek… And that right there gives me my to-do list re AEO. If you are self-critical like me, you will only see the red words. 😊 As Longchamp, I’m getting hosed on Gemini. As Google has shoved Gemini into most of its products, a negative sentiment across them is a big brand problem. Another actionable add to my to-do list. Step 2: Understand Consumer Preferences. Word Associations are a good start, next question: In what context were these words used? Hence, it is important to understand the consumer journey view as the researching humans see it (and NOT as me the company prefers they see it!). Consumer Preferences are specific attributes humans ask about when researching a category. And, how likely is my brand to appear unaided (the ultimate test). Here’s my awesome Evertune custom report, with Gucci as my competitor and ChatGPT as my model… Coach is crushing it on Price, Functionality, and Durability. Yes! It is important to appreciate that all of the above performance vectors are identified by the AI (and not the human or Evertune). This is super helpful as it shows me what the Answer Engine/LLM thinks is most significant about my category (handbags). These are topics AI will proactively talk about when helping the user decide on trade-offs. This is freaking gold, because I can now specifically identify where to focus my AEO efforts. If Quality or Style is my actual big deal, the data shows they should be high priority focus areas. With any tool, spend time internalizing where the data comes from. In case of Evertune, it will: A. Ask (remember unaided) a number of unique prompt variations. One variation of many, many: Which handbags are known for outstanding durability? Can you list handbag brands that offer excellent style? B.Sample a massive number of times to weed out noise and identify statistically significant patterns – a key competitive strength for ET. As you take action, you can track your performance across Answer Engines and over time using the metric AI Brand Score: Focus is key. I recommend the highest priority be placed on ChatGPT (approx. 650m MAUs), then Gemini (approx. 350m MAUs), and then DeepSeek (approx. 97m MAUs). We’d established that the opportunity for Coach was not Visibility Score, rather it was Average Position. (See TMAI #472 for metric definitions and reports.) As you improve your content creation AND distribution strategy in focused performance vectors, you can review the improvements in the focus KPI of Avg. Position. Look at Kate Spade! Maybe grab the new Duo – it has been deemed cool by GenZ. 😊 Step 3: Identify Content Creation Focus. With our focus words identified, further refined by the performance vectors we want to focus on… It is time to write content to build on your strengths and combat the brand’s weaknesses. In Evertune, in the AI Education Brief section, I can create a new brief by choosing the Product Category (handbags for me) and my focus performance vector (style). It goes off to the races and in a min, spits out the top three content creation recommendations that most resonate for Coach with Answer Engines. The messages that will improve my Visibility Score and Average Position, the stories that I need to tell (inspired by the keywords shared above). Very SEO, no? Different tools use different approaches. As an example, Gumshoe has anchored its approach on AI-built Personas. As someone who has advocated for intent-centric marketing, See-Think-Do-Care, I am unaligned with a Persona-driven approach – it ends up making our customers into unhelpful caricatures. Noting that worry, I appreciate what Todd is trying to do. Gumshoe identifies content creation focus areas, in columns, by your potential personas, in rows. In cells is your brand’s current visibility. For the performance vectors you care about, from Evertune, you can also prioritize content creation using the columns above. As with Evertune, blue image above, Gumshoe helps you get started. I love how easy it is. Click on one of the boxes, and it’ll help you create a first draft of FAQs you should post on your site. For Coach, I selected the persona Social Media Trendsetter and improving visibility for the topic Fashionable Statement Purses for GenZ. Gumshoe helpfully provides a bunch of FAQ questions, with AI written answers as starting points to influences LLMs. Two notes of caution. Caution 1: Remembering the lesson in TMAI #470, I recommend human writing the answer so that they are “AI Resistant” (definition: Of genuine novelty and depth) – because anyone can have AI write content, but there’s only one of you. Caution 2: It was never easy to fool Google, but it is really not easy to fool Answer Engines. For a simple reason: LLMs have way, way, way, way, more sources, across text, audio, video, that influence their “belief system.” Hence, if you have a weakness that is legitimate, it will be extremely difficult to trick an LLM into “overcoming” that weakness. It will know you are lying. Because tens of thousands of other sources confirm your lie. My advice: Spend your energy fixing the source of weakness across your products & business practice. Step 4: Create a Content Distribution Strategy. In TMAI #470 (More content, more places, more often], I’d shared a custom content distribution plan for Coach and a company that owns Auto Dealerships. 3P Content, thus far, seems to have significantly higher influence on AEs. To create your own, in Evertune identify the Domains that are important for your Brand… Brand Share of Voice (bSOV) is calculated by taking the top 50 domains, estimate how many pages are relevant to the product category (handbags, for me), and then what % of those pages include the brand (Coach, for me). Ex: Bag Vanity has an AI Education Score of 10.0 in our category. Coach’s bSOV on it is 6.7%, LV is 10.2% and Prada is 7.5%. On Marie Claire, Coach is 1.5%, Prada is 12.1%. A simple way to identify the domains you should prioritize. A nuanced lesson, stay with me: Domains can influence an Answer Engine, without being cited as a source in the answers presented to the human. Ex: This blog, Occam’s Razor, might have taught Answer Engines a lot about Digital Analytics because it has 0.8 million words written by me, and 1.7 million words in comments written by readers. BUT. When you use ChatGPT, it might cite others (ex: more recent sites). Hence, the important role of Sources Analysis, it shows the citations, references, other links actually shown to the human user of an AE. As a business, it is fine if you are not the domain the AE is learning from. It is Not Fine to not be part of Sources. Humans click on Sources in AE replies, that is how they find you. I would prioritize a focus on Citations and References. You also see above my prioritization of ChatGPT based on data. Your Earned Media team (PR, Affiliate, SEO, etc) now has a to-do list. Gumshoe, takes a different approach to helping you build a custom 3P content distribution strategy. You can view the companies AI pulls from when mentioning your brand (Top Sources), then you can break down visibility by type of website driving awareness where you could be underrepresented (Source Type). I click on a Source Type and choose Blogs/Content sites, and for Coach I get the actual sources cited by the models when answering questions. I click on Marie Claire, and I get specific links to Marie Claire, as well as my competitors being mentioned. [Nuance: The mention is referring to the brands mentioned in the prompt or answer, not necessarily the Source. Still very helpful, but worth being aware.] This is another way to approach the to-do list for your Earned Media team. Important Reminder: In TMAI #470, my Action #10 was a recommendation for you to merge your PR, Affiliate, SEO and Content teams into a single entity called “Answers Quality Team.” If you don’t break these silos, chances of sucking are higher. Step 5: Monitor Impact, with Big 3 Success KPIs. For AEA, at the moment, AI Brand Score, Visibility Score, and Average Position are the Big3 KPIs. Across tools, they can be measured differently. Please check the root definitions before you use any tool, or, god forbid, multiple tools. Given our prioritization of Average Position as the More Important Opportunity, track improvements. Like so in Evertune… The second priority will be to track changes in the AI Brand Score across priority AEs (ChatGPT, Gemini, Deepseek in our case)… Really superb performance by Coach! Finally… Google used to change its core algorithm occasionally – with huge consequences for all of us. LLMs seem to launch a new version like every other week! Hence, as we reflected on how AEs work in TMAI #469, #471, it is important to keep track of our Big 3 Success KPIs as models change. Here’s what that looks like in Evertune… What’s difficult to isolate at the moment is why? Ex: Coach went down by 3, probably not significant. Kate Spade went up by 11, that is massive. Why? No idea. We have such little visibility into LLM black boxes, we can only pray to Krishna and Jesus that the next set of weights being used favor our brands. The like to like comparison in the colorful bar chart above will help us identify with some measure of causality of our Content Creation and 1P + 3P Content Distribution strategies. Step 6: Get Your House in Order! Welcome LLM Bots. In TMAI #469, I’d underlined the importance of your site & mobile app experience, your internal site search to meet evolving customer preferences AND for Agentic AI. As you do steps 1 thru 5 above, don’t forget that you could have barriers on your site. Two reports you should shower your Corporate IT team are: A. Page AE Insights: How does an Answer Engine understand an important page? The sweet Content Retrievability Analysis report from Gumshoe analyzes a specific page through the eyes of an Answer Engine. It automatically generates questions related to the page, reports Citations Found and Citation Rate. The above report is for Kate Spade’s Duo webpage. It has a decent Citation Rate. But, the key is in digging into each question and seeing the Answer Engine’s understanding of that page. If you open the above image in a new tab, you’ll notice that the AI Response, top right of image, is wrong, wrong, really wrong. Like terrible. The LLM does not understand us! And… That is our fault as a brand. Why? B. Page Quality Analysis: Is our page understandable? To answer why, you would look at the second report… These results are so, so, so bad, that through my tears I convinced myself that Gumshoe is a garbage tool and not functioning right. I decided to double-check. I ran the same report for the webpage of my favorite jacket in the world: Patagonia’s Nono Puff. Damn it!! 😢 I guess it is not the tool. Ok. Deep breath. The Page Quality Analysis report helps explain why the Page AE Insights report showed a poor understanding of our page and product. An AI Optimization Score of 5.8% perhaps does not deserve to be understood. My feelings are hurt, but I get a clump of helpful metrics. I can dig deeper into understanding why each score. Ex: The Content Balance is low because we need to “add comprehensive product description and details, include relevant product specifications and features, provide customer review content.” Etc. Action time for our IT team. Six simple steps, in order, that will unlock specific actions you can take, starting now, to attract pre-influenced by Answer Engine humans. They might be small in numbers, but they convert into customers at a rate multiple times higher than your site average. Bottom line. A change of this magnitude comes once in a generation. It also comes with the innovator’s dilemma. The change in consumer behavior is small numbers for now. It is comforting to sit in your old SEO cocoon, with its still big numbers. The danger is that by the time you realize you should start changing… You are in deep, deep, trouble. Remember, a whole bunch of non-brand traffic you are currently losing every day will never come back. Across the six editions of TMAI, I’ve shared 70-pages of comprehensive analysis of the problem, the four clusters of opportunities, and over 50 specific actions covering Marketing, Content, Analytics. The time to start is now. Carpe diem. The post AEO: Answer Engine Analytics | Best Reports, KPIs, Metrics. appeared first on Occam's Razor by Avinash Kaushik.
My YOY computations indicate, as you head into 2026, you are going to lose 30% of your Organic Traffic from reduced opportunity, and 15% of Paid Traffic from reduced inventory. I’ll share tactics that’ll help you recover about half of your lost traffic. As of Aug 2025, my assessment is the other 50% will be gone – permanently. Most companies are unaware, hence doing nothing.😢 The challenge: Nothing seems to change for a while, then as if overnight everything changes. We are living through one such moment. Here’s data related to nothing seems to be changing: As of July 2025, ChatGPT received 2.5 billion prompts from global users. That’s smaller than Google’s 14 billion daily searches, but growing. (Note: Prompts and Searches are an imperfect comparison, but an indication of relative growth/size.) Gartner: Traditional Search volume will decline by 25% by 2026. (In 5 months!) SparkToro benchmarked that 58% of Google searches were already zero clicks (IE no click after search results are presented), a number that is 70% now. Ahrefs identified that the presence of AI Overviews (that little paragraph on top G SERPs), reduced clicks by 35%. Sites providing informational content (“what is,” “how to”) are experiencing Organic traffic drops ranging 18% to 64%. Ex: Biz Insider -55% (04/22 to 04/25). Chegg: -49%. Decrease in CTR of 15% to 20% from PPC since AI Overviews launched (largely impacting “non-brand” keywords). The nothing seems to change phase can last a while, lulling you to complacency even more. Ex: Reflect on how little you’ve done to deal with the above. Today, my sense is we are nearing the point of overnight everything changes. To ensure you are ready, I’ll illuminate the impact of all the underneath changes that have accumulated and outline immediate Answer Engine Optimization (AEO) actions you need to take to be ready for the overnight everything changes. Your SEO skills remain important as you embrace the new skills required for effective AEO. Please join me in being scared. Please join me in overcoming inertia, lethargic Senior Leaders, to increase agility and the pace of change. Please join me in AEO! [Branding: I did not want the new name to be based on the tech (“generative”). Tech changes. Hence, my name honors change in the consumer experience. No, GEO. Yes, AEO.] This blog post was originally published as edition #468 of my newsletter, TMAI Premium. Each week, the newsletter shares strategic frameworks and practical here’s how to stay at the very bleeding edge of CFO-proof Marketing and Analytics. Sign up for TMAI Premium to accelerate your career trajectory. What the heck’s going on? This: Search is changing to Answers. The foundational interaction model has changed: Past: I am so clever, just type a key word or two and I CAN GUESS WHAT YOU WANT. Present: Talk to me like a human, don’t be shy, type/speak as much as you want, and tell me all the nuances. I’m insanely delighted about this… The UX has changed: Past: Here you go, 4 Paid and 10 Organic links to help you do all your homework. Present: I’ve done all the homework; here’s the answer. New normal: Past: Search Engine. Present: Answer Engine. It is the most meaningful customer-centric improvement in Internet’s history. It has 100x sped up me getting to an answer. It is a much better answer. In a drastically better user experience. [It reminds me of the Blackberry to iPhone user experience shift. Changed everything.] Let me make this real. A simple but layered task: My parents are visiting. I’m taking them to Eataly as I love it. At their age, without tiring them it would be great to show them nearby New York bits they might enjoy. I know which Eataly I want to go to, but I don’t remember the address (I belong to navigate by landmarks tribe!). Because of how Google has trained me for 15 years, I would not think of using it. What would the keywords be? I go to my favorite Answer Engine, ChatGPT, and type a short but layered question: Could you please recommend tourist places to see within a couple of miles of etaly which is near flatiron building. Answer Engines are so new that the experience still blows my mind… First, notice it answered my simple layered, perhaps complex, question precisely. I do not need to go to 10 links to figure it out myself. Next, notice how excited and encouraging ChatGPT is in the first paragraph. With Google, I’ve always felt I was talking to a machine (and that was totally fine). With ChatGPT, I forget I’m talking to a machine – which is why I instinctively say please, thank you. Then, notice the smart elevation of the information’s usefulness. I did not ask for distances or context, but it anticipates: 10 mins to Empire State, and directly across for the park. Finally, notice it going well beyond the call of duty. It gives me Museums and Culture! (Though, I wonder if I’d said I’m visiting with my parents if it would have listed the Museum of Sex first.) I was delighted it gave me helpful snippets: Focuses on Himalayan & Buddhist art. I can choose faster. Oh, oh, oh… It did even more below the fold… Foodie Finds (the “besides Eataly” is such a clever touch)… A freaking custom mini walking tour just for me! With super helpful tips (“enter at 23rd st”). Not one from an expert or influencer which might be a good start but will need tweaking by me. If you switched to Answer Engines already, you are a little used to this radically better user experience. Can I tell you… Even as I’m typing this, seeing this image for the 10th time, it still brings me joy to reflect on just how exceptional the answer and the user experience are. The cherry on the cake, the last line. My next query: Type in my age and my parents ages, and it gave me an even more customized mini walking tour – which we could finish in 45 mins. This is the new normal. [Note: On this day, I started to pay for ChatGPT Plus – though the free version sufficed for me.] Much has been made about AIfication of Google. What if I typed the same question into Google? The Very First Thing Google does is make me feel bad about myself. It tells me I misspelled Eataly. ChatGPT did not think it was important to tell me I misspelled Eataly. It understood the Flatiron building location context and automatically made Eatly into Eataly. Google read Eatly as Italy. Google’s experience above is heartbreaking. Other than go figure it all out yourself on Tripadvisor, it is a tsunami of irrelevance: Listing my misspelling on the top (useless), Overview of NYC on the right (useless to the max), Facebook and Quora links (irritatingly useless), the People also ask (completely useless). Give me a moment to get a napkin to wipe my tears. I spent nearly 16 years at Google, this hurts my feelings. sniff. sniff. sniff. Ok. Ok. I’m back. See what I mean by the difference between Search Engine & Answer Engine? We are not in Kansas anymore. Don’t trust me. Go to an Answer Engine (ChatGPT, Perplexity, Claude, Mistral, others). Type/speak your questions, in their full multi-layered, complex, nuanced glory. Speak like you would to a human. Try this common commercially intent use case… I’m a cyclist. Like me, being patterned to think keywords by Google, you type: “best wireless headphones.” Please try it in your browser, so Google uses all your personal history it has learned. What does it show? Now, go to ChatGPT and act like a human by typing in the question you really have: “As an expert in consumer electronics, can you recommend affordable headphones for outdoor cycling, with great sound and fast charging.” What does an Answer engine show? For me, here are the results: Google: 1. Normal search, keywords. 2. Normal search, complex question. 3. AI Mode, complex question. (I’ve used Google’s default search experience, as it is what everyone uses. But, please switch to Google’s AI Mode for a direct comparison. You’ll discover it is anodyne, less anticipatory, and has a worse user experience than Answer Engines. Click link above.) ChatGPT: 1. Complex question. 2. Follow up question. (It is delightful that ChatGPT always suggests a polite, can I do more.) Claude AI: 1. Complex question. We are going to discuss Agentic Search in the next newsletter. To experience how Agents working for us might think, feel, and behave, check out Mistral’s “Deep Research” mode results for my complex question. Fly in the Ointment. If all this is so great, what’s the problem? This: Customers win. Brands lose. We were so used to getting a ton of traffic from Google. We will get less. How much less will vary by industry (and how savvy you are at AEO). The losses stretch beyond traffic. Here are three I anticipate hurting: A. As a customer I would have visited 15 sites to figure out the answer if I used a Search Engine. Now, I visit zero. Traffic reduction problem. B. During those visits, I might have noticed the site’s name, url, colors, something, remembered it for a future visit or recommend it to friends. Now, I don’t know where the answer came from. Brand growth problem. C. If I’d used Google, because all it educated me was to go to Tripadvisor, I would have done that and might have booked a mini-walking tour there. Now, I don’t need to visit or buy. In cases with commercial intent, headphones, I’ll buy the first one and never consider you. Revenue problem. You get why the numbers on top of this newsletter scared me? If you are not freaked out, if you still have an old school SEO team/agency vs. AEO… I fear you are in for a worrying amount of financial pain. If you are freaked out, like me… Good news: I’m going to share tactics that I believe will help you do AEO, and recover atleast half of the traffic you are going to lose – which should help resolve the revenue problem as well. If you are a Premium subscriber, you have read 30 newsletters focusing on every dimension of sophisticated Brand Marketing. In the age of LLMs, effective Brand Marketing is 10x more important. If the age of AI Agents arrives quickly, then 15x more important. Before I share the areas of focus for recovery, a strategic recommendation… Protect Your Google Existence. Also, Ignore Google. Anyone who tells you Google is toast, or not important, is unintelligent. For the near future no one is going to send you more traffic than Google (even with zero-clicks exploding). Most humans use the default Search experience, they type keywords. No one is going to help you make more revenue than Google. Ensure your employees are doing what has worked on Google in the past AND quickly work on any changes Google releases. Also… Actively ignore Google as you imagine the future, or your future will be worse. Google has a gigantic present to protect. Google has been and will continue to be slower to change. Google will take fewer risks. Google will imagine every big new possibility through the lens of adding it to today’s products and features – the innovator’s dilemma vortex has outsized gravitational pull. Google’s workforce of approx. 300,000 FTEs & TVCs has intense cultural and financial incentives to be wired for the present. That’s not unique to Google—it’s what happens to every company at this scale. Lean instead on Claude, Perplexity, OpenAI, Mistral’s vision of the “future of Search.” Not because one of them will be the next “search” monopoly. More because those companies have no present to protect, less to be harmed by making bold, true customer-centric bets, and they are 50x more likely to imagine entirely new possibilities re products. They will deliver the “future of search” faster. Learning from their moves will ensure your strategic imagination is upgraded faster, and is bigger, broader, and awesomer. If Google retains its Search dominance, you’ll be ready ahead of the competition and win bigger. If someone else becomes the new Google, you’ll be ready ahead of the competition and win bigger. Protect your current Google existence. Ignore Google. Let’s win the “future of Search”, and get our traffic back! For my AEO work, I’ve taken the three problems above (A: Traffic reduction. B: Brand growth reduction. C: Revenue reduction), and converted them into four clear areas of action for my companies: 1. Pre-Search clusters the actions we need to take to understand a foundational shift in user behavior to expressing complex destination questions. In our behavior analysis and on our owned digital existence. 2. Search Experience clusters the actions we need to take to adapt our Paid Ads and Organic “Relevance” strategies and tactics. 3. Pan-Search clusters the actions we need to take to get ready for a world where humans use AI Agents to outsource what we call “searching” and “shopping” today. Early robots to replace humans are already here. 4. Measure Different clusters actions to incorporate above shifts into what (KPIs) and how (Methodologies) we measure. Over the next two Premium editions, I’ll outline thirty specific actions spread across the above four areas. Subscribers can expect a career boost. So, if you are not, become one! (See the money-back guarantee on the Annual plan.) Bottom line. I am genuinely freaked out about the evolution from Search engine to Answer engine. If my company suffers, there is a cascading impact on my co-workers, on me. And, remember, for many, at least half of these losses are not coming back. If I step outside of that self-view, I am genuinely delighted for us humans. This is an instance of AI truly in service of us, saving humanity billions of hours collectively. Once it becomes Agentic… OMG… What am I going to do with all my free time!!😂 Carpe diem. The post AI Age Marketing: Bye SEO, Hello AEO! appeared first on Occam's Razor by Avinash Kaushik.
Across every layer of the company, business people get too much data. Hunting expeditions are launched to locate what’s relevant and useful. CMO scorecards have impressions! Agencies are using CPMs, or worse “Traffic” as primary KPI. A Bank’s CMO has NPS on their dashboard – NPS is sourced from everything a company does AFTER Marketing’s done! I now spend most of my time practicing the art of strategy — how to have an outsized impact across the entire business (with an eye to moving Profits). My approach to rolling back the complexity in data pukes, sorry, dashboards, is simple: Separate out the Critically Crucial from Diagnostically Helpful from Minor Bits. AKA Separate the KPIs from Metrics, and both of those from Influencing Variables. That separation dramatically reduces confusion. It sharpens the focus of the Extremely Senior Leaders (ESLs) on what actually matters. It serves notice to the Agencies and Platforms that in-flight optimization is of vital tactical importance, and it is one thing 100% in their control. Win. Win. Win. This allows you to win before you spend, win while you spend, and win the future! As simple as this sounds, so many teams and Agencies find this challenging. To help my clients, I’ve gone and identified what differentiates KPIs, Metrics, IVs across 11 variables. Let me share that with you today. This blog post was originally published as edition #448 of my newsletter TMAI Premium. Each week, the newsletter shares strategic frameworks and practical here’s how to stay at the very bleeding edge of CFO-proof Marketing and Analytics. Sign up for TMAI Premium, and accelerate your career trajectory. Big 3 Definitions. A Key Performance Indicator (KPI), is a metric whose movement directly impacts the company’s bottom line. Not through two or seven connecting steps, directly. Hence, they are typically used to measure a company’s topline objectives. Incremental Revenue, Unaided Brand Awareness are examples of KPIs. A Metric is a number that is used to track performance. Some metrics are directly connected to the company’s bottom line, they are called, KPIs. 😊 More commonly, they are used to diagnose the why when KPIs go up and down. Hence, I use the terms KPIs and Diagnostic Metrics. Cart Abandonment Rate, Audio Video On Complete (AVOC) are examples of Metrics. An Influencing Variable (IV) is a number that most often explains the performance of a Metric. More specifically, an IV explains a part of what’s going on with a Metric (up/down/around). Bids, On-Target % are examples of Influencing Variables. Important: Performance of one KPI will be explained by multiple Metrics. The performance of one Metric will be explained by multiple Influencing Variables. In this example, 1 KPI is explained by four Diagnostic Metrics, and the first Diagnostic Metric is explained by six Influencing Variables! This is not unusual. For any KPI that is directly connected to the company’s bottom line, you’ll have four to six Diagnostic Metrics, and a total of 25 to 35 Influencing Variables. #OMG That should explain why our Reports and Dashboards are such massive data pukes. It also explains why it is essential to identify these three clearly so you can simplify complexity. Finally, now you know why I insist in my Strategic Consulting practice: Please, please, no more than four KPIs for the entire business! [Note: TMAI Premium Members: Please review the detailed, with examples, three-part series: TMAI #337, 338, 339: World’s Greatest CMO Dashboard. If you can’t find it, just email me.] KPIs, Diagnostic Metrics, Influencing Variables: Key Dimensions. I highly recommend you grab your CxO dashboards, gather your team, and go through an exercise to separate KPIs from Metrics from IVs. I’ll give you 1,000 bonus points if for each KPI, you identify the Diagnostic Metrics, and for them, the cluster of Influencing Variables. To help you with this exercise, I want to share 11 dimensions that sharply explain the differences. By the end, even if you would rather not be, you’ll be an Analysis Ninja! 1. Who Sets Them? Your CMO (/CxO) will personally identify the KPIs. She/He will directly source from their strategy, and what the Company expects them to deliver as the incremental impact on the bottom line. Metrics are typically identified by the Director layer in the company. There will be many Directors, each ideally solving for a crystal clear KPI (for the CMO!). Hence, the Director’s success will be ensuring each Metric delivers optimal performance. An Agency will typically identify the Influencing Variables for each Metric they are going to help be successful. If you don’t have an Agency, it will be your internal Agencyish team. [Note: TMAI Premium Members: I cannot stress the importance of understanding this when selecting KPIs: TMAI #400: The 4Ps of Marketing are Dead! Else, you’ll pick KPIs that will lead you to career limiting moves. Email me if you can’t find #400.] 2. Purpose. KPIs, DMs, IVs, each power different run, fix, stop decisions. Should we keep doing what we are doing (run), are there some anomalies that need addressing (fix), is the performance such we need to stop spending money (stop). KPIs run, fix, stop high altitude items: Budgets, entire initiatives, individuals or teams. Metrics run, fix, stop the Marketing tactics underway. Influencing Variables run, fix, stop channel, or tactical, level execution underway for owned, earned, paid activity underway. 3. Time Orientation. This will be super helpful in ensuring your selection is smart. KPIs look at patterns, and influence decisions, over months, quarters, and years. Metrics are simply not that important. They look at patterns and influence decisions weekly, and monthly. Influencing Variables are simply not that important. They look at patterns and influence decisions daily, and weekly. 4. Measurement Focus. Now things get really, really, interesting. For winners who repeatedly win, KPIs use Incrementality as their core methodology. Kissable and huggable Metrics are ones that help focus on outsmarting competition. Yummy Influencing Variables, in 2025, are the ones that press AI execution buttons to let advanced algorithms and intelligence optimally deliver in-flight optimization. (Humans are kind of not good at this much scale.) 5. What’s Measured? I really like this one. KPIs: Outcomes. Metrics: Activity. Influencing Variables: Micro-Actions. Simple and sexy, no? 6. Flexibility. We underestimate this dimension. Sometimes we hold on to things well past their expiration date. Sometimes we judge too fast, and don’t go on a second date. If your KPIs are changing all the time, something BIG is wrong. You have the wrong leader. You have no strategy. Your business is getting massively disrupted. That will be the scale of wrong. KPIs should be questioned on an annual basis, but, if you’ve chosen them wisely, they won’t change for years. Torture your Metrics approximately every six months. Ask this simple question: Have the actions taken based on IAbI from this Metric had a direct impact on our KPI? [Note: Premium Members please review: TMAI #254: Rules for Revolutionaries | IABI] At a tactical level, Marketing and Platforms/Channels have changed at a rapid pace over the last five years, and I anticipate more of the same. Hence, your Influencing Variables might become useless from one quarter to the next. Ask the same question as Metrics, and discard frequently if the answer is no. [Bonus read: Kill Useless Web Metrics: Apply The “Three Layers Of So What” Test.] 7. Life Duration. You can see how this flows from the above. KPIs: Multi-year. Metrics: Multi-quarter. Influencing Variables: Multi-month. A straight-forward assessment. 8. Future Visibility. I wanted to include this, to underline that you really need to sweat the choice of your KPIs. Only the movement in KPIs can help predict that your long-term future will be brighter or duller. Metrics and KPIs simply don’t have predictive power. 9. Need Targets. Absolutely mandatory for KPIs! It is not possible to have focus, discipline, good behavior across the entire organization, without specific, measurable with high-quality methodology, Targets for your KPIs. [More: TMAI Premium Subscribers refer to: TMAI #435: Methodologies Trump Metrics!] If decent quality Analytics is being practiced in your company for two to three years, your Diagnostic Metrics will also have Targets. If you have a super smart Agency, one clear sign of that is that they would have identified specific Influencing Variables for your Metrics, and have run/fix/stop ranges for each Influencing Variable. Those run/fix/stop levels are the Targets. 10. Explains. KPIs explain the impact of your strategic activity on your company’s Profits. Metrics help explain why you missed your quarterly targets. Influencing Variables explain the success or failure of your campaign’s performance. Easy-peasy. :) 11. Where you’ll find them most frequently? This is the issue that started this saga for me. Dashboards filled with Influencing Variables! Your CxO Dashboards will only contain KPIs, and for each KPI they will have IAbI. [See: The “Action Dashboard”] Your Director, and around Director, reports will show the KPI and explain their performance by focusing on the Diagnostic Metrics. The first picture in this newsletter illustrates just how many Influencing Variables you’ll be juggling (actually, your expensive Agency), and hence it is not surprising that you’ll find them in small font data pukes. TMAI Premium Subscribers: If you would like a copy of the Microsoft Excel file with the consolidated view of the 11 dimensions, and one bonus counter-intuitive life lesson, please email me and I’ll be happy to share. Bottom line. Building a data-influenced org is complex, and difficult. It is as much psychology, as it is analytics. It is dang near impossible, if you don’t get the basics right. Now go and gather your dashboards, pull your team together, and to through the exercise I’ve recommended above. Rarely will getting the basics right be this life-altering. Carpe diem. The post Kill Data Pukes: Split KPIs, Diagnostic Metrics & Influencing Variables. appeared first on Occam's Razor by Avinash Kaushik.
As the web continues to be the medium for all users, standards bodies need to continue to provide new APIs to enrich user experience and accessibility. One underused API for unsighted users is speechSynthesis, an API to programmatically direct the browser to audibly speak any arbitrary string. The Code You can direct the browser to […] The post JavaScript SpeechSynthesis API appeared first on David Walsh Blog.
Setting up a new computer is bliss — no old, unused apps and the machine performs much better than the previous. Unfortunately, you may encounter new problems based on the new hardware. One such issue I encountered with my new MacBook was a “This video format is not supported” message when I went to YouTube […] The post Fix “This video format is not supported” on YouTube TV appeared first on David Walsh Blog.
Managing media is a really difficult task if you try to do all of it yourself, especially if the media comes from other sources. The file can be submitted in any state and size, but what if you need something really specific? You can code it all yourself or you can use an awesome service […] The post Easy way to upload, transform and deliver files and images (Sponsored) appeared first on David Walsh Blog.
The ability to download media on the internet almost feels like a lost art. When I was in my teens, piracy of mp3s, movies, and just about everything else via torrents and apps like Kazaa, LimeWire, Napster, etc. was in full swing. These days sites use blob URLs and other means to prevent downloads. Luckily […] The post How to Download a YouTube Video or Channel appeared first on David Walsh Blog.
curl is one of those great utilities that’s been around seemingly forever and has endless use cases. These days I find myself using curl to batch download files and test APIs. Sometimes my testing leads me to using different HTTP headers in my requests. To add a header to a curl request, use the -H […] The post How to Add a Header to a curl Request appeared first on David Walsh Blog.
Learn how to create smooth, opposing wave text animations across dual columns with scroll-driven sine wave mathematics and synchronized image updates.
A deep dive into how Flim was built, breaking down the animations, interactions, and technical decisions behind a GSAP-powered Webflow experience.
Compare the 8 best WordPress themes for designers in 2026—fast builds, clean UI, dependable updates, and WooCommerce depth for reliable, high-performance sites.
A case study on how Obys turned book recommendations into a tactile, animated web library.
An in-depth look at how The Spark was imagined, designed, and engineered as a cinematic, scroll-driven web experience that brings story, motion, sound, and performance together in the browser.