Skip to content

fixed SEO issues from ahrefs #7688

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions apps/portal/src/app/chat/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import { Chat } from "@/components/AI/chat";
const queryClient = new QueryClient();

export default function ChatPage() {
return (
<QueryClientProvider client={queryClient}>
<div className="m-auto flex h-[calc(100vh-4rem)] w-full flex-col overflow-hidden lg:size-[calc(100vh-8rem)]">
<Chat />
</div>
</QueryClientProvider>
);
return (
<QueryClientProvider client={queryClient}>
<div className="m-auto flex h-[calc(100vh-4rem)] w-full flex-col overflow-hidden lg:size-[calc(100vh-8rem)]">
<Chat />
</div>
</QueryClientProvider>
);
}
11 changes: 11 additions & 0 deletions apps/portal/src/app/cli/build/page.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
import { createMetadata } from "@doc";

export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI | Reference",
description: "Learn how to use the thirdweb CLI to build smart contracts.",
});

# Build

Compile your smart contracts and detect any [extensions](/contracts/build/extensions) you have implemented.
Expand Down
11 changes: 11 additions & 0 deletions apps/portal/src/app/cli/create/page.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
import { createMetadata } from "@doc";

export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI | Reference",
description: "Learn how to use the thirdweb CLI to create a new project using thirdweb templates.",
});

# Create

Create a new project with the thirdweb packages installed and configured.
Expand Down
11 changes: 11 additions & 0 deletions apps/portal/src/app/cli/generate/page.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
import { createMetadata} from "@doc";

export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI generate | Reference",
description: "Learn how to use the thirdweb CLI to generate type-safe functions and events for deployed contracts.",
});
Comment on lines +3 to +10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Missing import for createMetadata

Same issue as the other CLI pages – pull the helper into scope to keep the MDX compiler happy.

+import { createMetadata } from "@/lib/metadata"; /* adjust if different */
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI generate | Reference",
description: "Learn how to use the thirdweb CLI to generate type-safe functions and events for deployed contracts.",
});
import { createMetadata } from "@/lib/metadata"; /* adjust if different */
export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI generate | Reference",
description: "Learn how to use the thirdweb CLI to generate type-safe functions and events for deployed contracts.",
});
🤖 Prompt for AI Agents
In apps/portal/src/app/cli/generate/page.mdx lines 1 to 8, the function
createMetadata is used but not imported, causing the MDX compiler to fail. Add
an import statement at the top of the file to bring createMetadata into scope
from its module, matching the import style used in other CLI pages.


# Generate

You can generate precompiled, optimized type safe functions and events for any deployed contract using the thirdweb CLI.
Expand Down
11 changes: 11 additions & 0 deletions apps/portal/src/app/cli/install/page.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
import { createMetadata } from "@doc";

export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI install | Reference",
description: "Learn how to use the thirdweb CLI to install thirdweb dependencies in your project.",
});

# Install

Install thirdweb dependencies into your project. If no path is specified, the current directory will be used.
Expand Down
11 changes: 10 additions & 1 deletion apps/portal/src/app/cli/login/page.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
import { Callout, DocImage } from "@doc";
import { Callout, DocImage, createMetadata } from "@doc";
import authImage from "./link-device-cli-auth.png";
import removeImage from "./revoke-access-cli-auth.png";

export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI login | Reference",
description: "Learn how to use the thirdweb CLI to login and link your device to your thirdweb account.",
});

# Login

<Callout variant="warning">
Expand Down
11 changes: 11 additions & 0 deletions apps/portal/src/app/cli/logout/page.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
import { createMetadata} from "@doc";

export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI logout | Reference",
description: "Learn how to logout of the thirdweb CLI and revoke access from your device.",
});

# Logout

Logout of the thirdweb CLI and revoke access of this device from your thirdweb account.
Expand Down
9 changes: 9 additions & 0 deletions apps/portal/src/app/cli/page.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
import { OpenSourceCard, Callout, InstallTabs } from "@doc";

export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI | Reference",
description: "Learn how to use the thirdweb CLI to create, build, and deploy web3 projects.",
});

# CLI

The CLI provides tools to create, build, and deploy projects using thirdweb tools and infrastructure. Using the CLI, you can
Expand Down
11 changes: 11 additions & 0 deletions apps/portal/src/app/cli/upload/page.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
import { createMetadata} from "@doc";

export const metadata = createMetadata({
image: {
title: "thirdweb CLI reference",
icon: "wallets",
},
title: "thirdweb CLI | Reference",
description: "Learn how to use the thirdweb CLI to upload files to decentralized storage.",
});

# Upload

Upload any file or directory to decentralized storage ([IPFS](/glossary/ipfs)).
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/payments/sell/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export const metadata = createMetadata({
icon: "payments",
},
title: "Sell Tokens",
description: "Learn how to sell tokens with thirdweb Payments.",
description: "Learn how to sell cryptocurrency tokens with thirdweb Payments.",
});

# Sell a Specific Amount of Tokens
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/payments/send/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export const metadata = createMetadata({
title: "Send a payment",
icon: "payments",
},
title: "Send a payment",
title: "Send a payment | thirdweb documentation",
description: "Learn how to send a payment between users with thirdweb Payments.",
});

Expand Down
78 changes: 39 additions & 39 deletions apps/portal/src/app/wallets/faq/page.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createMetadata } from "@doc";
import { createMetadata, Details } from "@doc";

export const metadata = createMetadata({
title: "FAQ for thirdweb Wallet",
Expand All @@ -9,54 +9,54 @@ export const metadata = createMetadata({
},
});

# General FAQs

### Which blockchains are supported?

Our thirdweb In-App Wallet is fully EVM compatible and supports all EVM chains.

### Do I need to build separate flows for in-app wallets and external wallets (e.g. MetaMask)?

No! Since our SDK provides the wallet `signer`, you can build a unified experience with the same code to handle how all your users' wallets interact with signatures and smart contracts.

However, you will need to provide a separate flow to create in-app wallets as you would with any wallet provider (WalletConnect, Coinbase Wallet, etc.).

### How do I troubleshoot unexpected console error messages?

Make sure that you are developing on a [secure origin](https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features/), which includes `localhost` and any site on `https://`. thirdweb uses cryptography libraries that are unsupported on `http://`.
import { Details } from "@components/Details";

If you continue to run into a console error, please contact us with more details.

### What login options does thirdweb support?

We support a lot of authentication options out of the box. For a full list, check out the [playground](https://playground.thirdweb.com/connect/sign-in/button). We also support custom authentication if you want to integrate thirdweb into your own auth system.

### Do you support gasless transactions?

Yes, you can easily use account abstraction with in-app wallets to enable sponsored (gasless) transactions.
# General FAQs

### Does thirdweb Wallets product use smart contract wallets?
<Details summary="Which blockchains are supported?">
Our thirdweb In-App Wallet is fully EVM compatible and supports all EVM chains.
</Details>

Thirdweb wallets can be used as a signer to a smart contract account (account abstraction), but it can also be used as a standalone EOA.
<Details summary="Do I need to build separate flows for in-app wallets and external wallets (e.g. MetaMask)?">
No! Since our SDK provides the wallet <code>signer</code>, you can build a unified experience with the same code to handle how all your users' wallets interact with signatures and smart contracts.
<br /><br />
However, you will need to provide a separate flow to create in-app wallets as you would with any wallet provider (WalletConnect, Coinbase Wallet, etc.).
</Details>

### What happens if thirdweb ceases to exist? Will my users be able to access their wallets?
<Details summary="How do I troubleshoot unexpected console error messages?">
Make sure that you are developing on a <a href="https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features/" target="_blank" rel="noopener noreferrer">secure origin</a>, which includes <code>localhost</code> and any site on <code>https://</code>. thirdweb uses cryptography libraries that are unsupported on <code>http://</code>.
<br /><br />
If you continue to run into a console error, please contact us with more details.
</Details>

In the event that thirdweb ceases to exist, we have committed to keeping our in-app wallet service running for a period of at least 12 months after the shutdown announcement. During this time users will be able to access their wallet and transfer their assets out, or export their private key which they can then import into a different client.
<Details summary="What login options does thirdweb support?">
We support a lot of authentication options out of the box. For a full list, check out the <a href="https://playground.thirdweb.com/connect/sign-in/button" target="_blank" rel="noopener noreferrer">playground</a>. We also support custom authentication if you want to integrate thirdweb into your own auth system.
</Details>

### How will my users recover their accounts in case they lose access to their auth?
<Details summary="Do you support gasless transactions?">
Yes, you can easily use account abstraction with in-app wallets to enable sponsored (gasless) transactions.
</Details>

Currently, users will rely on the built-in recovery of their auth method. Refer to the [How to recover your Google Account or Gmail](https://support.google.com/accounts/answer/7682439?hl=en) article as an example for social and email auths.
<Details summary="Does thirdweb Wallets product use smart contract wallets?">
Thirdweb wallets can be used as a signer to a smart contract account (account abstraction), but it can also be used as a standalone EOA.
</Details>

Users can also link their account to a different auth method (e.g. email, phone, or social). All linked methods will be able to be used to access their accounts, providing an alternate recovery method in the case where one is lost.
<Details summary="What happens if thirdweb ceases to exist? Will my users be able to access their wallets?">
In the event that thirdweb ceases to exist, we have committed to keeping our in-app wallet service running for a period of at least 12 months after the shutdown announcement. During this time users will be able to access their wallet and transfer their assets out, or export their private key which they can then import into a different client.
</Details>

<Details summary="How will my users recover their accounts in case they lose access to their auth?">
Currently, users will rely on the built-in recovery of their auth method. Refer to the <a href="https://support.google.com/accounts/answer/7682439?hl=en" target="_blank" rel="noopener noreferrer">How to recover your Google Account or Gmail</a> article as an example for social and email auths.
<br /><br />
Users can also link their account to a different auth method (e.g. email, phone, or social). All linked methods will be able to be used to access their accounts, providing an alternate recovery method in the case where one is lost.
</Details>

# Security FAQs

### How is the private key managed?

You can learn more about the architecture of how thirdweb wallets are created and stored [here](/wallets/security).

### What happens if thirdweb or my database gets breached?

Using enclave, your customers' assets are safe even if thirdweb or you are compromised. This is because the attacker will only be able to access the encrypted keys, and that is not enough to reconstruct the private key.
<Details summary="How is the private key managed?">
You can learn more about the architecture of how thirdweb wallets are created and stored <Link href="/wallets/security">here</Link>.
</Details>

<Details summary="What happens if thirdweb or my database gets breached?">
Using enclave, your customers' assets are safe even if thirdweb or you are compromised. This is because the attacker will only be able to access the encrypted keys, and that is not enough to reconstruct the private key.
</Details>
2 changes: 1 addition & 1 deletion apps/portal/src/app/webhooks/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { ArrowLeftRightIcon, UserLockIcon, UsersIcon, WalletIcon } from "lucide-

export const metadata = createMetadata({
title: "thirdweb Webhooks",
description: "Receive real-time updates for onchain and offchain events.",
description: "Learn how to receive real-time updates for onchain and offchain events using thirdweb.",
});

# Webhooks
Expand Down
Loading