Skip to content

Commit

Permalink
modified/added meta tags with new content
Browse files Browse the repository at this point in the history
  • Loading branch information
jordanh committed Jan 9, 2025
1 parent cf48ae2 commit bf252ff
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 11 deletions.
6 changes: 3 additions & 3 deletions devTemplate.html
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<script>
window.__ACTION__ = <%= htmlWebpackPlugin.options.__ACTION__ %>
</script>
<title>Free Online Retrospectives | Parabol</title>
<title>Parabol | Streamline or Replace Meetings</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#493272" />
<meta
name="description"
content="Parabol is a free online retrospective tool. Try it without creating an account. Parabol features custom templates, powerful analytics, multi-user grouping, rich text editing, integrations, and gorgeous meeting summaries. Tasks are assigned and tracked so your team can continuously improve."
content="Meetings are expensive. Parabol makes meeting time as efficient as possible or even replaces meetings with a structured collaborative process that can be done on your own time. Try our team stand-ups, check-ins, retrospectives, Sprint Poker, prioritization templates, and more—free."
/>
<link href="/static/manifest.json" rel="manifest" />
<link href="/static/favicon.ico" rel="shortcut icon" />
Expand Down
3 changes: 0 additions & 3 deletions packages/client/components/AuthenticationPage.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import styled from '@emotion/styled'
import useCanonical from '~/hooks/useCanonical'
import useAtmosphere from '../hooks/useAtmosphere'
import useDocumentTitle from '../hooks/useDocumentTitle'
import useRouter from '../hooks/useRouter'
import getValidRedirectParam from '../utils/getValidRedirectParam'
import {AUTH_DIALOG_WIDTH} from './AuthenticationDialog'
Expand All @@ -25,7 +24,6 @@ const AuthenticationPage = (props: Props) => {
const {page} = props
const atmosphere = useAtmosphere()
const {authObj} = atmosphere
useDocumentTitle('Sign Up for Free Online Retrospectives | Parabol', 'Sign Up')
useCanonical(page)
if (authObj) {
const nextUrl = getValidRedirectParam() || '/meetings'
Expand All @@ -50,5 +48,4 @@ const AuthenticationPage = (props: Props) => {
</TeamInvitationWrapper>
)
}

export default AuthenticationPage
13 changes: 13 additions & 0 deletions packages/client/components/GenericAuthentication.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import styled from '@emotion/styled'
import {useRef} from 'react'
import useDocumentTitle from '../hooks/useDocumentTitle'
import useMetaTagContent from '../hooks/useMetaTagContent'
import useRouter from '../hooks/useRouter'
import {ForgotPasswordResType} from '../mutations/EmailPasswordResetMutation'
import {PALETTE} from '../styles/paletteV3'
Expand Down Expand Up @@ -88,6 +90,17 @@ const GenericAuthentication = (props: Props) => {
}

const isCreate = page === 'create-account'
if (isCreate) {
useDocumentTitle('Parabol | Create Account', 'Create Account')
useMetaTagContent(
'Give structure to your meetings to get your team talking and moving forward faster. Get started in 44 seconds or less.'
)
} else {
useDocumentTitle('Parabol | Sign In', 'Sign In')
useMetaTagContent(
'Access Parabol to streamline your agile meetings. Collaborate, reflect, and grow with your team in real-time.'
)
}
const action = isCreate ? CREATE_ACCOUNT_LABEL : SIGNIN_LABEL
const counterAction = isCreate ? SIGNIN_LABEL : CREATE_ACCOUNT_LABEL
const counterActionSlug = isCreate ? SIGNIN_SLUG : CREATE_ACCOUNT_SLUG
Expand Down
6 changes: 6 additions & 0 deletions packages/client/components/InvitationLinkDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import {useFragment} from 'react-relay'
import {RouteComponentProps, withRouter} from 'react-router'
import {InvitationLinkDialog_massInvitation$key} from '../__generated__/InvitationLinkDialog_massInvitation.graphql'
import useAtmosphere from '../hooks/useAtmosphere'
import useDocumentTitle from '../hooks/useDocumentTitle'
import useMetaTagContent from '../hooks/useMetaTagContent'
import useRouter from '../hooks/useRouter'
import {LocalStorageKey} from '../types/constEnums'
import InvitationLinkAuthentication from './InvitationLinkAuthentication'
Expand Down Expand Up @@ -46,6 +48,10 @@ const InvitationLinkDialog = (props: Props) => {
case 'expired':
return <InvitationLinkErrorExpired massInvitation={massInvitation} />
}
useDocumentTitle(`Parabol | ${teamName}`, `Join ${teamName}`)
useMetaTagContent(
`Join ${teamName} on Parabol,the essential tool for making meetings efficient or replacing them with structured, asynchronous collaboration.`
)
const {authToken} = atmosphere
if (authToken) {
return <TeamInvitationAccept invitationToken={token} />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {Route, Switch} from 'react-router-dom'
import {TeamDashMainQuery} from '~/__generated__/TeamDashMainQuery.graphql'
import StartMeetingFAB from '../../../../components/StartMeetingFAB'
import useDocumentTitle from '../../../../hooks/useDocumentTitle'
import useMetaTagContent from '../../../../hooks/useMetaTagContent'
import getTeamIdFromPathname from '../../../../utils/getTeamIdFromPathname'
import TeamTasksHeaderContainer from '../../containers/TeamTasksHeader/TeamTasksHeaderContainer'
import TeamDashActivityTab from '../TeamDashActivityTab/TeamDashActivityTab'
Expand Down Expand Up @@ -44,7 +45,10 @@ const TeamDashMain = (props: Props) => {
const team = viewer.team!
const {name: teamName} = team
const teamId = getTeamIdFromPathname()
useDocumentTitle(`Team Dashboard | ${teamName}`, teamName)
useDocumentTitle(`${teamName} | Parabol`, teamName)
useMetaTagContent(
`Overview of ${teamName} on Parabol, the essential tool for making meetings efficient or replacing them with structured, asynchronous collaboration.`
)

return (
<div className='flex h-full w-full'>
Expand Down
2 changes: 1 addition & 1 deletion scripts/webpack/prod.client.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ module.exports = (config) => {
inject: false,
filename: 'skeleton.html',
template: path.join(PROJECT_ROOT, 'template.html'),
title: 'Free Online Retrospectives | Parabol',
title: 'Streamline or Replace Meetings | Parabol',
// we'll overwrite this in preDeploy since it depends on process.env.{HOST,CDN_BASE_URL}
publicPath: '__PUBLIC_PATH__'
}),
Expand Down
6 changes: 3 additions & 3 deletions template.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<!-- Google Tag Manager -->
Expand All @@ -22,13 +22,13 @@
}
</script>
<!-- End Google Tag Manager -->
<title>Free Online Retrospectives | Parabol</title>
<title>Parabol | Streamline or Replace Meetings</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#493272" />
<meta
name="description"
content="Parabol is a free online retrospective tool. Try it without creating an account. Parabol features custom templates, powerful analytics, multi-user grouping, rich text editing, integrations, and gorgeous meeting summaries. Tasks are assigned and tracked so your team can continuously improve."
content="Meetings are expensive. Parabol makes meeting time as efficient as possible or even replaces meetings with a structured collaborative process that can be done on your own time. Try our team stand-ups, check-ins, retrospectives, Sprint Poker, prioritization templates, and more—free."
/>
<link href="/manifest.json" rel="manifest" crossorigin="use-credentials" />
<link href="__PUBLIC_PATH__/favicon.ico" rel="shortcut icon" crossorigin="" />
Expand Down

0 comments on commit bf252ff

Please sign in to comment.