getIconUrl({absolute = false, fallbackToDefault = true} = {}) {
        const blogIcon = this.settingsCache.get('icon');

        if (blogIcon) {
            // Resize + format icon to one of the supported file extensions
            const sourceExt = this.getSourceIconExt(blogIcon);
            const destintationExt = this.getIconExt(blogIcon);

            if (sourceExt === 'ico') {
                // Resize not supported (prevent a redirect)
                return this.urlUtils.urlFor({relativeUrl: blogIcon}, absolute ? true : undefined);
            }

            if (sourceExt !== destintationExt) {
                const formattedIcon = blogIcon.replace(/\/content\/images\//, `/content/images/size/w256h256/format/${this.getIconExt(blogIcon)}/`);
                return this.urlUtils.urlFor({relativeUrl: formattedIcon}, absolute ? true : undefined);
            }

            const sizedIcon = blogIcon.replace(/\/content\/images\//, '/content/images/size/w256h256/');
            return this.urlUtils.urlFor({relativeUrl: sizedIcon}, absolute ? true : undefined);
        }

        if (fallbackToDefault) {
            return this.urlUtils.urlFor({relativeUrl: '/favicon.ico'}, absolute ? true : undefined);
        }

        return null;
    }
Return URL for blog icon, if available: [subdirectory or not]favicon.[ico, jpeg, or png]
Otherwise, fallbacks to the default Ghost favicon.ico file, if requested
Otherwise, returns null
@param {Object} [options]
@param {boolean} [options.absolute] - if true, return absolute URL. Default: false
@param {boolean} [options.fallbackToDefault] - if true, fallbacks to Ghost's default favicon.ico when no blog icon is found. Default: true
@returns {string|null} [subdirectory or not]favicon.[ico, jpeg, or png] or null
@description Checks if we have a custom uploaded icon and the extension of it. If no custom uploaded icon
exists, we're returning the default `favicon.ico`