Skip to content

Commit dd79941

Browse files
george-verassophiebits
authored andcommitted
Add canonical url to the head section (#1987)
1 parent d2d2ee4 commit dd79941

File tree

8 files changed

+20
-11
lines changed

8 files changed

+20
-11
lines changed

src/components/MarkdownPage/MarkdownPage.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import TitleAndMetaTags from 'components/TitleAndMetaTags';
1515
import findSectionForPath from 'utils/findSectionForPath';
1616
import toCommaSeparatedList from 'utils/toCommaSeparatedList';
1717
import {sharedStyles} from 'theme';
18-
import createOgUrl from 'utils/createOgUrl';
18+
import createCanonicalUrl from 'utils/createCanonicalUrl';
1919

2020
import type {Node} from 'types';
2121

@@ -74,7 +74,7 @@ const MarkdownPage = ({
7474
}}>
7575
<TitleAndMetaTags
7676
ogDescription={ogDescription}
77-
ogUrl={createOgUrl(markdownRemark.fields.slug)}
77+
canonicalUrl={createCanonicalUrl(markdownRemark.fields.slug)}
7878
title={`${titlePrefix}${titlePostfix}`}
7979
/>
8080
<div css={{flex: '1 0 auto'}}>

src/components/TitleAndMetaTags/TitleAndMetaTags.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,22 @@ const defaultDescription = 'A JavaScript library for building user interfaces';
1313
type Props = {
1414
title: string,
1515
ogDescription: string,
16-
ogUrl: string,
16+
canonicalUrl: string,
1717
};
1818

19-
const TitleAndMetaTags = ({title, ogDescription, ogUrl}: Props) => {
19+
const TitleAndMetaTags = ({title, ogDescription, canonicalUrl}: Props) => {
2020
return (
2121
<Helmet title={title}>
2222
<meta property="og:title" content={title} />
2323
<meta property="og:type" content="website" />
24-
{ogUrl && <meta property="og:url" content={ogUrl} />}
24+
{canonicalUrl && <meta property="og:url" content={canonicalUrl} />}
2525
<meta property="og:image" content="/logo-og.png" />
2626
<meta
2727
property="og:description"
2828
content={ogDescription || defaultDescription}
2929
/>
3030
<meta property="fb:app_id" content="623268441017527" />
31+
{canonicalUrl && <link rel="canonical" href={canonicalUrl} />}
3132
</Helmet>
3233
);
3334
};

src/pages/acknowledgements.html.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const Acknowlegements = ({data, location}) => (
2121
<div css={sharedStyles.articleLayout.content}>
2222
<Header>Acknowledgements</Header>
2323
<TitleAndMetaTags
24-
ogUrl={`${urlRoot}/acknowledgements.html`}
24+
canonicalUrl={`${urlRoot}/acknowledgements.html`}
2525
title="React - Acknowledgements"
2626
/>
2727

src/pages/blog/all.html.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const AllBlogPosts = ({data, location}: Props) => (
3030
<div css={sharedStyles.articleLayout.content}>
3131
<Header>All Posts</Header>
3232
<TitleAndMetaTags
33-
ogUrl={`${urlRoot}/blog/all.html`}
33+
canonicalUrl={`${urlRoot}/blog/all.html`}
3434
title="React - All Posts"
3535
/>
3636
<ul

src/pages/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import TitleAndMetaTags from 'components/TitleAndMetaTags';
1515
import Layout from 'components/Layout';
1616
import {colors, media, sharedStyles} from 'theme';
1717
import loadScript from 'utils/loadScript';
18-
import createOgUrl from 'utils/createOgUrl';
18+
import createCanonicalUrl from 'utils/createCanonicalUrl';
1919
import {babelURL} from 'site-constants';
2020
import logoWhiteSvg from 'icons/logo-white.svg';
2121

@@ -51,7 +51,7 @@ class Home extends Component {
5151
<Layout location={location}>
5252
<TitleAndMetaTags
5353
title="React &ndash; A JavaScript library for building user interfaces"
54-
ogUrl={createOgUrl('index.html')}
54+
canonicalUrl={createCanonicalUrl('/')}
5555
/>
5656
<div css={{width: '100%'}}>
5757
<header

src/pages/languages.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Container from 'components/Container';
1010
import Header from 'components/Header';
1111
import TitleAndMetaTags from 'components/TitleAndMetaTags';
1212
import React from 'react';
13+
import {urlRoot} from 'site-constants';
1314
import {media, sharedStyles} from 'theme';
1415

1516
// $FlowFixMe This is a valid path
@@ -47,7 +48,10 @@ const Languages = ({location}: Props) => (
4748
<div css={sharedStyles.articleLayout.container}>
4849
<div css={sharedStyles.articleLayout.content}>
4950
<Header>Languages</Header>
50-
<TitleAndMetaTags title="React - Languages" />
51+
<TitleAndMetaTags
52+
canonicalUrl={`${urlRoot}/languages/`}
53+
title="React - Languages"
54+
/>
5155

5256
<div css={sharedStyles.markdown}>
5357
<p>

src/pages/versions.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Container from 'components/Container';
1010
import Header from 'components/Header';
1111
import TitleAndMetaTags from 'components/TitleAndMetaTags';
1212
import React from 'react';
13+
import {urlRoot} from 'site-constants';
1314
import {sharedStyles} from 'theme';
1415

1516
// $FlowFixMe This is a valid path
@@ -25,7 +26,10 @@ const Versions = ({location}: Props) => (
2526
<div css={sharedStyles.articleLayout.container}>
2627
<div css={sharedStyles.articleLayout.content}>
2728
<Header>React Versions</Header>
28-
<TitleAndMetaTags title="React - Versions" />
29+
<TitleAndMetaTags
30+
canonicalUrl={`${urlRoot}/versions/`}
31+
title="React - Versions"
32+
/>
2933
<div css={sharedStyles.markdown}>
3034
<p>
3135
A complete release history for React is available{' '}
File renamed without changes.

0 commit comments

Comments
 (0)