カテゴリ: JavaScript 更新日: 2026/05/25

JavaScriptでURLを動的に生成・編集する方法を初心者向けに徹底解説

JavaScriptでURLを動的に生成・編集する実践例
JavaScriptでURLを動的に生成・編集する実践例

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptでウェブサイトのURLを自動で作ったり、書き換えたりすることってできますか?」

先生

「もちろんできます。JavaScriptを使うと、URLのパラメータを追加したり変更したり、動的にリンクを作ることが簡単にできるんです。」

生徒

「動的っていうのはどういう意味ですか?」

先生

「動的とは、プログラムが実行されるときに値や内容を自動で変えられるという意味です。例えば、ユーザー名に応じてURLを変えることができます。」

生徒

「なるほど。具体的にどんなコードを書くんですか?」

先生

「では順を追って、基本から応用まで見ていきましょう!」

1. URLの基本構造を理解しよう

1. URLの基本構造を理解しよう
1. URLの基本構造を理解しよう

まず、URLはウェブページの住所のようなもので、https://example.com/page?name=太郎&age=20のように構成されています。

この中で、https://example.com/pageは基本のアドレス、?name=太郎&age=20はパラメータです。JavaScriptでは、このパラメータ部分を動的に編集することがよくあります。

2. URLSearchParamsを使った動的パラメータ生成

2. URLSearchParamsを使った動的パラメータ生成
2. URLSearchParamsを使った動的パラメータ生成

JavaScriptでは、URLSearchParamsというオブジェクトを使うと、簡単にURLのパラメータを操作できます。例えば、ユーザー名と年齢をURLに追加してみましょう。


const params = new URLSearchParams();
params.set("name", "太郎");
params.set("age", "20");

const url = "https://example.com/page?" + params.toString();
console.log(url);

https://example.com/page?name=太郎&age=20

このようにして、プログラムの実行時にパラメータを動的に生成できます。

3. 既存のURLにパラメータを追加する方法

3. 既存のURLにパラメータを追加する方法
3. 既存のURLにパラメータを追加する方法

既にあるURLに新しいパラメータを追加することも簡単です。URLオブジェクトを使うと安全に編集できます。


const url = new URL("https://example.com/page");
url.searchParams.append("category", "books");
url.searchParams.append("sort", "asc");

console.log(url.toString());

https://example.com/page?category=books&sort=asc

この方法だと、既存のパラメータを壊さずに追加できます。

4. URLのパラメータを編集・削除する方法

4. URLのパラメータを編集・削除する方法
4. URLのパラメータを編集・削除する方法

パラメータを編集したり、不要なパラメータを削除することも可能です。


const url = new URL("https://example.com/page?name=太郎&age=20");
url.searchParams.set("age", "25"); // ageを変更
url.searchParams.delete("name"); // nameを削除

console.log(url.toString());

https://example.com/page?age=25

このように、動的にURLを編集できるので、ユーザーや状況に応じたリンクを作ることができます。

5. フォーム入力からURLを動的に生成する例

5. フォーム入力からURLを動的に生成する例
5. フォーム入力からURLを動的に生成する例

ユーザーがフォームで入力した情報をもとにURLを作ることもよくあります。


const userName = "花子";
const userAge = 30;

const params = new URLSearchParams();
params.set("name", userName);
params.set("age", userAge);

const dynamicUrl = "https://example.com/profile?" + params.toString();
console.log(dynamicUrl);

https://example.com/profile?name=花子&age=30

この方法を使えば、ユーザーごとに異なるURLを自動生成できます。

6. URLのクエリを取得して表示する方法

6. URLのクエリを取得して表示する方法
6. URLのクエリを取得して表示する方法

JavaScriptでは、現在のURLからパラメータを取得することもできます。


const currentUrl = new URL("https://example.com/page?name=太郎&age=20");
const name = currentUrl.searchParams.get("name");
const age = currentUrl.searchParams.get("age");

console.log("名前:", name);
console.log("年齢:", age);

名前: 太郎
年齢: 20

これにより、ユーザーの入力やページの状態に応じた処理が可能になります。

7. 動的URL生成の応用例:ページナビゲーション

7. 動的URL生成の応用例:ページナビゲーション
7. 動的URL生成の応用例:ページナビゲーション

例えば、複数ページに分かれたリストを表示する際に、ページ番号を動的にURLに組み込むことができます。


function createPageUrl(pageNumber) {
  const url = new URL("https://example.com/list");
  url.searchParams.set("page", pageNumber);
  return url.toString();
}

console.log(createPageUrl(1));
console.log(createPageUrl(2));

https://example.com/list?page=1
https://example.com/list?page=2

このように、ページ数やフィルター条件をURLに組み込むと、検索エンジン向けにも分かりやすい構造になります。

8. 動的URL生成でSEO対策も考慮しよう

8. 動的URL生成でSEO対策も考慮しよう
8. 動的URL生成でSEO対策も考慮しよう

検索エンジンはURLの構造を評価します。意味のあるパラメータや適切なクエリ文字列を使うことで、SEOにも有利になります。例えば、?category=booksのようにカテゴリ名を明示することが重要です。

JavaScriptで動的にURLを生成する際は、無意味な数字や記号だけでなく、ユーザーや検索エンジンにとって理解しやすい名前を使うことがポイントです。

まとめ

まとめ
まとめ

本記事では、JavaScriptを使ってウェブサイトのURLを動的に生成・編集する方法について詳しく解説しました。まず、URLの基本構造を理解することが重要です。URLは「スキーム+ドメイン+パス+クエリパラメータ」という構造になっており、クエリパラメータ部分をJavaScriptで操作することで、ユーザーや状況に応じた柔軟なリンク生成が可能です。

次に、URLSearchParamsを使ったパラメータの生成や追加、編集、削除の方法を学びました。URLSearchParamsを使うことで、プログラム実行時に必要な情報を簡単にURLに組み込むことができます。また、既存のURLに安全にパラメータを追加するにはURLオブジェクトを使うと、既存のクエリを壊さずに編集可能です。

さらに、フォーム入力からユーザーごとに異なるURLを生成する方法や、現在のURLからクエリパラメータを取得して利用する方法も紹介しました。これにより、ユーザーが入力した情報に応じたページ遷移やデータ取得が可能になり、よりインタラクティブなウェブ体験を提供できます。

ページナビゲーションの応用例では、ページ番号やフィルター条件を動的にURLに組み込むことで、検索エンジンやユーザーにとって分かりやすい構造にする方法を説明しました。これは、SEOを意識したウェブ開発において非常に重要なポイントです。動的に生成されるURLでも、意味のあるパラメータや明確なクエリ文字列を使うことで、検索エンジンに正しく認識され、コンテンツの評価向上につながります。

最後に、動的URL生成を活用する際の注意点として、無意味な数字や記号だけでURLを構成せず、ユーザーや検索エンジンが理解しやすいパラメータ名を使用することが推奨されます。JavaScriptを駆使することで、ウェブサイトの柔軟性を高め、ユーザー体験の向上とSEO効果の両立が可能になることを理解できたはずです。

先生と生徒の振り返り会話

生徒

「先生、今回学んだことで、動的にURLを作ったり編集したりできることの意味がよくわかりました。例えば、ユーザーによって異なるリンクを自動生成できるんですね。」

先生

「その通りです。URLSearchParamsURLオブジェクトを活用することで、簡単にパラメータを追加したり変更したりできます。実際にコードを書くことで、理解がより深まります。」

生徒

「フォームの入力からURLを作る例も面白かったです。ユーザー名や年齢などに応じてリンクが変わるのは、ウェブアプリではとても便利ですね。」

先生

「そうですね。ユーザー体験を向上させるためには、動的なURL生成は欠かせません。また、ページナビゲーションの例のように、ページ番号やフィルター条件をURLに組み込むことで、SEO対策としても有効です。」

生徒

「SEOのことも考えながらURLを作る必要があるんですね。意味のあるパラメータ名や文字列を使うと、検索エンジンも理解しやすいんですね。」

先生

「その通りです。無意味な数字や記号だけでURLを作るのではなく、ユーザーや検索エンジンにわかりやすい構造にすることが大切です。今回学んだ知識を活かして、動的URL生成を駆使したウェブ開発に挑戦してみてください。」

生徒

「わかりました。今度は自分でもユーザー情報に応じたリンクを作ってみます!」

サンプル復習コード


// URLパラメータを動的に生成して表示
const user = "太郎";
const age = 28;
const params = new URLSearchParams();
params.set("name", user);
params.set("age", age);

const dynamicUrl = "https://example.com/profile?" + params.toString();
console.log(dynamicUrl);

// 既存URLにパラメータを追加
const url = new URL("https://example.com/list");
url.searchParams.append("category", "books");
url.searchParams.append("sort", "desc");
console.log(url.toString());

// クエリ取得
const currentUrl = new URL(dynamicUrl);
console.log("名前:", currentUrl.searchParams.get("name"));
console.log("年齢:", currentUrl.searchParams.get("age"));

https://example.com/profile?name=太郎&age=28
https://example.com/list?category=books&sort=desc
名前: 太郎
年齢: 28
関連記事:
カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptの関数に型をつける方法(引数・戻り値)を初心者向けに徹底解説!
New2
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
New3
TypeScript
TypeScriptでExpressのミドルウェアを型安全に定義する方法!バックエンド開発の初心者向け解説
New4
JavaScript
JavaScriptのfilterメソッドで条件に合う要素を抽出する方法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptでフォームの値を取得する方法を徹底解説!valueプロパティの使い道
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptでHTML5バリデーションAPIを使いこなす!初心者でもわかるフォーム入力チェック
No.3
Java&Spring記事人気No3
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで要素を削除する方法(removeChild, removeなど)
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptでオブジェクト指向のカプセル化を学ぶ!初心者でもわかるクラスとプロパティの保護方法
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの現在日時を取得する方法を完全ガイド!初心者でもわかるDate.now()とnew Date()