diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b1e3a76a3a06e509454fdd05fb81b1872e8ea34a..f7c25b1d5062bd30bac8e8c7a21040413b1d1170 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,66 +3,13 @@ image: git-r3lab.uni.lu:4567/r3/docker/jekyll-lcsb:1.6
 
 stages:
   - build
-  - generate_index
+  - generate
   - deploy
 
-# !!!!!!!      README      !!!!!
-# We are in the transition period - and the website is deployed two times - to gitlab pages and to a separate VM
-# In order to migrate to a new deployment:
-#  1) remove "Old deployment" section - build_pages, generate the search index and pages tasks
-#  2) rename "new pages" to "pages" in the new deployment section, and "new_public" to "public"; you might also rename directories (skip "new" part)
-#  3) remove ".ci/deploy.sh", ".ci/build_indices.sh"
+# build
+# ------------------------------------------------------------------------------------
 
-
-# Old deployment =================================================================
-
-build_pages:
-  stage: build
-  before_script:
-    - apt-get -qq update
-    - apt-get install -y -qq git-lfs
-    - gem install bundler:2.0.2 && bundle install
-  script:
-    - bash .ci/deploy.sh
-  variables:
-    JEKYLL_ENV: production
-  artifacts:
-    expire_in: 1 day
-    paths:
-      - build
-
-
-generate the search index:
-  stage: generate_index
-  image: node:13.8.0-slim
-  rules:
-    - if: $CI_COMMIT_BRANCH == "master"
-    - if: $CI_COMMIT_BRANCH == "develop"
-  script:
-    - bash .ci/build_indices.sh
-    - mv build processed_build
-  artifacts:
-    expire_in: 1 day
-    paths:
-      - processed_build
-
-pages:
-  image: alpine:3.11.3
-  stage: deploy
-  rules:
-    - if: $CI_COMMIT_BRANCH == "master"
-    - if: $CI_COMMIT_BRANCH == "develop"
-  script:
-    - mv processed_build public
-  artifacts:
-    expire_in: 1 week
-    paths:
-      - public
-
-
-# New deployment ==================================================================
-
-build pages for VM deployment:
+build:pages:
   stage: build
   variables:
     JEKYLL_ENV: production
@@ -92,9 +39,11 @@ build pages for VM deployment:
     # Run Jekyll with custom configuration
     - bundle exec jekyll build -d new_build --config "_config.yml,.ci/_config_$CI_COMMIT_REF_NAME.yml"
 
+# generate
+# ------------------------------------------------------------------------------------
 
-generate the search index for VM deployment:
-  stage: generate_index
+generate:searchIndex:
+  stage: generate
   image: node:13.8.0-slim
   variables:
     LUNR_VERSION: 2.3.8
@@ -110,8 +59,11 @@ generate the search index for VM deployment:
     paths:
       - new_processed_build
 
-# Deploy to Gitlab Pages - to be run only by forks; change to pages once it's ready
-new pages:
+# deploy
+# ------------------------------------------------------------------------------------
+
+# Deploy to Gitlab Pages - to be run only by forks
+pages:
   image: alpine:3.11.3
   stage: deploy
   rules:
@@ -125,7 +77,7 @@ new pages:
       - new_public
 
 ## Deploys the website to a separate VM
-deploy to production:
+deploy:vm:
   stage: deploy
   image: alpine:3.1
   before_script: