Skip to content

Commit 8208e0a

Browse files
Feat: seo improvements (#803)
* seo improvements
1 parent b680fda commit 8208e0a

File tree

29 files changed

+474
-185
lines changed

29 files changed

+474
-185
lines changed

web-app/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
"react-dom": "^17.0.0 || ^18.0.0",
3838
"react-ga4": "^2.1.0",
3939
"react-google-recaptcha": "^3.1.0",
40+
"react-helmet-async": "^2.0.5",
4041
"react-hook-form": "^7.52.1",
4142
"react-i18next": "^14.1.2",
4243
"react-leaflet": "^4.2.1",

web-app/public/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
work correctly both with client-side routing and a non-root public URL.
2525
Learn how to configure a non-root public URL by running `npm run build`.
2626
-->
27-
<link rel="preconnect" href="https://fonts.googleapis.com">
27+
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
2828
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
2929
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" rel="stylesheet">
3030
<link href="https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap" rel="stylesheet">

web-app/public/locales/en/feeds.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,5 +82,6 @@
8282
"oldVehiclePositionsFeed": "Old Vehicle Positions feed link",
8383
"relatedGtfsScheduleFeed": "Link to related GTFS Schedule feed",
8484
"isAuthRequired": "Is authentication required for the feed?",
85-
"isAuthRequiredDetails": " Select \"Yes\" if a user has to login or provide credentials to download the feed"
85+
"isAuthRequiredDetails": " Select \"Yes\" if a user has to login or provide credentials to download the feed",
86+
"detailPageDescription": "Explore the {{formattedName}} {{dataTypeVerbose}} feed details with access to a quality data insights"
8687
}

web-app/src/app/components/Footer.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const Footer: React.FC = () => {
3535
</a>
3636
<div style={{ margin: 0, display: 'flex', justifyContent: 'center' }}>
3737
<IconButton
38+
aria-label='twitter'
3839
className='link-button'
3940
color='primary'
4041
onClick={() => {
@@ -44,6 +45,7 @@ const Footer: React.FC = () => {
4445
<TwitterIcon />
4546
</IconButton>
4647
<IconButton
48+
aria-label='slack'
4749
className='link-button'
4850
color='primary'
4951
onClick={() => {
@@ -53,6 +55,7 @@ const Footer: React.FC = () => {
5355
<FontAwesomeIcon icon={faSlack} />
5456
</IconButton>
5557
<IconButton
58+
aria-label='linkedin'
5659
className='link-button'
5760
color='primary'
5861
onClick={() => {
@@ -62,6 +65,7 @@ const Footer: React.FC = () => {
6265
<LinkedIn />
6366
</IconButton>
6467
<IconButton
68+
aria-label='github'
6569
className='link-button'
6670
color='primary'
6771
onClick={() => {

web-app/src/app/components/Header.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,10 @@ export default function DrawerAppBar(): React.ReactElement {
383383
}}
384384
className='btn-link'
385385
>
386-
<Avatar src='/assets/MOBILTYDATA_logo_purple_M.png'></Avatar>
386+
<Avatar
387+
alt='MobilityData logo'
388+
src='/assets/MOBILTYDATA_logo_purple_M.png'
389+
></Avatar>
387390
<Typography
388391
variant='h5'
389392
component='div'

web-app/src/app/screens/About.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@ export default function About(): React.ReactElement {
1717
flexDirection: 'column',
1818
}}
1919
>
20-
<Typography variant='h4' color='primary' sx={{ fontWeight: 700 }}>
20+
<Typography
21+
component='h1'
22+
variant='h4'
23+
color='primary'
24+
sx={{ fontWeight: 700 }}
25+
>
2126
About{' '}
2227
</Typography>
2328
<Box

web-app/src/app/screens/Analytics/GBFSFeedAnalytics/index.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,12 @@ export default function GBFSFeedAnalytics(): React.ReactElement {
277277

278278
return (
279279
<Box sx={{ mx: 6 }}>
280-
<Typography variant='h4' color='primary' sx={{ fontWeight: 700, mb: 2 }}>
280+
<Typography
281+
component='h1'
282+
variant='h4'
283+
color='primary'
284+
sx={{ fontWeight: 700, mb: 2 }}
285+
>
281286
GBFS Feeds Metrics
282287
</Typography>
283288
{error != null && (

web-app/src/app/screens/Analytics/GBFSNoticeAnalytics/index.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,12 @@ export default function GBFSNoticeAnalytics(): React.ReactElement {
213213

214214
return (
215215
<Box sx={{ mx: 6 }}>
216-
<Typography variant='h4' color='primary' sx={{ fontWeight: 700, mb: 2 }}>
216+
<Typography
217+
component='h1'
218+
variant='h4'
219+
color='primary'
220+
sx={{ fontWeight: 700, mb: 2 }}
221+
>
217222
GBFS Notices Metrics
218223
</Typography>
219224
{error != null && (

web-app/src/app/screens/Analytics/GBFSVersionAnalytics/index.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,12 @@ export default function GBFSVersionAnalytics(): React.ReactElement {
228228

229229
return (
230230
<Box sx={{ mx: 6 }}>
231-
<Typography variant='h4' color='primary' sx={{ fontWeight: 700, mb: 2 }}>
231+
<Typography
232+
component='h1'
233+
variant='h4'
234+
color='primary'
235+
sx={{ fontWeight: 700, mb: 2 }}
236+
>
232237
GBFS Versions Metrics{' '}
233238
</Typography>
234239
{error != null && (

web-app/src/app/screens/Analytics/GTFSFeatureAnalytics/index.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,12 @@ export default function GTFSFeatureAnalytics(): React.ReactElement {
261261

262262
return (
263263
<Box sx={{ mx: 6 }}>
264-
<Typography variant='h4' color='primary' sx={{ fontWeight: 700, mb: 2 }}>
264+
<Typography
265+
component='h1'
266+
variant='h4'
267+
color='primary'
268+
sx={{ fontWeight: 700, mb: 2 }}
269+
>
265270
GTFS Features Metrics{' '}
266271
</Typography>
267272
{error != null && (

0 commit comments

Comments
 (0)