Skip to content

Commit 9cdf9c5

Browse files
committed
feat: add 'x-default' language option to sitemap for improved multilingual support
1 parent 11d9c2e commit 9cdf9c5

33 files changed

+1168
-287
lines changed

apps/website/src/app/sitemap.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
2020
alternates: {
2121
languages: {
2222
...getMultilingualUrls(legal.url),
23+
'x-default': legal.url,
2324
},
2425
},
2526
}));
@@ -32,6 +33,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
3233
alternates: {
3334
languages: {
3435
...getMultilingualUrls(doc.url),
36+
'x-default': doc.url,
3537
},
3638
},
3739
}));
@@ -44,6 +46,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
4446
alternates: {
4547
languages: {
4648
...getMultilingualUrls(blog.url),
49+
'x-default': blog.url,
4750
},
4851
},
4952
}));
@@ -59,6 +62,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
5962
...getMultilingualUrls(
6063
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Home}`
6164
),
65+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Home}`,
6266
},
6367
},
6468
},
@@ -72,6 +76,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
7276
...getMultilingualUrls(
7377
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Contributors}`
7478
),
79+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Contributors}`,
7580
},
7681
},
7782
},
@@ -85,6 +90,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
8590
...getMultilingualUrls(
8691
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Demo}`
8792
),
93+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Demo}`,
8894
},
8995
},
9096
},
@@ -98,6 +104,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
98104
...getMultilingualUrls(
99105
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Playground}`
100106
),
107+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Playground}`,
101108
},
102109
},
103110
},
@@ -111,6 +118,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
111118
...getMultilingualUrls(
112119
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Pricing}`
113120
),
121+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Pricing}`,
114122
},
115123
},
116124
},
@@ -124,6 +132,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
124132
...getMultilingualUrls(
125133
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Onboarding}`
126134
),
135+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Onboarding}`,
127136
},
128137
},
129138
},
@@ -137,6 +146,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
137146
...getMultilingualUrls(
138147
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Dashboard}`
139148
),
149+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Dashboard}`,
140150
},
141151
},
142152
},
@@ -150,6 +160,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
150160
...getMultilingualUrls(
151161
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Admin}`
152162
),
163+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Admin}`,
153164
},
154165
},
155166
},
@@ -163,6 +174,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
163174
...getMultilingualUrls(
164175
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Doc}`
165176
),
177+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Doc}`,
166178
},
167179
},
168180
},
@@ -176,6 +188,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
176188
...getMultilingualUrls(
177189
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.NotFound}`
178190
),
191+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.NotFound}`,
179192
},
180193
},
181194
},
@@ -189,6 +202,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
189202
...getMultilingualUrls(
190203
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Auth_SignIn}`
191204
),
205+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Auth_SignIn}`,
192206
},
193207
},
194208
},
@@ -202,6 +216,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
202216
...getMultilingualUrls(
203217
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Auth_SignUp}`
204218
),
219+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Auth_SignUp}`,
205220
},
206221
},
207222
},
@@ -215,6 +230,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
215230
...getMultilingualUrls(
216231
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Auth_ResetPassword}`
217232
),
233+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Auth_ResetPassword}`,
218234
},
219235
},
220236
},
@@ -228,6 +244,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
228244
...getMultilingualUrls(
229245
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Auth_ChangePassword}`
230246
),
247+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Auth_ChangePassword}`,
231248
},
232249
},
233250
},
@@ -241,6 +258,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
241258
...getMultilingualUrls(
242259
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Doc_Search}`
243260
),
261+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Doc_Search}`,
244262
},
245263
},
246264
},
@@ -254,6 +272,7 @@ const sitemap = async (): Promise<MetadataRoute.Sitemap> => {
254272
...getMultilingualUrls(
255273
`${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Blog_Search}`
256274
),
275+
'x-default': `${process.env.NEXT_PUBLIC_URL}${PagesRoutes.Blog_Search}`,
257276
},
258277
},
259278
},

docs/docs/ar/intlayer_with_nextjs_15.md

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -974,19 +974,28 @@ const sitemap = (): MetadataRoute.Sitemap => [
974974
{
975975
url: "https://example.com",
976976
alternates: {
977-
languages: { ...getMultilingualUrls("https://example.com") },
977+
languages: {
978+
...getMultilingualUrls("https://example.com"),
979+
"x-default": "https://example.com",
980+
},
978981
},
979982
},
980983
{
981984
url: "https://example.com/login",
982985
alternates: {
983-
languages: { ...getMultilingualUrls("https://example.com/login") },
986+
languages: {
987+
...getMultilingualUrls("https://example.com/login"),
988+
"x-default": "https://example.com/login",
989+
},
984990
},
985991
},
986992
{
987993
url: "https://example.com/register",
988994
alternates: {
989-
languages: { ...getMultilingualUrls("https://example.com/register") },
995+
languages: {
996+
...getMultilingualUrls("https://example.com/register"),
997+
"x-default": "https://example.com/register",
998+
},
990999
},
9911000
},
9921001
];
@@ -1001,19 +1010,28 @@ const sitemap = () => [
10011010
{
10021011
url: "https://example.com",
10031012
alternates: {
1004-
languages: { ...getMultilingualUrls("https://example.com") },
1013+
languages: {
1014+
...getMultilingualUrls("https://example.com"),
1015+
"x-default": "https://example.com",
1016+
},
10051017
},
10061018
},
10071019
{
10081020
url: "https://example.com/login",
10091021
alternates: {
1010-
languages: { ...getMultilingualUrls("https://example.com/login") },
1022+
languages: {
1023+
...getMultilingualUrls("https://example.com/login"),
1024+
"x-default": "https://example.com/login",
1025+
},
10111026
},
10121027
},
10131028
{
10141029
url: "https://example.com/register",
10151030
alternates: {
1016-
languages: { ...getMultilingualUrls("https://example.com/register") },
1031+
languages: {
1032+
...getMultilingualUrls("https://example.com/register"),
1033+
"x-default": "https://example.com/register",
1034+
},
10171035
},
10181036
},
10191037
];
@@ -1028,19 +1046,28 @@ const sitemap = () => [
10281046
{
10291047
url: "https://example.com",
10301048
alternates: {
1031-
languages: { ...getMultilingualUrls("https://example.com") },
1049+
languages: {
1050+
...getMultilingualUrls("https://example.com"),
1051+
"x-default": "https://example.com",
1052+
},
10321053
},
10331054
},
10341055
{
10351056
url: "https://example.com/login",
10361057
alternates: {
1037-
languages: { ...getMultilingualUrls("https://example.com/login") },
1058+
languages: {
1059+
...getMultilingualUrls("https://example.com/login"),
1060+
"x-default": "https://example.com/login",
1061+
},
10381062
},
10391063
},
10401064
{
10411065
url: "https://example.com/register",
10421066
alternates: {
1043-
languages: { ...getMultilingualUrls("https://example.com/register") },
1067+
languages: {
1068+
...getMultilingualUrls("https://example.com/register"),
1069+
"x-default": "https://example.com/register",
1070+
},
10441071
},
10451072
},
10461073
];

docs/docs/ar/intlayer_with_nextjs_16.md

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,19 +1066,28 @@ const sitemap = (): MetadataRoute.Sitemap => [
10661066
{
10671067
url: "https://example.com",
10681068
alternates: {
1069-
languages: { ...getMultilingualUrls("https://example.com") },
1069+
languages: {
1070+
...getMultilingualUrls("https://example.com"),
1071+
"x-default": "https://example.com",
1072+
},
10701073
},
10711074
},
10721075
{
10731076
url: "https://example.com/login",
10741077
alternates: {
1075-
languages: { ...getMultilingualUrls("https://example.com/login") },
1078+
languages: {
1079+
...getMultilingualUrls("https://example.com/login"),
1080+
"x-default": "https://example.com/login",
1081+
},
10761082
},
10771083
},
10781084
{
10791085
url: "https://example.com/register",
10801086
alternates: {
1081-
languages: { ...getMultilingualUrls("https://example.com/register") },
1087+
languages: {
1088+
...getMultilingualUrls("https://example.com/register"),
1089+
"x-default": "https://example.com/register",
1090+
},
10821091
},
10831092
},
10841093
];
@@ -1093,19 +1102,28 @@ const sitemap = () => [
10931102
{
10941103
url: "https://example.com",
10951104
alternates: {
1096-
languages: { ...getMultilingualUrls("https://example.com") },
1105+
languages: {
1106+
...getMultilingualUrls("https://example.com"),
1107+
"x-default": "https://example.com",
1108+
},
10971109
},
10981110
},
10991111
{
11001112
url: "https://example.com/login",
11011113
alternates: {
1102-
languages: { ...getMultilingualUrls("https://example.com/login") },
1114+
languages: {
1115+
...getMultilingualUrls("https://example.com/login"),
1116+
"x-default": "https://example.com/login",
1117+
},
11031118
},
11041119
},
11051120
{
11061121
url: "https://example.com/register",
11071122
alternates: {
1108-
languages: { ...getMultilingualUrls("https://example.com/register") },
1123+
languages: {
1124+
...getMultilingualUrls("https://example.com/register"),
1125+
"x-default": "https://example.com/register",
1126+
},
11091127
},
11101128
},
11111129
];
@@ -1121,19 +1139,28 @@ const sitemap = () => [
11211139
{
11221140
url: "https://example.com",
11231141
alternates: {
1124-
languages: { ...getMultilingualUrls("https://example.com") },
1142+
languages: {
1143+
...getMultilingualUrls("https://example.com"),
1144+
"x-default": "https://example.com",
1145+
},
11251146
},
11261147
},
11271148
{
11281149
url: "https://example.com/login",
11291150
alternates: {
1130-
languages: { ...getMultilingualUrls("https://example.com/login") },
1151+
languages: {
1152+
...getMultilingualUrls("https://example.com/login"),
1153+
"x-default": "https://example.com/login",
1154+
},
11311155
},
11321156
},
11331157
{
11341158
url: "https://example.com/register",
11351159
alternates: {
1136-
languages: { ...getMultilingualUrls("https://example.com/register") },
1160+
languages: {
1161+
...getMultilingualUrls("https://example.com/register"),
1162+
"x-default": "https://example.com/register",
1163+
},
11371164
},
11381165
},
11391166
];

0 commit comments

Comments
 (0)