`/tags` と `/user-tags` が検索エンジンにインデックスされないように (#13847)

* chore(backend): noindex for tag search pages

* docs(changelog): `/tags` と `/user-tags` が検索エンジンにインデックスされないように

* chore: base.pug内でフラグでコントロールするように
This commit is contained in:
anatawa12 2024-05-21 11:19:33 +09:00 committed by GitHub
parent 3fba7686f8
commit 7bde630820
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 1 deletions

View File

@ -85,6 +85,7 @@
- Fix: FTTが有効かつsinceIdのみを指定した場合に帰って来るレスポンスが逆順である問題を修正 - Fix: FTTが有効かつsinceIdのみを指定した場合に帰って来るレスポンスが逆順である問題を修正
- Fix: `/i/notifications``includeTypes`か`excludeTypes`を指定しているとき、通知が存在するのに空配列を返すことがある問題を修正 - Fix: `/i/notifications``includeTypes`か`excludeTypes`を指定しているとき、通知が存在するのに空配列を返すことがある問題を修正
- Fix: 複数idを指定する`users/show`が関係ないユーザを返すことがある問題を修正 - Fix: 複数idを指定する`users/show`が関係ないユーザを返すことがある問題を修正
- Fix: `/tags``/user-tags` が検索エンジンにインデックスされないように
## 2024.3.1 ## 2024.3.1

View File

@ -438,7 +438,7 @@ export class ClientServerService {
//#endregion //#endregion
const renderBase = async (reply: FastifyReply) => { const renderBase = async (reply: FastifyReply, data: { [key: string]: any } = {}) => {
const meta = await this.metaService.fetch(); const meta = await this.metaService.fetch();
reply.header('Cache-Control', 'public, max-age=30'); reply.header('Cache-Control', 'public, max-age=30');
return await reply.view('base', { return await reply.view('base', {
@ -447,6 +447,7 @@ export class ClientServerService {
title: meta.name ?? 'Misskey', title: meta.name ?? 'Misskey',
desc: meta.description, desc: meta.description,
...await this.generateCommonPugData(meta), ...await this.generateCommonPugData(meta),
...data,
}); });
}; };
@ -744,6 +745,18 @@ export class ClientServerService {
}); });
//#endregion //#endregion
//region noindex pages
// Tags
fastify.get<{ Params: { clip: string; } }>('/tags/:tag', async (request, reply) => {
return await renderBase(reply, { noindex: true });
});
// User with Tags
fastify.get<{ Params: { clip: string; } }>('/user-tags/:tag', async (request, reply) => {
return await renderBase(reply, { noindex: true });
});
//endregion
fastify.get('/_info_card_', async (request, reply) => { fastify.get('/_info_card_', async (request, reply) => {
const meta = await this.metaService.fetch(true); const meta = await this.metaService.fetch(true);

View File

@ -50,6 +50,9 @@ html
block title block title
= title || 'Misskey' = title || 'Misskey'
if noindex
meta(name='robots' content='noindex')
block desc block desc
meta(name='description' content= desc || '✨🌎✨ A interplanetary communication platform ✨🚀✨') meta(name='description' content= desc || '✨🌎✨ A interplanetary communication platform ✨🚀✨')