mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-12-22 19:01:26 +00:00
Use canonical URLs (#1883)
This commit is contained in:
parent
6350f68579
commit
53c3cfeade
5 changed files with 12 additions and 0 deletions
|
@ -8,6 +8,7 @@ import { I18NextService } from "../../services";
|
|||
interface HtmlTagsProps {
|
||||
title: string;
|
||||
path: string;
|
||||
canonicalPath?: string;
|
||||
description?: string;
|
||||
image?: string;
|
||||
}
|
||||
|
@ -16,6 +17,8 @@ interface HtmlTagsProps {
|
|||
export class HtmlTags extends Component<HtmlTagsProps, any> {
|
||||
render() {
|
||||
const url = httpExternalPath(this.props.path);
|
||||
const canonicalUrl =
|
||||
this.props.canonicalPath ?? httpExternalPath(this.props.path);
|
||||
const desc = this.props.description;
|
||||
const image = this.props.image;
|
||||
|
||||
|
@ -30,6 +33,8 @@ export class HtmlTags extends Component<HtmlTagsProps, any> {
|
|||
<meta key={u} property={u} content={url} />
|
||||
))}
|
||||
|
||||
<link rel="canonical" href={canonicalUrl} />
|
||||
|
||||
{/* Open Graph / Facebook */}
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
|
|
|
@ -312,6 +312,7 @@ export class Community extends Component<
|
|||
<HtmlTags
|
||||
title={this.documentTitle}
|
||||
path={this.context.router.route.match.url}
|
||||
canonicalPath={res.community_view.community.actor_id}
|
||||
description={res.community_view.community.description}
|
||||
image={res.community_view.community.icon}
|
||||
/>
|
||||
|
|
|
@ -324,6 +324,7 @@ export class Profile extends Component<
|
|||
<HtmlTags
|
||||
title={this.documentTitle}
|
||||
path={this.context.router.route.match.url}
|
||||
canonicalPath={personRes.person_view.person.actor_id}
|
||||
description={personRes.person_view.person.bio}
|
||||
image={personRes.person_view.person.avatar}
|
||||
/>
|
||||
|
|
|
@ -353,6 +353,7 @@ export class Post extends Component<any, PostState> {
|
|||
<HtmlTags
|
||||
title={this.documentTitle}
|
||||
path={this.context.router.route.match.url}
|
||||
canonicalPath={res.post_view.post.ap_id}
|
||||
image={this.imageTag}
|
||||
description={res.post_view.post.body}
|
||||
/>
|
||||
|
|
|
@ -466,6 +466,10 @@ export class Search extends Component<any, SearchState> {
|
|||
<HtmlTags
|
||||
title={this.documentTitle}
|
||||
path={this.context.router.route.match.url}
|
||||
canonicalPath={
|
||||
this.context.router.route.match.url +
|
||||
this.context.router.route.location.search
|
||||
}
|
||||
/>
|
||||
<h1 className="h4 mb-4">{I18NextService.i18n.t("search")}</h1>
|
||||
{this.selects}
|
||||
|
|
Loading…
Reference in a new issue