Skip to content

Commit 19411a6

Browse files
committed
wip(web): never index the GitLab Pages preview
1 parent 25fc93d commit 19411a6

7 files changed

Lines changed: 336 additions & 8 deletions

File tree

.gitlab-ci/web.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
build web:
4646
extends: .web hugo
4747
stage: test
48-
needs: []
4948
rules:
5049
- changes:
5150
- web/**/*
@@ -61,7 +60,10 @@ build web:
6160
pages:
6261
extends: .web hugo
6362
stage: deploy
64-
needs: []
63+
variables:
64+
# the Pages preview must never be indexed by search engines — every page
65+
# gets <meta name="robots" content="noindex, nofollow">
66+
HUGO_PARAMS_noindex: "true"
6567
rules:
6668
- if: $CI_COMMIT_BRANCH == "wip-unified-stackgres-website"
6769
changes:
@@ -80,6 +82,9 @@ pages:
8082
# Pages serves the site under the project subpath (or a unique domain);
8183
# $CI_PAGES_URL is correct in both cases.
8284
- hugo --source web --minify --baseURL "$CI_PAGES_URL"
85+
# vendored library demo page — not a rendered page, so the noindex meta
86+
# can't reach it; drop it from the preview
87+
- rm -f web/public/js/html5lightbox/icons/demo.html
8388
# GitLab Pages publishes the artifact directory named "public" at repo root
8489
- mv web/public public
8590
artifacts:

web/SITES_MERGE_PLAYBOOK.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,28 @@ merged site's home belongs to the main web. Now the index is an output of the
459459
- `static/js/search.js` — project override of the theme copy with the three
460460
`index.json` fetch paths renamed to `search-index.json`.
461461

462+
### 23. Preview builds are never search-indexed
463+
464+
The GitLab Pages preview must not appear in search engines. Pages can't set
465+
HTTP headers and a project subpath can't own the domain's robots.txt, so the
466+
guarantee is `<meta name="robots" content="noindex, nofollow">` on **every**
467+
page, toggled by a new `noindex` site param (set as `HUGO_PARAMS_noindex=true`
468+
in the `pages` CI job only; production builds are unaffected and identical).
469+
470+
The old `previewgate` param already emitted the meta but is entangled with the
471+
passcode gate script — the two are now separate concerns (`previewgate`
472+
implies noindex; `noindex` alone adds no gate). Coverage needed four spots:
473+
the baseof + catalog `seo-meta.html` + doc header (conditionalized), a
474+
project `layouts/alias.html` (Hugo's embedded alias template emits no robots
475+
meta in modern Hugo), and a project `layouts/404.html` (the theme hardcodes
476+
`index, follow`). The vendored `html5lightbox/icons/demo.html` static file is
477+
`rm`'d in the pages job (not a rendered page). Verified: preview build has 0
478+
pages without noindex; production build has 0 pages with it.
479+
480+
Also removed here: leftover unconditional `needs: []` on the web jobs (from
481+
an earlier iteration — independence from the product pipeline is opt-in via
482+
`BUILD_GL_PAGES`, step 16's CI note).
483+
462484
## Verified
463485

464486
- `hugo` builds with **0 errors** (379 pages)

web/layouts/404.html

Lines changed: 291 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,291 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>StackGres | 404 Error | Not Found</title>
8+
<meta name="description" content="StackGres is a fully-featured platform for running PostgreSQL on Kubernetes. Deploy in minutes an Enterprise-Grade Postgres-as-a-Service, in your infrastructure. 100% Open Source.">
9+
<meta name="author" content="https://ongres.com">
10+
{{ if or site.Params.previewgate site.Params.noindex }}<meta name="robots" content="noindex, nofollow">{{ else }}<meta name="robots" content="index, follow">{{ end }}
11+
12+
13+
14+
15+
<meta property="og:type" content="website" />
16+
<meta property="og:title" content="StackGres | 404 Error | Not Found"/>
17+
<meta property="og:description" content="StackGres is a fully-featured platform for running PostgreSQL on Kubernetes. Deploy in minutes an Enterprise-Grade Postgres-as-a-Service, in your infrastructure. 100% Open Source."/>
18+
<meta property="og:site_name" content=""/>
19+
<meta property="og:url" content="https://stackgres.io/not-found/"/>
20+
21+
22+
<meta name="twitter:title" content="StackGres | 404 Error | Not Found" />
23+
<meta name="twitter:card" content="summary_large_image" />
24+
<meta name="twitter:site" content="@OnGresINC" />
25+
<meta name="twitter:creator" content=" @OnGresINC " />
26+
27+
<meta property="og:image" content="https://stackgres.io/img/placeholder.png"/>
28+
<meta property="og:image:secure_url" content="https://stackgres.io/img/placeholder.png"/>
29+
<meta property="og:image:alt" content="StackGres | 404 Error | Not Found"/>
30+
31+
<meta name="twitter:image" content="https://stackgres.io/img/placeholder.png"/>
32+
<meta name="twitter:image:alt" content="StackGres | 404 Error | Not Found"/>
33+
34+
35+
<link rel="apple-touch-icon" sizes="180x180" href="https://stackgres.io/img/favicon/apple-touch-icon.png">
36+
<link rel="icon" type="image/png" sizes="32x32" href="https://stackgres.io/img/favicon/favicon-32x32.png">
37+
<link rel="icon" type="image/png" sizes="16x16" href="https://stackgres.io/img/favicon/favicon-16x16.png">
38+
<link rel="manifest" href="https://stackgres.io/img/favicon/site.webmanifest">
39+
<link rel="mask-icon" href="https://stackgres.io/img/favicon/safari-pinned-tab.svg" color="#00adb5">
40+
<meta name="msapplication-TileColor" content="#00adb5">
41+
<meta name="theme-color" content="#f0f0f0">
42+
43+
44+
<link rel="stylesheet" type="text/css" href="https://stackgres.io/css/slick.min.css" />
45+
46+
47+
<link rel="preconnect" href="https://fonts.gstatic.com">
48+
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;600;700&display=swap" rel="stylesheet">
49+
50+
51+
<link href="https://stackgres.io/css/style.css" rel="stylesheet" />
52+
53+
54+
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-151126282-1"></script>
55+
<script>
56+
window.dataLayer = window.dataLayer || [];
57+
function gtag(){dataLayer.push(arguments);}
58+
gtag('js', new Date());
59+
60+
gtag('config', 'UA-151126282-1');
61+
</script>
62+
63+
</head>
64+
65+
<body class='yellow '>
66+
<div id="top"></div>
67+
68+
<header id="header">
69+
<a href="https://stackgres.io/" id="mobileLogo" title="Home" class="headerLogo noUnderline hideDesktop">
70+
<svg id="Capa_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><style>.st0{fill:#42a8c8}.st1{fill:#426d88}.st2{fill:#428bb4}.st3{fill:#16657c}.st4{fill:#39b54a}.st5{fill:#009245}.st6{fill:#f2c63f}.st7{fill:#f2b136}.st8{fill:#f2a130}.st9{fill:#ff7124}.st10{fill:#d93d1b}</style><switch><g><path class="st0" d="M5.2 273.7l110.7 126.8h268.2l110.7-126.8-110.7-126.8H115.9z"/><path class="st1" d="M115.9 400.5h268.4v56.4H115.9z"/><path class="st2" d="M115.9 456.8L5.2 330v-56.3l110.7 126.8z"/><path class="st3" d="M384.1 456.8L494.8 330v-56.3L384.1 400.5z"/><path class="st4" d="M465.7 253.4c0-47-96.6-85.2-215.7-85.2S34.4 206.3 34.4 253.4s96.5 85.2 215.6 85.2 215.7-38.2 215.7-85.2z"/><path class="st5" d="M465.7 253.4c0 47-96.6 85.2-215.7 85.2S34.4 300.4 34.4 253.4v46.9c14.9 41.3 106.5 85.2 215.6 85.2s200.8-43.9 215.7-85.2v-46.9z"/><path class="st6" d="M16.3 178.6L250 314.1l233.8-135.5L250 43.2z"/><path class="st7" d="M16.3 178.6v52.8L250 366.9v-52.8z"/><path class="st8" d="M483.8 178.6L250 314.1v52.8l233.8-135.5z"/><path class="st9" d="M68 212.4l364.1-53-92.4-106z"/><path class="st10" d="M68 212.4l364.1-53v47.8L68 260.1z"/></g></switch></svg>
71+
<span class="textGradient">Stack<strong>Gres</strong></span>
72+
</a>
73+
<div class="container inlineItems textCenter mobileMenu">
74+
75+
<button id="navToggle" onclick="navToggle()" class="hideDesktop">
76+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="120" height="60" viewBox="0 0 120 60"><defs><linearGradient id="a" y1="0.5" x2="1" y2="0.5" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="var(--baseColor)"/><stop offset="1" stop-color="var(--baseLightColor)"/></linearGradient></defs><path d="M554,569.125H434a30,30,0,0,0,30-30,30.371,30.371,0,0,1,.6-6,30.008,30.008,0,0,1,58.8,0,30.375,30.375,0,0,1,.6,6A30,30,0,0,0,554,569.125Z" transform="translate(-434 -509.125)" fill="url(#a)"/></svg>
77+
<span></span>
78+
<span></span>
79+
<span></span>
80+
</button>
81+
82+
<a href="https://stackgres.io/" id="logo" title="Home" class="headerLogo fLeft noUnderline">
83+
<svg id="Capa_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><style>.st0{fill:#42a8c8}.st1{fill:#426d88}.st2{fill:#428bb4}.st3{fill:#16657c}.st4{fill:#39b54a}.st5{fill:#009245}.st6{fill:#f2c63f}.st7{fill:#f2b136}.st8{fill:#f2a130}.st9{fill:#ff7124}.st10{fill:#d93d1b}</style><switch><g><path class="st0" d="M5.2 273.7l110.7 126.8h268.2l110.7-126.8-110.7-126.8H115.9z"/><path class="st1" d="M115.9 400.5h268.4v56.4H115.9z"/><path class="st2" d="M115.9 456.8L5.2 330v-56.3l110.7 126.8z"/><path class="st3" d="M384.1 456.8L494.8 330v-56.3L384.1 400.5z"/><path class="st4" d="M465.7 253.4c0-47-96.6-85.2-215.7-85.2S34.4 206.3 34.4 253.4s96.5 85.2 215.6 85.2 215.7-38.2 215.7-85.2z"/><path class="st5" d="M465.7 253.4c0 47-96.6 85.2-215.7 85.2S34.4 300.4 34.4 253.4v46.9c14.9 41.3 106.5 85.2 215.6 85.2s200.8-43.9 215.7-85.2v-46.9z"/><path class="st6" d="M16.3 178.6L250 314.1l233.8-135.5L250 43.2z"/><path class="st7" d="M16.3 178.6v52.8L250 366.9v-52.8z"/><path class="st8" d="M483.8 178.6L250 314.1v52.8l233.8-135.5z"/><path class="st9" d="M68 212.4l364.1-53-92.4-106z"/><path class="st10" d="M68 212.4l364.1-53v47.8L68 260.1z"/></g></switch></svg>
84+
<span class="textGradient">Stack<strong>Gres</strong></span>
85+
</a>
86+
87+
88+
89+
<nav id="mainMenu">
90+
<ul class="raw inline">
91+
92+
93+
94+
95+
<li class=""><a href="https://stackgres.io/features" >Features</a></li>
96+
97+
98+
99+
100+
<li class=""><a href="https://stackgres.io/install" >Install</a></li>
101+
102+
103+
104+
105+
<li class=""><a href="https://stackgres.io/support" >Support Subscription</a></li>
106+
107+
108+
109+
110+
<li class=""><a href="https://stackgres.io/doc/latest" >Documentation</a></li>
111+
112+
113+
114+
115+
<li class=""><a href="https://stackgres.io/community" >Community</a></li>
116+
117+
118+
119+
120+
<li class=""><a href="https://stackgres.io/contact" >Contact</a></li>
121+
122+
</ul>
123+
</nav>
124+
125+
126+
<div class="follow fRight smText">
127+
<a href="https://github.com/ongres/stackgres/" title="Star on GitHub" class="github textGradient" target="_blank">
128+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="13.998" height="13.398" viewBox="0 0 13.998 13.398"><path d="M7.69.465,5.981,3.929l-3.823.557A.838.838,0,0,0,1.7,5.915L4.461,8.61l-.654,3.807a.837.837,0,0,0,1.214.882l3.42-1.8,3.42,1.8a.837.837,0,0,0,1.214-.882L12.42,8.61l2.766-2.695a.838.838,0,0,0-.463-1.429L10.9,3.929,9.191.465a.838.838,0,0,0-1.5,0Z" transform="translate(-1.441 0.001)" fill="url(#a)"/></svg>
129+
<span>Star on GitHub</span>
130+
</a>
131+
<a href="https://slack.stackgres.io/" title="Join our Slack" class="slack textGradient" target="_blank">
132+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="13.998" height="13.987" viewBox="0 0 13.998 13.987"><path d="M35.372,83.516v-1.47h1.47a1.47,1.47,0,1,1-1.47,1.47Zm-3.686,0V79.842a1.47,1.47,0,0,1,2.94,0v3.675a1.47,1.47,0,1,1-2.94,0Zm5.156-2.205a1.47,1.47,0,1,1,0-2.939h3.686a1.47,1.47,0,1,1,0,2.939Zm-8.831-1.47a1.468,1.468,0,0,1,1.47-1.47h1.471v1.47a1.47,1.47,0,0,1-2.94,0Zm11.036-2.216v-1.47a1.47,1.47,0,1,1,1.47,1.47Zm-3.675-1.47V72.47a1.47,1.47,0,1,1,2.939,0v3.686a1.47,1.47,0,0,1-2.939,0Zm-5.9,1.47a1.47,1.47,0,1,1,0-2.939h3.686a1.47,1.47,0,1,1,0,2.939Zm3.686-3.686a1.47,1.47,0,1,1,1.47-1.47v1.47Z" transform="translate(-28 -71)" fill="url(#a)"/></svg>
133+
<span>Join our Slack</span>
134+
</a>
135+
</div>
136+
</div>
137+
</header>
138+
139+
140+
141+
142+
<section id="404" class="sectionPad">
143+
<div class="container">
144+
<div class="row">
145+
<div class="col-sm-6">
146+
<h1 class="textGradient" style="margin-bottom: 20px;">Oops! Not found :(</h1>
147+
<h2>The resource you were looking for could not be found.</h2>
148+
</div>
149+
<div class="clearfix"></div>
150+
<div class="col-sm-12">
151+
<a class="btn" href="https://stackgres.io/" target="_blank">
152+
Back to Homepage
153+
</a>
154+
</div>
155+
</div>
156+
</div>
157+
</section>
158+
159+
160+
161+
<footer id="footer">
162+
<div class="container">
163+
<div class="row topBorderGradient" id="fLinks">
164+
<div class="col-md-5 col-sm-12">
165+
<a href="https://stackgres.io/" class="logo noUnderline" title="Home">
166+
<svg id="Capa_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><style>.st0{fill:#42a8c8}.st1{fill:#426d88}.st2{fill:#428bb4}.st3{fill:#16657c}.st4{fill:#39b54a}.st5{fill:#009245}.st6{fill:#f2c63f}.st7{fill:#f2b136}.st8{fill:#f2a130}.st9{fill:#ff7124}.st10{fill:#d93d1b}</style><switch><g><path class="st0" d="M5.2 273.7l110.7 126.8h268.2l110.7-126.8-110.7-126.8H115.9z"/><path class="st1" d="M115.9 400.5h268.4v56.4H115.9z"/><path class="st2" d="M115.9 456.8L5.2 330v-56.3l110.7 126.8z"/><path class="st3" d="M384.1 456.8L494.8 330v-56.3L384.1 400.5z"/><path class="st4" d="M465.7 253.4c0-47-96.6-85.2-215.7-85.2S34.4 206.3 34.4 253.4s96.5 85.2 215.6 85.2 215.7-38.2 215.7-85.2z"/><path class="st5" d="M465.7 253.4c0 47-96.6 85.2-215.7 85.2S34.4 300.4 34.4 253.4v46.9c14.9 41.3 106.5 85.2 215.6 85.2s200.8-43.9 215.7-85.2v-46.9z"/><path class="st6" d="M16.3 178.6L250 314.1l233.8-135.5L250 43.2z"/><path class="st7" d="M16.3 178.6v52.8L250 366.9v-52.8z"/><path class="st8" d="M483.8 178.6L250 314.1v52.8l233.8-135.5z"/><path class="st9" d="M68 212.4l364.1-53-92.4-106z"/><path class="st10" d="M68 212.4l364.1-53v47.8L68 260.1z"/></g></switch></svg>
167+
<span class="textGradient">Stack<strong>Gres</strong></span><br/>
168+
<span class="madeEasy">Enterprise Postgres made easy</span>
169+
</a>
170+
</div>
171+
<div class="col-md-7 col-sm-12">
172+
<div class="row">
173+
<div class="col-md-4 col-xs-12">
174+
<h4 class="h6">Product</h4>
175+
<ul class="raw">
176+
177+
178+
179+
180+
<li><a href="https://stackgres.io/features" class="noUnderline">Features</a></li>
181+
182+
183+
184+
<li><a href="https://stackgres.io/install" class="noUnderline">Install</a></li>
185+
186+
187+
188+
<li><a href="https://stackgres.io/support" class="noUnderline">Support Subscription</a></li>
189+
190+
191+
192+
<li><a href="https://stackgres.io/contact" class="noUnderline">Contact</a></li>
193+
194+
195+
</ul>
196+
</div>
197+
<div class="col-md-4 col-xs-12">
198+
<h4 class="h6">Resources</h4>
199+
<ul class="raw">
200+
201+
202+
203+
204+
<li><a href="https://stackgres.io/doc/latest" class="noUnderline">Documentation</a></li>
205+
206+
207+
208+
<li><a href="https://stackgres.io/community" class="noUnderline">Community</a></li>
209+
210+
211+
</ul>
212+
</div>
213+
<div class="col-md-4 col-xs-12">
214+
<h4 class="h6">More</h4>
215+
<ul class="raw">
216+
217+
218+
219+
220+
<li><a href="https://github.com/ongres/stackgres/" target="_blank" class="noUnderline">Star on GitHub</a></li>
221+
222+
223+
224+
<li><a href="https://gitlab.com/ongresinc/stackgres/" target="_blank" class="noUnderline">GitLab Repository</a></li>
225+
226+
227+
228+
<li><a href="https://slack.stackgres.io/" target="_blank" class="noUnderline">Join our Slack</a></li>
229+
230+
231+
232+
<li><a href="https://twitter.com/ongresinc" target="_blank" class="noUnderline">Stalk us on Twitter</a></li>
233+
234+
235+
</ul>
236+
</div>
237+
</div>
238+
</div>
239+
</div>
240+
241+
<div class="row subscribe center topBorderGradient" id="subscribe">
242+
<div class="col-md-5 col-sm-12">
243+
<h5>Subscribe to our Newsletter</h5>
244+
<p>Be informed of all the news & announcements</p>
245+
</div>
246+
247+
<div class="col-md-7 col-sm-12">
248+
<div id='crmWebToEntityForm'>
249+
<META HTTP-EQUIV ='content-type' CONTENT='text/html;charset=UTF-8'>
250+
<form action='https://crm.zoho.eu/crm/WebToLeadForm' name=WebToLeads206582000000254011 method='POST' accept-charset='UTF-8' class="row">
251+
<input type='text' style='display:none;' name='xnQsjsdp' value='a8d89f507817013112d869150786a70662439f36a339a1308e92330f4e11ac77'></input>
252+
<input type='hidden' name='zc_gad' id='zc_gad' value=''></input>
253+
<input type='text' style='display:none;' name='xmIwtLD' value='c46992387a6ff502048f157e4b73916779ae8a5bf3b5e6b7b95bc55126a99108'></input>
254+
<input type='text' style='display:none;' name='actionType' value='TGVhZHM='></input>
255+
<input type='text' style='display:none;' name='returnURL' value='https://stackgres.io/?thanks=1' > </input>
256+
257+
<div class="col-xs-12 col-md-5">
258+
<input type='text' maxlength='80' name="Last Name" placeholder="Name"/>
259+
</div>
260+
<div class="col-xs-12 col-md-5">
261+
<input type='text' maxlength='100' name='Email' placeholder="Email Address"/>
262+
</div>
263+
<select style='display: none;' name='Lead Source'>
264+
<option value='-None-'>-None-</option>
265+
<option value='Newsletter'>Newsletter</option>
266+
<option value='Contact&#x20;Form'>Contact Form</option>
267+
<option value='Careers'>Careers</option>
268+
<option selected value='StackGres'>StackGres</option>
269+
</select>
270+
<div class="col-xs-12 col-md-2">
271+
<input id='formsubmit' type='submit' value='Submit' class="btn white"></input>
272+
</div>
273+
</form>
274+
</div>
275+
</div>
276+
</div>
277+
278+
<div class="row topBorderGradient" id="colophon">
279+
<div class="col-sm-12 col-md-6">
280+
StackGres © 2020
281+
</div>
282+
283+
<div class="col-sm-12 col-md-6 textRight">
284+
<a href="https://www.ongres.com/privacy-policy" target="_blank">Privacy Policy</a>
285+
<a href="https://www.ongres.com/cookies" target="_blank">Cookies Policy</a>
286+
</div>
287+
</div>
288+
</div>
289+
</footer>
290+
</body>
291+
</html>

web/layouts/_default/baseof.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
<title>{{ .Site.Params.projectName }}{{ if .Title }} | {{ .Title }}{{ else if .IsHome }} | {{ T "homeTitle" }} {{ end }}</title>
88
<meta name="description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ T "siteDescription" }}{{ end }}">
99
<meta name="author" content="https://ongres.com">
10-
{{ if and site.Params.previewgate (ne .Type "containers") }}<meta name="robots" content="noindex, nofollow">
11-
<script src="{{ "js/preview-gate.js" | relURL }}"></script>
12-
{{ end }}{{ block "head-seo" . }}{{ if not site.Params.previewgate }}<meta name="robots" content="index, follow">{{ end }}{{ end }}
10+
{{ if or site.Params.previewgate site.Params.noindex }}<meta name="robots" content="noindex, nofollow">{{ end }}
11+
{{ if and site.Params.previewgate (ne .Type "containers") }}<script src="{{ "js/preview-gate.js" | relURL }}"></script>
12+
{{ end }}{{ block "head-seo" . }}{{ if not (or site.Params.previewgate site.Params.noindex) }}<meta name="robots" content="index, follow">{{ end }}{{ end }}
1313

1414
{{ if .IsTranslated }}
1515
{{ range .Translations }}

web/layouts/alias.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!DOCTYPE html>
2+
<html lang="{{ site.Language.LanguageCode }}">
3+
<head>
4+
<title>{{ .Permalink }}</title>
5+
<link rel="canonical" href="{{ .Permalink }}">
6+
<meta charset="utf-8">
7+
{{ if or site.Params.previewgate site.Params.noindex }}<meta name="robots" content="noindex, nofollow">
8+
{{ end }}<meta http-equiv="refresh" content="0; url={{ .Permalink }}">
9+
</head>
10+
</html>

web/layouts/partials/catalog/seo-meta.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{{- /* head-seo block for catalog pages: canonical + catalog assets + JSON-LD.
22
Single live catalog version → everything is indexable. */ -}}
3-
{{ if not site.Params.previewgate }}<meta name="robots" content="index, follow">{{ end }}
3+
{{ if not (or site.Params.previewgate site.Params.noindex) }}<meta name="robots" content="index, follow">{{ end }}
44
<link rel="canonical" href="{{ .Permalink }}">
55
<link rel="stylesheet" href="{{ "catalog/css/main.css" | relURL }}">
66

0 commit comments

Comments
 (0)