質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Vite

Viteは、フロントエンド向けのビルドツール。JavaScriptはもちろん、さまざまな環境での利用が可能です。ES Modulesを利用することで高速ビルドを実現でき、ファイルの変更時も変更箇所のみを更新できるといった特徴があります。

意見交換

クローズ

5回答

354閲覧

Vite React Typescript Firebase マルチページサイトの構成について

shibababa

総合スコア7

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Vite

Viteは、フロントエンド向けのビルドツール。JavaScriptはもちろん、さまざまな環境での利用が可能です。ES Modulesを利用することで高速ビルドを実現でき、ファイルの変更時も変更箇所のみを更新できるといった特徴があります。

1グッド

1クリップ

投稿2024/07/12 05:39

1

1

テーマ、知りたいこと

メインとなるページに対してサブページを追加していく際、どのようなやり方、構成があるか。メリットとデメリットを知りたいです。

背景、状況

店舗のwebサイトのSEO対策として、ブログやコラム記事を掲載したいです。
この場合にどのような方法が最適であるか皆さんの意見をお伺いできればと思います。
Vite、React、Typescript、Firebaseを使用しています。

ディレクトリの構成やホスティングするサイト数などおすすめを教えていただきたいです。

aaaaaaaaaaaaaas👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答5

#1

uky

総合スコア244

投稿2024/07/16 02:27

いくつか質問させてください。(回答によって選択すべきものが見えてくる可能性があるためです。

店舗のwebサイトのSEO対策として、ブログやコラム記事を掲載したいです。

  1. こちらのブログやコラム記事はどのように生成予定でしょうか?(パスをすでに決めているのであれば、サンプルでいただきたいです。
  2. このサイトのようないわゆるCGM(利用者が勝手にページを作成できるメディア)を想定しているのでしょうか?

一般論的な話で、ReactプロジェクトでSEOを考慮した上でWebサービス(サイト)を立ち上げる場合、

  • Next.js、Remix、Astro.jsといったフレームワークを使用してSSRでHTML生成を行うようにする
  • CDNやSSGと組み合わせて静的ページとして生成・配信をする

などは、SEO的には必要になるかと思います。

SEOについても語弊を恐れず端的に言えば、
「クローラー(Webサイトを見て回ってSEOの順位を決めてくれるbot)がそのページを認識して良し悪しを決めることで掲載位置が決まる」
といったものです。
そのため、単にページを作れば良いというわけではなく、クローラーが訪れた際にページとして出来上がっている必要があります。(CSRなどではクローラーが来た時点では完全なページとなっていない可能性があり、SEOには向いていないと言われています)


どのようなやり方、構成があるか。メリットとデメリットを知りたいです。

一旦、上記の2種類のやり方についてSEO的な視点で回答するのであれば以下でしょうか。

Next.js、Remix、Astro.jsといったフレームワークを使用してSSRでHTML生成を行うようにする
  • メリット

    • CGMでも最新のデータでクローリングされやすい (SEOにとって良い)
    • Routingに関しても一定の記法・文法が担保されている(Next.jsで言えばPageRouterやApp Routerなどがある)ので、フレームワークに沿って開発することは比較的容易い
  • デメリット

    • フレームワークの学習コストがかかってしまう
    • フレームワークでは機能過多になってしまう
CDNやSSGと組み合わせて静的ページとして生成・配信をする
  • メリット
    • キャッシュを使用するイメージですので、配信が早くパフォーマンスに優れたページを生成しやすい
      • SEO的にも問題ないです
  • デメリット
    • CGM想定だと、投稿直後・編集が発生したときなどにコンテンツの提供や更新が遅れてしまう可能性がある

誤り等あればつついていただけますと幸いです。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

shibababa

総合スコア7

投稿2024/07/16 04:33

#1
ご丁寧なご回答ありがとうございます。

1.ひとまず下記のようにサブディレクトリで作ってみました。
https://totonouto.com/saunaWords/

2.記事の投稿は店主(私)が行います。

フレームワークを使用することも検討したのですが、やはり学習コストが大きいと感じています。

ある程度学習コストがかかるのはしかたないですが、
まずはすぐに実現できる方法で進める。
その裏で少しずつ学習し、ある程度形になったところで切り替えるのが良いかと考えています。

状況を細くしておきますと、
私は本職が上記の店舗の経営になります。
web開発は少しスクールに通いましたがほぼ独学に近い状態です。
誤った認識やアンチパターンが多々あるかと思いますが、お手柔らかにお願いします。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

uky

総合スコア244

投稿2024/07/16 08:04

編集2024/07/16 08:09

#2 shibababaさん

ご返信ありがとうございます!

1.ひとまず下記のようにサブディレクトリで作ってみました。
https://totonouto.com/saunaWords/

サンプルありがとうございます。saunaWordsはブログやコラム記事にあたるのでしょうか?

もしそうなのであれば、自分なら、

https://totonouto.com/blogs/saunaWords/ https://totonouto.com/columns/saunaWords/ https://totonouto.com/contents/saunaWords/ ↓ https://totonouto.com/このディレクトリの総称/記事タイトル

のような形にします。

もしブログとコラムが、質問者さんにとって全く別物であるならば、/blogs//columns/を用意することで、

  • URLレベルでどんな記事が入っているのかの情報整理ができる
    • クローラーもURLからどんなページなのかがわかる方が良いとするアルゴリズムが組み込まれているぽいです
  • ブログのデザイン、コラムのデザインが別であるならば、テンプレート化してデータを入れるだけでページを増やせる
  • フォトギャラリーなどを増やすなどなったときも/photos/のようなパスを切って情報を整理できる

※ この辺りはRESTの原則に沿っている感じで、簡単に言えば、URLは必要なリソースへのアクセスをかなえるものだよ〜みたいな話です。例えば特定のブログにアクセスしたいのであれば、/blogs/ブログのタイトルとすることでこのタイトルのブログを見たいよ〜みたいな感じにできるのでユーザー(クローラー)にとっても開発者にとっても情報が整理されるので見つけるのが楽だよ程度です。そうしなければ動かないということはありません。

  1. 記事の投稿は店主(私)が行います。

コンテンツの管理を全て質問者さんが行うのであれば、そこまで気にせず技術選定してもいいかもしれません。
個人的にはSSGでビルド時にページを生成する方法を採用すると思います。(SEO的にもサイト速度的にも優れると思うので)

全ての質問に回答できてはいないと思いますが、ご参考にいただけたらと思います!

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

shibababa

総合スコア7

投稿2024/07/16 08:22

#3 ukyさん

ご丁寧にありがとうございます。

確かに /blog/article1/ のようにする方が管理しやすくユーザーにも優しい気がします。
パスの切り方、再度検討し工夫したいと思います。

記事の投稿と管理の手間を考えると、
ゆくゆくは.mdファイルから.htmlファイルを作成するのも良いかなと。

いずれにせよ、まだまだ勉強が必要そうですね。。。
わからないことだらけでしたので、大変たすかりました。

フォトギャラリーも良さそうですね!

参考にさせていただきます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

uky

総合スコア244

投稿2024/07/16 08:28

一応この辺りのサイトは学習の参考になりそうなので共有しておきます!

https://ahrefs.jp/blog/technical-seo/react-seo/
https://www.techmagic.co/blog/react-seo/
https://reactrouter.com/en/main

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問