diff --git a/gatsby-browser.js b/gatsby-browser.js
index 2a3a6d9..1114378 100644
--- a/gatsby-browser.js
+++ b/gatsby-browser.js
@@ -31,7 +31,7 @@ export const shouldUpdateScroll = ({ routerProps: { location } }) => {
export const wrapPageElement = ({ element, props }) => {
const { location: { pathname } } = props
- pathname.match(/article\/.*\/amp/) !== null ? props.amp = true : props.amp = false
+ pathname.includes('/amp/article/') && props.pageContext.slug ? props.amp = true : props.amp = false
return {element}
}
diff --git a/gatsby-config.js b/gatsby-config.js
index db94f92..fdee5fa 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -148,7 +148,7 @@ module.exports = {
components: ['amp-sidebar', 'amp-accordion', 'amp-form'],
excludedPaths: ['/404*', '/'],
pathIdentifier: '/amp/',
- relAmpHtmlPattern: '{{canonicalBaseUrl}}{{pathname}}{{pathIdentifier}}',
+ relAmpHtmlPattern: '{{canonicalBaseUrl}}{{pathIdentifier}}{{pathname}}',
relCanonicalPattern: '{{canonicalBaseUrl}}{{pathname}}/',
useAmpClientIdApi: false,
},
diff --git a/gatsby-node.esm.js b/gatsby-node.esm.js
index f3c203c..f77c1a6 100644
--- a/gatsby-node.esm.js
+++ b/gatsby-node.esm.js
@@ -55,7 +55,7 @@ exports.createPages = async ({ actions, graphql }) => {
})
createPage({
- path: `article/${node.frontmatter.slug}/amp/`,
+ path: `amp/article/${node.frontmatter.slug}/`,
component: articleTemplateAMP,
context: {
slug: node.frontmatter.slug,
diff --git a/gatsby-ssr.js b/gatsby-ssr.js
index a33376c..006eed6 100644
--- a/gatsby-ssr.js
+++ b/gatsby-ssr.js
@@ -40,16 +40,16 @@ const OnDark = () => {
}
export const onRenderBody = ({ pathname, setPreBodyComponents }) => {
- if (pathname.match(/article\/.*\/amp/) !== null) {
+ if (pathname.includes('/amp/article/')) {
return
}
-
+
setPreBodyComponents()
}
export const wrapPageElement = ({ element, props }) => {
const { location: { pathname } } = props
- pathname.match(/article\/.*\/amp/) !== null ? props.amp = true : props.amp = false
-
+ pathname.includes('/amp/article/') && props.pageContext.slug ? props.amp = true : props.amp = false
+
return {element}
}