Blog - Web

Swimburger
Hacker in front of a computer running applications in multiple terminals

Don't let your users get pwned via email HTML injection

- Web
Learn how to prevent HTML injection into your emails and protect your users from bad actors!
Microsoft Bing and Yandex logo

An introduction to IndexNow and why you should care

- Web
IndexNow is still relatively new but is getting a lot of interest in the search engine community. Hopefully, you can soon submit your content once to IndexNow, and stop manually submitting those URLs to every search engine console manually. And instead of search engines having to crawl the web over and over to look for new content, the content can be delivered directly from the source, reducing the environmental impact of crawlers.
Cloudflare logo

Develop webhooks locally using Cloudflared Tunnel

- Web
Webhooks are a common way to integrate with external service, including Twilio! Learn how to develop webhooks locally using Cloudflare Tunnels!
Japanese Ramen Soup

Introducing online base64 image encoder

- Web
This little tool generates the base64 data URL for the file you select without uploading it to a server. The base64 encoding happens inside your browser.
Screenshot of HTTP Request in PowerShell

Video: Copy HTTP Requests from Chrome/Edge DevTools to PowerShell/cURL/Fetch

- Web
You can copy the recorded HTTP requests the from Chrome and Edge DevTools to PowerShell/cURL/Fetch. This allows you to quickly replay HTTP requests from the console/command line saving saving you time!
Microsoft Edge and Google Chrome logo

Video: Take screenshots using built-in commands in Chrome/Edge

- Web
Chromium browsers such as Chrome and Edge have many lesser known features. One of those features is the ability to take screenshots of your current tab content.
Social Media Logo's in front of arrows

Don't forget to provide image alt meta data for open graph and twitter cards social sharing

- Web
Due to the lack of support historically and it not being prominent in many samples, the important alternative text meta tag is often forgotten. To add support for the alt-meta tag use og:image:alt and twitter:image:alt.
Screenshot of metatags.io preview

Verify what your webpage looks like in Google, Facebook, Twitter, LinkedIn, and more

- Web
Social media platforms each generate link previews/cards differently. You can use the official debuggers/inspectors provided by Facebook, Twitter, LinkedIn to debug the previews. To quickly preview multiple social networks + Google + Slack, you can use metatags.io.
Microsoft Edge and Google Chrome logo

Hidden Gem: Take screenshots using built-in commands in Chrome/Edge

- Web
Chromium browsers such as Chrome and Edge have many lesser known features. One of those features is the ability to take screenshots of your current tab content. These commands are even more powerful when you emulate different devices and resolutions.
Screenshot of HTTP Request in PowerShell

Copy HTTP Requests from Chrome/Edge DevTools to PowerShell/cURL/Fetch

- Web
You can copy the recorded HTTP requests the from Chrome and Edge DevTools to PowerShell/cURL/Fetch. This allows you to quickly replay HTTP requests from the console/command line saving saving you time!
Phone/Tablet/Laptop displaying Umbraco logo

Implementing Responsive Images in Umbraco

- Umbraco
The web platform has responsive image capabilities such as the srcset-attribute, sizes-attribute, and the picture-element. These capabilities may seem daunting sometimes. We'll learn how to make them available and maintainable to Umbraco content editors.
Screenshot of the HTML Agility Pack homepage

Auto generate Heading Anchors using HTML AgilityPack DOM Manipulation

- .NET
Manually adding an anchor to every heading would be a painful solution. So let's learn how we can achieve this by generating the Heading Anchors using the HTML AgilityPack .NET library.
.NET and Selenium logo connected to Azure DevOps Pipelines logo driving browser

How to run .NET Core Selenium UI tests on Azure DevOps Pipelines Windows/Ubuntu agents? 🚀

- .NET
his post discusses how to take those UI tests and run them in Azure DevOps Pipelines on both Windows & Ubuntu agents. Use this GitHub repository which contains the UI test project necessary to follow along in this post.
.NET Core + Selenium logo steering a web browser window

How to UI test using Selenium and .NET Core on Windows, Ubuntu, and MacOS

- .NET
Selenium is a browser 🌐 automation tool mainly used for UI testing and automating tasks. Selenium is agnostic of operating system, programming language, and browser. You can automate Chrome on MacOS using C#, FireFox using Python on Windows, or Opera using NodeJS on Linux to give you a few examples.
PowerShell and Azure WebJobs Logo running a shredder, shredding logs

Deleting old web app logs using Azure Web Jobs and PowerShell

- Azure
When you're Azure App Service writes a lot of logs, these logs can quickly pile up and even hit your "File system storage" quota limits. This was something I personally didn't pay attention to for quite some time and was surprised to find multiple gigabytes of logs sitting in my app service. To solve this issue, you can use a PowerShell script and a time triggered Azure Web Job.
Azure Logo holding a stop sign and PowerShell logo

Bulk add IP Access Restrictions to Azure App Service using Az PowerShell

- Azure
Azure App Services are publicly accessible via Azure's public DNS in the format of "[NAME].azurewebsites.net", but there are many reasons for not wanting it to be accessible via the DNS. This script uses the Az PowerShell module to bulk add IP Ranges into the Access Restriction feature in App Service.
Azure logo holding stop sign, PowerShell logo, and Cloudflare logo

Bulk add Cloudflare's IPs to Azure App Service Access Restrictions using Az PowerShell

- Azure
Azure App Services are publicly accessible via Azure's public DNS, but when using Cloudflare you should lock this down to only allow Cloudflare to reach your service. This script will add all Cloudflare's IP ranges to your app service Access Restriction.
Azure logo holding stop sign and PowerShell logo

Bulk add Application Insights Availability Test IPs to Azure App Service Access Restrictions using Az PowerShell

- Azure
Azure App Services are publicly accessible via Azure's public DNS, but using Access Restrictions you can lock this down. To ensure your App Insight Availability Tests still work, you can use this PowerShell script to bulk insert all the IP ranges.
Azure DevOps Pipelines clearing Cloudflare Cache with broom

Clearing Cloudflare cache using PowerShell in Azure DevOps Pipelines

- Azure
Learn how to purge Cloudflare's cache as part of your Continuous Deployment. This post will walk you through creating a PowerShell task that interacts with Cloudflare's API to clear the cache. This task will run as part of an Azure DevOps Pipelines.
Social Media Logo's in front of arrows

Social Sharing Buttons with zero JavaScript to Twitter, Reddit, LinkedIn, and Facebook

- Web
Instead of slowing down our site and feeding advertisement profiles, we can use plain HTML to provide social sharing functionality. This post will cover social sharing to Twitter, Reddit, LinkedIn, and Facebook.
MS Paint drawn Cloudflare logo

Setting up Cloudflare Full Universal SSL/TLS/HTTPS with an Azure App Services

- Azure
Using Cloudflare's Universal SSL/TLS service, we can provide our website over a safe HTTPS connection. This post walks you through setting up the SSL/TLS encrypted connection from client to Cloudflare, to your Azure Web Application using the Full (strict) option and Cloudflare's origin certificates.
Phone with speedometer

Web performance: prevent wasteful hidden image requests (display: none)

- Web
We often hide images using CSS with "display: none", but this doesn't actually prevent the browser from downloading these images. Using the HTML Picture element, we can serve different versions of an image depending on media queries. We can even use a data-img to prevent images from being downloaded at all and optimize our website speed.
Robot with Umbraco logo

Crawling through Umbraco with Robots

- Umbraco
The robots.txt file’s main purpose is to tell robots (Google Bot, Bing Bot, etc.) what to index for their search engine, and also what not to. Usually you want most of your website crawled by Google, such as blog posts, product pages, etc., but most websites will have some pages/sections that shouldn’t be indexed or listed in search engines.
Spider Web with Umbraco logo

Crawling through Umbraco with Sitemaps

- Umbraco
Websites come in all shapes and sizes. Some are fast, some are beautiful, and some are a complete mess. Whether it's a high-quality site is irrelevant if people can’t find it, but search engines are here to help. Though the competition to get on first page is tough, this series will dive into some common practices to make your website crawlable.
Adorable spider

Updated Ajax + SEO Guidelines

- Web
When you build an Ajax based website and want to be SEO friendly, there are a couple of techniques you have to apply. Back in 2009, Google made a proposal on how to make your Ajax pages crawlable.