From 463a4f0fae423d8c18a4fed6cac4ee306fe13a87 Mon Sep 17 00:00:00 2001 From: Carlos Manuel Soares Date: Thu, 20 Aug 2026 17:21:48 +0100 Subject: [PATCH] Sunset cmpsoares.com: 301 everything to TEKSOMA, drop forms, and stop crawling. The homepage splash left /contact and the rest of the old Hugo site live, so Netlify Forms and crawlers still found the brand. Forced redirects plus noindex close that immediately; off-site profiles stay a follow-up. Co-authored-by: Cursor --- config/_default/config.toml | 9 ++--- config/_default/params.toml | 21 +++++----- layouts/_default/contact.html | 41 +------------------- layouts/index.html | 1 + layouts/partials/head.html | 1 + layouts/partials/subscription.html | 28 +------------- layouts/robots.txt | 62 ------------------------------ netlify.toml | 6 +++ static/_headers | 6 +++ static/_redirects | 32 ++++++++++++++- static/robots.txt | 5 +++ 11 files changed, 65 insertions(+), 147 deletions(-) create mode 100644 static/_headers create mode 100644 static/robots.txt diff --git a/config/_default/config.toml b/config/_default/config.toml index 1563f4f..6388e6d 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -18,12 +18,9 @@ shortname = "cmpsoares-com" disableLanguages = [] # example: ["fr"] for disable french language ############################# Outputs ############################## -enableRobotsTXT = true - -[sitemap] - changefreq = 'weekly' - filename = 'sitemap.xml' - priority = 0.5 +# Brand sunset: serve static/robots.txt (Disallow: /) and do not generate a sitemap. +enableRobotsTXT = false +disableKinds = ["sitemap"] [author] name = 'C.M.P.Soares, Lda.' diff --git a/config/_default/params.toml b/config/_default/params.toml index dd969c6..6778bfc 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -15,8 +15,8 @@ whatsapp_label = "+351 217 960 588" email = "contact@cmpsoares.com" # disqus (used by blog comment templates) disqusShortname = "cmpsoares-com" -# contact form action -contact_form_action = "https://formspree.io/f/mrgrnyzq" # contact form works with https://formspree.io +# contact form action — retired with the CMPSOARES sunset (do not re-enable) +contact_form_action = "" # Google Analitycs google_analitycs_id = "UA-216173935-1" # main sections @@ -38,17 +38,16 @@ enable = true label = "Contact Us" link = "/contact" -# Contact +# Contact — retired with the CMPSOARES sunset (no Netlify / Formspree forms) [contact_form] -enable = true -netlify_forms_integration = true +enable = false +netlify_forms_integration = false -# Subscription +# Subscription — retired with the CMPSOARES sunset (no Mailchimp form) [subscription] -enable = true -# mailchimp subsciption -mailchimp_form_action = "https://cmpsoares.us4.list-manage.com/subscribe/post?u=a37f9f4e15985d7754bad97ba&id=284d8c24ca" # replace this url with yours -mailchimp_form_name = "b_a37f9f4e15985d7754bad97ba_284d8c24ca" # replace this code with yours +enable = false +mailchimp_form_action = "" +mailchimp_form_name = "" # Google Services # Google Adsense @@ -83,7 +82,7 @@ content = "This site uses cookies. By continuing to use this website, you agree button = "I Accept" [tidio_chatbot] -enable = true +enable = false id = "7ddfxeybyiti3uffdq8ewy4onogssfzd" [termly] diff --git a/layouts/_default/contact.html b/layouts/_default/contact.html index 1bd6c2c..568de8a 100644 --- a/layouts/_default/contact.html +++ b/layouts/_default/contact.html @@ -62,46 +62,7 @@
Address
-{{ if site.Params.contact_form.enable }} -
-
-
-
-

{{ i18n "form_subtitle" }}

-

{{ i18n "form_title" }}

-
-
- {{ if site.Params.contact_form.netlify_forms_integration }} -
- {{ else }} - - {{ end }} - -
- -
-
- -
-
- -
-
- -
-
- -
-
-
-
-
-
-{{ end }} +{{/* Contact / Netlify / Formspree forms removed — CMPSOARES sunset. */}} {{ if site.Params.gmap.enable }} {{ if site.Params.gmap.enable_gmap_api }} diff --git a/layouts/index.html b/layouts/index.html index d1ffc0e..34f0dae 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -5,6 +5,7 @@ TEKSOMA Technology & Consultancy + diff --git a/layouts/partials/head.html b/layouts/partials/head.html index e2c6a09..ebe1179 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -16,6 +16,7 @@ + {{ with site.Params.author }}{{ end }} {{ hugo.Generator }} diff --git a/layouts/partials/subscription.html b/layouts/partials/subscription.html index 4210a81..edf695a 100644 --- a/layouts/partials/subscription.html +++ b/layouts/partials/subscription.html @@ -1,27 +1 @@ -{{"" | safeHTML }} -{{ if .Site.Params.subscription.enable }} -{{ with .Site.Params.subscription }} -
-
-
-
-

{{ i18n "subscribe_newsletter" | safeHTML }}

-
-
- -
-
- - -
-
-
-
-
-
-{{ end }} -{{ end }} -{{"" | safeHTML }} \ No newline at end of file +{{"" | safeHTML }} diff --git a/layouts/robots.txt b/layouts/robots.txt index 37bdad6..1f53798 100644 --- a/layouts/robots.txt +++ b/layouts/robots.txt @@ -1,64 +1,2 @@ User-agent: * - -Disallow: /images/ -Disallow: /js/ -Disallow: /css/ - -User-agent: MJ12bot Disallow: / - -User-agent: AhrefsBot -Disallow: / - -User-agent: BLEXBot -Disallow: / - -# Block SISTRIX -User-agent: SISTRIX Crawler -Disallow: / -User-agent: sistrix -Disallow: / -User-agent: 007ac9 -Disallow: / -User-agent: 007ac9 Crawler -Disallow: / - -# Block Uptime robot -User-agent: UptimeRobot/2.0 -Disallow: / - -# Block Ezooms Robot -User-agent: Ezooms Robot -Disallow: / - -# Block Perl LWP -User-agent: Perl LWP -Disallow: / - -# Block netEstate NE Crawler (+http://www.website-datenbank.de/) -User-agent: netEstate NE Crawler (+http://www.website-datenbank.de/) -Disallow: / - -# Block WiseGuys Robot -User-agent: WiseGuys Robot -Disallow: / - -# Block Turnitin Robot -User-agent: Turnitin Robot -Disallow: / - -# Block Heritrix -User-agent: Heritrix -Disallow: / - -# Block pricepi -User-agent: pimonster -Disallow: / - -User-agent: SurdotlyBot -Disallow: / - -User-agent: ZoominfoBot -Disallow: / - -Sitemap: {{ "sitemap.xml" | absLangURL }} diff --git a/netlify.toml b/netlify.toml index 81dab51..be872ad 100644 --- a/netlify.toml +++ b/netlify.toml @@ -8,3 +8,9 @@ # Skip vendored theme demo content from secrets scanning; those are upstream # placeholder keys, not real credentials, and the exampleSite isn't built. SECRETS_SCAN_OMIT_PATHS = "themes/agico-hugo/exampleSite/**" + +# After this deploy: delete the registered Netlify form named "contact" in +# Site settings → Forms. Removing the HTML stops detection at build time; +# a leftover registered form can still accept POSTs until it is deleted. +# Request-time block is the forced catch-all 301 in static/_redirects. + diff --git a/static/_headers b/static/_headers new file mode 100644 index 0000000..ca2b472 --- /dev/null +++ b/static/_headers @@ -0,0 +1,6 @@ +# Drop cmpsoares.com from the index. follow lets 301s land on TEKSOMA. +/* + X-Robots-Tag: noindex, follow + +/robots.txt + X-Robots-Tag: noindex diff --git a/static/_redirects b/static/_redirects index 233a30a..fc422a2 100644 --- a/static/_redirects +++ b/static/_redirects @@ -1,5 +1,10 @@ -# cmpsoares.com → tech.teksoma.com insights migration (301) +# CMPSOARES brand sunset — 301 the old site to TEKSOMA. +# /robots.txt stays on this host so crawlers see Disallow: / here. +# Forced (!) so redirects win over published HTML (including form pages). +/robots.txt /robots.txt 200! + +# Legacy blog posts → tech.teksoma.com insights /blog/2022-01-25_why-you-should-have-the-habit-to-sign-all-your-git-commits/* https://tech.teksoma.com/insights/sign-git-commits 301! /blog/2022-01-25-why-you-should-have-the-habit-to-sign-all-your-git-commits/* https://tech.teksoma.com/insights/sign-git-commits 301! @@ -16,3 +21,28 @@ /blog/2024-11-14_rca-showdown-sre-vs-itil-itsm/* https://tech.teksoma.com/insights/rca-showdown-sre-vs-itil-itsm 301! /blog/* https://tech.teksoma.com/insights 301! + +# Semantic page map (must sit above the catch-all) +/contact https://tech.teksoma.com/contact 301! +/contact/ https://tech.teksoma.com/contact 301! +/about https://tech.teksoma.com/about 301! +/about/ https://tech.teksoma.com/about 301! +/team https://tech.teksoma.com/about 301! +/team/ https://tech.teksoma.com/about 301! +/service https://tech.teksoma.com/services 301! +/service/ https://tech.teksoma.com/services 301! +/pricing https://tech.teksoma.com/plans 301! +/pricing/ https://tech.teksoma.com/plans 301! +/privacy_policy https://teksoma.com/privacy-policy 301! +/privacy_policy/ https://teksoma.com/privacy-policy 301! +/cookie_policy https://teksoma.com/cookie-policy 301! +/cookie_policy/ https://teksoma.com/cookie-policy 301! +/terms https://teksoma.com/privacy-policy 301! +/terms/ https://teksoma.com/privacy-policy 301! +/career https://tech.teksoma.com/about 301! +/career/* https://tech.teksoma.com/about 301! +/tags/* https://tech.teksoma.com/insights 301! +/categories/* https://tech.teksoma.com/insights 301! + +# Everything else, including POST /form-name=contact, goes to the TEKSOMA homepage. +/* https://tech.teksoma.com/ 301! diff --git a/static/robots.txt b/static/robots.txt new file mode 100644 index 0000000..9ed2878 --- /dev/null +++ b/static/robots.txt @@ -0,0 +1,5 @@ +# CMPSOARES is sunset. Do not crawl or index this host. +# Humans and crawlers that ignore robots.txt are 301'd to tech.teksoma.com. + +User-agent: * +Disallow: /