Maybe GitLab 15.4 (September 2022) will help:

Getting started with GitLab Pages just got easier

We’ve made it much easier to get started with GitLab Pages. Instead of creating configuration files by hand, build them interactively using the GitLab UI.
Just answer a few basic questions on how your app is built, and we’ll build the .gitlab-ci.yml file to get you started.

This is the first time we’re using our new Pipeline Wizard, a tool that makes it easy to create .gitlab-ci.yml files by building them in the GitLab UI.
You can look forward to more simplified onboarding helpers like this one.

See Documentation and Issue.

Plus, GitLab 17.8 (January 2025) adds:

Primary domain redirect for GitLab Pages

You can now set a primary domain in GitLab Pages to automatically redirect all requests from custom domains to your primary domain. This helps maintain SEO rankings and provides a consistent brand experience by directing visitors to your preferred domain, regardless of which URL they initially use to access your site.

See Documentation and Epic.

Answer from VonC on Stack Overflow
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › deploy and release your application › gitlab pages
GitLab Pages | GitLab Docs
In the top bar, select Search or go to and find your project. In the left sidebar, select Deploy > Pages. Clear the Use unique domain checkbox. Select Save changes. For example URLs, see GitLab Pages default domain names.
🌐
GitLab
docs.gitlab.com › gitlab docs › administer › update your settings › gitlab pages
GitLab Pages administration | GitLab Docs
Otherwise, any user can add this domain as a custom domain to their project. If your user base is private or otherwise trusted, you can disable the verification requirement: In the upper-right corner, select Admin. In the left sidebar, select Settings > Preferences.
Discussions

Configuring GitLab Pages Help!
We tried adding another subdomain for pages with no luck · I have tried the following settings in a variety of ways and called a gitlab-ctl reconfigure · gitlab_pages['enable'] = true pages_nginx['redirect_http_to_https'] = true gitlab_pages["namespace_in_path"] = true · I don't see the pages config in the gitlab project ... More on reddit.com
🌐 r/gitlab
1
1
January 8, 2025
java - How to activate GitLab Pages in an existing project? - Stack Overflow
I want to publish my code coverage reports for my Java project that is already on GitLab. I generate code coverage reports with JaCoCo in a folder located in app/target/site/jacoco/. I saw I had to More on stackoverflow.com
🌐 stackoverflow.com
How to setup gitlab pages
I’m very new to the gitlab pipeline and I am trying to setup gitlab pages in my repository I followed the gitlab tutorial, plus some google searching Here is my .gitlab-ci.yml default: image: ruby:3.2 before_script: - bundle init - bundle install - gem install bundler - bundle config set ... More on forum.gitlab.com
🌐 forum.gitlab.com
3
0
March 30, 2025
Why is "Pages" not appearing in settings?
In the help on GitLab Pages the setup sound quite easy: Fork an example project: by forking a project, you create a copy of the codebase you’re forking from to start from a template instead of starting from scratch. Change a file to trigger a GitLab CI/CD pipeline: GitLab CI/CD will build ... More on forum.gitlab.com
🌐 forum.gitlab.com
7
0
May 29, 2018
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › deploy and release your application › gitlab pages › settings
GitLab Pages settings | GitLab Docs
In brief, this is what you need to upload your website in GitLab Pages: Domain of the instance: domain name that is used for GitLab Pages (ask your administrator). GitLab CI/CD: a .gitlab-ci.yml file with a specific job named pages in the root directory of your repository. GitLab Runner enabled for the project...
🌐
CodingTechRoom
codingtechroom.com › question › -activate-gitlab-pages-existing-project
How to Enable GitLab Pages for an Existing Project - CodingTechRoom
# To enable GitLab Pages, the following steps are required: - Create a new branch named `gh-pages` or use an existing one. - Add your static website files to the branch. - Create a `.gitlab-ci.yml` file for the GitLab CI/CD pipeline. Activating GitLab Pages for an existing project allows you ...
🌐
Reddit
reddit.com › r/gitlab › configuring gitlab pages help!
r/gitlab on Reddit: Configuring GitLab Pages Help!
January 8, 2025 - This is what we did: -First we made a project in GitLab for GitLab pages and we used this code in our .yml file(this code came from the GitLab Pages template): ... pages: stage: deploy script: - echo "The site will be deployed to $CI_PAGES_URL" artifacts: paths: - public rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
Find elsewhere
🌐
GitLab
forum.gitlab.com › gitlab ci/cd
How to setup gitlab pages - GitLab CI/CD - GitLab Forum
March 30, 2025 - I’m very new to the gitlab pipeline and I am trying to setup gitlab pages in my repository I followed the gitlab tutorial, plus some google searching Here is my .gitlab-ci.yml default: image: ruby:3.2 before_script: - bundle init - bundle install - gem install bundler - bundle config set path 'vendor' cache: paths: - vendor/ workflow: rules: - if: $CI_COMMIT_BRANCH create-pages: stage: deploy script: - bundle exec jekyll build -d public pages...
🌐
DevOps as Craft
virtualizare.net › devops › how-to-enable-gitlab-pages-for-your-project.html
How to Enable GitLab Pages for Your Project
May 5, 2024 - GitLab Pages are a feature that allows users to build, test, and deploy static websites directly from a repository in GitLab. This feature is particularly useful for hosting personal blogs, project documentation, and landing pages.
🌐
GitLab
gitlab.lcqb.upmc.fr › help › user › project › pages › introduction.md
Introduction · Pages · Project · User · Help · GitLab
To learn how to enable GitLab Pages across your GitLab instance, visit the administrator documentation. With GitLab Pages you can host for free your static websites on GitLab. Combined with the power of GitLab CI and the help of GitLab Runner you can deploy static pages for your individual projects, your user or your group.
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › deploy and release your application › gitlab pages › tutorial: create website from scratch
Tutorial: Create a GitLab Pages website from scratch | GitLab Docs
default: image: ruby:3.2 before_script: - gem install bundler - bundle install workflow: rules: - if: $CI_COMMIT_BRANCH create-pages: stage: deploy script: - bundle exec jekyll build -d public pages: true # specifies that this is a Pages job and publishes the default public directory rules: - if: $CI_COMMIT_BRANCH == "main" environment: production test: stage: test script: - bundle exec jekyll build -d test artifacts: paths: - test rules: - if: $CI_COMMIT_BRANCH != "main" To build faster, you can cache the installation files for your project’s dependencies by using the cache parameter.
🌐
Erikpoehler
erikpoehler.com › home › gitlab › activating gitlab pages directly on your gitlab…
Activating Gitlab Pages directly on your Gitlab Server - Erik Pöhler's Weblog
July 30, 2025 - In order not having to configure a wildcard domain, i chose to remove the namespace from the domain. This way, the final URL will be https://pages.example.com/<vendor|group>/<project>. pages_external_url "https://pages.example.com/" gitlab_pages['enable'] = true gitlab_pages['access_control'] = 'internal' gitlab_pages['namespace_in_path'] = true
🌐
GitLab
forum.gitlab.com › how to use gitlab
Why is "Pages" not appearing in settings? - How to Use GitLab - GitLab Forum
May 29, 2018 - In the help on GitLab Pages the setup sound quite easy: Fork an example project: by forking a project, you create a copy of the codebase you’re forking from to start from a template instead of starting from scratch. Change a file to trigger a GitLab CI/CD pipeline: GitLab CI/CD will build and deploy your site to GitLab Pages.
🌐
GitLab
docs.gitlab.com › gitlab docs › administer › update your settings › gitlab pages › gitlab pages for source installations
GitLab Pages administration for self-compiled installations | GitLab Docs
Users can now configure it in their project settings. To change the default path where GitLab Pages content is stored: Pages are stored by default in /home/git/gitlab/shared/pages. To use a different location, edit gitlab.yml under the pages section: pages: enabled: true # The location where pages are stored (default: shared/pages).
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › deploy and release your application › gitlab pages › access control
GitLab Pages access control | GitLab Docs
Group SAML SSO support for OAuth ...ect_to_sso_login removed. You can enable Pages access control on your project if your administrator has enabled the access control feature on your GitLab instance....
🌐
DevOps as Craft
virtualizare.net › devops › how-to-enable-gitlab-pages-a-comprehensive-guide.html
How to Enable GitLab Pages: A Comprehensive Guide
August 15, 2024 - With GitLab Pages, you can easily ... a new project in GitLab. This is super easy. Just head to your dashboard and click on the big green button that says + New Project....
🌐
PRACE
repository.prace-ri.eu › help
Index · Pages · Project · User · Help · GitLab
Pages does not support dynamic server-side processing, for instance, as .php and .asp requires. For more information, see Static vs dynamic websites. ... To use GitLab Pages, you must create a project in GitLab to upload your website's files to.