diff --git a/src/content/docs/ja/guides/migrate-to-astro/from-gatsby.mdx b/src/content/docs/ja/guides/migrate-to-astro/from-gatsby.mdx
new file mode 100644
index 0000000000000..76f0822afe2d9
--- /dev/null
+++ b/src/content/docs/ja/guides/migrate-to-astro/from-gatsby.mdx
@@ -0,0 +1,608 @@
+---
+title: Gatsbyからの移行
+description: GatsbyプロジェクトをAstroに移行するためのガイド
+sidebar:
+ label: Gatsby
+type: migration
+stub: false
+framework: Gatsby
+i18nReady: true
+---
+import { Steps, LinkCard, CardGrid } from '@astrojs/starlight/components';
+import AstroJSXTabs from '~/components/tabs/AstroJSXTabs.astro';
+import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
+
+ここでは、移行を始める際に役立つ主要な概念と移行戦略を紹介します。詳しくはドキュメント全体や[Discordコミュニティ](https://astro.build/chat)をご活用ください。
+
+## GatsbyとAstroの類似点
+
+GatsbyとAstroには、プロジェクト移行を容易にするいくつかの共通点があります:
+
+- [`.astro`ファイルの構文はJSXとよく似ています](/ja/reference/astro-syntax/)。Astroの記法は馴染みがあるはずです。
+
+- Astroには[Markdown](/ja/guides/markdown-content/)のネイティブサポートがあり、MDXを利用するインテグレーションも用意されています。既存のMarkdownプラグインの多くをそのまま利用できます。
+
+- Astroには[Reactコンポーネントを利用する公式インテグレーション](/ja/guides/integrations-guide/react/)があります。AstroではReactファイルの拡張子を`.jsx`または`.tsx`にする**必要があります**。
+
+- Astroは[インストールNPMパッケージ](/ja/guides/imports/)をサポートしており、Reactライブラリも含まれます。多くの既存の依存関係はAstroでも正常に動作します。
+
+- Gatsbyと同様に、AstroプロジェクトもSSGを選択できるほか、[ページ単位の事前レンダリングを伴うSSR](/ja/guides/on-demand-rendering/)に対応しています。
+
+## GatsbyとAstroの主な相違点
+
+GatsbyサイトをAstroで再構築する際には、次のような重要な違いに気付くでしょう。
+
+- GatsbyプロジェクトはReactの単一ページアプリケーションで、`index.js`をプロジェクトのルートとして使用します。Astroプロジェクトはマルチページサイトで、`index.astro`はホームページです。
+
+- [Astroコンポーネント](/ja/basics/astro-components/)は、ページテンプレートを返すようにexportされた関数で書かれていません。代わりに、コードフェンス(`---`)でJavaScriptコードを区切って、生成するHTMLのためのコードを分けます。
+
+- [ローカルファイルデータ](/ja/guides/imports/)の取得: GatsbyはGraphQLを使用してプロジェクトファイルからデータを取得します。AstroではESMインポートとトップレベル`await`関数(例: [`import.meta.glob()`](/ja/guides/imports/)、[`getCollection()`](/ja/guides/content-collections/))でファイルからデータをインポートします。必要ならAstroプロジェクトにGraphQLを手動で追加できますが、デフォルトでは含まれていません。
+
+## GatsbyプロジェクトをAstroに変換する
+
+各プロジェクトの移行手順は様々ですが、GatsbyからAstroへ変換する際に共通して行う作業があります。
+
+### 新しいAstroプロジェクトの作成する
+パッケージマネージャで`create astro`コマンドを実行してAstroのCLIウィザードを起動するか、[Astro Theme Showcase](https://astro.build/themes)からコミュニティテーマを選択します。
+
+`create astro`コマンドに`--template`引数を渡すと、公式スターター(例:`docs`、`blog`、`portfolio`)のいずれかで新しいAstroプロジェクトを作成できます。また、[GitHub上の既存Astroリポジトリから新規プロジェクトを開始](/ja/install-and-setup/)することも可能です。
+
+
+
+ ```shell
+ # Astro CLIウィザードを実行
+ npm create astro@latest
+
+ # 公式スターターを指定して作成
+ npm create astro@latest -- --template
+ ```
+
+
+ ```shell
+ # Astro CLIウィザードを実行
+ pnpm create astro@latest
+
+ # 公式スターターを指定して作成
+ pnpm create astro@latest -- --template
+ ```
+
+
+ ```shell
+ # Astro CLIウィザードを起動
+ yarn create astro@latest
+
+ # 実際のスターターテンプレートを使用して新しいプロジェクトを開始
+ yarn create astro@latest -- --template
+ ```
+
+
+
+次に、既存のGatsbyプロジェクトのファイルを**srcの外側**にある別フォルダーへコピーし、新しいAstroプロジェクトへ移行します。
+
+:::tip
+公式スターターテンプレートの一覧は[公式スターターテンプレート](https://astro.new)を参照してください。IDX、StackBlitz、CodeSandbox、またはGitpodで新規プロジェクトを開くためのリンクもあります。
+:::
+
+### インテグレーションのインストールする(任意)
+
+GatsbyプロジェクトをAstroへ変換する際、以下のような[Astroのオプションインテグレーション](/ja/guides/integrations-guide/)が役立つことがあります。
+
+- **@astrojs/react**: 新規Astroサイトで既存のReact UIコンポーネントを再利用するか、Reactコンポーネントで書き続けることができます。
+
+- **@astrojs/mdx**: Gatsbyプロジェクトの既存のMDXファイルを持ち込むか、新規AstroサイトでMDXを使用することができます。
+
+### ソースコードを`src`に配置する
+
+[Astroのプロジェクト構造](/ja/basics/project-structure/)に従って、次の手順でファイルを整理します。
+
+
+1. **削除** Gatsbyの`public/`フォルダ。
+
+ Gatsbyはビルド出力を`public/`ディレクトリに生成しますが、Astroはデフォルトで`dist/`を使用します。そのため`public/`は安全に削除できます。
+
+2. **リネーム** Gatsbyの`static/`フォルダを`public/`、そしてAstroの`public/`フォルダとして使用してください。
+
+ Astroは静的アセット用に`public/`フォルダーを使用します。既存のAstro`public/`へ`static/`の内容をコピーしても構いません。
+
+3. **コピーまたは移動** Gatsbyの`components`、`pages`などの他のファイルとフォルダを、必要に応じてAstroの`src/`フォルダへ配置してください。[Astroのプロジェクト構造](/ja/basics/project-structure/)を遵守して、ソースコードを`src`に配置してください。
+
+ Astroの`src/pages/`フォルダは、`.astro`、`.md`、`.mdx`ファイルからサイトのページと記事を生成するための特殊なフォルダです。Astro、Markdown、MDXファイルのルーティングを設定する必要はありません。
+
+ その他のフォルダは任意のため、`src/`フォルダの内容をどのように配置するかは任意です。Astroプロジェクトで一般的なフォルダには`src/layouts/`、`src/components`、`src/styles`、`src/scripts`があります。
+
+
+### ヒント:JSXファイルから`.astro`ファイルへの変換する
+
+ここでは、Gatsbyの`.js`コンポーネントを`.astro`コンポーネントに変換するためのいくつかの手順を説明します。
+
+1. 既存Gatsbyコンポーネントの`return()`部分のみをHTMLテンプレートとして使用してください。
+
+2. ``・`{children}`・`className`など[Gatsby/JSX構文をAstro構文](#参考-astro構文への変換する)またはHTML標準に変換してください。
+
+3. `import`文を含んだ必要なJavaScriptは["コードフェンス" (`---`)](/ja/basics/astro-components/)内へ移動してください。注意: [条件付きレンダリング用のJavaScript](/ja/reference/astro-syntax/)は、AstroではHTMLテンプレート内に直接書くことが多いです。
+
+4. [`Astro.props`](/ja/reference/api-reference/)を使用して、以前にGatsby関数に渡された追加のpropsを参照してください。
+
+5. インポート済みコンポーネントをAstroに変換するか検討してください。公式Reactインテグレーションを使えば[Astroファイル内](/ja/guides/framework-components/)で既存Reactコンポーネントを利用できますが、インタラクティブ性が不要なら`.astro`へ変換して軽量化できます。
+
+6. GraphQLクエリは削除し、`import`や[import.meta.glob()](/ja/guides/imports/)でローカルファイルを読み込ます。
+
+[Gatsby Blogスターターを段階的に変換した例](#ガイド付き例gatsbyレイアウトをastroへ変換する)も参照してください。
+
+#### `.jsx`と`.astro`の比較する
+
+以下のGatsbyコンポーネントと対応するAstroコンポーネントを比較してください:
+
+
+
+ ```jsx title="component.jsx"
+ import * as React from "react"
+ import { useStaticQuery, graphql } from "gatsby"
+ import Header from "./header"
+ import Footer from "./footer"
+ import "./layout.css"
+
+ const Component = ({ message, children }) => {
+ const data = useStaticQuery(graphql`
+ query SiteTitleQuery {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ }
+ `)
+ return (
+ <>
+
+ {message}
+ {children}
+
+ >
+ )
+ }
+
+ export default Component
+ ```
+
+
+
+ ```astro title="component.astro"
+ ---
+ import Header from "./Header.astro"
+ import Footer from "./Footer.astro"
+ import "../styles/stylesheet.css"
+ import { site } from "../data/siteMetaData.js"
+ const { message } = Astro.props
+ ---
+
+ {message}
+
+
+
+
+ ```
+
+
+
+### レイアウトファイル移行する
+
+レイアウトファイルを[Astroレイアウトコンポーネント](/ja/basics/layouts/)に変換するには、Gatsbyのレイアウトやテンプレートから始めてみてください。
+
+Astroの各ページには必ず ``・`
`・`` タグが必要なため、複数ページで同じレイアウトファイルを再利用するのが一般的です。Astroではページコンテンツ差し込みに Reactの `{children}` ではなく [``](/ja/basics/astro-components/) を使用し、`import`文も不要です。Gatsbyの`layout.js`やテンプレートにはこれらが含まれていません。
+
+標準的なHTMLテンプレートと``タグへの直接アクセスする例:
+
+```astro title="src/layouts/Layout.astro" "slot"
+
+
+
+
+
+ Astro
+
+
+
+
+
+
+```
+
+追加でサイトメタデータを含めたい場合は、Gatsbyの`src/components/seo.js`のコードを再利用できます。注意: Astroでは``や``を使わずに``を直接記述します。ページコンテンツを分離して整理するには、コンポーネントを``内でインポートして使用することができます。
+
+### ページと投稿の移行する
+
+Gatsbyでは [ページや投稿](/ja/basics/astro-pages/) が`src/pages/`内、または`content`など`src`の外に置かれている場合があります。Astroでは **[コンテンツコレクション](/ja/guides/content-collections/)** を使わない限り、すべてのページコンテンツを`src/`内に配置する必要があります。
+
+#### Reactページ
+
+既存のGatsby JSX(`.js`)ページは[JSXファイルから.astroページへ変換](#ヒントjsxファイルからastroファイルへの変換する)する必要があります。AstroではJSXページファイルをそのまま使用できません。
+
+変換した[.astroページ](/ja/basics/astro-pages/)は`src/pages/`に置き、ファイルパスに基づいてページルートが自動生成されます。
+
+#### MarkdownとMDXページ
+
+AstroはMarkdownをネイティブサポートし、MDX用のオプション統合も提供しています。既存の[MarkdownとMDXファイル](/ja/guides/markdown-content/)を再利用できますが、フロントマターに[Astro専用の`layout`プロパティ](/ja/basics/layouts/)を追加するなどの調整が必要な場合があります。これらのファイルも`src/pages/`に置けば自動的にファイルベースルーティングを利用できます。
+
+あるいはAstroの[コンテンツコレクション](/ja/guides/content-collections/)を使ってコンテンツを管理し、自分で取得して[動的にページを生成](/ja/guides/content-collections/)することもできます。
+
+### テストの移行する
+
+Astroは生のHTMLを出力するため、ビルド後の出力を使用したE2Eテストができます。旧Gatsbyサイトのマークアップが再現できれば、既存のエンドツーエンドテストがそのまま動作する場合があります。JestやReact Testing LibraryなどをインポートしてReactコンポーネントをテストできます。
+
+詳しくは[テストガイド](/ja/guides/testing/)を参照してください。
+
+### 設定ファイルの再利用する
+
+Gatsbyにはルーティングやメタデータを含むトップレベル設定ファイルが複数あり、ルーティングに使用されます。Astroではこれらの`gatsby-*.js`ファイルを使用しませんが、内容を再利用できる場合があります。
+
+- `gatsby-config.js`: `src/data/siteMetadata.js`(または`siteMetadata.json`)に`siteMetadata: {}`を移動して、ページレイアウトにサイト(タイトル、説明、ソーシャルアカウントなど)に関するデータをインポートします。
+
+- `gatsby-browser.js`: ここで使用されているものは、[主要レイアウト](#レイアウトファイル移行する)の``タグに直接追加することを考慮してください。
+
+- `gatsby-node.js`: Astroでは独自のノードを作成する必要はありませんが、このファイルのスキーマを確認して、Astroプロジェクトで型を定義するのに役立つかもしれません。
+
+- `gatsby-ssr.js`: AstroでSSRを使用する場合、`astro.config.mjs`に直接[SSRアダプター](/ja/guides/on-demand-rendering/)を追加して構成してください。
+
+## 参考: Astro構文への変換する
+
+以下はGatsby特有の構文をAstroに変換するいくつかの例です。Astroコンポーネントの書き方における[AstroとJSXの違い](/ja/reference/astro-syntax/)も参照してください。
+
+### Gatsby LinksをAstroに変換する
+
+Gatsbyの``、``などのコンポーネントをHTMLの``タグに変換します。
+
+```astro del={1} ins={2}
+Blog
+Blog
+```
+
+Astroにはリンク専用のコンポーネントはありませんが、独自の``コンポーネントを作ってもかまいません。``を他のコンポーネントのようにインポートして使用することができます。
+
+```astro title="src/components/Link.astro"
+---
+const { to } = Astro.props
+---
+
+```
+
+### Gatsby ImportsをAstroに変換する
+
+必要に応じて、[ファイルのインポート](/ja/guides/imports/)を相対ファイルパスで正確に参照するように変更します。これには[インポートエイリアス](/ja/guides/typescript/)を使用したり、相対パスを完全に書くこともできます。
+
+注意: `.astro`など一部のファイルは拡張子を省略できません。
+
+```astro title="src/pages/authors/Fred.astro" ".astro"
+---
+import Card from `../../components/Card.astro`;
+---
+
+```
+
+### Gatsbyの`{children}`をAstroに変換する
+
+Gatsbyの`{children}`をAstroの``に変換します。Astroは`{children}`を関数プロップとして受け取る必要なく、子要素を``で自動的にレンダリングします。
+
+```astro title="src/components/MyComponent" del={3-9} ins={11-13}
+---
+---
+export default function MyComponent(props) {
+ return (
+
+ {props.children}
+
+ );
+}
+
+
+
+
+```
+
+Reactコンポーネントが複数の子要素を渡す場合は、[named slots](/ja/basics/astro-components/)を使用してAstroコンポーネントに移行できます。
+
+[特定の``の使用方法](/ja/basics/astro-components/)に関する詳しい説明は[特定の``の使用方法](/ja/basics/astro-components/)を参照してください。
+
+### スタイリングを変換する
+
+必要に応じて、[CSS-in-JSライブラリ](https://github.com/withastro/astro/issues/4432)(例:styled-components)をAstroで使用できるCSSオプションに置き換える必要があります。
+
+必要なら、インラインスタイルオブジェクト(`style={{ fontWeight: "bold" }}`)をインラインHTMLスタイル属性(`style="font-weight:bold;"`)に変換するか、[Astroの`