protected function parseKeywords(): array
    {
        $wpq = $this->wpQuery;

        $keywords = [];
        if ($wpq->is_single) $keywords[] = 'single';
        if ($wpq->is_preview) $keywords[] = 'preview';
        if ($wpq->is_page) $keywords[] = 'page';
        if ($wpq->is_archive) $keywords[] = 'archive';
        if ($wpq->is_date) $keywords[] = 'date';
        if ($wpq->is_year) $keywords[] = 'year';
        if ($wpq->is_month) $keywords[] = 'month';
        if ($wpq->is_day) $keywords[] = 'day';
        if ($wpq->is_time) $keywords[] = 'time';
        if ($wpq->is_author) $keywords[] = 'author';
        if ($wpq->is_category) $keywords[] = 'category';
        if ($wpq->is_tag) $keywords[] = 'tag';
        if ($wpq->is_tax) $keywords[] = 'tax';
        if ($wpq->is_search) $keywords[] = 'search';
        if ($wpq->is_feed) $keywords[] = 'feed';
        if ($wpq->is_comment_feed) $keywords[] = 'comment_feed';
        if ($wpq->is_trackback) $keywords[] = 'trackback';
        if ($wpq->is_home) $keywords[] = 'home';
        if ($wpq->is_404) $keywords[] = '404';
        if ($wpq->is_embed) $keywords[] = 'embed';
        if ($wpq->is_paged) $keywords[] = 'paged';
        if ($wpq->is_admin) $keywords[] = 'admin';
        if ($wpq->is_attachment) $keywords[] = 'attachment';
        if ($wpq->is_singular) $keywords[] = 'singular';
        if ($wpq->is_robots) $keywords[] = 'robots';
        if ($wpq->is_posts_page) $keywords[] = 'posts_page';
        if ($wpq->is_post_type_archive) $keywords[] = 'post_type_archive';
        if (0 === count($keywords)) $keywords[] = 'index';

        $frontPageId = $this->wpProvider->getOption('page_on_front');
        //ignore zero value as well
        if (!empty($wpq->query_vars['p']) && $frontPageId == $wpq->query_vars['p']) {
            $keywords[] = 'index';
        }

        $keywords[]= 'any';

        return array_unique($keywords);
    }