public function canCreateCacheFile()
    {
        // Skip if we're running in devMode and not in force mode
        if (\Craft::$app->config->general->devMode === true && $this->settings->forceOn == false) {
            return false;
        }

        // skip if not enabled
        if ($this->settings->enableGeneral == false) {
            return false;
        }

        // Skip if system is not on and not in force mode
        if (!\Craft::$app->getIsSystemOn() && $this->settings->forceOn == false) {
            return false;
        }

        // Skip if it's a CP Request
        if (\Craft::$app->request->getIsCpRequest()) {
            return false;
        }

        // Skip if it's an action Request
        if (\Craft::$app->request->getIsActionRequest()) {
            return false;
        }

        // Skip if it's a preview request
        if (\Craft::$app->request->getIsLivePreview()) {
            return false;
        }
        // Skip if it's a post request
        if (!\Craft::$app->request->getIsGet()) {
            return false;
        }
        // Skip if it's an ajax request
        if (\Craft::$app->request->getIsAjax()) {
            return false;
        }
        // Skip if route from element api
        if ($this->isElementApiRoute()) {
            return false;
        }
        // Skip if currently requested URL path is excluded
        if ($this->isPathExcluded()) {
            return false;
        }

        return true;
    }